इस प्रोजेक्ट के बारे में

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 टेक्सचर पैक, क्रीम ऑफ़ द क्रॉप पैक (लगभग 10K प्रीसेट, वर्तमान डिफ़ॉल्ट), क्लासिक projectM प्रीसेट (4K से अधिक), मूल Milkdrop 2 प्रीसेट, और En D प्रीसेट शामिल हैं। 130k+ प्रीसेट का MegaPack भी संदर्भित है। projectM को Kodi, Helix, Silverjuke और VLC Media Player जैसे तृतीय-पक्ष एप्लिकेशन में एकीकृत किया गया है, हालांकि ये एकीकरण projectM टीम द्वारा विकसित या समर्थित नहीं हैं। बिल्ड निर्देश CMake, Emscripten/WebAssembly बिल्ड, और विकी में डेवलपर दस्तावेज़ीकरण को कवर करते हैं। कोर लाइब्रेरी GNU Lesser General Public License 2.1 के तहत जारी की गई है, जो लाइसेंस शर्तों के तहत साझा लाइब्रेरी के रूप में बंद-स्रोत एप्लिकेशन में उपयोग की अनुमति देती है। ऊपर और नीचे की परियोजनाएं अलग-अलग लाइसेंस का उपयोग कर सकती हैं। Discord के माध्यम से सामुदायिक सहायता उपलब्ध है, और पुल अनुरोधों और मुद्दों के माध्यम से योगदान स्वीकार किए जाते हैं।