Skip to content

Releases: Kifranei/Halcyon

1.2.1

Choose a tag to compare

@Kifranei Kifranei released this 11 Jul 12:32
f634978

From tag 1.2.0 to 1.2.1.

中文更新日志

  • 重写播放进度交互,修复部分歌曲无法拖到末尾、MV 切歌后状态残留等问题,并完善动态封面与横屏播放体验。
  • 播放页默认改为非沉浸圆角封面布局;非 1:1 封面按图片实际边界裁圆角,迷你歌词固定占位,避免 TTML 背景歌词挤压控制区。
  • 完善歌词字体设置、罗马音/翻译显示和 TTML 解析;状态栏歌词长文本改为带间隔的连续循环滚动,合并副歌词时使用单空格。
  • 新增西文字体、默认字体与中日韩默认字体的独立配置,并修复歌词非当前行字重、换行和分享文字显示问题。
  • 优化艺术家页:艺术家封面按“自定义 → 独占专辑艺术家 → 独占歌曲艺术家 → 合作专辑艺术家 → 合作歌曲艺术家”选择。
  • 完善文件夹层次结构:子文件夹长按支持完整操作菜单与置顶,桌面快捷方式使用专用层次结构图标。
  • 切换歌曲、专辑、艺术家、文件夹、歌单及分类排序时立即更新列表,减少排序菜单点击后的卡顿感。
  • 优化专辑发行方展示、歌单多选/拖拽、媒体通知歌词、远程音乐源与下载音质地址等细节,并修复多项播放器和设置页问题。
  • 支持显示歌曲MV,请将”歌曲文件名-MV.mp4”或“歌曲文件名_MV.mp4”放到与歌曲同目录,播放到有MV的歌曲时候会显示MV按钮。

English Changelog

  • Reworked playback seeking and fixed cases where some songs could not seek to the end, stale MV state after track changes, and several dynamic-cover and landscape-player issues.
  • Made the non-immersive rounded-cover player layout the default. Non-square covers now round the actual artwork bounds, while mini lyrics keep a fixed viewport so TTML background lines do not push transport controls down.
  • Improved lyric font settings, romanization/translation display, and TTML parsing. Long status-bar lyrics now loop continuously with a gap, and merged secondary lyrics use a single space.
  • Added separate Western, default, and CJK default font settings, and fixed non-current lyric weight, wrapping, and lyric-share text rendering.
  • Improved artist artwork selection with this priority: custom asset → sole album artist → sole song artist → collaborative album artist → collaborative song artist.
  • Improved folder hierarchy actions: child folders now expose the full long-press menu and pinning, and hierarchy shortcuts use a dedicated icon.
  • Made song, album, artist, folder, playlist, and category sorting update immediately after selection to reduce perceived UI stalls.
  • Refined album publisher display, playlist multi-select/reordering, media-notification lyrics, remote music sources, download-quality URLs, and numerous player and settings details.
  • Supports displaying the song's music video (MV). Please place "SongFileName-MV.mp4" or "SongFileName_MV.mp4" in the same directory as the song. When playing a song that has an MV, the MV button will be displayed.

1.2.0

Choose a tag to compare

@Kifranei Kifranei released this 05 Jul 04:01
f638641

中文更新日志

  • 新增自定义艺术家封面文件夹,支持按艺术家名称匹配封面资源。
  • 新增音乐库来源切换器,支持本地 / Navidrome / Emby,并扩展为多地址远程音乐源管理。
  • 新增 WebDAV 接入音乐库来源,支持递归索引 WebDAV 音频并纳入歌曲、专辑、艺术家等库视图。
  • 修复 Navidrome / Emby 大曲库只能加载部分歌曲的问题,远程曲库改为分页与完整加载策略。
  • 支持远程 HTTP 音频读取内嵌歌词 / 标签头部缓存,改善 Navidrome / Emby 等远程歌曲内嵌歌词识别。
  • 新增 Apple Music 风格动态流光背景,并加入低功耗可见性门控。
  • 歌词更多菜单增加罗马音 / 注音显示位置设置,并优化菜单结构。
  • 修复媒体通知歌词元数据补丁导致的歌词重载闪烁,并进一步平滑歌词换行与重排动效。
  • 优化歌词插件搜索,并行化检索流程并增加超时控制。
  • 新增软件均衡器能力,扩展参数 Q、音色、压缩器、立体声宽度、混响等 DSP 效果。
  • 优化文件夹歌单分类页和详情页,支持多选、排序记忆、菜单跳转与封面。
  • 新增全标签搜索开关,优化专辑艺术家 / 艺术家显示与搜索去重。
  • 修复扫描 toast 重复弹出、隐藏播放页拦截返回键、163 key 解密结果显示等问题。
  • 优化远程歌曲列表分页加载、歌词对唱显示、播放页和横屏页面细节。
  • 打包字体去重,减小 APK 体积,并在 release APK 文件名中嵌入 git 短哈希便于溯源。
  • 补全 RawS Music 开源引用与第三方许可信息。

