Kiadták a Winamp forráskódját

Címkék

Májusban megígérték, hogy szeptember 24-én kiadják a Winamp forráskódját. A forráskód elérhető a GitHub-on. Licence "Winamp Collaborative License (WCL) Version 1.0.1".

Hozzászólások

Szerkesztve: 2024. 09. 26., cs – 08:54

A licence sérti a GitHub felhasználási feltételeit. A licencben deklaráltan tiltják a forkolást, miközben a GitHub felhasználási feltételeiben benne van, hogy publikus tárolót lehet forkolni.

https://github.com/WinampDesktop/winamp/issues/6

 

A tároló tartalmazott proprietery kódot is (a Shoutcast szerver kódját), ezt a fejlesztő azzal akarta megoldani, hogy egy commitban törölte a kódot. De ez nem megoldás, a historyban továbbra is ott van.

A mai időkben már bármi lehetséges a retrodivat szárnyain. Pár éve egész nagy siker lett a Mega Drive Mini. Az ember elvárna legalább egy fpga megoldást egy ilyen fizikai terméknél. De nem! ARM lapka + Linux + emuláció.
Jeri Ellsworth C64 Direct-to-TV-je ASIC-et használt ahogy kell. 
De ez így szerintem retróban is igénytelen. Ezzel az erőben egy régi Mega Drive házba, vagy egy 3D nyomtatottba is bele lehet tenni egy RPi3-mat valamelyik retroGamer disztróval oszt tsókolom! :-D Sőt úgy még Nintendo módba is átkapcsolható, amit a Mega Drive sohasem tudott. 

Szóval simán el tudom képzelni, hogy lenne kereslet a jó retró WinAmp-ra linuxon is. Illetve pluginekkel ellátva a ma divatos streaming music szolgáltatásokhoz, már amelyikhez lehet. Értelme nincs sok, de hát antik és baró! :-) 

“Az ellenség keze betette a lábát”

Az szerintem sem rossz lejátszó. Lényegében foobar2000-klón. Ami miatt sok ember nem szereti, hogy spártai a felülete, és nem annyira skinezhető, mint a Winamp volt. Nekem a skinezhetőség nem fontos személy szerint, csak valami normálisan lejátssza az audiófájlokat, meg kezelje normálisan a lejátszási listákat, címkéket. Ha ezen túl tud albumborítót, az már kánaán, de nem létszükséglet. Amit külön szeretek a deadbeef/foobar2k típusú lejátszókban, hogy be lehet hozzájuk állítani minden formátumnál konvertálási profilokat, amik külső, CLI encoder-eket meghívnak, meg a tageket is nagyon jól kezelik.

Egyébként tökéletes zenelátszó alkalmazás nincs, mindegyiknek van valami hiányossága. A Clementine, Strawberry bloat, a konvertálási profiljai elég buták, a Rythmbox fapados, keveset tud. Elég sok lejátszóval baj, hogy a .cue fájlokat nem kezelik. A cmus-nak a gyorsbillentyűi elég szarok, az mpd+ncmpcpp-nek a konfigolása túl nehézkes. Az AIMP, Winamp, foobar2000 Windows only, az iTunes Apple érdekeltség.

The world runs on Excel spreadsheets. (Dylan Beattie)

Igen, megy a kabaré. Nem csak hogy a github feltételeit sérti, de önmagának is ellentmond a licenc, meg közzétettek olyan kódot, ahogy írod is, amihez nem volt licencük. Az issue-k szét vannak trollkodva. Részletek, nem neked, de annak, aki még nem látta.

The world runs on Excel spreadsheets. (Dylan Beattie)

Wow! Fordul Linuxra? Lehet portolni? Az eredeti skinnel?

A Winamp hangminősége (mint minden más lejátszóé) a kimeneti pluginok, és a hangkártya függvénye, tehát ha nálad szarul szól, akkor érdemes lenne rendberakni a cájgot!. :)

"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Biztosan. Ha működött volna bármely lejátszónál, akkor mos talán nem foobar2000-et használnék. Az elmúlt közek két évtizedben ilyent nem találtam, pedig számtalanszor végigpróbáltam mindent. Volt valami kezdemény a vlc-ben, de licencelés miatt kivették.

