diff --git a/src/lang/en-us.json b/src/lang/en-us.json index eb971193..3da048dd 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -434,6 +434,7 @@ "sync__title": "Choose how to synchronize the list with {name}", "tag__high_quality": "HQ", "tag__lossless": "SQ", + "tag__lossless_24bit": "24bit", "theme_auto": "Auto", "theme_auto_tip": "Right-click to open the light and dark theme settings window", "theme_black": "Black", diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index 795079ec..75a91179 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -434,6 +434,7 @@ "sync__title": "选择与 {name} 的列表同步方式", "tag__high_quality": "HQ", "tag__lossless": "SQ", + "tag__lossless_24bit": "24bit", "theme_auto": "道法自然", "theme_auto_tip": "鼠标 右击 可打开亮、暗主题设置窗口", "theme_black": "黑灯瞎火", diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index ef966429..b2c2a0f0 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -434,6 +434,7 @@ "sync__title": "選擇與 {name} 的列表同步方式", "tag__high_quality": "HQ", "tag__lossless": "SQ", + "tag__lossless_24bit": "24bit", "theme_auto": "道法自然", "theme_auto_tip": "鼠標 右擊 可打開亮、暗主題設置窗口", "theme_black": "黑燈瞎火", diff --git a/src/renderer/components/common/DownloadModal.vue b/src/renderer/components/common/DownloadModal.vue index 34ca4d85..0bce84fd 100644 --- a/src/renderer/components/common/DownloadModal.vue +++ b/src/renderer/components/common/DownloadModal.vue @@ -55,6 +55,7 @@ export default { }, getTypeName(type) { switch (type) { + case 'flac32bit': case 'flac': case 'ape': case 'wav': diff --git a/src/renderer/components/common/DownloadMultipleModal.vue b/src/renderer/components/common/DownloadMultipleModal.vue index 8106840b..7a306240 100644 --- a/src/renderer/components/common/DownloadMultipleModal.vue +++ b/src/renderer/components/common/DownloadMultipleModal.vue @@ -5,6 +5,7 @@ {{$t('download__normal')}} - 128K {{$t('download__high_quality')}} - 320K {{$t('download__lossless')}} - FLAC + {{$t('download__lossless')}} - FLAC 24bit diff --git a/src/renderer/components/material/OnlineList/index.vue b/src/renderer/components/material/OnlineList/index.vue index fe0a8ac4..2ea43385 100644 --- a/src/renderer/components/material/OnlineList/index.vue +++ b/src/renderer/components/material/OnlineList/index.vue @@ -20,9 +20,10 @@ div(:class="$style.songList") div.list-item(@click="handleListItemClick($event, index)" @contextmenu="handleListItemRightClick($event, index)" :class="[{ selected: rightClickSelectedIndex == index }, { active: selectedList.includes(item) }]") div.list-item-cell.nobreak.center(:style="{ width: rowWidth.r1 }" style="padding-left: 3px; padding-right: 3px;" :class="$style.noSelect" @click.stop) {{index + 1}} - div.list-item-cell.auto(:style="{ width: rowWidth.r2 }" :aria-label="item.name + ((item._types.ape || item._types.flac || item._types.wav) ? ` - ${$t('tag__lossless')}` : item._types['320k'] ? ` - ${$t('tag__high_quality')}` : '')") + div.list-item-cell.auto(:style="{ width: rowWidth.r2 }" :aria-label="item.name + (item._types.flac32bit ? ` - ${$t('tag__lossless_24bit')}` : (item._types.ape || item._types.flac || item._types.wav) ? ` - ${$t('tag__lossless')}` : item._types['320k'] ? ` - ${$t('tag__high_quality')}` : '')") span.select {{item.name}} - span.badge.badge-theme-success(:class="[$style.labelQuality, $style.noSelect]" v-if="item._types.ape || item._types.flac || item._types.wav") {{$t('tag__lossless')}} + span.badge.badge-theme-success(:class="[$style.labelQuality, $style.noSelect]" v-if="item._types.flac32bit") {{$t('tag__lossless_24bit')}} + span.badge.badge-theme-success(:class="[$style.labelQuality, $style.noSelect]" v-else-if="item._types.ape || item._types.flac || item._types.wav") {{$t('tag__lossless')}} span.badge.badge-theme-info(:class="[$style.labelQuality, $style.noSelect]" v-else-if="item._types['320k']") {{$t('tag__high_quality')}} div.list-item-cell(:style="{ width: rowWidth.r3 }" :aria-label="item.singer") span.select {{item.singer}} diff --git a/src/renderer/store/modules/download.js b/src/renderer/store/modules/download.js index 2159509e..e9729436 100644 --- a/src/renderer/store/modules/download.js +++ b/src/renderer/store/modules/download.js @@ -69,6 +69,7 @@ const getExt = type => { case 'ape': return 'ape' case 'flac': + case 'flac32bit': return 'flac' case 'wav': return 'wav' diff --git a/src/renderer/utils/music/mg/leaderboard.js b/src/renderer/utils/music/mg/leaderboard.js index 21b36477..caa35c90 100644 --- a/src/renderer/utils/music/mg/leaderboard.js +++ b/src/renderer/utils/music/mg/leaderboard.js @@ -103,28 +103,28 @@ export default { let size switch (type.formatType) { case 'PQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: '128k', size }) _types['128k'] = { size, } break case 'HQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: '320k', size }) _types['320k'] = { size, } break case 'SQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: 'flac', size }) _types.flac = { size, } break case 'ZQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: 'flac32bit', size }) _types.flac32bit = { size, diff --git a/src/renderer/utils/music/mg/musicSearch.js b/src/renderer/utils/music/mg/musicSearch.js index 47ce6b5a..77595b60 100644 --- a/src/renderer/utils/music/mg/musicSearch.js +++ b/src/renderer/utils/music/mg/musicSearch.js @@ -47,28 +47,28 @@ export default { let size switch (type.formatType) { case 'PQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: '128k', size }) _types['128k'] = { size, } break case 'HQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: '320k', size }) _types['320k'] = { size, } break case 'SQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: 'flac', size }) _types.flac = { size, } break case 'ZQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: 'flac32bit', size }) _types.flac32bit = { size, diff --git a/src/renderer/utils/music/mg/songList.js b/src/renderer/utils/music/mg/songList.js index e0fc3bf1..de789a7d 100644 --- a/src/renderer/utils/music/mg/songList.js +++ b/src/renderer/utils/music/mg/songList.js @@ -167,28 +167,28 @@ export default { let size switch (type.formatType) { case 'PQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: '128k', size }) _types['128k'] = { size, } break case 'HQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: '320k', size }) _types['320k'] = { size, } break case 'SQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: 'flac', size }) _types.flac = { size, } break case 'ZQ': - size = sizeFormate(type.size) + size = sizeFormate(type.size ?? type.androidSize) types.push({ type: 'flac32bit', size }) _types.flac32bit = { size, diff --git a/src/renderer/views/Search.vue b/src/renderer/views/Search.vue index e78c9ab8..d74f6e9d 100644 --- a/src/renderer/views/Search.vue +++ b/src/renderer/views/Search.vue @@ -22,7 +22,8 @@ div(:class="$style.search") td.nobreak.center(style="width: 5%; padding-left: 3px; padding-right: 3px;" :class="$style.noSelect" @click.stop) {{index + 1}} td.break span.select {{item.name}} - span.badge.badge-theme-success(:class="[$style.labelQuality, $style.noSelect]" v-if="item._types.ape || item._types.flac || item._types.wav") {{$t('tag__lossless')}} + span.badge.badge-theme-success(:class="[$style.labelQuality, $style.noSelect]" v-if="item._types.flac32bit") {{$t('tag__lossless_24bit')}} + span.badge.badge-theme-success(:class="[$style.labelQuality, $style.noSelect]" v-else-if="item._types.ape || item._types.flac || item._types.wav") {{$t('tag__lossless')}} span.badge.badge-theme-info(:class="[$style.labelQuality, $style.noSelect]" v-else-if="item._types['320k']") {{$t('tag__high_quality')}} span(:class="[$style.labelSource, $style.noSelect]" v-if="searchSourceId == 'all'") {{item.source}} td.break(style="width: 22%;")