English changelog

  • Added custom artist-cover folders with artist-name based cover matching.
  • Added a library-source switcher for Local / Navidrome / Emby, then expanded it into multi-server remote source management.
  • Added WebDAV as a music library source, including recursive WebDAV audio indexing for songs, albums, artists, and related library views.
  • Fixed Navidrome / Emby large libraries only loading a partial song set by improving remote pagination and full-library loading.
  • Added embedded lyric / tag-header caching for remote HTTP audio, improving embedded lyric detection for Navidrome / Emby and other remote songs.
  • Added an Apple Music style flowing dynamic background with low-power visibility gating.
  • Added romanization / pronunciation placement controls to the lyric menu and cleaned up the menu structure.
  • Fixed lyric reload flicker caused by media-notification metadata patches and further smoothed lyric line wrapping / relayout animations.
  • Optimized lyric plugin search with parallel lookup and timeout control.
  • Expanded software equalizer support with parameter Q, tone, compressor, stereo width, reverb, and related DSP effects.
  • Improved folder playlist category/detail pages with multi-select, sort persistence, menu navigation, and covers.
  • Added a full-tag search toggle and improved album-artist / artist display and search deduplication.
  • Fixed repeated scan toasts, hidden player pages intercepting back navigation, and missing 163 key decrypt result display.
  • Improved remote song-list pagination, duet lyric display, player page details, and landscape playback details.
  • Reduced APK size by deduplicating bundled fonts and embedded the git short hash in release APK filenames for traceability.
  • Added RawS Music credits and third-party license references.

Halcyon V1.1.97

Choose a tag to compare

@Kifranei Kifranei released this 24 Jun 08:50
4449cd0

中文更新日志

  • 新增软件 10 段参数均衡器,将 RawS-Music 的 BiQuad/ParametricEQ 算法用 Kotlin 重写并接入 ExoPlayer 音频链路,彻底脱离系统 Equalizer 依赖。
  • 为系统均衡器跳转增加厂商兼容性兜底处理。
  • 修复排序不记忆、乱跳以及听歌历史 OOM 导致设置恢复默认的问题。
  • 修复多人对唱/合唱 TTML 歌词因嵌套时间重叠而出现的闪烁问题。
  • 修复 ColorOS 导航栏和 x-bg 歌词字间距等显示问题。
  • 播放列表详情页新增多选功能;增强文件夹播放列表和分类页面的排序能力。
  • 元数据分类详情页新增搜索功能和选择模式。
  • 优化音乐库搜索控件、选择遮罩和扫描体验,修复队列排序回归问题。
  • 增强动态封面功能、歌词透视效果和 Beautiful Lyrics 显示优化。
  • 新增播放器标题位置设置、播放手势设置和歌词过滤设置。
  • 修复 Hi-Res 标识、歌词制作信息行、视频编码、专辑艺术家位置、歌词日文/中文互换和 24/48 检测等问题。
  • 新增歌词视频分享和 3D 透视歌词效果。
  • 修复 OPlus 歌词初始发布、 lyricInfo 在元数据刷新后丢失以及重新应用时机等问题。
  • 修复 FFmpeg 解码中 swr_convert 采样计数传递和切歌音量峰值问题。
  • 深度扫描时刷新音频标签元数据,并将歌词解析统一接入 accompanist 歌词核心库。
  • 保留专辑分类页面状态,修复卡住的库扫描进度指示器,恢复即时队列拖拽排序。
  • 跳过冗余媒体通知元数据刷新,减少通知歌词元数据抖动。
  • 支持小米设备的 MiPlay 输出面板,并通过 MediaMetadata 向 ColorOS 锁屏提供岛歌词。
  • 拆分 OPlus 原生和模块歌词投递模式,优化横屏播放器布局。
  • 延迟桌面歌词窗口到设置加载完成后,延迟随机播放队列重排至下一曲。
  • FFmpeg 解码器复用 packet 和 frame,降低内存分配。
  • 将 MusicRepository 拆分为多个专业 Manager,统一歌曲列表排序逻辑。
  • 移除 ella:// 深链 scheme,统一使用 halcyon://
  • 防止重复播放列表名称,并优化创建/重命名流程。
  • 新增文件夹播放列表、磁贴颜色自定义、设置搜索与深链高亮、启动图标 monochrome 标签。
  • 新增二级歌词字体缩放,重构导航 Dock 和快捷方式 URI,并简化均衡器效果。
  • 修复从纯文本歌词中去除 OPlus 内联 LRC 时间戳。
  • 修复评分刷新、自定义文件夹扫描、过期听歌历史条目和零时间戳闪烁等问题。
  • 优化搜索过滤、播放器细节、首页卡片可读性和自定义壁纸下的显示效果。

