- 缺陷修复
- 修复部分歌手图片显示不正常的问题 #806
- 修复“下一首”功能有时不生效的问题 #858
- 功能增强
- fuo play 命令支持播放一个歌单 #861
- 在播放栏显示“获取歌曲播放列表”的各个步骤 #862
- playlist.play_model 支持获取完整歌曲元信息 #866
- 新特性
- 支持使用 yt-dlp 作为歌曲资源获取渠道(默认关闭) #842
- 缺陷修复
- 修复“重载 fuorc 文件”的功能 #840
- 给“获取歌曲元信息”操作加上超时,避免播放时卡主 #853
- 其它
- 自动给 master 打 nightly 包,支持 macOS(arm64,x86), windows
- 修复文档的自动构建 #851 #852 #850
- 功能增强
- 支持展示歌单的播放数以及类似的统计信息 #835 #837 #838
- 支持保存搜索设置 #836
- 功能增强
- 支持“排行榜”功能 #827
- 优化新主页的布局 #829
- 支持显示音频真实的比特率 #830
- 缺陷修复
- 兼容 libmpv 0.38 #824 #825
- 修复‘播放列表’组件内存泄露的问题 #822
- 修复歌词窗口会非预期移动的问题 #817
- 新特性
- 新设计了“主页”页面(默认关闭) #813
- 其它
- 减少 macOS 包的体积(减少大约 100MB) #819
- 新增协议 SupportsRecACollectionOfSongs
- 缺陷修复
- 修复视频控制按钮的颜色不对的问题 #812
- 修复视频播放有时弹出 mpv 原生窗口的问题 #812
- 修复点击搜索按钮无法触发搜索的问题(把按钮显示改了) #810
- 其它
- 将 mpv 模块重构为 feeluown.mpv 模块 #814
- 缺陷修复
- 修复调节音量导致程序卡死的问题 #807
- 修复 macOS 包不能运行的问题 #805
- 新特性
- 新增“正在播放”页面,可以查看正在播放歌曲的滚动歌词、热评、相似歌曲等 # 791
- 对收费、VIP歌曲显示相应标识 # 801
- 功能增强
- 支持使用歌曲 MV 作为歌曲源(默认打开,可关闭)#796
- 登录会话框支持从浏览器读取 cookies 登录(需要安装相应依赖) #795
- 点击搜索结果的标题栏可以折叠搜索结果 #787
- 缺陷修复
- 修复视频列表展示问题 #785
- 修复淡入淡出时声音骤变问题 #786
- 修复歌词和歌曲有时不匹配的问题 #792
- 修复头像不显示的问题 #802
- 缺陷修复
- pyinstaller 打包默认打开 LOG_TO_FILE 选项,否则遇到问题无法排查
- 修复 nowplaying 在 windows 系统上的 seek/position 展示等问题
- 修复 fuo search/sub 等子命令 #782
- 修复开启淡入淡出时,拖动进度条无法正常工作的问题 #774
- 其它
- 随机展示“对贡献者的感谢”
- 限制 aionowplaying 的最高版本
- 新特性
- (实验性)播放器支持淡入淡出
- 功能增强
- 支持解析更多格式的歌词
- windows 打包支持查看包信息
- 缺陷修复
- (尝试)修复 windows “读取 cookie 登录”的功能
- 修复滚动歌曲列表的时候,有一定几率 crash 的问题
- 其它
- 删除和 v1 model 相关的无用代码,减轻维护成本
- 新特性
- 内置提供收藏页/发现页等页面(资源提供方只需实现相应数据接口)
- (实验性)提供基于 http 和 websocket 的 JsonRPC/PubSub 接口
- 功能增强
- 当访问播放资源遇到错误时,也能触发 standby 机制
- 当用户双击一首歌之后,立即停止当前歌曲的播放
- 当歌曲/专辑封面获取失败后,使用一种随机颜色填充
- 缺陷修复
- 修复歌词窗口选择字体时可能会崩溃的问题
- 其它
- 移除黑魔法很多的 feeluown.models 模块,减轻维护成本
- 功能增强
- 提供接口,支持创建/删除歌单
- 缺陷修复
- 修复本地音乐和 pydantic 的兼容性问题
- 修复歌曲详情页面太宽的问题
- 功能增强
- 支持“分集”的歌曲(目前主要是B站有类似需求)
- 提供工具函数用于读取浏览器的 Cookie
- 缺陷修复
- 修复第一次生成图标可能失败的问题 #719
- 兼容 pydantic v2 #718
- 修复一个插件加载失败可能会后续所有插件的问题 #711
- 功能增强
- 增加一个“想听”的默认收藏集
- 在歌曲右键菜单中加入“播放 MV”动作
- 小幅调整 UI,用程序画图标
- 功能增强
- 支持对媒体资源指定 http_proxy #697
- 歌词窗口大小可以随歌词长短自动变化 #693
- 媒体资源加载失败时,显示错误信息 #698
- 专辑列表页面展示专辑发布时期 #703
- 缺陷修复
- 修复往播放列表拖拽歌曲时可能会 crash 的问题 #706
- 修复部分资源提供方歌手图片加载失败的问题 #685
- nowplaying(macos,mpris2) 若干功能增强或问题修复 #687 #688 #692 #690
- 其他
- 所有插件理论上都可以基于这个版本来去除对 feeluown.models 包的依赖
- 修复 windows 安装包构建问题
- 新特性
- Windows 和 macOS 平台支持 nowplaying #575 #674
- 支持双语歌词,自滚动歌词,保存/恢复歌词窗口状态 #680
- 功能增强
- 更清晰的渲染专辑图 #679
- 支持使用系统图片浏览器查看专辑原始图片 #679
- 启动速度大幅提升(Windows 平台) #678
- 大幅减少歌曲播放时的 CPU 资源消耗 #670 #671
- 缺陷修复
- 修复评论列表高度有时不对的问题 #682
- 其它
- 发版时自动构建 macOS x86 的安装包 #675
- 兼容 python3.11 #672
- 功能增强
- 播放队列可以滚动到当前播放歌曲 #661
- 在 Windows (Win10) 上开箱即用 #645
- 改进歌曲详情页 #650
- 展示歌曲的发布日期 #647
- 缺陷修复
- 修复窗口宽度可能边很大的问题 #658
- 修复专辑/歌手列表页面可能无法滚动的问题 #634
- 其它
- 发版时自动构建 Windows 的安装包
- 给更多的包添加 type 检查,以避免一些简单的缺陷
- 功能增强
- 将搜索结果以提供方为单位来展示
- 播放队列使用弹出方式展示,避免页面的频繁切换
- 内置本地音乐功能(注意:不能和本地插件一起使用)
- 页面布局微调
- 缺陷修复
- 修复部分桌面环境中(比如 KDE)评论标题高度不够的问题
- 缺陷修复
- 修复 macOS 环境下,歌曲表格序号和时长列宽度太窄的问题
- 修复歌曲不能拖动的问题
- 缺陷修复
- 修复长的专辑标题导致界面出现滚动条的问题
- 修复连续播放视频时,视频窗口需要多次手动开启的问题
- 修复 watch 模式对部分歌曲(v2 model)不管用的问题
- 修复加载部分歌曲(v2 model) 歌手失败的问题
- 功能增强
- 优化通知的显示
- 重构
- 使用 isinstance 来判断 provider 支持哪些功能(partially supported)
- 缺陷修复
- 修复“最近播放”有一定概率导致应用崩溃的问题
- 修复生成的 macOS 桌面图标可能不工作的问题
- 特性
- 添加一个按钮来显示/隐藏左边的导航栏
- 功能增强
- 展示当前播放歌曲的专辑封面
- 优化歌手/专辑页面的歌曲列表展示效果
- 添加“最近播放”页面
- 特性
- 兼容 libmpv 2.0
- 重构
- 使用新的资源管理接口(v2 model) 来处理播放列表、歌手、专辑等资源
- 特性
- [测试中] Pub/Sub 服务支持发布“播放引擎”相关的信号
- 不兼容改动
- 修改 fuo search 命令的参数
- 缺陷修复
- 修复部分 fuo 命令不能使用的问题
- 修复在 windows 上启动失败的问题
- 重构
- 移除 fuocore 包
- 缺陷修复
- 修复 fuo 命令行部分命令不能使用的问题
- 重构
- 添加 feeluown.server 包,精简 feeluown 包下的内容,将其它包分别移动到合适位置
- 缺陷修复
- 修复所有已知的 critical 问题,包括 #447, #524, #523。
- 给重构的代码添加单元测试,覆盖率从 45% 提至 56%。
- 不兼容改动
- 不再支持 Python 3.6 和 3.7。
- rcfile 文件中通过 when 函数绑定的信号接受者,默认不再放在队列中执行, 而是直接调用。可以通过指定 aioqueue=False 来保持向后兼容。举个例子: when('xxx.yyy', func, aioqueue=False) 。
- 缺陷修复
- 修复在 wayland 环境不能正确显示应用图标
- 修复双击播放歌曲后,播放器仍处于暂停状态的问题
- 修复部分与 Python 3.10 不兼容的问题
- 修复比特率不显示的问题
- 修复 RPC 接口不能正常返回的问题
- 新特性
- 播放视频时能正确的显示相关元信息
- 提供一个机制让插件可以在播放视频时,自行在屏幕上绘制(比如绘制弹幕)
- 缺陷修复
- 修复从播放列表移除一首歌曲时,UI 上会显示移除两首的问题
- 修复当有一个实例启动时,第二个实例启动时会弹出提示而不是直接退出
- 功能增强
- library 模块新增 song_get_lyric 接口,并新增 VideoModel
- 新特性
- 新增“歌曲电台”功能
- 按住 Alt 键双击歌曲,会将当前列表里所有歌曲都加入到播放列表
- 自绘“播放列表”按钮
- 当播放列表歌曲变化时,实时刷新 UI 上的列表
- 添加设置页面
- 缺陷修复
- 修复强依赖 qt 的问题
- 尝试修复 windows 上加载不了提供方图标的问题 #498
- 修复“列表只有一首歌时不显示”的问题 #467
- 新特性
- 在顶部添加一个标签栏,用来替换之前 checkbox 模拟的标签栏
- 功能增强
- 优化窗口最大化时的显示效果
- 功能增强
- 支持展示歌曲的网页地址
- 缺陷修复
- 修复 windows 上生成 icon 桌面图标的问题 #494
- 修复 fuo add {model-v2-song} 失败的问题 #492
- 修复第一次在 windows 启动会失败的问题 68d12f8
- 功能增强
- 添加“歌曲详情”页面
- 加速启动速度 #475
- 小幅调整 standby 的打分逻辑,显示 standby 的比特率 #480 #
- 添加 NixOS 的安装文档 #479
- 缺陷修复
- 播放部分歌曲时,mpris2 会失效
- fuo search 命令的输出无法阅读
- 日志以及代码 typo 等修复
- 功能增强
- 支持展示 provider 的图标(demo 状态)
- 创建桌面图标时,使用 xdg-user-dir #473
- ImgListView 接口改进
- 缺陷修复
- 修复不能搜索专辑的问题
- 修复进入 PIP 模式有几率 crash 的问题
- 缺陷修复
- 修复点击 mv 按钮崩溃的问题
- 功能增强
- 优雅的退出应用
- 提供切换音乐源的右键菜单
- feat
- 增加一个应用内的通知组件
- 增加“观看”模式
- 缺陷修复
- 修复图片展示组件的部分问题 #458
- 修复 mpris2 的部分问题
- 修复播放模块的若干问题 #459
- 缺陷修复
- 拖动 v2-model 的歌曲时,程序崩溃
- 特定情况下,播放器会无限循环 #456
- 退出 app 时报错(后面还需要继续改进)
- 缺陷修复
- 当 AUDIO_SELECT_POLICY 为非 >>>/<<< 时,provider_v2 的歌曲都不能播放
- 缺陷修复
- 修复自动 fallback 功能不工作的 bug,并给 player 模块打更多日志
- 缺陷修复
- 修复不能正常退出的 bug
- enhancement
- 解决 --log-to-file 默认 verbose level 较低的问题
- 将本地收藏 Songs/Albums 统一为 Library
- 代码结构优化
- enhancement
- 极大提高搜索速度
- 优化歌曲评论的展示
- 给播放控制栏添加 空格,上下左右 等快捷键用来控制播放
- 新特性
- 支持展示歌曲评论
- 支持跳转到相似歌曲
- enhancement
- 添加按钮清除当前播放列表
- refactor
- 大幅重构代码结构,计划以后删除 fuocore 包,目前保持向后兼容
- 设计 library v2 (包括 model v2)
- 缺陷修复
- libmpv 版本过高,不能播放 mv #433
- enhancement
- 优化当前播放歌曲显示:当歌曲标题+歌手名过长时,会滚动显示 #425
- 加强登录组件:支持网页登录 #423
- 给部分 gui 组件添加 API 文档
- 缺陷修复
- 修复歌词窗口的部分问题 #413
- 新特性
- fuo 文件支持 metadata #302 (Experimental)
- 新特性
- 系统托盘
- fuo 文件和 gui 等功能点支持视频
- 缺陷修复
- 没有安装歌曲对应的 provider 插件时,程序崩溃 #406
- 有时不能退出 fm 模式 #395
- search 命令输出包含空行 #402
- mpris 有时不更新 d3251999ff67d52c9dd19e62e9d64fd3f4f43d18
- enhancement
- 尝试给 statusline 进行一些标准化
- 点击进度条可以调整进度
- feat
- 给视频添加控制器
- enhancement
- 提供登录框的公共类
- show 命令增强,支持更多路由
- 缺陷修复
- 请求歌词慢时,切换歌曲会卡顿
- feat
- 支持画中画模式
- 支持折叠左边列表
- 支持右键当前正在播放的歌曲
- 去掉 Python 3.5 支持
- 修复 daemon 模式不能运行的 bug
- 修复 AUDIO_SELECT_POLICY 不生效的问题
- 兼容老版本的 libmpv(兼容 Ubuntu 18.04 )
- 给 library 添加 provider_added/provider_removed 两个信号
- 添加配置项 PROVIDERS_STANDBY
- 添加信号 app.ui.songs_table.about_to_show_menu
- feat: 歌词窗口
- feat: 退出时状态保存
- 功能增强: - 搜索功能增强 - 加快在 windows 上的启动速度 - 统一按钮样式,避免在 Linux/Windows 看起来奇怪 - 右边主题样式优化
- refactor: - player 对象不关心 song 对象,只处理 media 对象
- 缺陷修复: 音量滑动条随着音量变化而变化
- 缺陷修复: 遇到不能播放的歌曲时,fm 模式会自动退出
- 缺陷修复: 没安装 qasync 的时候 fallback 到 daemon 模式
- 缺陷修复: 修复 mpris2 不能正常启动的问题
- feat: add macos_dark theme
- xxx: hide scrollbar on Linux
- refactor: 亮色主题绘制背景图片
- 缺陷修复: 加载 collection 失败
新特性
- 支持 ALLOW_LAN_CONNECT 配置
- 更好的支持视频播放
- 添加 fuocore.serializers 包
- 内置 mpris2 支持
缺陷修复
- 使用 qasync 包替换 quamash 以支持 Python 3.8
缺陷修复
- 修复有时激活 fm 模式失败的问题
新特性
- 性能:支持在 1s 内往播放列表添加上万首歌曲
- UserModel 添加 rev_songs 等若干属性
新特性
- 提供 FM 模式支持
- 支持从环境变量 MPV_DYLIB_PATH 中读取 libmpv 地址
缺陷修复
- 修复 fuo add playlist 有时不生效的问题
- 修复 fuo status 命令有时失败的问题
other
- 添加简单的集成测试
- 缺陷修复: app crash on non-macos
新特性
- fuo 协议支持解析 show fuo://<provider>/playlists/<pid>/songs
- 系统主题切换时,自动切换 feeluown 主题
缺陷修复
- debug 命令行选项不生效
- 修复 album 列表显示不完整的 bug
- 界面上先显示 Songs/Albums 这两个收藏集
- feat: 支持 genicon 子命令
- feat: 支持 genicon 子命令
- feat: 支持在 windows 下生成桌面快捷方式
- 缺陷修复: windows 启动失败
- 缺陷修复: macOS 生成图标失败
新特性
- 将 app 实例暴露给 fuoexec
- 支持拖拽专辑到本地收藏
功能增强
- 优化 歌手/专辑 简介的展示
- 优化暗色背景下,歌手图片的展示
- 支持查看专辑简介
other
- 为 feeluown.collection 模块添加单元测试
- 缺陷修复: 修复专辑列表不能显示所有专辑的 bug
- 功能增强: 绑定前进/后退快捷键
- 功能增强: 歌曲列表支持一次移出多首歌曲
- 缺陷修复; 修复多个导致 app crash 的 bug
- feat: 新的歌手详情页界面
- 功能增强: 改善专辑列表展示
- refactor: 将 widgets 包拆分成 containers 和 widgets
- 缺陷修复: 正确处理 song 为 None 的情况
- refactor: 重构 __main__ 模块,加入 entry_points 包
- refactor: 加入 fuoexec 模块
- feat: 支持在 macOS 上生成 .app 文件
- feat: 支持搜索歌手,专辑,播放列表,比如
fuo search 理性与感性 type=album
- feat: 可以播放 Youtube 的 url,比如
fuo play https://youtube.com/xxx
- feat: 支持展示歌手专辑列表
- 功能增强: 对于大的播放列表,仍然可以播放全部
- 功能增强: 当 provider API 失效时,也能为歌曲找替代品
- 缺陷修复: 若干已知缺陷修复
- 缺陷修复: 将 pytest-runner 从 setup_requires 移除
- 修复歌曲播放不能自动 fallback
- 重新设计 feeluown.models.Media
- 支持多品质音乐选择
- fuo 协议规范化
- 优化 mac 全局快捷键
- 大幅增强前进后退功能
- 修复重复本地收藏重复的问题
- 修复播放 mv 失败
- 添加前进、后退按钮
- 添加状态栏(目前支持显示插件个数)
- 支持 dark 和 light 两种主题
- 提供接口支持查看歌手的所有歌曲
- 添加 Media 类(支持无损、高、中、低质量的视音频)
- 支持播放 mv
- 集成 cli 功能
- 本地收藏集支持拖拽
- 在 UI 上区别不存在的歌曲
- 限定 fuocore 版本
- 支持 fuocore 提供的歌曲懒加载功能
- 修复部分情况无法自动搜索替代歌曲
- 添加配置模块:用户可以在 rcfile 中自定义配置
- 支持 fuo 文件:用户可以建立一个跨平台的收藏列表(收藏歌单、专辑、喜欢的用户)
- 显示当前播放歌曲的来源
- 当一个平台的某首歌不能播放时,会自动去其它平台搜索相似歌曲
- 修复 cli 模式不返回输出的问题 #242
- rcfile (alpha) - 目前提供机制支持信号绑定
- 给左边的面板加上滚动条(参考 QQ/虾米/网易云 客户端设计)
- 限制 fuocore >= 2.1
- 支持 -v 选项:查看 feeluown 和 fuocore 版本
- 限制 fuocore 版本
- 支持切换播放模式 @cyliuu
- 添加音量滑动条 #233 @chen-chao
- 更换播放控制按钮的图标
- 搜索接口支持虾米音乐
- setup 中加入 feeluown.protocol 包
- 添加播放全部的按钮
- 调整搜索栏高度
- 给 QQ 音乐支持增加提示
- 统一都使用 mac.qss
- 修复 pypi 包中没有包含 icon 的问题
- 准备基本功能
- 支持从 QQ 音乐搜索歌曲
- 支持 fuo protocol
2.0a0 版本重写了大部分逻辑,优化了代码结构
- 暂时去掉私人 FM 功能
- 暂时去掉每日推荐功能
- 支持本地音乐(粗糙版)
- 支持简单的浏览历史记录(粗糙版)
- 使用 fuocore 中提供的 Model
- 尝试类似 Component 的设计(参考 React?)大量使用 Qt 的 Model/View/Delegater 模式
- 移除 FXxxWidget:事实证明,这种规模的项目完全不需要自己对 QXxxxWidget 进行封装
- 使用 fuocore 新版本,修复不能播放下一首的 bug
- 一个相对比较稳定能用的版本
- 使用 fuocore 的 mpv 作为播放引擎
- 添加图片缓存模块
- 添加 Playlist, Album, Artist 歌曲页面的 Cover Image 显示
- 用虾米来补充网易云音乐
- 发送播放次数信息给网易云服务器
- udp server 用来接受远程命令
- 当播放中断时,让播放器退后1秒
- 修复部分歌曲播放导致崩溃
- 显示当前音乐加载的进度
- bitrate 修改为 320
- 增加下载歌曲的进度条
- 重构日志记录模块
- 网易云音乐:下载歌曲;双击歌手浏览歌手热门歌曲;双击专辑浏览专辑歌曲
- 启动时随机显示 tips
- 把大部分提示信息改为中文
- 修复不能正确读取用户主题的 bug
- 网易云音乐:部分歌曲获取相似歌曲失败,导致不能进入相似歌曲播放模式。对这种情况进行提示和log。
- 把 pycrypto 加入依赖当中
- 加入相似歌曲模式
- 提升部分组件性能
- 解决 neteasemusic 插件双击播放音乐时会发送两次信号