Skip to content

Commit

Permalink
新增设置-播放详情页设置-延迟歌词滚动设置(#1985
Browse files Browse the repository at this point in the history
  • Loading branch information
lyswhut committed Jul 26, 2024
1 parent 7f3ab31 commit d454f51
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 4 deletions.
1 change: 1 addition & 0 deletions publish/changeLog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
### 新增

- 新增 是否将歌词显示在状态栏 设置,默认关闭,该功能只在 MacOS 下可用(#1940
- 新增设置-播放详情页设置-延迟歌词滚动设置(#1985

### 优化

Expand Down
1 change: 1 addition & 0 deletions src/common/defaultSetting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ const defaultSetting: LX.AppSetting = {
'playDetail.isShowLyricProgressSetting': false,
'playDetail.style.fontSize': 140,
'playDetail.style.align': 'center',
'playDetail.isDelayScroll': true,

'desktopLyric.enable': false,
'desktopLyric.isLock': false,
Expand Down
5 changes: 5 additions & 0 deletions src/common/types/app_setting.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,11 @@ declare global {
*/
'playDetail.style.align': 'center' | 'left' | 'right'

/**
* 播放详情页-是否延迟桌面歌词滚动
*/
'playDetail.isDelayScroll': boolean


/**
* 是否启用桌面歌词
Expand Down
1 change: 1 addition & 0 deletions src/lang/en-us.json
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,7 @@
"setting__play_detail_font_size_current": "Current font size: {size}",
"setting__play_detail_font_size_reset": "Reset",
"setting__play_detail_font_zoom": "Zoom the currently playing lyrics",
"setting__play_detail_lyric_delay_scroll": "Delayed lyrics scrolling",
"setting__play_detail_lyric_progress": "Allows to adjust playback progress by lyrics",
"setting__play_lyric_lxlrc": "Use karaoke-style lyrics to play (if available, this function consumes more performance, and it is not recommended to enable it on computers with low configuration)",
"setting__play_lyric_roma": "Show lyrics roman",
Expand Down
1 change: 1 addition & 0 deletions src/lang/zh-cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,7 @@
"setting__play_detail_font_size_current": "当前字体大小:{size}",
"setting__play_detail_font_size_reset": "重置",
"setting__play_detail_font_zoom": "缩放当前正在播放的歌词",
"setting__play_detail_lyric_delay_scroll": "延迟歌词滚动",
"setting__play_detail_lyric_progress": "允许通过歌词调整播放进度",
"setting__play_lyric_lxlrc": "使用卡拉OK式歌词播放(如果可用,此功能比较耗性能,低配置电脑不建议开启)",
"setting__play_lyric_roma": "显示歌词罗马音(如果可用)",
Expand Down
1 change: 1 addition & 0 deletions src/lang/zh-tw.json
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,7 @@
"setting__play_detail_font_size_current": "目前字體大小:{size}",
"setting__play_detail_font_size_reset": "重置",
"setting__play_detail_font_zoom": "縮放目前正在播放的歌詞",
"setting__play_detail_lyric_delay_scroll": "延遲歌詞滾動",
"setting__play_detail_lyric_progress": "允許透過歌詞調整播放進度",
"setting__play_lyric_lxlrc": "使用卡拉OK式歌詞播放(如果可用,此功能比較耗性能,低配置電腦不建議開啟)",
"setting__play_lyric_roma": "顯示歌詞羅馬音(如果可用)",
Expand Down
13 changes: 9 additions & 4 deletions src/renderer/utils/compositions/useLyric.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { ref, onMounted, onBeforeUnmount, watch, nextTick } from '@common/utils/
import { throttle, formatPlayTime2 } from '@common/utils/common'
import { scrollTo } from '@common/utils/renderer'
import { play } from '@renderer/core/player/action'
import { appSetting } from '@renderer/store/setting'
// import { player as eventPlayerNames } from '@renderer/event/names'

export default ({ isPlay, lyric, playProgress, isShowLyricProgressSetting, offset }) => {
Expand Down Expand Up @@ -192,10 +193,14 @@ export default ({ isPlay, lyric, playProgress, isShowLyricProgressSetting, offse
isSetedLines &&= false
if (oldLine == null || line - oldLine != 1) return handleScrollLrc()

delayScrollTimeout = setTimeout(() => {
delayScrollTimeout = null
handleScrollLrc(600)
}, 600)
if (appSetting['playDetail.isDelayScroll']) {
delayScrollTimeout = setTimeout(() => {
delayScrollTimeout = null
handleScrollLrc(600)
}, 600)
} else {
handleScrollLrc()
}
}

watch(() => lyric.lines, initLrc)
Expand Down
2 changes: 2 additions & 0 deletions src/renderer/views/Setting/components/SettingPlayDetail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ dt#play_detail {{ $t('setting__play_detail') }}
dd
.gap-top
base-checkbox(id="setting_play_detail_font_zoom_enable" :model-value="appSetting['playDetail.isZoomActiveLrc']" :label="$t('setting__play_detail_font_zoom')" @update:model-value="updateSetting({'playDetail.isZoomActiveLrc': $event})")
.gap-top
base-checkbox(id="setting_play_detail_lyric_delayScroll" :model-value="appSetting['playDetail.isDelayScroll']" :label="$t('setting__play_detail_lyric_delay_scroll')" @update:model-value="updateSetting({ 'playDetail.isDelayScroll': $event })")
.gap-top
base-checkbox(id="setting_play_detail_lyric_progress_enable" :model-value="appSetting['playDetail.isShowLyricProgressSetting']" :label="$t('setting__play_detail_lyric_progress')" @update:model-value="updateSetting({'playDetail.isShowLyricProgressSetting': $event})")

Expand Down

0 comments on commit d454f51

Please sign in to comment.