English Changelog

  • Added a software-based 10-band parametric equalizer, porting the BiQuad/ParametricEQ algorithm from RawS-Music to Kotlin and integrating it into the ExoPlayer audio pipeline, eliminating the dependency on the system Equalizer.
  • Added vendor-specific fallback handling for system equalizer intents.
  • Fixed sorting not being remembered or jumping unexpectedly, and fixed listening-history OOM that reset settings to defaults.
  • Fixed flickering in multi-singer/chorus TTML lyrics caused by overlapping nested timestamps.
  • Fixed multiple GitHub issues including #145, #172, #194, #202, #210, #126, #133, #234, #236, #237, #238, #240.
  • Fixed ColorOS navbar and x-bg lyric word spacing issues.
  • Added multi-selection support to the playlist detail screen; enhanced sorting for folder playlists and category pages.
  • Added search functionality and selection mode to metadata category detail screens.
  • Refined library search controls, selection overlays, and scanning experience; fixed queue ordering regressions.
  • Enhanced dynamic cover functionality, lyric perspective effects, and Beautiful Lyrics display optimizations.
  • Added player title position setting, playback gesture settings, and lyric filter settings.
  • Fixed Hi-Res logo, lyric credit line, video encoding, album artist placement, lyrics JP/CN swap, and 24/48 detection issues.
  • Added lyric video sharing and 3D perspective lyrics effects.
  • Fixed OPlus lyric initial publishing, lyricInfo loss after metadata refreshes, and reapply timing.
  • Fixed FFmpeg swr_convert sample count passing and volume spikes during song switching.
  • Refresh audio tag metadata during deep scans and route lyric parsing through the accompanist lyrics core.
  • Preserve album category page state, fix stuck library scan progress indicator, and restore immediate queue drag sorting.
  • Skip redundant media notification metadata refreshes and reduce lyric metadata churn.
  • Added MiPlay output panel support on Xiaomi devices and delivered ColorOS lock-screen island lyrics via MediaMetadata.
  • Split OPlus native and module lyric delivery modes and polished landscape player layout.
  • Deferred desktop lyric window until settings are loaded and deferred shuffle queue reorder until next track.
  • Reused packet and frame in the FFmpeg decoder to reduce allocations.
  • Split MusicRepository into specialized managers and unified song list sorting logic.
  • Removed the ella:// deeplink scheme, keeping only halcyon://.
  • Prevented duplicate playlist names and improved playlist create/rename flow.
  • Added folder playlists, tile color customization, settings search with deeplink highlighting, and launcher icon monochrome tag.
  • Added secondary lyric font scaling, reworked navigation dock and shortcut URIs, and simplified equalizer effects.
  • Stripped OPlus inline LRC timestamps from plain-text lyrics.
  • Fixed ratings refresh, custom folder scans, stale listening history entries, and zero-timestamp flash.
  • Improved search filtering, player details, home card readability, and display under custom wallpapers.

Halcyon V1.1.96

Choose a tag to compare

@Kifranei Kifranei released this 15 Jun 06:56
946885c

中文更新日志

  • 支持 Lyrico 插件合集 ZIP 导入,新增插件配置项,并支持 TTML 写入标签选择。
  • 改进在线歌词匹配流程,支持预览匹配歌词,并清理 LRC ID 标签。
  • 增强 TTML/AMLL 兼容,支持基于 agent 类型识别对唱歌词方位。
  • 音频标签读取同步 Lyrico 的多值标签逻辑,并增强元数据编辑器的歌词、封面和 TTML 编辑能力。
  • 新增 Navidrome、Emby 远程音乐源,并拆分为独立入口;改进 WebDAV/远程目录浏览体验。
  • 新增播放器自定义背景、壁纸遮罩、动态背景和 Beautiful Lyrics 相关显示优化。
  • 优化平板横屏播放器布局,支持封面墙滑动切歌、封面点击播放/暂停和更好的大屏显示。
  • 新增播放页/歌词页歌词对齐设置,平板/桌面歌词相关显示逻辑进一步优化。
  • 播放页音频信息现在会显示当前输出设备,包括扬声器、耳机、USB 音频和蓝牙设备。
  • 播放队列顶部新增播放模式切换按钮,并修复随机播放队列顺序不一致的问题。
  • 修复单曲循环下通知栏切歌、应用内状态锁死、歌词不同步等播放状态问题。
  • 修复 E-AC-3/AC-3 接近结尾拖动会误跳下一首的问题。
  • 优化超大曲库播放稳定性,改善 6 万首级别曲库下的播放和页面切换问题。
  • 扩展音乐库搜索范围,支持更多实体类型搜索、批量选择和范围选择。
  • 新增长按扫描触发完整读取标签的重扫逻辑。
  • 听歌历史取消 200 条限制,听歌热力图支持点击日期查看当天时长。
  • 优化首页卡片、每日推荐、分类卡片和自定义壁纸下的可读性。
  • 修复跟随系统主题、浅色主题歌词/背景、Mini Lyric、超级岛进度条等显示问题。
  • 桌面歌词和状态栏歌词增加更多显示控制项,包括颜色、位置、对齐和滚动表现优化。
  • 改进均衡器页面,按设备能力显示低音增强和虚拟化选项。
  • 移除实验性的自定义 App 图标切换逻辑,避免启动异常。
  • 补充 README、第三方许可和多语言字符串。

English changelog

  • Added support for importing Lyrico plugin bundle ZIPs, plugin configuration, and choosing whether TTML lyrics are written to TTMLLYRIC or regular lyrics tags.
  • Improved online lyrics matching with scrollable preview and cleaner exported LRC content.
  • Improved TTML/AMLL compatibility, including duet side detection from agent type.
  • Synced multi-value audio tag reading with Lyrico and enhanced metadata editing for lyrics, cover art, and TTML lyrics.
  • Added standalone Navidrome and Emby remote music sources, with improved WebDAV/remote directory browsing.
  • Added player background customization, wallpaper overlays, dynamic backgrounds, and Beautiful Lyrics display improvements.
  • Improved tablet landscape player layout with cover-wall swipe navigation, tap-to-play/pause on covers, and better large-screen presentation.
  • Added lyric alignment settings for player and lyrics pages, with improved tablet and desktop lyric behavior.
  • Player audio info now shows the current output device, including speaker, headphones, USB audio, and Bluetooth devices.
  • Added a playback mode toggle to the queue header and fixed shuffled queue order mismatch.
  • Fixed repeat-one playback issues where notification skips, in-app state, and lyrics could get stuck or out of sync.
  • Fixed E-AC-3/AC-3 seeking near the end incorrectly skipping to the next track.
  • Improved playback stability for very large music libraries, including 60k+ song libraries.
  • Expanded library search across more entity types with multi-select and range selection support.
  • Added long-press full tag rescan support.
  • Removed the 200-item listening history limit and added tappable listening heatmap day details.
  • Improved home cards, daily mix, category cards, and readability with custom wallpapers.
  • Fixed follow-system theme behavior and multiple light-theme lyric/background rendering issues.
  • Added more desktop lyric and status lyric controls, including color, position, alignment, and scrolling behavior improvements.
  • Improved equalizer capability detection for bass boost and virtualizer controls.
  • Removed the experimental custom app icon switcher to avoid launch issues.
  • Updated README files, third-party licenses, and localized strings.

