Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 15:51
· 14 commits to main since this release

v0.2.0 更新

新增 (Added)

  • VCD 2.0 PBC (Playback Control) 状态机:
    • 解析 VCD/LOT.VCD(位置查找表)与 VCD/PSD.VCD(播放序列描述表),支持白皮书规范中的 PlayListSelectionListEndList 结构。
    • 支持多级选单、曲目链表播放、延时等待与超时自动跳转。
    • 支持静态高分辨率菜单帧解码与渲染(/SEGMENT/ITEMxxxx.DAT)。
    • 支持 MPEG-1 动态交互式视频菜单回放。
    • 底部控制栏新增 PBC 按钮,可返回主选单。
  • 播放模式识别与切换:
    • 自动识别并切换 VCD 3.0 交互模式、VCD 2.0 PBC 模式与 VCD 1.0 线性视频模式。
    • 切换模式时清理并重建对应状态。
  • 多位数字按键输入缓冲:
    • 数字键输入缓冲(曲目数大于 9 时暂存,等待 Enter、第二位数字或 2.0 秒超时自动确认)。
    • 状态栏实时反馈输入状态(如 输入曲目: 1 (按 Enter 确认或等待))。
    • 支持 VCD 1.0 模式下的数字键切歌。

修复 (Fixed)

  • 曲目播放期间数字键误跳片头视频:
    • 修复 VCD 2.0 模式播放曲目时按数字键误跳转至开场片头(LID 1)的问题;改为检索对应 PSD 描述符定位物理音轨,保留 PBC 返回逻辑。
  • 曲目列表时间码格式:
    • 曲目列表时间码分隔符由冒号 : 改为小数点 .(如 [05:02.70]),避免与时分秒格式混淆。
  • PBC 菜单状态残留:
    • 进入曲目播放时清除标题栏与状态栏残留的 PBC 菜单名称。
  • 主页按钮状态约束:
    • 非 VCD 3.0 模式下禁用主页按钮。
  • 侧面板关闭按钮字符渲染:
    • 替换侧面板关闭按钮的字符,解决部分系统上渲染为方块的问题。

变更 (Changed)

  • 侧面板展开窗口尺寸自适应:
    • 展开侧栏时自动扩展窗口宽度,折叠时还原,保持画面比例。
  • 底部控制栏布局调整:
    • 将播放模式切换控件移至声道切换控件之后。
    • 将声道、播放顺序、关于等按钮精简为图标样式。
    • 重置按钮改为从头重新加载当前播放模式。
  • 文档更新:
    • 精简中英文 README 与 CHANGELOG,去除重复的功能列表与宣传性表述。

v0.2.0 Update

Added

  • VCD 2.0 Classic PBC (Playback Control) State Machine:
    • Full binary parser for VCD/LOT.VCD (Location Table) and VCD/PSD.VCD (Play Sequence Descriptor), supporting PlayList, SelectionList, and EndList structures according to the White Book standard.
    • Event-driven PBC state machine supporting multi-level menus, track chains, wait delays, and automatic timeout transitions.
    • High-resolution still picture menu support (/SEGMENT/ITEMxxxx.DAT demuxing, decoding, and canvas rendering).
    • MPEG-1 motion video menu playback.
    • Dedicated "PBC" root menu button in the bottom control bar to return to selection menus.
  • Multi-Mode Adaptive Disc Architecture:
    • Automatic detection and switching between VCD 3.0 Interactive mode, VCD 2.0 Classic PBC mode, and VCD 1.0 Linear video playback.
    • Independent lifecycle management when switching modes.
  • Multi-Digit Numeric Keypad Buffering:
    • Numeric key buffering for remote control and keyboard navigation (buffers single digits if track count exceeds 9, waiting for Enter, a second digit, or a 2.0-second auto-confirm timeout).
    • Real-time status bar feedback during digit entry (e.g. 输入曲目: 1 (按 Enter 确认或等待)).
    • Direct numeric track selection in VCD 1.0 Linear mode.

Fixed

  • Track Playback Numeric Keypad Intro Video Jump:
    • Resolved an issue in VCD 2.0 mode where entering a track number (such as 1) during playback incorrectly jumped to the opening intro video (LID 1) via LOT lookup instead of the physical track. Now resolves matching PSD descriptors and preserves PBC return semantics.
  • Track List Timecode Separator:
    • Formatted track list timecode separator between seconds and frames/milliseconds as a dot . instead of a colon : (e.g. [05:02.70]), avoiding confusion with HH:MM:SS format.
  • PBC Menu State Lingering:
    • Cleared lingering PBC menu titles from the window title bar and status bar upon navigating into track video playback.
  • Home Button Activation Guard:
    • Disabled home button click activation when running outside of VCD 3.0 Interactive mode.
  • Drawer Close Button Glyph:
    • Replaced drawer close glyph with high-compatibility symbols to prevent missing glyph rendering on non-standard font systems.

Changed

  • Side Panel Expansion Window Sizing:
    • Automatically expands window width when opening the side panel drawer and restores width when closing, preventing canvas aspect ratio compression.
  • Bottom Control Bar Layout:
    • Moved playback mode switcher after the audio channel selector.
    • Compacted audio channel, playback order, and about buttons into icon controls.
    • Reset button now restarts the current active mode from the beginning.
  • Documentation:
    • Streamlined Chinese and English README documentation, removing duplicate feature listings and promotional phrasing.