Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
lyswhut committed May 22, 2022
2 parents c979339 + 15d2589 commit f2f2008
Show file tree
Hide file tree
Showing 80 changed files with 2,652 additions and 4,039 deletions.
26 changes: 26 additions & 0 deletions CHANGELOG.md
Expand Up @@ -6,6 +6,32 @@ Project versioning adheres to [Semantic Versioning](http://semver.org/).
Commit convention is based on [Conventional Commits](http://conventionalcommits.org).
Change log format is based on [Keep a Changelog](http://keepachangelog.com/).

## [1.21.0](https://github.com/lyswhut/lx-music-desktop/compare/v1.20.0...v1.21.0) - 2022-05-22

### 新增

- 新增设置-播放设置-显示歌词罗马音,默认关闭,注:目前只有网易源能获取到罗马音歌词(得益于 Binaryify/NeteaseCloudMusicApi/pull/1523),如果你知道其他源的歌词罗马音获取方式,欢迎PR或开issue交流!

### 优化

- 同时删除一首歌以上时将需要二次确认删除
- 禁用透明窗口时右侧不再偏移5px距离(在win7、Ubuntu等系统上测试发现不偏移也不影响滚动条的拖动了)
- 删除未下载完成的任务时,只同时尝试删除已有下载进度的本地文件
- 在全屏状态下使用`Esc`键可以退出全屏(#827

### 修复

- 修复某些情况下歌曲播放出错时不会自动切歌的问题
- 修复关闭“显示切换动画”设置后,在应用启动时该设置没有被应用的问题
- 修复原始歌词存在偏移时,歌词偏移设置的重置未按预期工作的问题
- 修复长度大于一行的歌词在使用歌词调整播放进度时的时间不准问题
- 修复潜在歌单更新失败的问题

### 文档

- 将歌曲添加“稍后播放”后,它们会被放在一个优先级最高的特殊队列中,点击“下一曲”时会消耗该队列中的歌曲,并且无法通过“上一曲”功能播放该队列的上一首歌曲
- 在切歌时若不是通过“上一曲”、“下一曲”功能切歌(例如直接点击“排行榜列表”、“我的列表”中的歌曲切歌),“稍后播放”队列将会被清空

## [1.20.0](https://github.com/lyswhut/lx-music-desktop/compare/v1.19.0...v1.20.0) - 2022-04-17

特别说明:Scheme URL其实是支持Linux系统的,但好像需要deb之类的安装包创建出`.desktop`文件才行。
Expand Down
4 changes: 3 additions & 1 deletion FAQ.md
Expand Up @@ -14,6 +14,8 @@
4. 对于歌单详情列表,除了可以使用第2条的方式播放外,你可以点击详情页上面的播放按钮临时播放当前歌单,或点击收藏将当前歌单收藏到“我的列表”后再去播放
5. 对于排行榜详情列表,除了可以使用第2条的方式播放外,你可以在右击排行榜名字后弹出的菜单中,播放或收藏整个排行榜,这与第四条的歌单中的播放、与收藏按钮功能一致
6. v1.18.0及之后新增了“双击列表里的歌曲时自动切换到当前列表播放”设置,默认关闭,此功能仅对歌单、排行榜有效
7. 将歌曲添加“稍后播放”后,它们会被放在一个优先级最高的特殊队列中,点击“下一曲”时会消耗该队列中的歌曲,并且无法通过“上一曲”功能播放该队列的上一首歌曲
8. 在切歌时若不是通过“上一曲”、“下一曲”功能切歌(例如直接点击“排行榜列表”、“我的列表”中的歌曲切歌),“稍后播放”队列将会被清空

## 可用的鼠标、键盘快捷操作

Expand Down Expand Up @@ -165,7 +167,7 @@

### Windows 7 下界面异常

由于软件默认使用了透明窗口,根据Electron官方文档的[说明](https://electronjs.org/docs/api/frameless-window#%E5%B1%80%E9%99%90%E6%80%A7)
由于软件默认使用了透明窗口,根据Electron官方文档的[说明](https://www.electronjs.org/docs/latest/tutorial/window-customization#limitations)
> 在 windows 操作系统上, 当 DWM 被禁用时, 透明窗口将无法工作。
因此,当 win7 没有使用**Aero**主题时界面将会显示异常,开启AERO的方法请自行百度:`win7开启Aero效果`(开启后可看到任务栏变透明)。<br>
Expand Down
5 changes: 1 addition & 4 deletions build-config/main/webpack.config.base.js
Expand Up @@ -6,7 +6,7 @@ module.exports = {
output: {
filename: '[name].js',
libraryTarget: 'commonjs2',
path: path.join(__dirname, '../../dist/electron'),
path: path.join(__dirname, '../../dist'),
},
resolve: {
alias: {
Expand All @@ -25,9 +25,6 @@ module.exports = {
},
],
},
performance: {
maxEntrypointSize: 300000,
},
plugins: [
new ESLintPlugin(),
],
Expand Down
4 changes: 4 additions & 0 deletions build-config/main/webpack.config.dev.js
Expand Up @@ -19,4 +19,8 @@ module.exports = merge(baseConfig, {
__userApi: `"${path.join(__dirname, '../../src/main/modules/userApi').replace(/\\/g, '\\\\')}"`,
}),
],
performance: {
maxEntrypointSize: 1024 * 1024 * 50,
maxAssetSize: 1024 * 1024 * 30,
},
})
8 changes: 6 additions & 2 deletions build-config/main/webpack.config.prod.js
Expand Up @@ -26,11 +26,11 @@ module.exports = merge(baseConfig, {
patterns: [
{
from: path.join(__dirname, '../../src/main/modules/userApi/renderer'),
to: path.join(__dirname, '../../dist/electron/userApi/renderer'),
to: path.join(__dirname, '../../dist/userApi/renderer'),
},
{
from: path.join(__dirname, '../../src/main/modules/userApi/rendererEvent/name.js'),
to: path.join(__dirname, '../../dist/electron/userApi/rendererEvent/name.js'),
to: path.join(__dirname, '../../dist/userApi/rendererEvent/name.js'),
},
],
}),
Expand All @@ -40,6 +40,10 @@ module.exports = merge(baseConfig, {
},
}),
],
performance: {
maxEntrypointSize: 1024 * 1024 * 10,
maxAssetSize: 1024 * 1024 * 20,
},
optimization: {
minimize: false,
},
Expand Down
2 changes: 1 addition & 1 deletion build-config/pack.js
Expand Up @@ -14,7 +14,7 @@ const okayLog = chalk.bgGreen.white(' OKAY ') + ' '


function build() {
del.sync(['dist/electron/**', 'build/**'])
del.sync(['dist/**', 'build/**'])

const spinners = new Spinnies({ color: 'blue' })
spinners.add('main', { text: 'main building' })
Expand Down
5 changes: 1 addition & 4 deletions build-config/renderer-lyric/webpack.config.base.js
Expand Up @@ -17,7 +17,7 @@ module.exports = {
output: {
filename: '[name].js',
libraryTarget: 'commonjs2',
path: path.join(__dirname, '../../dist/electron'),
path: path.join(__dirname, '../../dist'),
publicPath: 'auto',
},
resolve: {
Expand Down Expand Up @@ -127,9 +127,6 @@ module.exports = {
},
],
},
performance: {
maxEntrypointSize: 300000,
},
plugins: [
new HTMLPlugin({
filename: 'lyric.html',
Expand Down
13 changes: 3 additions & 10 deletions build-config/renderer-lyric/webpack.config.prod.js
@@ -1,8 +1,7 @@
const path = require('path')
// const path = require('path')
const webpack = require('webpack')
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')
const TerserPlugin = require('terser-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const { merge } = require('webpack-merge')

const baseConfig = require('./webpack.config.base')
Expand All @@ -20,14 +19,6 @@ module.exports = merge(baseConfig, {
...Object.keys(dependencies || {}).filter(d => !whiteListedModules.includes(d)),
],
plugins: [
new CopyWebpackPlugin({
patterns: [
{
from: path.join(__dirname, '../../src/static'),
to: path.join(__dirname, '../../dist/electron/static'),
},
],
}),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"',
Expand All @@ -44,6 +35,8 @@ module.exports = merge(baseConfig, {
],
},
performance: {
maxEntrypointSize: 1024 * 1024 * 10,
maxAssetSize: 1024 * 1024 * 20,
hints: 'warning',
},
node: {
Expand Down
5 changes: 1 addition & 4 deletions build-config/renderer/webpack.config.base.js
Expand Up @@ -17,7 +17,7 @@ module.exports = {
output: {
filename: '[name].js',
libraryTarget: 'commonjs2',
path: path.join(__dirname, '../../dist/electron'),
path: path.join(__dirname, '../../dist'),
publicPath: 'auto',
},
resolve: {
Expand Down Expand Up @@ -127,9 +127,6 @@ module.exports = {
},
],
},
performance: {
maxEntrypointSize: 300000,
},
plugins: [
new HTMLPlugin({
filename: 'index.html',
Expand Down
4 changes: 3 additions & 1 deletion build-config/renderer/webpack.config.prod.js
Expand Up @@ -23,7 +23,7 @@ module.exports = merge(baseConfig, {
patterns: [
{
from: path.join(__dirname, '../../src/static'),
to: path.join(__dirname, '../../dist/electron/static'),
to: path.join(__dirname, '../../dist/static'),
},
],
}),
Expand All @@ -43,6 +43,8 @@ module.exports = merge(baseConfig, {
],
},
performance: {
maxEntrypointSize: 1024 * 1024 * 10,
maxAssetSize: 1024 * 1024 * 20,
hints: 'warning',
},
node: {
Expand Down
2 changes: 1 addition & 1 deletion build-config/runner-dev.js
Expand Up @@ -151,7 +151,7 @@ function startElectron() {
let args = [
'--inspect=5858',
// 'NODE_ENV=development',
path.join(__dirname, '../dist/electron/main.js'),
path.join(__dirname, '../dist/main.js'),
]

// detect yarn or npm and process commandline args accordingly
Expand Down

0 comments on commit f2f2008

Please sign in to comment.