Nem csak a kernel mixer (lásd alant), hanem a hipiszupi SB Extigy is belül mindent újramintavételez. Mert csak.

Van egy kis program (mos éppen nem találtam meg) amely minden hangeszköz képességeit lekérdezi. (sample rate, bitszám, csatornaszám) Ha azt képes a lejátszó direktben megszólítani, akkor lesz korrekt a hang.

Valahol? Mi van előrébb és mi van hátrébb, ahol még nem hanglejátszás, vagy már nagyon is az? Direktben, exkluzív mód, kernel mixert megkerülve: ez mind ugyanaz 3 féle módon megfogalmazva. (Ráadásul a kernel mixer némi késleltetésen túl nem ad hozzá és nem vesz el semmit, bitre pontosan ugyanazt kapod.) 

A kernel mixer az az entitás, amikor érkezik 3 különböző sample rate, mégis megszólal mindegyik egyszerre a hangszórón. Vagyis a sample rate és az amplitúdó is módosulhat de nincs ráhatásod. A késleltetés nem sokat számít, ha csak a zenét hallgatod. Az alap sample rate XP-ig 44,1kHz felette 48kHz - hátha mást szeretnél lejátszani.

Ennyi :D Kicsit benéztem a dolgot, mert lejátszásnál tényleg lehet difi, amire "ugrottam" az egy másik háború (melyik daw, milyen hangkártyával). Ismerem apri_esp által linkelt írást, valóban mérhető, ezt kár is lenne tagadni. Továbbra is fenntartom viszont, hogy kicsit túl van ez lihegve, az audio lánc más bizonyos elemei sokkal nagyobb hatást gyakorolnak a végeredményre. Nagyon kíváncsi lennék egy vaktesztre azonos akusztikai térben azonos eszközökkel egy wasapi vs. asio lejátszásra. Nem csinálunk egyet? 

Valószínűleg nem sok különbség lenne. Ha a lejátszó által átadott adat megegyezik - és az összes többi elem is - akkor egyeznie kell.

Csak ahhoz szoktam ragaszkodni, hogy a hangeszklözre a saját ASIO driveren keresztül kerüljön az anyag, mert azt a gyártó garantálja. Eddig bejött. És nem a low latency miatt használom.

Most teszteltem, hogy a hangkimenet 96k-ra lockolva, miközben egy 44,1k-s és egy 48k-s forrást játszok le. A foobar2000 a windowsos (Win 10) hangkimenetre állítva+firefox&yt. Szóval bármit le lehet játszani, ha hagyod. :-D Ennek az eredménye pedig akármi is lehet, de a kedvenc tesz zenémen hallatszik a torzítás

A teszt pedig a Uriah Heep: July morning (1971), amit érdekes módon magnón és hanglemezen sikerült jó minőségben rögzíteni, de mp3 vagy gyenge src esetén annál a részletnél, ahol megszólal a szintetizátor+orgona+Leslie annyira kásás lesz, hogy csak a vak nem hallja. :-D

Attól függ, mikori a cpu. Pl. a skype már 15 éve sem működött mmx nélküli cpu-n.

Viszont a minőségromlás gyakran jól hallható. A foobar2000-hez van két src (secret rabbit code) implementáció. Amit az oroszok csináltak sokkal jobban szól. ;) Az src legprecízebb módjánál elényésző a hiba, de a hallásnak van olyan tulajdonsága, ami nem számszerűsíthető. (hifibuzi mód on)

Látom, van legalább 5 féle, amelyek az  upsamplingtól a rántottasütésig mindent is tudnak. :-D Kezdek irigykedni!

Sajnos a foobar2000 ASIO plugin ennél sokkal szegényesebb, de mégis azt használom vagy 15 éve. Bár még nem hallottam róla. :-D

Description

Provides ASIO output support. This component is meant for systems where ASIO is the only available output method. It is highly recommended to use the default output modes instead of ASIO. Contrary to popular "audiophile" claims, there are NO benefits from using ASIO as far as music playback quality is concerned, while bugs in ASIO drivers may severely degrade the performance

