主要观点:几年前作者通过逆向工程 Maki 字节码并在 JavaScript 中实现解释器,使高度交互的“现代”Winamp 皮肤能在浏览器中渲染,还创建了Webamp和Winamp 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中渲染的有趣皮肤的截图及链接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。