Er zijn al verschillende topics geweest over hoe mensen hun MP3-verzameling indelen en gebruiken. Hiervoor zijn allerlei vernuftige indelingen te verzinnen wat betreft bestandsnamen en playlists. In die topics postte ik vaak een screenshotje van mijn eigengemaakte muziek-progje. En iedere keer kreeg ik wel een paar reacties van mensen die dat progje ook wel wilden hebben. Vaak stuurde ik ze een zipje, en meestal hoorde ik er dan nooit meer wat over.. :-/
Ik denk dat ik m'n progje nu wel zo ver af heb dat ik de confrontatie met de gebruikers aandurf.
Ik zal zometeen uitleggen wat er zo verschrikkelijk mooi is aan mijn oplossing, maar ik begin met hoe ik op het idee van MusiController kwam. De ongeduldige lezertjes onder jullie mogen dit overslaan.
In den beginne had ik één zelfgemaakte MP3-cd. Die speelde ik vanzelfsprekend af met Winamp. Al snel begon m'n verzameling te groeien, en uiteindelijk had ik weer 650MB voor cd nummer twee. Ik had toen ook precies twee cd-rom spelers, dus ik hoefde in principe nooit cd's te wisselen. De verzameling aan muziek begon steeds harder te groeien, en al snel besefte ik dat ik toch aan cd's wisselen zou moeten beginnen. Precies op dat moment kreeg ik een bijbaantje, waardoor ik geld had voor een grote harde schijf. Het idee om alle muziek op HD te bewaren was geboren.
Dit doe ik nog steeds, en steeds als de vrije ruimte op was kocht ik een disk erbij. Ik begon met 8GB, en ging vervolgens naar 30, naar 57, naar 100, naar 240GB aan disk. Waarom doe ik dat? Simpel: Winamp staat op random over alle muziek die ik maar heb. Maar direct in het begin al stoorde ik mij aan de random van Winamp. Te vaak hoorde ik dezelfde liedjes of soms speelde Winamp ineens een heleboel muziek van dezelfde artiest.
Op de site van Winamp staat uitgelegd hoe je Winamp van buiten af kunt aansturen door middel van messages. Ik begon daar eens mee te spelen, en al snel had ik een progje gemaakt dat z'n eigen playlist had, een eigen random-functie had, en Winamp het afspeelwerk liet doen. Winamp had toen nog zeer primitieve playlists, waarin alleen de bestandsnaam stond. Iedere keer dat je Winamp opnieuw opstartte moet ie weer opnieuw de ID3-tags opzoeken. Mijn progje had daar 'vanzelfsprekend' een cache (tekstbestandje
) voor. Ach, en als je dan toch een cache-entry hebt voor iedere MP3, dan kan je net zo goed bijhouden hoevaak je ieder MP3-tje speelt.
Ik vertelde al dat ik aan het werken was geslagen. Op het werk kwam ik voor het eerst in aanraking met de database-functionaliteiten van Delphi. Dat gaf mij ook het idee om mijn progje een nette database te geven, in plaats van een tekstbestandje.
Van hier af ben ik via een paar versies terecht gekomen op de MusiController zoals die vandaag is.
Het mooie aan deze oplossing is dat alle informatie over de MP3 in een database staat. De database houdt je hele afspeelgedrag bij. Iedere MP3 die wordt gespeeld komt in de history terecht, en als je een liedje skipt onthoudt MusiController dat ook. Het gevolg is dat MusiController na een tijdje 'weet' welke liedjes je mooi vind (vaak gespeeld), en welke niet (vaak geskipped).
Dat is niet het enige. MusiController weet meteen ook welke artiesten en albums je mooi vind. En als je overal het genre netjes invult, weet het progje dus welke genres je mooi vind. Ik heb me met name geconcentreerd op de genres, voornamelijk ook omdat Winamp daar niets, maar dan ook helemaal niets mee doet.
Mijn nieuwe uitvinding heet 'Advanced Random'. Ik zei al dat ik altijd random speel, en dat ik me stoorde aan de slechte random-functie van Winamp. Mijn Advanced Random heeft een compleet nieuwe aanpak: hij gebruikt informatie over het afspeelgedrag.
Ik heb stof genoeg om over te schrijven, maar Volgens mij wordt deze post alweer onleesbaar lang, dus verder commentaar zal ik geven als reactie op jullie eventuele vragen.
Hier moeten de ongeduldige lezertje ophouden met scrollen, want nu geef ik de URL's waar alles gedownload kan worden.
Noot2: MusiController vereist een geinstallerde Winamp. Het progje speelt geen muziek, het 'controleert' de muziek, vandaar ook de naam.
Tenslotte vind je hier de installatie-instructie. (Ik ben er nog niet aan toe gekomen om een fatsoenlijke installer te maken
)
Voor de PICS roepers onder jullie:



