simai_flutter 0.4.0
simai_flutter: ^0.4.0 copied to clipboard
A Flutter package for parsing, converting, and rendering simai format charts. Supports chart visualization with Flame engine and audio synchronization.
0.4.0 #
- 谱面游玩:Early Preview 阶段,可能存在诸多问题。
- 视频导出:Android/iOS 支持导出 720p 或 1080p、60fps 的竖版 MP4。
- 稳定性:优化视频编码兼容性、内存占用、磁盘检查和失败清理,避免导出失败破坏已有文件。
- 播放器集成:在设置抽屉中统一提供游玩与视频导出入口,并可自动创建游玩控制器。
- 问题修复:修复视频画面不更新、iOS 音频封装崩溃及退出全屏后未恢复竖屏的问题。
- 兼容性:最低支持 Flutter 3.38 和 Flame 1.37。
0.3.0 #
- 音频迁移:统一使用
flutter_soloud播放音乐与正解音;播放器音频参数由audioSource调整为audioAsset/audioFilePath,并支持 Android、iOS、Linux、macOS、Web 和 Windows。 - 播放同步:引入基于单调时钟的音频同步与平滑校正机制,改善变速播放、拖动定位和播放结束时的稳定性。
- 谱面信息:新增当前 BPM、拍号、小节进度、Combo 与 Break 计数展示,并可选择显示详细渲染性能指标。
- 播放控制:重构时间轴与小节导航,支持按原始 simai 语句定位谱面,并优化高低 BPM 段落的时间轴显示。
- 渲染性能:增加运行时索引、渐进式 Slide 预计算与可见区域裁剪,拆分各类音符的批量渲染逻辑,降低大型谱面的计算和绘制开销。
- 渲染修复:完善 Slide、Touch Hold、Approach 动画及音符资源缩放表现,并修复相邻音符和 Slide 语法解析的边界情况。
- 测试与示例:新增音频时钟、渲染性能及播放器交互测试,并补充性能测试谱面。
0.2.5 #
- 重构音符渲染管线,改为批量绘制与路径预计算,显著降低复杂谱面的渲染开销。
- 新增 Touch / Touch Hold 的 fireworks 样式序列化与渲染效果。
- 优化 Approach Arc 资源缓存与抗锯齿表现,并支持相对位置的完整环形提示线。
- 修复播放拖动后的音频同步抖动问题,并在播放结束时正确处理额外视觉尾效。
- 优化播放器控制栏与时间轴刷新逻辑,减少不必要重建。
0.2.4 #
- 修复了 Hold 渲染时为初始长度时角度没有对准目标的问题。
- 修复了切换显示模式为「区」的时候出现崩溃的问题。
- 优化了渲染性能。
0.2.3 #
- 添加了流速调节的功能。
- 修复了开启粉色星星时,Slide 路径也被绘制为粉色的问题。
- 修复了正解音无法正确播放的问题。
- 调整了 Approach Arc 的绘制。
0.2.2 #
- 修复了在 Android 平台上的崩溃问题。
- 完善了渲染机制以便绘制 Approach Arc。
0.2.1 #
- 修复了 Slide 星星在路径上移动时朝向错误的问题。
- 修复了进入全屏后无法正常退出的问题。
0.2.0 #
- 新功能: 增加「锁屏」功能,全屏模式下支持锁定 UI 以防止误触。
- UI 适配:
SimaiPlayerPage现在全面支持SafeArea安全区域适配,包括横屏刘海屏及底部导航栏。 - 生命周期管理: 为
SimaiPlayerController和SimaiPlayerPage添加了完善的dispose资源销毁逻辑。 - 交互改进: 将正解音开关移至设置抽屉并默认关闭,简化了主控制条的视觉显示。
- 稳定性: 修复了页面销毁时计时器未正确清理的潜在内存泄漏问题。
0.1.0 #
- Initial release of
simai_flutter. - Support for parsing simai chart strings and
.txtfiles. - Built-in Flame-based chart renderer.
- Precise audio synchronization with
audioplayers. - Basic UI components for chart preview and control.