Winamp legacy player source code
(github.com/WinampDesktop)Winamp
परिचय
- Winamp 1997 में जारी किया गया एक multimedia player है, जो विभिन्न audio formats के साथ compatibility और flexibility के लिए प्रसिद्ध है
- इसे Nullsoft ने विकसित किया था, और यह लाखों users के बीच बेहद लोकप्रिय हुआ
- कुछ समय तक development रुका रहा, लेकिन अब source code सार्वजनिक कर दिया गया है ताकि community player को बेहतर और modernize कर सके
उपयोग
- Winamp desktop client build फिलहाल Visual Studio 2019 (VS2019) और Intel IPP libraries पर आधारित है
- Winamp को build करने के कई तरीके हैं
build_winampAll_2019.cmdscript file का उपयोग करके x86/x64 (debug और release) के 4 versions build करें। इस स्थिति में Visual Studio IDE नहीं चलताwinampAll_2019.slnfile का उपयोग करके Visual Studio IDE में build और debug करें
dependencies
build_winampAll_2019.cmdscript file का उपयोग करके x86/x64 (debug और release) के 4 versions build करें। इस स्थिति में Visual Studio IDE नहीं चलताwinampAll_2019.slnfile का उपयोग करके Visual Studio IDE में build और debug करें
libvpx
libvpxको https://github.com/ShiftMediaProject/libvpx से लाकर संशोधित किया गया और archive के रूप में पैक किया गयाunpack_libvpx_v1.8.2_msvc16.cmdचलाकर इसे extract करें
libmpg123
libmpg123को https://www.mpg123.de/download.shtml से लाकर संशोधित किया गया और archive के रूप में पैक किया गयाunpack_libmpg123.cmdचलाकर dll files को process करें
OpenSSL
openssl-1.0.1uका उपयोग करना होगा- library के static version को build करने के लिए
build_vs_2019_openssl_x86.cmdऔरbuild_vs_2019_openssl_64.cmdचलाएँ - OpenSSL को build करने के लिए 7-Zip, NASM और Perl install होना चाहिए
DirectX 9 SDK
- DirectX 9 SDK (June 2010) को Microsoft से लाकर संशोधित किया गया और archive के रूप में पैक किया गया
unpack_microsoft_directx_sdk_2010.cmdचलाकर इसे extract करें
Microsoft ATLMFC lib modification
C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Tools\MSVC\14.24.28314\atlmfc\include\atltransactionmanager.hfile की line 427 कोreturn ::DeleteFile((LPTSTR)lpFileName);से बदलकरreturn DeleteFile((LPTSTR)lpFileName);करें
Intel IPP 6.1.1.035
- Intel IPP 6.1.1.035 को लाकर संशोधित किया गया और archive के रूप में पैक किया गया
unpack_intel_ipp_6.1.1.035.cmdचलाकर इसे extract करें
GN⁺ का सार
- Winamp अब भी विभिन्न audio formats के साथ compatibility की वजह से कई users के बीच लोकप्रिय है
- source code सार्वजनिक होने से community को player को बेहतर बनाने और modernize करने का अवसर मिलता है
- इसे Visual Studio 2019 और कई libraries के साथ build किया जा सकता है, और कई dependencies को संभालना पड़ता है
- Winamp जैसी सुविधाएँ देने वाले अन्य multimedia players में VLC Media Player और foobar2000 शामिल हैं
2 टिप्पणियां
मुद्दा देखने पर लगता है कि लाइसेंस को लेकर काफी विवाद है।
Hacker News की राय
जिज्ञासा है कि प्रोजेक्ट लोगों से योगदान की उम्मीद कैसे करता है। लाइसेंस की धारा 4 कहती है कि सुधार, फीचर जोड़ना और bug fix आधिकारिक repository में submit करें, लेकिन धारा 5 की पाबंदियां code fork या modified version distribute करने से रोकती हैं
तो GitHub का standard flow — “repository को fork करना, branch में बदलाव करना, और pull request भेजना” — अपने-आप में लाइसेंस उल्लंघन बन जाता है
हालांकि patch को test या debug नहीं कर सकते। क्योंकि वह codebase का modified version बनाना होगा, जो प्रतिबंधित है। बस बुखार-सी कल्पना में जो निकला, उसे बिना practice की मदद के सीधे लिख दें। अगर license के लिए काफी है, तो code के लिए भी काफी होगा
दूसरा “project को fork करना” है, यानी अलग नाम से एक alternative lineage को सक्रिय रूप से develop और distribute करना। मेरे हिसाब से GitHub वाला pull request flow इस्तेमाल करना ठीक होना चाहिए। यहां अफसोस है कि GitHub ने पहले से established “fork” meaning से टकराता हुआ नाम लगा दिया। असल में इसे “clone” होना चाहिए था
GitHub तो contribution के लिए repository की copy बनाने पर भी बस “fork” शब्द इस्तेमाल करता है
ज्यादातर लोग ऐसा ही करेंगे, contributors पर lawyer नहीं छोड़ेंगे, और दुनिया चलती रहेगी
इस project के भविष्य के लिए अभी सबसे अच्छा काम है इसमें शामिल न होना। review करने या compile करने के लिए इसे अपने personal workspace में clone करना भी मौजूदा license attitude के हिसाब से जरूरत से ज्यादा participation है
अगर HN पर कोई post आए कि उन्होंने license stance बदल दिया है, तो फिर देखूंगा, लेकिन तब तक इस tab को बंद करके भूल जाना बेहतर है
सवाल: WinAMP source official तौर पर release हो गया है; क्या आपका मन इसमें नए और cool features hack करके डालने का है?
जवाब: अगर ऐसा मन था भी तो license terms की वजह से खत्म हो गया होगा, lol. terms जिस तरह लिखे गए हैं, वह पूरी तरह absurd है। मसलन लिखा है “आप software के forked versions बना, maintain या distribute नहीं कर सकते।” तो किसी भी change को “forked version बनाना” माना जा सकता है। अगर intention के हिसाब से थोड़ा ज्यादा liberal interpretation करें तब भी terms बहुत खराब हैं। मैं नहीं करूंगा
बहुत पहले EFNet के #mpeg3 में लोगों के साथ घूमते हुए, मुझे याद है कि Justin Frankel जब इस पर काम कर रहे थे तब उनसे पहचान हुई थी
मैंने app के लिए कुछ skins और tray icons बनाए थे, जिनमें से कुछ यहां शामिल हैं। 100% याद नहीं कि कौन-कौन से पूरी तरह मेरे हैं, लेकिन punchlabel पक्का मेरा है। credits में भी मेरा नाम है: https://github.com/WinampDesktop/winamp/blob/0695744fd658c42...
लगता है ये लोग GitHub को बहुत सारे DMCA requests भेजते-भेजते अपना ही repository GitHub से उतरवा देंगे, या फिर copyright खोने का risk लेकर खुद ही GitHub से हटा देंगे
fork GitHub की core feature है। fork policy सिर्फ private repositories पर set की जा सकती है, और यह public repository है। license fork की अनुमति नहीं देता, और पहले से 6 forks मौजूद हैं। आमतौर पर copyright, trademark की तरह selective enforcement से नहीं खोता, लेकिन इस case में rights holder ने license violation को बेहद आसान बना दिया है और violators की list भी पूरी तरह accessible है। अगर वे अपने rights को actively defend नहीं करते, तो court में मजाक बन सकते हैं। GitHub के लिए भी यह ऐसा situation है जिसे वह handle नहीं करना चाहेगा। platform के सबसे ज्यादा दबाए जाने वाले buttons में से एक पर click किया और अचानक legal issue बन गया—बहुत खराब user experience
Winamp से मेरा थोड़ा connection है। पहले मैंने एक काफी popular plugin बनाया था
यह Winamp 3 का source code है, जो Winamp 2 को C++ में पूरी तरह rewrite किया गया version था। मेरी राय में यह जरूरत से ज्यादा complex और over-engineered था। Justin Frankel का original source code C में था
इसलिए यह 1.x → 2.x → 5.x development के कई सालों और उस दौरान कई लोगों के changes का मिला-जुला, कहें तो mess है। Winamp3 के बड़े हिस्से भी इसमें हैं, जो AOL era में पहले ही ठीक से open source के रूप में release किए गए थे। इस बार के बेहद restricted license जैसा नहीं। हालांकि code deliverable बनाते समय dedicated Winamp3 repository कभी दी गई थी, ऐसा मुझे याद नहीं। अगर 11 साल पुरानी मेरी याद सही है तो यही बात है
-dro
1999 की गर्मियों में college के दौरान, हमारा घर parties में MP3 इस्तेमाल करने वाला पहला घर था। ज्यादातर लोग CD changer इस्तेमाल करते थे, और बहुत सी discs scratched और smudged होती थीं, इसलिए music लगातार skip करता था
हम पूरी तरह digital हो गए थे और अपने समय से आगे थे। party basement में होती थी, computer को एक spare bedroom में lock करके रखते थे और wires और speakers basement के main area तक निकालते थे। Winamp को shuffle पर चलाते थे, कई घंटों तक एक बार भी skip नहीं हुआ और किसी को music संभालने की जरूरत नहीं पड़ी। अच्छी यादें देने के लिए Winamp का शुक्रिया
“open” शब्द को तोड़-मरोड़ कर इस्तेमाल किया गया है। लाइसेंस की शर्तें redistribution या resale की अनुमति नहीं देतीं, जबकि ये आम तौर पर स्वीकार की जाने वाली open source की शर्तें हैं
ध्यान देने वाली बात है कि title या repository में कहीं भी “open source” नहीं लिखा है। इसे “source अब open हो गया” नहीं, बल्कि source available कहना चाहिए था
या तो “copyleft license” वाला दावा हटाया जाए, या distribution restrictions को इतना नरम किया जाए कि “अगर आप इस program के modified version को distribute करते हैं, तो modified version को Winamp नहीं कह सकते”
यह इकलौता music player था जो परेशान नहीं करता था। जिन फालतू चीज़ों और भद्दे graphics को competitor products सही मानते थे, उनके बिना, सरल interface के साथ बस अपना काम करता था
अगर मैं hiring कर रहा होता, तो Tidal से आए लोगों को मौका नहीं मिलता
इस beast से मिलने के बाद मैं कभी किसी और पर वापस नहीं गया
मज़ेदार बात यह है कि latest commit “Removing code which is not open”[0] है, जिसका मतलब है कि उस code को Git history में छोड़कर वे किसी और की license terms का उल्लंघन कर रहे हैं
[0] https://github.com/WinampDesktop/winamp/commit/0a4b7d32d0906...
Copyright 2000-2002 Dolby Laboratories, Inc. All Rights
Reserved. Do not copy. Do not distribute.
Confidential information.
(C) copyright Fraunhofer - IIS (1998)
All Rights Reserved
अगर आपको SHOUTcast server software की free copy चाहिए, तो इस repository में वह code illegal तरीके से share किया जा रहा है
https://github.com/WinampDesktop/winamp/tree/3ab19235a69d96b...
स्रोत: https://en.wikipedia.org/wiki/Radionomy#List_of_properties_f...