quote:
Ricvdp schreef op vrijdag 23 juni 2006 @ 09:43:
Schopje.

Madwizard, ik keek hier weer eens naar, en hoe werkt je MOD dinges nou precies? Wat ik ervan snap is dat je dus een aantal "geluiden" in je Flash giet, en een pattern dat die geluiden aanroept.
Dat klopt, je kunt de modplayer zien als een geluidsspeler die 4 geluiden tegelijk kan spelen, elk op een eigen frequentie. De geluiden worden rechtstreeks uit het flash gehaald. In het simpelste geval wordt het geluid gewoon van begin tot eind gespeeld op de juiste frequentie, maar sommige samples hebben loops, een stukje van de sample dat steeds overnieuw wordt gespeeld (tot de volgende sample/noot). Elk kanaal heeft een aantal eigenschappen: frequentie, huidige offset, volume en sample nummer.
Er is een ringbuffer van 512 bytes (256 bytes voor links en rechts) die via een interrupt (op iets van 30kHz) uitgelezen wordt en voor de PWM waarden gebruikt wordt. De rest van de code schrijft deze buffer zo snel mogelijk vol (met synchronisatie, als de en helft van de buffer gelezen wordt, wordt de andere helft geschreven). Deze code leest de patterns uit het flash en verwerkt alles tot samples voor de buffer.
quote:
En wil je de sourcecode nog vrijgeven? Ik ben er wel benieuwd naar, ik ben sinds kort wat meer bezig met uC's en PIC/AVR Assembly en ik ben wel benieuwd.

Zeker, alleen wilde ik de code nog wat opschonen en verduidelijken (zit vrij weinig commentaar in en ook wat tijdelijke fixen). Eigenlijk wilde ik de boel ook op m'n (nog te maken) nieuwe website zetten met wat uitleg erbij, er zitten wel wat grappige trucs in. Maar je weet hoe het gaat met dit soort dingen. Misschien dat het er in de vakantie van komt. Eventueel wil ik je wel de code mailen, als je het verder nog niet verspreidt (daar wil ik liever eerst een schonere versie voor).