Releases: BesLyric-for-X/BesLyric-for-X
v3.2.0
更新信息 | What's new
- 解决获取到的歌词内容为空的问题
- 解决某些歌曲播放结束时程序崩溃和播放速率异常的问题
- 优化界面文字和歌词预览的显示效果
- 优化歌词单页面,使其支持列表项的拖动和歌词单封面的显示
- 将导出的 LRC 文件的时间标签小数位由 3 位调整为 2 位
- 修复在高分辨率显示器上界面缩放的问题
- 修复因文件名或权限导致的文件保存失败的问题
- 修复其它已知问题
下载地址 | Download link
校验和 | Checksum
SHA-1 | Filename |
---|---|
EF2DCC74DD347316A4E9A633D0FBE54B2C6008E1 | BesLyric-for-X-3.2.0-debugInfo-Linux-x86_64.tar.gz |
B1A7D7802D6B9D089F784E7B5C9A3C9322E8791A | BesLyric-for-X-3.2.0-debugInfo-macOS.tar.gz |
D90542D8CD315D6B895F1C3181E3509D0FAB3875 | BesLyric-for-X-3.2.0-debugInfo-Windows-x86.zip |
2F6F0422E648C8C85863C0B3B8F13026BE664DC1 | BesLyric-for-X-3.2.0-Linux-x86_64.AppImage |
28B738327783FF4A9F1F9D8910D733EFFC0FDF84 | BesLyric-for-X-3.2.0-macOS.dmg |
5E3CFA87BAE3DA03A654C32FAE7E2ED4EC981DBF | BesLyric-for-X-3.2.0-Windows-x86-portable.zip |
403CDFA7DFE5B7FA923FBA32AB8901118B16C76E | BesLyric-for-X-3.2.0-Windows-x86-setup.exe |
技术信息 | Technical information
What we made
- Milestone v3.2.0
- Changes: v3.1.2...v3.2.0
Environment
Windows x86
- OS: Windows 10 Pro N 21H1 10.0.19043.1110
- Software:
- Inno Setup 6.0.5: https://files.jrsoftware.org/is/6/innosetup-6.0.5.exe (D0A08AA649CFF542894B0C3D3DEF5A0D11AEBE91)
- Toolchain:
- MinGW 8.1.0 32-bit: Qt repository
- gcc version 8.1.0 (i686-posix-dwarf-rev0, Built by MinGW-W64 project)
- MinGW 8.1.0 32-bit: Qt repository
- Library:
- Qt 5.15.2: https://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe (dc7d6c587239bf58192bf55aba2eabb77363ebb0)
- FFmpeg 4.3.1 x86: Zeranoe build:
- https://archive.org/download/ffmpeg_zeranoe-builds/ffmpeg_zeranoe-builds.zip/win32%2Fdev%2Fffmpeg-4.3.1-win32-dev.zip (BAFC62A2624B192DA9854D7FC2358B91E4A8DBC9)
- https://archive.org/download/ffmpeg_zeranoe-builds/ffmpeg_zeranoe-builds.zip/win32%2Fshared%2Fffmpeg-4.3.1-win32-shared.zip (019FA90B55DF577A29790F7AB46A1DD33918F10E)
- SDL2 2.0.16: https://www.libsdl.org/release/SDL2-devel-2.0.16-VC.zip (13D952C333F3C2EBE9B7BC0075B4AD2F784E7584)
- OpenSSL 1.1.1l: http://wiki.overbyte.eu/arch/openssl-1.1.1l-win32.zip (671B1C572FA00A3A34E3B000FDB69E2DE9932218)
Linux x86_64
- OS: Ubuntu 18.04.6 LTS (Bionic Beaver)
- Software:
- linuxdeployqt:
linuxdeployqt 7 (commit b469748), build 734 built on 2021-06-13 13:17:57 UTC
- linuxdeployqt:
- Toolchain:
- build-essential 12.4ubuntu1: official: https://packages.ubuntu.com/bionic/build-essential
- gcc 7.5.0-3ubuntu1~18.04: official: https://packages.ubuntu.com/bionic-updates/gcc-7
- pkg-config 0.29.1: offical: https://packages.ubuntu.com/bionic/pkg-config
- build-essential 12.4ubuntu1: official: https://packages.ubuntu.com/bionic/build-essential
- Library:
- Qt 5.15.2: https://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run (0a76ec1717d1556bc5f3c730f20f57156052ea8b)
- FFmpeg 4.4: ppa:savoury1/ffmpeg4: https://launchpad.net/~savoury1/+archive/ubuntu/ffmpeg4
- SDL2 2.0.16: ppa:savoury1/ffmpeg4: https://launchpad.net/~savoury1/+archive/ubuntu/ffmpeg4
- OpenSSL 1.1.1: official: https://packages.ubuntu.com/bionic-updates/openssl
macOS
- OS: macOS Mojave 10.14.6 (18G84)
- Software:
- imagemagick 7.1.0-9: Homebrew
- create-dmg 1.0.9: Homebrew
- Toolchain:
- Xcode Command Line Tools 10.3.0.0.1.1562985497
- Apple LLVM version 10.0.1 (clang-1001.0.46.4)
- pkg-config 0.29.2: Homebrew
- Library:
- Qt 5.15.2: https://download.qt.io/official_releases/online_installers/qt-unified-mac-x64-online.dmg (e5aef79c28ef63432f4222660b9c0cc56c37469f)
- FFmpeg 4.4: Homebrew
- SDL2 2.0.16: Homebrew
- OpenSSL 1.1.1l: Homebrew
Script
Windows x86
#Requires -Version 5.1
$ErrorActionPreference = 'Stop'
Set-StrictMode -Version 3.0
'git?'; Get-Command -Name 'git' | Format-List
'qmake?'; Get-Command -Name 'qmake' | Format-List
'mingw32-make?'; Get-Command -Name 'mingw32-make' | Format-List
'windeployqt?'; Get-Command -Name 'windeployqt' | Format-List
'ISCC?'; Get-Command -Name 'ISCC' | Format-List
$Target = 'BesLyric-for-X'
$Version = '3.2.0'
$Platform = 'Windows'
$Arch = 'x86'
$OutputSetupFilename = "${Target}-${Version}-${Platform}-${Arch}-setup.exe"
$OutputZipFilename = "${Target}-${Version}-${Platform}-${Arch}-portable.zip"
$OutputDebugInfoFilename = "${Target}-${Version}-debugInfo-${Platform}-${Arch}.zip"
$DepPath = "${env:\USERPROFILE}\b4x-lib"
$WorkingDirPath = "${env:TEMP}\$(Get-Date -Format o | ForEach-Object { $_ -replace ":", "." })" # https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-date#example-8--create-a-timestamp
$SrcPath = "${WorkingDirPath}\s"
$BuildPath = "${WorkingDirPath}\b"
$InstPath = "${WorkingDirPath}\i"
$DeployPath = "${WorkingDirPath}\${Target}-${Version}-${Platform}-${Arch}-files"
$OutputPath = "${WorkingDirPath}\o"
# Fetch
git 'clone' '--depth=1' -- 'https://github.com/BesLyric-for-X/BesLyric-for-X' $SrcPath
if (! $?) { throw "Exit: $LastExitCode" }
git '-C' $SrcPath 'submodule' 'update' '--init' '--recursive' '--depth=1' -- '.deploy-package/Windows'
if (! $?) { throw "Exit: $LastExitCode" }
# Build and install
Push-Location -Path $(New-Item -ItemType "Directory" -Force -Path $BuildPath)
qmake '-makefile' '-o' 'Makefile' '-spec' 'win32-g++' '-before' 'CONFIG*=force_debug_info' 'CONFIG*=separate_debug_info' 'DEFINES*=RELEASE_VERSION' "APP_VERSION=$Version" "B4X_DEP_PATH=$DepPath" '-after' "TARGET=$Target" 'CONFIG+=release' $SrcPath
if (! $?) { throw "Exit: $LastExitCode" }
mingw32-make '-f' 'Makefile.Release' 'install' "INSTALL_ROOT=$InstPath"
if (! $?) { throw "Exit: $LastExitCode" }
Pop-Location
# Save debug info
New-Item -ItemType "Directory" -Force -Path $OutputPath
Compress-Archive -CompressionLevel 'Optimal' -Path "${InstPath}\${Target}.exe.debug" -DestinationPath "${OutputPath}\${OutputDebugInfoFilename}"
# Deploy
$windeployqtParams = @{
WINDEPLOYQT_PATH = 'windeployqt'
MINGW_BIN_DIR_PATH = Split-Path -Parent -Path $(Get-Command -Name 'mingw32-make').Path
LIB_DIR_PATH = "${DepPath}\lib"
TARGET = $Target
INSTALL_ROOT = $InstPath
DEPLOY_DIR_PATH = $DeployPath
}
& "${SrcPath}\.deploy-package\Windows\deploy\call_windeployqt.ps1" @windeployqtParams
# Create ZIP Archive
New-Item -ItemType "Directory" -Force -Path $OutputPath
Compress-Archive -CompressionLevel 'Optimal' -Path $DeployPath -DestinationPath "${OutputPath}\${OutputZipFilename}"
# Package by Inno Setup
New-Item -ItemType "Directory" -Force -Path $OutputPath
$issParams = @{
ISCC_PATH = 'ISCC.exe'
ISS_COMPRESSION = 'lzma2/ultra64'
TARGET = $Target
DEPLOY_DIR_PATH = $DeployPath
ISS_INSTALLER_FILE_PATH = "${OutputPath}\${OutputSetupFilename}"
}
& "${SrcPath}\.deploy-package\Windows\package\call_iscc.ps1" @issParams
# Show output files
"Output dir:"
$OutputPath
Get-ChildItem -Path $OutputPath | Format-List
Get-ChildItem -Path $OutputPath | Get-FileHash -Algorithm 'SHA1' | Format-List
Linux x86_64
The script:
#!/usr/bin/env bash
set -e
set -o pipefail
set -u
echo 'git?'; which 'git'
echo 'qmake?'; which 'qmake'
echo 'make?'; which 'make'
echo 'linuxdeployqt.AppImage?'; which 'linuxdeployqt.AppImage'
export target='BesLyric-for-X'
export version='3.2.0'
export platform='Linux'
export arch='x86_64'
export output_appimage_filename="${target}-${version}-${platform}-${arch}.AppImage"
export output_debug_info_filename="${target}-${version}-debugInfo-${platform}-${arch}.tar.gz"
export working_dir_path="/tmp/$(date -Iseconds)" # https://unix.stackexchange.com/questions/164826/date-command-iso-8601-option/330326#330326
export src_path="${working_dir_path}/s"
export build_path="${working_dir_path}/b"
export inst_path="${working_dir_path}/i"
export output_path="${working_dir_path}/o"
# Fetch
git clone --depth=1 -- 'https://github.com/BesLyric-for-X/BesLyric-for-X' "$src_path"
git -C "$src_path" submodule update --init --depth=1 -- '.deploy-package/Linux'
# Build and install
mkdir -p "$build_path"
pushd "$build_path"
qmake '-makefile' '-o' 'Makefile' '-spec' 'linux-g++' '-before' 'CONFIG*=force_debug_info' 'CONFIG*=separate_debug_info' 'DEFINES*=RELEASE_VERSION' "APP_VERSION=$version" '-after' "TARGET=$target" 'CONFIG+=release' "$src_path"
make '-f' 'Makefile' 'install' "INSTALL_ROOT=$inst_path"
popd
# Save debug info
pushd "${inst_path...
v3.1.2
version: 3.1.2
1 修复搜索功能失效问题
(第1点由 github 用户 devilintheEden/Yiyin Gu 反馈)
2 修复含有“.”的歌曲文件的文件名不能被正确识别
3 修复音乐播放崩溃问题(mac OS)
4 修复 Window 下歌词单列表快速切换卡死问题
(第4点由 github 用户 yujunjiex/俞俊杰 反馈)
5 修复首句歌词时间在比较靠前时,时间标记异常问题
(第5点由 github 用户 ish-kafel 反馈)
6 修复导入的外来LRC文件歌词显示乱码问题
(第6点由 知乎用户 山雀教主周半仙 反馈)
6 优化用户操作问题
6.1 将同意下载声明的时间 1min 改为 30s
6.2 默认目录更改立刻生效
7 优化UI
7.1 使最大化窗口自适应屏幕可用区域
7.2 优化音乐进度条显示和操作
8 优化程序其他细节问题
(以上功能由 pzhlkj6612/Mozi 和 BensonLaur 共同开发)
BesLyric-for-X v3.1.2 可用下载地址:
v3.1.1
version: 3.1.1
1、支持"歌手-歌曲名"|“"歌曲名-歌手" 2 种命名方式保存文件
2、优化歌词单中歌曲的播放预览功能,支持在歌词单列表下方点击预览歌词
(以上2点由 github 用户 binsee 提供相关建议)
3、优化播放进度条操作,支持直接点击定位播放(制作歌词模式下则禁用)
4、修复播放/暂停按钮在拖动进度条后、歌曲播放结束后的图标错误
(以上2点由 github 用户 pzhlkj6612/Mozi 提供技术支持)
5、解除对选择歌曲文件时格式的限制,如可以选择flac(由 github用户 iMusynx 建议)
6、网易云音乐下载的 mp3 自动加入专辑图片和歌曲信息
7、修复"下载歌词"页面下"LRC歌词"页面按钮和编辑框失效问题
8、修复歌词单歌曲播放失败时,在单曲循环播放下无限报错问题;
9、修复拖动歌词单列表时,拖动到最后一项崩溃的问题
10、优化其他UI细节(如4k分辨率下的歌词显示等)
BesLyric-for-X v3.1.1 可用下载地址:
(从本版本开始,window版本采用安装包方式安装,下次升级可自动保留配置)
v3.1.0
version: 3.1.0
1、更加实用的歌词编辑功能,支持制作过程中“单行编辑”和“批量编辑”
2、制作按键增加“↓”按键,拉回一行,直接回退定位到上一行
3、制作过程中,自动隐藏“选择音乐”“选择歌词”2栏,同时拓展3行显示至5行显示,方便制作
(以上3点由网友Rogue/warkbox提供建议)
4、优化制作歌词显示,在制作完的行后添加一个“音乐标志”便于区分
5、修复播放音乐时在1s左右的噪音
(以上2点由微博网友“吴栖源”提供建议)
6、优化不同分辨率显示问题(由github 用户 Whtie4622、zxdawn 参与改进)
7、修复播放条显示抖动问题
8、实现搜索歌词页面之前未实现的“百度搜索”接口
9、去除歌词预览最后的的歌词贡献者部分,避免用户误解
10、添加windows 版本图标
11、优化界面其他细节