No, ez itt a fenyegetés. A következő módon alkalmazkodtam (még XP-n): M-Audio ASIO és WDM driver felrak, Windows Audio Service leállítva, ezért a windows egy bitnyi hangot sem tud lejátszani, de különben is minden kodek kiirtva. Ebben az esetben pontosan tudjuk merre (nem) megy a hang. ;)

És jött a fejlődés! Sajnos az M-Audio Firewire Audiophile nem rendelkezik Win 10 driverrel, ezért némi trükkel a 64 bites Win 7 ASIO és WDM drivert raktam fel. A Windows a WDM részt képtelen helyesen kezelni, de sebaj, mert úgy sem használom. A foobar2000 -> ASIO továbbra is kifogástalanul működik.

 

Fordul a rákot, tele van Windows-specifikus szutyokkal pl. DirectX.

Ez az egész felesleges is, Linuxra mindig is volt klónja, XMMS, Audacious, QMMP, stb.. Épp úgy lehet őket skinezni ugyanazokkal a Winamp skinekkel, meg vannak hozzájuk pluginek is, akinek ez a retrós életérzés kell, az megkapja egy független kódbázistól.

Ennek ellenére valóban retró érdekkesség lenne, ha az eredeti kódot normálisan OSS-á teszik, de hát ez van. Ahogy a fentebbi linkelt videón mutattam, ezek csak pár rakás szerencsétlenség, akik rátették a kezüket a Winamp kódjára, nem az eredeti fejlesztők. Próbálnak vele kódbeli hozzájárulást szerezni ingyért, ennyi a történet. Eszük ágában nincs ténylegesen is OSS-á tenni.

The world runs on Excel spreadsheets. (Dylan Beattie)

XMMS tudta használni a WinAmp skinjeit. Így sosem hiányzott igazán Linuxon a WinAmp.

Én általában az mplayer továbbfejlesztésével, az mpv-vel hallgatom az audiófájlokat, stream-eket. Egyszerűen mert ebben nyitja meg őket a fájlkezelőm. Zenelejátszót nagyon ritkán veszek elő, az cmus, ha egész albumokat, diszkográfiákat hallgatok, egyébként csak 1-2 kósza fájlt játszok le, ahhoz bőven elég az mpv.

The world runs on Excel spreadsheets. (Dylan Beattie)

Ez az eredeti v5.666 (legutolsó ismert  hivatalos kiadás) vagy valami újabb / másabb?

Ma már elég kevesen hallgatnak zenét számítógépről.

Én szerettem a winampot, de amit most raktam fel, az mindig kifagy.

hup.hu##article[data-comment-user-id="16401"]

hup.hu##article[data-comment-user-id="4199"]

Én pl csak azon hallgatok. Bár mobilon is fenn van a foobar2000. Linuxon Mplayer.

---------------------------
Winamp Installer
---------------------------
Winamp 5.90 will not run until you install the required Microsoft VS2019 runtime from:
https://aka.ms/vs/16/release/vc_redist.x86.exe
Download now?

Ez meg gáz.

Én boomer létemre már évek óta csak spotify-on hallgatok zenét. Ki hallgat még ilyen offline mp3 gyűjteményeket?

Én. Mert miért kéne online hallgatni azt, ami 10-20-30 éve változatlan?

Meg így az a folder megy azzal a számokkal amit én akarok.

A spotifyt próbáltam anno, egyáltalán nem győzött meg a premium se. Rádiónak jó, hogy valami szóljon, tök mindegy mi, de tematikus hallgatásra irdatlan szar volt, két opció létezett: hogy az a 5-10 számot ajánlotta fel mindig, amit megkerestem párszor és meghallgattam, ha meg csak úgy elkezdtem hallgatni valamit, akkor elment tök más irányba. A youtube 100x jobb volt.

