このプロジェクトについて

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フロントエンド、PipeWire、PulseAudio、JACKバックエンドを備えたLinux向けQtベースのデスクトップアプリ、GStreamerプラグイン、Apple Musicプラグイン、Steam/Windows Storeリリースが含まれます。READMEには、これらのフロントエンドの多くは開発プレビューであり、機能が完全でない可能性やバグが含まれる可能性があること、AndroidアプリはprojectM開発者によって作成またはサポートされていないことが記載されています。 ライブラリ自体はプリセットなしで提供されます。プリセットパックは別のリポジトリで管理されており、ベースのMilkdropテクスチャパック、Cream of the Cropパック(約1万プリセット、現在のデフォルト)、クラシックprojectMプリセット(4千以上)、オリジナルMilkdrop 2プリセット、En Dプリセットが含まれます。13万以上のプリセットを含むMegaPackも参照されています。projectMは、Kodi、Helix、Silverjuke、VLC Media Playerなどのサードパーティアプリケーションに統合されていますが、これらの統合はprojectMチームによって開発またはサポートされていません。 ビルド手順は、CMake、Emscripten/WebAssemblyビルド、およびwikiの開発者向けドキュメントをカバーしています。コアライブラリはGNU Lesser General Public License 2.1の下でリリースされており、ライセンス条件の下で共有ライブラリとしてクローズドソースアプリケーションでの使用が許可されています。上流および下流のプロジェクトは異なるライセンスを使用する場合があります。コミュニティサポートはDiscordで利用可能で、貢献はプルリクエストとIssueを通じて受け付けられています。