在浏览器中渲染“现代”Winamp 皮肤/乔丹·埃尔德雷奇

主要观点:几年前作者通过逆向工程 Maki 字节码并在 JavaScript 中实现解释器,使高度交互的“现代”Winamp 皮肤能在浏览器中渲染,还创建了WebampWinamp Skin Museum。Winamp 5 的新皮肤引擎由 XML 和 Maki 组成,能创建动态 UI,但实现现代皮肤在浏览器中运行面临诸多挑战,如理解字节码、构建解释器、处理标准库与 DOM 的等效等,作者虽取得一定进展但因项目规模大及缺乏满意的连接方式而停滞,后来 x2nie 推动项目前进但仍存在问题,目前作者仍希望未来能重新投入该项目。
关键信息

  • 2024 年 11 月 20 日讨论在Hacker News
  • 逆向工程 Maki 时借助 Ralf Engels 的 Perl 脚本构建 JavaScript 解析器。
  • 编写解释器过程中遇到诸多难题,如返回指针、神秘字节码等。
  • 实现标准库与 DOM 等效需为每个类定义映射和绑定。
  • x2nie 推动项目但风格与作者不同,作者最终选择让其继续。
  • 发布的 Winamp 代码许可证不允许构建衍生作品。
    重要细节
  • 现代皮肤以.zip文件形式分发,包含.xml.maki文件及图像。
  • 作者记录研究成果的文件为maki-bytecode.md
  • 解释器代码在GitHub
  • 展示了多个可在Webamp中渲染的有趣皮肤的截图及链接。
阅读 8
0 条评论