A youtube-bal viszont az a baj, hogy az utóbbi időben különbséget teszt az eszközök között. Tök mást ajánl a tévén, a telefonon meg a számítógépen, mintha 3 különböző profillal lennék belépve. Amit egy részről értek, más részről meg ha a kocsiba telefonról is azt a zenét akarom hallgatni, amit amúgy nap közben szoktam a gépen, az kb. mission impossible. Ugyanígy ha a gépről akarom folytatni annak a nézését, amit a TV-n elkezdtem.

"Sose a gép a hülye."

Nem is az ajánlórendszerével van a legnagyobb bajom, bár az se valami jó, hanem nálam mindig is a Spotify hangminősége kásás, tompa volt, a prémium előfizetéssel, legjobb minőségre állítás mellett is úgy szólt sajnos. Ezért én Tidal-t hallgatok helyette, Tidal Hi-Fi előfizetéssel, annak kifogástalan a minősége, nem csak a tömörítetlen változatnak, de a 320 kbps-os aac változatnak is. Az ajánlórendszere ennek sem a legjobb, de egy fokkal normálisabb, mint a Spotify-é, viszont a szolgáltatás drágább is havonta.

The world runs on Excel spreadsheets. (Dylan Beattie)

Szerkesztve: 2024. 09. 27., p – 09:58

Micsoda? Siman csak felraktak githubra? Nem kell vegbelbol DNS mintat postazni, hogy megkapjuk? De meg 3 "ingyenes 30 napos trialra" se kell feliratkoznunk bankkartya megadasaval, mielott megtekinthetnenk a forraskodot? Nem kell megneznunk masik 8 helyen, hogy milyen szponzoraiknak koszontek meg, hogy ez a forraskod megosztodhatott? Csak szimplan szoltak elore, hogy ezen a szeptemberi napon kiadjak majd es csak ugy fel is raktak githubra?

Hat ez igy nekem gyanus. Tuti van itt valami atveres. Azert megiscsak 2024 van gyerekek. :)

Szerkesztve: 2024. 09. 27., p – 23:32

Értelme ennek max. annyi lesz, hogy ebből is fejleszt valaki egy Win11-only és/vagy Linux-os csiligány, tablet- vagy érintőképernyőbuzi, óvodás kinézetűre butított bloatwaret és bemocskolja az eredeti verziók jól megérdemelt hírnevét.

A nyilvánosságra hozás módja pedig nevetséges.

Mondom ezt, mint az eredeti WinAmp-ot napi szinten használó valaki.

Csinálhat belőle, de a licenc jelenleg megtiltja, hogy közzétegye, terjessze. Ha ez megnyugtat, pont ezen háborognak. Igen, mindenki szerint nevetséges. Mivel elég sok windowsos függőség van benne, elég nehéz lenne más OS-re portolni, pedig egy fincsi csiligány, Wayland+Vulkan only, Qt6-os verzió azért megörvendeztetne, ne tagadd. Még jobb lenne, ha valami frankó kis Electron appot gyúrnának belőle, elindítanád, és megenné induláskor az összes RAM-od.

Mondjuk az 5.x-es Winamp-ok sose voltak a legjobbak. A 2-es ág végső verzióját, a 2.91-eset használtam anno. Ma már nem tudnám, a felülete nem skálázódik, már FullHD felbontáson is apró, 4K-n meg mákszemeket látsz belőle, mikroszkóp kell hozzá. A másik, ami zavar benne, hogy nem kezelnek a klasszik verziók több lejátszási listát vagy gyűjteményt, nem lehet benne szűrni, rendezni, stb.. Nem kezel albumborítót, dalszöveget, stb.. 32 bit only, ezért én kb. ahogy megjelent, átálltam helyette foobar2000-re, míg windows-oztam. Az 5-ös verzió ezeket tudja, van belőle 64 bites, stb., de azzal meg az a baj, hogy a felületét telerakták mindennel, és elég átláthatatlan, meg a régi feelingjét nem hozza.

The world runs on Excel spreadsheets. (Dylan Beattie)

A Winamp 0.96 beta kiadást egy kis barkácsolással felrakhatod Windows 3.1-re is, csak kell a WIN32S extender, a DIB engine, meg néhány hasonló win95 teszt/preview fejlesztési cucc...hang nem biztos, hogy lesz, de szépen fut.

