这个项目能做什么
projectM是Geiss经典Winamp Milkdrop可视化器的开源重新实现,打包为现代、跨平台的可重用库。其目的是读取音频输入,通过FFT检测节奏并分析PCM数据,应用Milkdrop风格的方程和参数,并通过OpenGL渲染生成的视觉效果。预设由像素着色器和Milkdrop风格方程定义,该项目与大量用户贡献的Milkdrop预设兼容。
本仓库仅包含libprojectM,即用于应用程序开发的共享/静态库。前端、插件和其他工具位于单独的仓库中。此处的发布是开发库和头文件的源代码和二进制发布,而非最终用户下载。
该库可以渲染到专用的OpenGL上下文或纹理。它解析预设,通过节拍检测和FFT分析音频PCM数据,将预设应用于音频特征数据,并渲染输出。核心库主要依赖OpenGL。
最终用户前端适用于Windows、macOS、Linux、Android和Xbox/Windows Phone,包括独立的SDL应用(projectMSDL)、Rust SDL前端、基于Qt的Linux桌面应用(支持PipeWire、PulseAudio和JACK后端)、GStreamer插件、Apple Music插件以及Steam/Windows Store版本。README指出,其中许多前端是开发预览版,可能功能不完整且包含错误,Android应用并非由projectM开发者创建或支持。
该库本身不附带预设。预设包维护在单独的仓库中,包括基础Milkdrop纹理包、Cream of the Crop包(约10K预设,当前默认)、经典projectM预设(超过4K)、原始Milkdrop 2预设和En D预设。还引用了包含130K+预设的MegaPack。projectM已集成到第三方应用中,如Kodi、Helix、Silverjuke和VLC Media Player,但这些集成并非由projectM团队开发或支持。
构建说明涵盖CMake、Emscripten/WebAssembly构建以及wiki中的开发者文档。核心库根据GNU Lesser General Public License 2.1发布,允许在许可条款下作为共享库用于闭源应用。上游和下游项目可能使用不同的许可证。社区支持可通过Discord获得,贡献通过拉取请求和问题接受。
评论
0 评分人数达到10人后显示
登录后参与讨论。