Vragen mogen jullie in dit topic stellen, evenals bugreports, feature-requests, etc.
Ik heb zelfs al een homepage.
Ik denk dat ik m'n progje nu wel zo ver af heb dat ik de confrontatie met de gebruikers aandurf.
Ik zal zometeen uitleggen wat er zo verschrikkelijk mooi is aan mijn oplossing, maar ik begin met hoe ik op het idee van MusiController kwam. De ongeduldige lezertjes onder jullie mogen dit overslaan.
In den beginne had ik één zelfgemaakte MP3-cd. Die speelde ik vanzelfsprekend af met Winamp. Al snel begon m'n verzameling te groeien, en uiteindelijk had ik weer 650MB voor cd nummer twee. Ik had toen ook precies twee cd-rom spelers, dus ik hoefde in principe nooit cd's te wisselen. De verzameling aan muziek begon steeds harder te groeien, en al snel besefte ik dat ik toch aan cd's wisselen zou moeten beginnen. Precies op dat moment kreeg ik een bijbaantje, waardoor ik geld had voor een grote harde schijf. Het idee om alle muziek op HD te bewaren was geboren.
Dit doe ik nog steeds, en steeds als de vrije ruimte op was kocht ik een disk erbij. Ik begon met 8GB, en ging vervolgens naar 30, naar 57, naar 100, naar 240GB aan disk. Waarom doe ik dat? Simpel: Winamp staat op random over alle muziek die ik maar heb. Maar direct in het begin al stoorde ik mij aan de random van Winamp. Te vaak hoorde ik dezelfde liedjes of soms speelde Winamp ineens een heleboel muziek van dezelfde artiest.
Op de site van Winamp staat uitgelegd hoe je Winamp van buiten af kunt aansturen door middel van messages. Ik begon daar eens mee te spelen, en al snel had ik een progje gemaakt dat z'n eigen playlist had, een eigen random-functie had, en Winamp het afspeelwerk liet doen. Winamp had toen nog zeer primitieve playlists, waarin alleen de bestandsnaam stond. Iedere keer dat je Winamp opnieuw opstartte moet ie weer opnieuw de ID3-tags opzoeken. Mijn progje had daar 'vanzelfsprekend' een cache (tekstbestandje
Ik vertelde al dat ik aan het werken was geslagen. Op het werk kwam ik voor het eerst in aanraking met de database-functionaliteiten van Delphi. Dat gaf mij ook het idee om mijn progje een nette database te geven, in plaats van een tekstbestandje.
Van hier af ben ik via een paar versies terecht gekomen op de MusiController zoals die vandaag is.
Het mooie aan deze oplossing is dat alle informatie over de MP3 in een database staat. De database houdt je hele afspeelgedrag bij. Iedere MP3 die wordt gespeeld komt in de history terecht, en als je een liedje skipt onthoudt MusiController dat ook. Het gevolg is dat MusiController na een tijdje 'weet' welke liedjes je mooi vind (vaak gespeeld), en welke niet (vaak geskipped).
Dat is niet het enige. MusiController weet meteen ook welke artiesten en albums je mooi vind. En als je overal het genre netjes invult, weet het progje dus welke genres je mooi vind. Ik heb me met name geconcentreerd op de genres, voornamelijk ook omdat Winamp daar niets, maar dan ook helemaal niets mee doet.
Mijn nieuwe uitvinding heet 'Advanced Random'. Ik zei al dat ik altijd random speel, en dat ik me stoorde aan de slechte random-functie van Winamp. Mijn Advanced Random heeft een compleet nieuwe aanpak: hij gebruikt informatie over het afspeelgedrag.
- Eerst wordt er op de 'normale' random manier een selectie van instelbare grootte gemaakt uit de beschikbare tracks.
- Deze tracks worden vergeleken met de laatstgespeelde tracks, zodat je een 'constante' krijgt in de muziek die je krijgt voorgeschoteld. (Winamp gaat nogal van de hak op de tak). Hoe meer laatstgespeelde tracks je gebruikt voor de vergelijking, hoe sterker die constante wordt.
- De vergelijking van laatstgespeelde tracks met de random gekozen verzameling werkt met een puntensysteem, je kunt (straf)punten uitdelen voor overeenkomst in band, album en genre. De genres zijn ingedeeld in groepen, waardoor bijvoorbeeld Goatrance meer vergelijkbaar is met Hardtrance dan met Heavymetal.
- Als laatste kan je (straf)punten uitdelen voor het aantal malen dat een track al gespeeld is, en hetzelfde geldt voor de speel/skip-ratio van de tracks.
- De track die het hoogste aantal punten behaalt wordt gespeeld.
Ik heb stof genoeg om over te schrijven, maar Volgens mij wordt deze post alweer onleesbaar lang, dus verder commentaar zal ik geven als reactie op jullie eventuele vragen.
Hier moeten de ongeduldige lezertje ophouden met scrollen, want nu geef ik de URL's waar alles gedownload kan worden.
- Mijn programma maakt gebruik van de databasefunctionaliteit van Delphi. Hiervoor is de Borland Database Engine benodigd. (5,8M)
- Erger nog: de tabellen die standaard meegeleverd worden zijn in een dusdanig nieuwe versie gemaakt dat je de update nodig hebt
(11,3M)
- Tenslotte mag je MusiController ophalen. (473K).
Noot2: MusiController vereist een geinstallerde Winamp. Het progje speelt geen muziek, het 'controleert' de muziek, vandaar ook de naam.
Tenslotte vind je hier de installatie-instructie. (Ik ben er nog niet aan toe gekomen om een fatsoenlijke installer te maken
Voor de PICS roepers onder jullie:



Vragen mogen jullie in dit topic stellen, evenals bugreports, feature-requests, etc.
Ik heb zelfs al een homepage.
Siditamentis astuentis pactum.