Hülyeségért nekem sem kellett a szomszédba járnom annak idején. :)

-
"Attempting to break SpeedLock can damage your sanity"

Nem hülyeség az. Emlékeim szerint én is futtattam egy ideig Winamp-ot Win 3.1-en, azt már meg ne kérdezd, hogy melyik verziót, de egy viszonylag korait. Rendesen települt, futott, hang is volt. Ami miatt akkor még nem használtam, mert Winplay3 ment helyette, az „felezett” minőségben több CPU ciklust spórolt, és az akkori gyenge gépemnek (AMD 5x86-P75 133-160 MHz-en járattam) sokat jelentett, nem csak hogy nem akadt, de az egeret is lehetett mozgatni, a Winamp is tudott felezett minőséget, de az sokkal jobban a határon volt. DOS alatt meg az mpxplay-t és a cubicplayert használtam erre, azok se akadtak, de a határon voltak. Az mp3-hoz inkább kellett egy 100 MHz feletti Pentium azért, 486-oson is ilyen spéci szoftverekkel lehetett elérni, hogy ne akadjon, és a bitrátában sem lehetett 128 kbps-nál magasabbra menni, 160 talán még a határon volt, 192 és felette már akadt mindenben, nem lehetett kitrükközni, a hardver volt neki túl gyenge.

The world runs on Excel spreadsheets. (Dylan Beattie)

Cyrix 486DX2-80-am volt 1997-1999 körül, azon a Winamp 2.9x monoban, 22kHz-en épp elvitte az mp3-akat W95 alatt, de ahogy írod, ha nagyon rángattam az egeret, akkor beszaggatott. Mindenesetre számomra így is mesés volt. MPXplay tetszett, Cubic Player meg nekem inkább a modulokra vált be.

Pár éve összeraktam egy retro Cyrix 486DX2-66MHz-es gépet (sajnos 80MHz-es Cyrixom már nincs, a TI-t meg még nem próbáltam ki), azon mpxplay-jel ment a zene. Szépen vitte 44.1kHz-en sztereoban a magas bitrátájúakat is. Aztán egyik számnál beszaggatott... és kiderült, hogy az 48kHz-es volt :D hát azt már nem bírta.

Nekem a mai napig a Winamp korai változatai az etalon, ezért nem is tudtam az ilyen Audacious meg hasonlókat megszokni. XMMS elment, most még talán a QMMP, ami bejön. Szoktam magam cmus-sal is kínozni, de sosem szerettem meg.

Ez egy kicsit döbbenetes. Még az mp3 lejátszás is csak egyszerű kitömörítés, aminek közel 0 a cpu felhasználása. A buszsebesseg meg nagyságrendekkel nagyobb a hangstream igényeinél.

Igaz, AMD K8 kategóriát is megizzasztottam 6 csatornás SACD (5.644.800 Hz/1bit) dekódolás+újrakeveréssel, de nem akadt.

> az mp3 lejátszás is csak egyszerű kitömörítés, aminek közel 0 a cpu felhasználása

annyira azert nem egyszeru.

kell ugye a bitstream olvasas huffman dekodolassal, ez nem annyira bonyi de sok cpu ciklust el tud vinni a bitek ide-oda tologatasa, bufferelese, attol fugg mennyire jol van optimalizalva. plusz olyan mokak hogy az elozo frame nem hasznalt bitjeit a kovetkezo frameben felhasznalhatjak (emiatt gaz a seek-eles mp3-ban akkor is ha CBR).

aztan johet az MDCT szamolasa, ez ha van FPU akkor nem akkora melo (de sok ido!), de ugye 486 idejen ez meg nem volt mindenkinek, CPU-val meg eleg maceras volt kiszamolni foleg teljes pontossaggal. az MMX sokat dobott ezen is.

ha stereo akkor azzal is van melo, mert nem kulon letaroljak a 2 csatit, hanem a joint-stereo kodolas eseten trukkoznek.

