lundi 13 mars 2006

libspc en stand by

Et oui, j'ai décidé de mettre de côté cette librairie. Pourquoi me direz vous ? Et bien tout simplement parce que je ne comprend pas (pour le moment) pourquoi je n'ai pas de son, enfin si, mais loin de ce que je devrais avoir (son ralentis, échantillonage faible avec de l'écho).
Mais une mauvaise nouvelle en apporte une bonne : ca me laisse un peu de temps libre pour en commencer une nouvelle, et pourquoi pas libflac ?
Allez, c'est partis ^_^

mercredi 8 mars 2006

Un petit lien sympas :)

Un petit passage pour vous parler du blog d'un ami, tres bien fait et bien écrit, il mérite le coup :)

lundi 6 mars 2006

Un peu de détente musicale

Je me suis dit que ce serait bien que je vous fasse partager quelques liens de radio internet (flux shoutcast/icecast pour être correcte) :

- OC Remix : d'excellents remix de musiques de jeux bien connus comme Megaman, Zelda, Sonic ou encore Breath Of Fire, la qualité des remixes en surpendra plus d'un,
- Slay Radio : des remixes exclusivement dédiés aux jeux Commodore 64, plutôt orientés électro bien que l'on puisse retrouver du symphonic ou du metal (Machinae Supremacie), la aussi, les compositions sont de belles factures, certains utilisent même la carte son originale du C64 (voire ce site) dans leur ordinateur pour retrouver la chaleur des sons d'antant,
- Nectarine Radio : point de remix sur cette radio, que de l'original, dans toutes ses formes, l'on pourra retrouver aussi bien des musiques issues de l'Amiga que de l'Atari ST, du C64, 800XL ou encore des dernières démogroupes du moment (je vous parlerais plus en détail de la scène démo).

A noter que pour écouter ces radios, il vous faudra un lecteur audio qui soit à même de les supporter, le plus célébre, Winamp, le fait à merveille : un simple clique droit sur le lien, copier l'adresse du lien et CTRL + L suffit pour coller les liens que je vous ai proposé.
Pour les amateurs de Foobar2000 0.9 (qui fera partis lui aussi d'un post à venir), un CTRL + U vous guidera tous droit vers une boite de dialogue vous demandant l'adresse internet à lire.
Comme toujours, on aime les musiques que j'écoute ou on aime pas, faites le moi savoir en laissant un petit commentaire ;)

Musiques SPC

En attendant que la libspc soit prête, vous pouvez avoir un aperçu de ce que cela donne en telechargeant des centaines de musiques mises à disposition, gratuitement, ici.
Pour la lecture, je conseille l'excellent Audio OverLoad.
N'hésitez pas à me faire part de vos réactions en me laissant un commentaire :)

libspc : c'est partis !

Et oui, étant donné que la libmodplug est finie, je commençais à m'ennuyer.
Suite à un topic sur le forum de PureBasic, je me suis dit que ce serait sympas de l'aider :)
Et me voila partis à la recherche de la meilleur librairie de reproduction des SPC.
Mais qu'est ce qu'un SPC ? C'est tout simplement le format de fichier produits par la ... Super Nintendo ! Oui oui, celle la même, celle qui a fait chavirer le coeur de nombreux adolescents prépubères dont je faisait partis.
Enfin, format, pas vraiement, car pour lire ces fichiers, il faut carrément émuler le processeur de la snes (un 65c816) et le processeur sonore de la console, le fameux SPC700, une merveille de technologie aussi merveilleuse que dure à émuler.
Ma quête m'a dont menée à SNES APU, une lib codée à 90% en assembleur x86 (logique) et disposant d'une petite API quelque peu bizzare à mon gout.
J'ai donc repris le codebase de libmodplug pour y intégrer cette librairie et me suis confronté à pas mal de problèmes de compilation, essentiellement dûs à des sauts trop loin pour le compilateur nasm. (un simple "near" suffit à régler cela)
Mais même apres ça, ça ne voulais pas linker à cause de fonctions non résolues : en effet, l'API ASM exportait les fonctions avec un underscore alors que l'API C n'en voulait pas.
J'ai passé pas mal de temps à vouloir recoder toute la librairie pour supporter nasm jusqu'au moment où je m'aperçois ... que cela a déja été fait :-p
Un coup de flag -DSTDCALL dans la lib et dans le préprocessus de compilation de l'API C pour exporter en STDCALL et c'en était fini de tous ces traquas.
Prochaine étape : implémenter, grosso modo, l'api pour lire correctement une musique, une fois ceci fait, faire en sorte de gérer plusieurs instances de lecture comme pour la libmodplug.