Halcyon V1.1.95

Choose a tag to compare

@Kifranei Kifranei released this 12 Jun 01:57
0032ed4

中文更新日志

❗ 安装前请先备份数据,备份后卸载重新安装!!

新功能

  • 新增应用内均衡器:5 段 EQ + 低音增强 + 环绕声
  • 新增 Monet 动态取色:可从系统壁纸或当前歌曲封面生成全局强调色
  • 新增本地歌曲「在线匹配歌词」:播放页「更多」菜单 → 在线匹配歌词,基于 Lyrico 兼容插件,支持导入 /
    删除歌词源插件,匹配结果可写入内嵌标签或 .lrc
  • 横屏封面墙改版:歌名 / 歌手移至顶部,原位置改为实时滚动歌词
  • 字体设置迁移到「外观」并新增系统字体选择器;分享卡片自定义字体开关并入字体设置
  • 作词家 / 作曲家页面新增侧边 A-Z 索引条
  • 库内列表新增长按菜单(置顶、分享、删除),置顶项显示置顶标记
  • 排序按钮改为下拉菜单

性能优化(重点照顾 1k–1 万+ 大曲库)

  • 大幅降低冷启动卡顿:内置 Baseline Profile 预编译启动路径、库缓存流式解析、A-Z 排序键持久化到磁盘
  • 修复进入音乐库 / 迷你歌词时的卡顿(消除标签读取产生的海量日志与重复内存分配)
  • 大库优化:去除整库封面 URI 构建、批量搜索、单遍聚合、id→index 定位表等,进库与滚动更顺
  • A-Z 索引字母不再每次重组重建

修复

  • 修复快速滚动时 专辑 / 作曲家 / 作词家 卡片封面闪烁
  • 修复横屏长按分享歌词时的弹窗布局错乱
  • 修复通知栏播放模式与播放页不同步
  • 修复从备份恢复后新功能设置(均衡器 / Monet 等)丢失
  • 补齐多语言翻译
  • 缩略图清晰度、A-Z 条与列表间距、年份卡片排版等细节优化

English changelog

❗ Please back up your data before installation. After backing up, uninstall the app and reinstall it!!

New

  • In-app equalizer: 5-band EQ with bass boost and virtualizer
  • Monet dynamic color: derive the app accent from the system wallpaper or the current song cover
  • Online lyric matching for local songs: Player → More → Match lyrics online, powered by Lyrico-compatible plugins;
    import/delete lyric source plugins; write results to embedded tags or a .lrc file
  • Reworked landscape cover wall: title/artist moved on top, with a live scrolling lyric where they used to be
  • Font settings moved to Appearance with a system-font picker; the share-card custom-font toggle now lives there too
  • Side A-Z index bar added to the composer / lyricist pages
  • Long-press menus (pin to top, share, delete) across library lists, plus a pin indicator on pinned items
  • Sort buttons replaced with dropdown menus

Performance (tuned for large 1k–10k+ libraries)

  • Much smoother cold start: bundled baseline profile, streamed library-cache parsing, and an on-disk A-Z sort-key
    cache
  • Fixed jank when entering the library / mini-lyrics (removed a tag-reader log storm and repeated allocations)
  • Large-library work: dropped whole-library cover-URI maps, batched search, single-pass aggregation, id→index lookups
    — faster entry and scrolling
  • A-Z index letters are no longer rebuilt on every recomposition

Fixes

  • Album / composer / lyricist card covers no longer flicker on fast scroll
  • Fixed the landscape share-lyrics dialog layout
  • Fixed media-notification playback mode getting out of sync with the player
  • Newly added settings (equalizer / Monet, etc.) are now restored from backup
  • Synced missing localizations
  • Polish: thumbnail sharpness, A-Z bar spacing, year-card layout

Halcyon V1.1.94

Choose a tag to compare

@Kifranei Kifranei released this 09 Jun 15:27
f8412e7

中文更新日志

  • 文件夹分类详情页新增 A-Z 滑动定位条和快速拖动条
  • 修复文件夹分类详情页顶部显示完整路径的问题,现在显示文件夹名称
  • 修复应用语言切回“跟随系统”后仍停留在上一个手动语言的问题
  • 新增多语言支持:德语、法语、韩语、俄语、土耳其语、印尼语、越南语、泰语
  • 新增底栏入口自定义,最多可显示 4 个入口
  • 新增系统均衡器入口
  • 新增当前歌曲歌词偏移调整
  • 增强 SPL/LRC 歌词兼容,支持 offset 标签并可忽略 SPL 头部标签
  • 优化播放页更多菜单布局与常用操作位置
  • 优化 ReplayGain、音频格式显示、TTML 演唱者显示和本地封面读取
  • 修复真随机模式冷启动可能自动播放的问题
  • 优化日志导出、设置页分组、Miuix 风格弹窗和输入体验

English Changelog

  • Added A-Z fast index and draggable fast scroller to folder category detail pages
  • Fixed folder category detail titles showing full paths instead of folder names
  • Fixed app language fallback when switching back to “Follow system”
  • Added more languages: German, French, Korean, Russian, Turkish, Indonesian, Vietnamese, and Thai
  • Added customizable bottom dock entries, up to 4 items
  • Added a system equalizer entry
  • Added per-song lyric offset adjustment
  • Improved SPL/LRC lyric compatibility, including offset support and optional SPL header filtering
  • Refined the player action menu layout and common action placement
  • Improved ReplayGain handling, audio format labels, TTML singer display, and local artwork loading
  • Fixed true-random mode unexpectedly starting playback on cold launch
  • Improved log export, settings organization, Miuix-style dialogs, and input components

Halcyon V1.1.93

Choose a tag to compare

@Kifranei Kifranei released this 08 Jun 15:21
6a3788c

中文更新日志

  • 应用品牌继续迁移为 Halcyon,并保留 Ella 旧 deeplink / 快捷方式兼容。
  • 新增 AI 对话与曲库推荐能力,支持根据本地曲库推荐歌曲、加入队列或创建歌单。
  • 新增 MCP Server 支持,可让外部 AI 工具读取播放状态、搜索曲库并控制播放。
  • 优化歌词页与流畅歌词体验,修复外部调起播放后歌词错用原播放列表当前曲的问题。
  • 优化歌词分享卡片取色、字体跟随与分享配置。
  • 增强 WebDAV、备份恢复、歌单导入导出与 m3u / m3u8 兼容。
  • 修复 WAV 元数据读取、Unknown 语义污染、专辑/艺术家/分类聚合等曲库数据问题。
  • 优化音乐库、专辑、艺术家、流派、年份、文件夹等页面滚动状态与快速索引性能。
  • 改进多选工具栏,加入全选、区间选择、删除、添加到歌单等批量操作。
  • 改进播放页更多菜单、队列拖拽、播放控制、音质标签、动态封面与不规则封面显示。
  • 更新日语、繁中、英文与简中字符串,补齐新增设置与功能文案。
  • 拆分播放器页面代码,新增 PlayerActionMenuPlayerControlsPlayerCoverPlayerVisualizer 等模块,降低后续维护压力。

English changelog

  • Continued the brand migration to Halcyon while keeping legacy Ella deeplinks and shortcuts compatible.
  • Added AI chat and local-library recommendation features, including queue and playlist actions.
  • Added MCP Server support so external AI tools can read playback state, search the library, and control playback.
  • Improved lyric and smooth lyric behavior, including correct lyrics after external playback handoff.
  • Improved lyric share card colors, font following, and share options.
  • Enhanced WebDAV backup/restore plus playlist import/export compatibility for m3u and m3u8.
  • Fixed WAV metadata reading, Unknown metadata normalization, and album/artist/category aggregation issues.
  • Improved scrolling state and fast-index performance across library, album, artist, genre, year, and folder pages.
  • Improved multi-select actions with select all, range select, delete, and add-to-playlist controls.
  • Refined player menus, queue reordering, playback controls, quality labels, dynamic covers, and non-square cover rendering.
  • Updated Simplified Chinese, Traditional Chinese, Japanese, and English strings.
  • Split large player screen code into dedicated action menu, controls, cover, and visualizer modules for better maintainability.

Halcyon V1.1.92

Choose a tag to compare

@Kifranei Kifranei released this 06 Jun 02:39
12d1e64

Halcyon (formerly Ella Music) 1.1.92

中文更新日志

  • 修复分类页、音乐库、专辑、艺术家等页面拖动侧边快速索引时可能卡死、封面整片发白的问题。
  • 优化快速索引滚动策略,改为“合并请求 + 串行滚动”,减少高频滚动对主线程和封面加载的影响。
  • 修复流畅歌词播放时手动上下拖动后会被立刻拉回当前句的问题。
  • 流畅歌词现在支持手动拖动后停留 3 秒,再自动回到当前播放句。
  • 修复流畅歌词部分情况下拖动后不会自动回到当前句的问题,手动滚动期间也会保持回位计时。
  • 播放器歌词页统一切换到新的 SmoothLyricView,不再使用旧的 WordLyricView。
  • 调整迷你歌词预览区域布局,收紧当前句和后续歌词之间过大的空隙。
  • 优化平板横屏下的流畅歌词字号和显示效果。
  • 修复当前播放列表拖动排序时歌曲行可能重叠、文字压到其他歌曲上的问题。
  • 当前播放列表拖拽项改为稳定 key,并为拖拽中的行增加固定高度和抬层效果。
  • 优化播放模式切换逻辑,减少切换随机播放、单曲循环等模式时的卡顿、跳歌和进度恢复异常。
  • 随机播放列表重排时优先使用原地移动,避免频繁重新装载整段播放列表。
  • 评分标签写入改为标准 20 / 40 / 60 / 80 / 100,读取时自动归一回 1–5 星。
  • 音乐库右上角搜索按钮移除,搜索入口调整为底栏右下角独立按钮。
  • 搜索页改为和首页、设置同级的顶层导航,修复搜索页被底栏状态误判为音乐库页的问题。
  • 修复冷启动后从首页进入搜索,再切换首页或设置时可能出现底栏状态混乱的问题。
  • 正常态底栏调整为:首页 / 音乐库 / 设置 + 独立搜索。
  • 紧凑态底栏调整为:首页 / 播放条 / 搜索。
  • 收紧紧凑态底栏布局,左右圆形按钮缩小到 60dp,中间播放条不再显示歌词,避免播放条被挤压。
  • 底栏 tab 和两侧圆形按钮增加按压时的玻璃鼓起反馈,按住时会有轻微放大和高亮效果。
  • 增加 halcyon:// deeplink 支持,同时继续兼容旧的 ella:// deeplink。
  • 新增 halcyon_shortcut_route / halcyon_shortcut_action,并保留旧的 ella_shortcut_route / ella_shortcut_action 兼容。
  • 支持 halcyon 显式 Intent 风格快捷方式调用。
  • 清理远端仓库地址、README、Star History、访客统计和 LX User-Agent 中的旧品牌残留。
  • miuix 从 0.9.1 升级到 0.9.2,并适配相关 API 变化。
  • 加固设置备份和听歌历史导出逻辑,降低导出 JSON 文件变成 0B 的概率。
  • 设置备份和听歌历史导出 / 导入任务改为使用 activity.lifecycleScope,避免 Compose 组合被移除时任务被取消。

English changelog

  • Fixed possible freezes when dragging the fast index bar in category, library, album, and artist pages.
  • Improved fast index scrolling with merged requests and serialized scrolling to reduce main-thread pressure and cover loading glitches.
  • Fixed an issue where Smooth Lyrics could immediately snap back to the current line after manual scrolling.
  • Smooth Lyrics now waits 3 seconds after manual scrolling before returning to the current playing line.
  • Fixed cases where Smooth Lyrics might not return to the current line if frame updates were not running continuously.
  • The player lyrics page now uses the new SmoothLyricView directly instead of the old WordLyricView.
  • Adjusted the mini lyrics preview layout and reduced excessive spacing between the current line and following lines.
  • Improved Smooth Lyrics font size and readability in tablet landscape mode.
  • Fixed overlapping rows when dragging items in the current playlist.
  • Playlist drag items now use stable keys, fixed row height, and elevated drag layers to prevent text overlap.
  • Improved playback mode switching to reduce stutter, unexpected track changes, and progress restoration issues.
  • Shuffle playlist reordering now prefers in-place media item movement instead of reloading the entire playlist.
  • Rating tags are now written as standard 20 / 40 / 60 / 80 / 100 values, while being normalized back to 1–5 stars when read.
  • Removed the search button from the top-right of the music library and moved search to an independent bottom-bar button.
  • Search is now handled as a top-level destination alongside Home and Settings, instead of being treated as part of Library.
  • Fixed bottom-bar state issues when opening Search from Home after a cold start and then switching to Home or Settings.
  • Normal bottom bar layout is now: Home / Library / Settings + independent Search.
  • Compact bottom bar layout is now: Home / Player Bar / Search.
  • Tightened the compact bottom bar layout: side buttons are now 60dp, and lyrics are disabled in the compact player bar to avoid squeezing the player area.
  • Added glass-like press feedback to bottom bar tabs and circular buttons, including subtle scaling and highlight effects.
  • Added support for halcyon:// deeplinks while keeping compatibility with legacy ella:// links.
  • Added halcyon_shortcut_route / halcyon_shortcut_action while keeping legacy ella_shortcut_route / ella_shortcut_action compatibility.
  • Added support for halcyon explicit Intent-style shortcut calls.
  • Updated remote repository links, README clone commands, Star History, visitor counter, and LX User-Agent branding to Halcyon.
  • Updated miuix from 0.9.1 to 0.9.2 and adapted related API changes.
  • Hardened settings backup and listening history export to reduce the chance of generating 0B JSON files.
  • Settings backup and listening history import/export tasks now use activity.lifecycleScope to avoid cancellation when the Compose scope is removed.

1.1.9

Choose a tag to compare

@Kifranei Kifranei released this 04 Jun 13:39
73bc728

中文

  • 新增桌面 Shortcut,默认提供音乐库、搜索、播放、随机全部四个入口。
  • 新增 ella://search URL Scheme,支持直接打开搜索页,并可携带搜索类型和关键词参数。
  • 歌单列表与歌单详情现已支持歌单封面显示,收藏歌单和五星歌单也可展示封面。
  • 歌单多选模式右上角新增“加入其他歌单”入口,可直接把所选歌曲追加到其他歌单或新建歌单。
  • 音乐库顶部标题布局已优化,避免因左右操作按钮过多而被截断成“音...”。
  • 修复专辑分类页进入专辑详情后返回会回到顶部的问题,现在会正确记住滚动位置。
  • 修复“文件夹层次结构”在非歌曲名称排序下进入文件夹时首屏位置异常的问题,不再停在列表中间或残留旧排序锚点。
  • 优化播放进度条交互,取消点击即跳转,改为拖动触发,降低误触概率。
  • 优化流畅歌词与逐字歌词表现,修复 V2 对唱行高亮与边界处理问题。
  • 默认禁用英文歌词长音发光效果,缓解英文逐字歌词场景下的重影问题。
  • 修复播放页更多菜单中部分入口失效与行为不一致的问题,并统一当前歌曲相关操作逻辑。
  • 继续完善播放页、歌单页、搜索页与设置页的细节交互和 MIUIX 风格一致性。

English

  • Added new launcher shortcuts with four default entries: Library, Search, Play, and Shuffle All.
  • Added the ella://search URL Scheme to open the search page directly with optional type and keyword parameters.
  • Playlist artwork is now shown in both playlist lists and playlist detail pages, including Favorites and the Five-Star playlist.
  • Added a new “Add to other playlist” action in playlist multi-select mode for quickly appending selected songs to another playlist or a newly created one.
  • Optimized the music library top bar layout to prevent the title from being truncated when too many side actions are visible.
  • Fixed the issue where the album category page lost its scroll position after entering and leaving an album detail page.
  • Fixed the folder hierarchy page opening at the wrong visible position when the sort mode was not Title, including stale anchor behavior from previous ordering.
  • Improved seek bar interaction by removing tap-to-seek and requiring drag-based seeking to reduce accidental jumps.
  • Improved smooth lyric and karaoke lyric rendering, including duet-line highlighting and boundary handling for V2 lines.
  • Disabled English sustained-note glow by default to reduce ghosting in word-by-word lyric scenes.
  • Fixed broken or inconsistent items in the player “more” menu and unified current-song action behavior.
  • Continued polishing player, playlist, search, and settings interactions for better consistency with the MIUIX-style UI.

