Skip to content

Releases: BesLyric-for-X/BesLyric-for-X

v3.2.0

15 Oct 12:42
4303a8a
Compare
Choose a tag to compare

更新信息 | What's new

  1. 解决获取到的歌词内容为空的问题
  2. 解决某些歌曲播放结束时程序崩溃和播放速率异常的问题
  3. 优化界面文字和歌词预览的显示效果
  4. 优化歌词单页面,使其支持列表项的拖动和歌词单封面的显示
  5. 将导出的 LRC 文件的时间标签小数位由 3 位调整为 2 位
  6. 修复在高分辨率显示器上界面缩放的问题
  7. 修复因文件名或权限导致的文件保存失败的问题
  8. 修复其它已知问题

下载地址 | 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

Environment

Windows x86

Linux x86_64

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:

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

01 Mar 11:06
b83b723
Compare
Choose a tag to compare

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

14 Jul 18:41
Compare
Choose a tag to compare

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

20 Dec 15:57
Compare
Choose a tag to compare

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、优化界面其他细节

BesLyric-for-X v3.1.0 可用下载地址:

v3.0.0

24 Sep 19:42
Compare
Choose a tag to compare

BesLyric 全新版本发布

BesLyric-for-X v3.0 可用下载地址: