Releases: ZZJ-jack/Just-Solo
Releases · ZZJ-jack/Just-Solo
Release list
v0.7.5
v0.7.5,重大架构升级:音频引擎从 Qt Multimedia 替换为 miniaudio(支持热插拔),新增手动拖拽排序功能,修复单曲循环及多项体验问题。
音频引擎替换:
- 新增 AudioEngine 类,基于 miniaudio 实现音频播放功能
- 移除 Qt Multimedia 相关代码,替换音乐管理模块的音频实现
- 修复 Windows 平台 Qt Media 后端导致的 24-bit 重采样无声问题
- 50ms 轮询定时器检测播放状态与位置,支持设备热插拔恢复
- 支持热插拔音频设备,无需重启应用
手动拖拽排序:
- 实现了全列表的歌曲拖拽排序功能
- 支持音乐库、收藏、历史记录、自定义播放列表和当前播放列表的排序调整
- 包含排序模式 UI、拖拽交互和状态同步逻辑
- 历史页面和播放列表页禁用手动排序(曲目按时间顺序固定)
修复:
- 修复单曲循环播放时进度条/时长未归零的问题(seek(0) 归零后再播放)
- LyricServer 协议升级至 v1.0.1:修正 progress 推送间隔为 300ms 对齐协议规范
- 完善收藏夹、历史、自定义歌单移动歌曲时的播放列表同步逻辑
- MusicListView 新增不支持排序时的提示弹窗和菜单逻辑
v0.7.2
v0.7.2-beta.3
Just Solo LyricServer协议v1.0.0发布
v0.7.2-beta.2
v0.7.2-beta.2
- 更新安装包和CMakeLists中的版本号到0.7.2-beta.2
- 修复歌词服务重启逻辑:客户端连接时恢复播放进度推送
- 优化歌词已播索引逻辑,处理seek/单曲循环回退场景
v0.7.2-beta.1
v0.7.2-beta.1开发者测试版
- feat: 添加WebSocket实时歌词推送服务用于适配第三方软件
- 新增LyricServer实现基于WebSocket的实时歌词推送功能,支持init/progress/playback三种推送接口,添加了测试网页,更新CMakeLists.txt和主程序以集成该服务
v0.7.1
v0.7.0
V0.7.0更新:
从音乐库导入自定义列表、拖放添加音乐、播放与歌词体验优化。
- 从音乐库导入自定义列表:
- 自定义列表页头新增「从音乐库导入」按钮 + 侧栏右键菜单选项
- 弹出选择对话框:全部音乐库歌曲可搜索过滤、checkbox 勾选多首
- 已存在歌曲灰色「已添加」标记不可勾选,全选/取消全选,实���计数
- 确认导入后按 path 去重追加到目标列表
- 拖放添加音乐:
- 从资源管理器拖拽文件/文件夹到窗口,自动识别音频格式并导入
- 过滤非音频文件,文件夹递归导入
- 拖入时半透明覆盖层提示「放开添加音乐」
- 歌词与播放优化:
- 设置 Qt Media Backend 为 Windows(Media Foundation),修复 24-bit FLAC 无声
- 播放列表中歌曲使用 MediaStatus 实时反馈时长,非 MP3 格式支持更完善
- 详情页歌词展示逻辑优化,已播行高光保持不消失
- 翻译行与主歌词智能堆叠,消除同时间戳误合并
- FLAC 嵌入歌词兼容性优化
- UI/交互优化:
- 新增歌曲排列表最前面(prepend)
- 设置页 Loader 锚定修复,消除文字重叠
- 列表缓存与页面加载性能优化
- 导入动画期间搜索下拉框自动隐藏
- 删除歌曲弹窗文字更新,提示可从音乐库重新导入
- 修复:
- 自建列表多场景弹窗逻辑一致性
- QML Loader 未锚定父容器导致的布局异常
- 非MP3格式duration获取不准确
- 搜索结果定位滚动后下次切换页面重复定位
v0.6.0
v0.6.0:全新自建播放列表系统、通用歌曲列表组件重构、单实例运行保障。
侧边栏「创建新列表」按钮,深色弹窗命名,支持添加本地音乐 / 重命名 / 删除
列表名仅允许中英文、数字、-、_,禁止重名,持久化到 custom_playlists.json
新增 MusicListView.qml 通用歌曲列表组件,所有页面改为此组件子类
统一 playingListIndex/pageListIndex 定位系统,匹配才自动滚动
单实例运行检测:基于 QLocalServer,隐藏到托盘后点快捷方式恢复窗口
修复 --develop 误删用户数据,改为 --clearUserData 显式清理
右键菜单「删除此歌曲」确认弹窗,同步清理历史/收藏/播放列表/自定义列表
收藏页点击不同来源歌曲弹出切换确认弹窗
next()/previous() 修复 playlistSource=0 时使用了自定义列表的歌曲列表
删除播放中的歌曲/自建列表时自动清空播放控制栏
v0.5.1
v0.5.0
v0.5.0(已发行) — 2026.7.21
优化软件整体体验,添加搜索功能、全局快捷键,并做了一下播放优化。
新增
搜索功能
- 搜索框支持标题/歌手/专辑模糊匹配,输入实时过滤下拉结果
- 搜索结果关键词青色加粗高亮,歌名超长 marquee 滚动
- 点击结果自动切换到首页、播放歌曲并滚动列表定位
- 全部页面均可搜索,不在首页时自动跳转
全局快捷键
- 基于 Windows
RegisterHotKey+QAbstractNativeEventFilter原生实现 - 全局播放/暂停
Ctrl+Alt+Space、上一首Ctrl+Alt+←、下一首Ctrl+Alt+→ - 快捷键设置页:点击卡片进入捕获模式,按下组合键实时生效
- 每项独立重置按钮,配置持久化到
hotkeys.json
设置页
- 侧边栏新增 快捷键设置子页面(播放设置 → 快捷键设置 → 软件更新)
- 顶层 Key 捕获绕过 Repeater 焦点域,解决按键无效问题
- Column 布局替代 Repeater 嵌套,修复 UI 重叠
优化
播放体验
- 音量
1.0 → 0.90,预留 10% 余量防数字削波爆音 - 歌词索引 30ms debounce 防抖 + 预编译
LyricEntry纯整数缓存,消除运行时 toMap 深拷贝 next()顺序模式播完不再停止,改为循环到第一首
导入
- BATCH_SIZE 8 → 10,每次批量处理更多文件
UI/交互优化
- 首页/播放列表页切换时自动滚动列表到当前播放歌曲
- 播放详情页入场动画加 80ms 延时等毛玻璃就绪,消除开启动画闪屏
- 页面从 Loader 销毁重建改为预创建 + visible 切换,消除页面切换闪屏
修复
- 全局快捷键
valid默认false导致首次运行不注册 - 全局快捷键构造时注册过早(消息循环未就绪),改为
QTimer::singleShot延迟注册 - 快捷键卡片
Repeater在ColumnLayout中布局重叠 - 顺序模式最后一首点下一首直接停止