1.1.8

Choose a tag to compare

@Kifranei Kifranei released this 03 Jun 12:57
00543c8

中文

  • 新增开屏海报、自定义全局壁纸和 Hi-Res 封面标识设置;图片选择使用持久 URI 授权,重启后仍可读取。
  • 非沉浸播放页现在会在 Hi-Res / MQ 音质歌曲封面右下角显示 Hi-Res 标识,支持自定义标识图片;默认标识尺寸和显示方式也已优化,避免蓝色默认封面底座露出。
  • 新增独立音乐库搜索页,支持歌曲、专辑、歌手、歌词、重复歌曲和全标签搜索;搜索历史支持保存、删除单条和清空。
  • 音乐库搜索现在支持标题、歌手、专辑、专辑艺人、年份、流派、作曲、作词、版权、注释、自定义标签、评分、文件名等字段。
  • 音乐库首页新增星级筛选,可按全部星级或 1~5 星精确筛选歌曲。
  • 歌词搜索结果会在歌曲项下方显示命中的歌词片段,并使用强调色突出关键词。
  • 播放页更多菜单新增“添加到歌单”;歌曲更多菜单新增“添加到播放队列”和“歌词打轴”入口。
  • 多选和单曲“添加到歌单”弹窗已统一,多个页面中的添加到歌单弹窗现在支持滚动。
  • 歌单详情支持长按拖拽自定义排序,并会持久化保存顺序。
  • 当前播放队列弹层新增小封面,并统一复用播放页队列菜单。
  • 队列重排改为一次性提交新顺序,保留当前歌曲、播放进度和播放状态,避免大队列逐个移动导致卡死。
  • 随机播放逻辑优化:进入随机前保存原播放顺序,退出随机后恢复原顺序;通知栏播放模式按钮同步应用内四态。
  • 修复从单曲循环切换到随机播放时可能卡顿或队列状态异常的问题。
  • 平板 / 横屏播放页补回收藏按钮。
  • 横屏歌词页右上角新增入口,可切换到横屏封面展示页。
  • 横屏封面页改为多封面层叠布局,中间显示当前歌曲封面,两侧显示队列前后歌曲封面,并支持左右滑动切歌。
  • 横屏方向锁定逻辑调整,歌词页和封面页切换时不再重复触发旋转。
  • 非沉浸播放页背景改为和沉浸式歌词页一致的渐变背景。
  • 新增“播放页按钮轮廓”开关,控制非沉浸播放页部分按钮的半透明圆形轮廓。
  • 播放按钮、播放模式按钮等图标样式调整,减少不协调的半透明背景。
  • 歌词页改为更接近桌面歌词风格的发光和逐字效果。
  • 英文等非 CJK 歌词逐词高亮不再逐字符点亮,CJK 歌词仍保留逐字效果。
  • 修复外部歌词文件读取问题,现在会搜索同名 .lrc.ttml.elrc 文件。
  • Lyricon / SuperLyric / 媒体通知歌词的“传递翻译 / 注音”合并为“副行传递内容”下拉项。
  • 迷你播放条副行支持“无 / 翻译 / 注音”。
  • 蓝牙车载歌词文案调整为“媒体通知歌词”,并同步中英文文案。
  • Flyme 状态栏歌词固定隐藏额外歌词通知;浮动通知歌词保留给非 Flyme 设备。
  • 设置中新增“迷你播放条右侧按钮”选项,可选择显示下一曲按钮或播放队列按钮。
  • 听歌日历新增日历热力图和时间线样式,并优化顶部布局、封面尺寸和歌手 / 专辑跳转。
  • 听歌统计页历史记录和排行条目新增小封面,底部垫高调整为 160dp。
  • 年份页封面卡片改小,降低首次进入时的卡顿。
  • 平板分类网格支持 5~8 列,手机仍保持 1~4 列。
  • 专辑详情页改为浅色信息头布局,支持完整日期显示、歌曲数、时长、年份统计和 DISC 分组。
  • 文件夹详情页现在先显示子文件夹,再显示当前层歌曲,并修复当前歌曲定位和右侧索引偏移问题。
  • 设置里的首页模块顺序改为长按拖拽排序,不再需要手动输入顺序数字。
  • 新增统一 Miuix 风格组件层,统一 BottomSheet、Dialog、TextField、搜索框、危险确认弹窗和输入型 Sheet 样式。
  • 关于页改为更接近 Miuix OS 3 demo 的样式,并优化暗色模式下的卡片、顶栏、标题和版本信息。
  • 歌曲信息弹窗条目支持长按复制。
  • 评分或元数据写入成功后会刷新标签缓存、内存音乐库和本地缓存,五星歌单和歌曲星级状态可即时更新。
  • 内置元数据写入会在需要时请求系统写权限。
  • Album 年份字段由整数改为字符串,支持显示完整日期;排序和年份分类继续通过兼容字段处理。
  • “我喜欢的音乐”更名为“我喜欢的歌曲”。
  • 移除 Jaudiotagger,不再作为标签读取主路径或 fallback 使用。
  • 移除旧 Kyant TagLib Android fallback,避免 APK 中重复携带额外 libtaglib.so
  • 本地音频标签读取统一保留 lyrico-audiotag 主路径;liblyrico_taglib.so 仍作为 lyrico-audiotag 的 native 标签读写能力保留。
  • 更新 FFmpeg 构建脚本,并新增预编译 FFmpeg 下载脚本,减少普通构建对本地 native 编译的依赖。
  • 本版本未包含 WebDAV 播放崩溃的完整修复,WebDAV 相关问题会在后续版本单独处理。