vegul - mivel az akkori hangkalyhak 8/16 bit int-et tudtak csak kezelni - konvertalni kellett a float-ot signed int-re ugy hogy min/max korlatozas is legyen, amire mindenfele trukkoket talaltak ki, hogy gyors legyen.

majd persze ki kellett DMA-zni a hangkartyaba, es ugyan nem sok adat (176kByte/sec) azert az akkori gepeken ez is ido volt.

Mondjuk érterm. Bár fordítótól függhet, de egy ilyet a C-hez képest lehet optimalizálni: n_slen2[n+400] = i|(j<<3)|(k<<6)|((long)1<<12); , bár a vége =0x40000 (kötsög cések ;))

Kíváncsi lettem volna egy v20 vagy v40 kooprocesszorral mit hasítana (8088 és 286), mert ezek kezelnek bitfieldet is, illeteve a shiftre és a cím számításara külön ALU-t is használnak.

igen a fordito optimalizalasa is szamitott, akkoriban meg nem voltak ilyen jok. igaz a cpu-k se voltak ilyen bonyik, egy 486 nem volt tele cache-ekkel, prefretch-ekkel, branch predictionnel stb.

nyilvan meg lehetett volna irni es optimalizalni asm-ben is, foleg hogy a 90-es evekben meg minden a fraunhoffer-fele referencia C implementaciot hasznalta.

> (8088 és 286)

mivel 486-on is docogott, sok ertelmet nem latnam :) de ne tartsd vissza magad...

esetleg forditsd le a libmad-et, bar szerintem az is 32 bites minimum, abban emlekeim szeirnt tisztan integerrel van megoldva az mp3 dekodolas, semmi float igy fpu se kell neki.

Because MAD uses integer computation rather than floating point, it is
  well suited for architectures without a floating point unit. All
  calculations are performed with a 32-bit fixed-point integer
  representation.

A (8088 és 286) csak azt jelenti, hogy milyen proci helyére lehet bedugni aa v20 és v50-et (helyesbítettem). Ezek a jappányok iplementáltak néhány olyan utasítást, amilyenje még tán a 786-osnak sem volt. :-D Nem tetszett nekik az Intel-féle mikroprogramozott kódvégrehajtás, ezért ahol tehették beépítették a hardvert pl. az indexelt címzés azonnali kiszámítására, míg az Intelnél a mikrokód végrehajtássall történt ugyanez. A különleges utasítások (pl bitfield beillesztés, bit set/reset, pakolt BCD strigeken végzett műveletek) nem feltétlenül gyors, de rövidebb annál, amit programmal meg lehet valósítani. A v20 kompatbilís arch a nagyon spéci utasítások kivételevel a 80188-cal. Sajnos ezek az érdekességek - ahogy szokott lenni - hamar kihaltak. Páratlan tulajdonságuk a natív 8080 kód futtatása.

Egy C fordító a legmagasabb optimalizálás mellett átírhatja a kódodat. Az igazi assembler optimalizálásnál pedig a feladat marad, az algoritmus teljesen megváltozhat. Olyanra, amit C-ben sose tennél. ;)  Egy 20MHz-es v50 érzésem szerint elvitte volna.

Erre bizony, de először nem értettem mitől embedded. Az adatlap alapján nagyjából beleépítették a következőket: 8251, 8237, 8254, 8259, dram refresh, wait control és órajel generátor. Bár címdekódert nem látok, de ez olya 80186-féleség. Annak idején, amikor v20-on teszteltem, de 286-on futtattam, akkor a 186-ra fordítottam, ami hasonlít a 286-ra nem védett módban.(Szép körmondat.)

Ennek ellenére készültek vele IBM kompatibilis pécék, legfeljebb kevesebb csipből. A v20-at két xt-ben is használtam Intel Isis-II fejlesztőrendszer emulációjára. Az emulátor indítása I80 /nocpu - Intel processzoron és I80 - NEC processzoron.

Mindössze azért kontárkodtam bele, mert tényleg bonyinak tűnik az a C program, de egy jobb cpu-t alárakva... persze elég specifikus a megoldás. ;)

A DeaDBeef-fel mi volt a gond eddig? :)