English

  • Added launch poster, global custom wallpaper, and Hi-Res cover badge settings. Selected images now use persistent URI permissions and remain available after restart.
  • Non-immersive player covers now show a Hi-Res badge for Hi-Res / MQ tracks. Custom badge images are supported, and the default badge display has been refined to avoid the blue placeholder background.
  • Added a dedicated library search page with support for songs, albums, artists, lyrics, duplicate songs, and full-tag search. Search history can be saved, removed individually, or cleared.
  • Library search now covers title, artist, album, album artist, year, genre, composer, lyricist, copyright, visible comments, custom tags, rating, file name, and more.
  • Added star-rating filters on the library page, supporting all ratings and exact 1–5 star filtering.
  • Lyric search matches now show a lyric snippet below the song item, with matched text highlighted using the accent color.
  • Added “Add to playlist” to the player menu, and added “Add to queue” and “Lyric timing” entries to song menus.
  • Unified single-song and multi-select “Add to playlist” sheets. Add-to-playlist sheets in multiple pages now support scrolling.
  • Playlist details now support long-press drag sorting, and custom order is persisted.
  • The current queue sheet now shows small covers and reuses the same queue menu as the full player.
  • Queue reordering now submits the new order in one batch while preserving the current song, playback position, and playback state, avoiding freezes caused by large queues.
  • Improved shuffle logic: the original queue order is saved before entering shuffle and restored when shuffle is disabled. Notification playback-mode buttons now sync with the app’s four playback states.
  • Fixed possible lag or queue-state issues when switching from repeat-one to shuffle.
  • Restored the favorite button on tablet / landscape player layouts.
  • Added a top-right entry in the landscape lyric page to switch to the landscape cover page.
  • The landscape cover page now uses a stacked multi-cover layout, with the current cover in the center and nearby queue covers on both sides. Swipe gestures can switch to previous / next tracks.
  • Adjusted landscape orientation locking so switching between lyric and cover pages no longer triggers repeated rotation.
  • The non-immersive player background now uses the same gradient background style as immersive lyrics.
  • Added a “Player button outline” setting to control translucent circular outlines for selected non-immersive player buttons.
  • Refined play and playback-mode button icons by removing unnecessary translucent backgrounds.
  • The lyric page now uses a desktop-lyric-like glow and word-highlight style.
  • Non-CJK lyrics such as English are no longer highlighted character by character, while CJK lyrics keep character-level highlighting.
  • Fixed external lyric file detection. Matching .lrc, .ttml, and .elrc files are now searched.
  • Merged Lyricon / SuperLyric / media notification lyric translation and phonetic toggles into a single “secondary line content” dropdown.
  • Mini player secondary lines now support none / translation / phonetic.
  • Renamed Bluetooth / car lyric wording to “media notification lyrics” and updated Chinese / English strings.
  • Flyme status-bar lyrics now always hide the extra lyric notification. Floating lyric notifications remain available for non-Flyme devices.
  • Added a “mini player right button” setting, allowing the right-side button to be either next track or queue.
  • Added a listening calendar with heatmap and timeline views, and improved the header layout, cover size, and artist / album navigation.
  • Listening statistics history and ranking items now show small covers, and bottom padding has been adjusted to 160dp.
  • Reduced cover size on the year page to improve first-entry performance.
  • Tablet category grids now support 5–8 columns, while phones remain at 1–4 columns.
  • Album details now use a light information header with full-date display, song count, duration, year stats, and DISC grouping.
  • Folder details now show subfolders before songs in the current folder, and current-song positioning plus side-index offsets have been fixed.
  • Home module ordering in settings now uses long-press drag sorting instead of manually entering order numbers.
  • Added a shared Miuix-style surface layer to unify BottomSheet, Dialog, TextField, search bar, danger confirmation dialog, and input sheet styling.
  • Redesigned the About page closer to the Miuix OS 3 demo style, with improved dark-mode cards, top bar behavior, title, and version display.
  • Song information dialog entries now support long-press copy.
  • After rating or metadata writes, tag cache, in-memory library data, and local cache are refreshed so five-star playlists and song rating states update immediately.
  • Built-in metadata writing now requests system write permission when required.
  • Album year changed from an integer to a string to support full-date display, while sorting and year categories remain compatible through a computed year field.
  • Renamed “My Favorite Music” to “My Favorite Songs”.
  • Removed Jaudiotagger. It is no longer used as either the primary metadata reader or a fallback.
  • Removed the old Kyant TagLib Android fallback to avoid shipping an extra duplicate libtaglib.so.
  • Local audio tag reading now keeps lyrico-audiotag as the primary path. liblyrico_taglib.so remains as the native tag read/write capability used by lyrico-audiotag.
  • Updated FFmpeg build scripts and added a prebuilt FFmpeg download script to reduce reliance on local native compilation during normal builds.
  • This release does not include a complete fix for WebDAV playback crashes. WebDAV issues will be handled separately in a future release.