La gestion du son avec la IOCARD est peu intuitive et nécessite un petit article.
Avant tout, il faut copier dans le répertoire d’installation de sioc.exe tous les WAV que l’on va utiliser.
Ensuite, on modifie le SIOC.ini situé dans le même répertoire : Il faut trouver la partie nommée : SOUND MODULE
[************** SOUND MODULE ***************] [ Sound Files ] [ Disable Sound module ] Sound_disable=no [ Master Volume 0-100 ] Volume=100 |
Ici on va déjà mettre Sound_disable=no pour pouvoir émettre du son
Ensuite, il faut déclarer chaque WAV utilisé en partant du numéro 1 et en incrémentant de 1 Cette liste est limitée à 200 occurrences.
[ #1 ] Sound=APU_Start.wav,-1,-1,-1 [ #2 ] Sound=APU_Stop.wav [ #3 ] Sound=*APU_running.wav |
Dans cet exemple, nous avons trois wav
On va déclarer DEUX variables :
Var 4002, name PLAY_SOUND, Link SOUND // LIT le son x declaré dans SIOC.ini Var 4003, name STOP_SOUND, Link SOUND, TYPE S
// STOP le son x declaré dans SIOC.ini |
On peut à présent jouer et arrêter des wav ;
| Pour jouer le son 1 | &PLAY_SOUND=1 |
| Pour jouer aussi le son 3 | &PLAY_SOUND=3 |
| Pour arrêter le son 3 (qui je le rappelle est joué en boucle) | &STOP_SOUND=3 |
A noter que le programme n’attendra pas que le son 1 soit terminé pour jouer le 3. Il le fera pratiquement en même temps. Il faudra avoir recours à l’instruction DELAY. Cela veut donc aussi dire que le programme est capable de jouer plusieurs sons en même temps.
On peut aussi jouer sur la fréquence, le volume et le panorama en temps réel. Il faut alors utiliser la fonction SETSOUND Fréquence, volume, panorama.
On complète notre code :
| L0=3 | Place une variable contenant le numéro de notre Wav |
| &PLAY_SOUND= L0 | Le joue (en boucle) |
| L0 = SETSOUND -1 , 50 ,-1 | Applique SETSOUND à L0 (soit son 3). On ne touche pas à la fréquence (-1), le volume est réduit de moitié (50) et on ne touche pas au panorama |
On se sert rarement de cette fonction mais elle peut être bien utile
Je gère ainsi le son de l’APU. Le résultat est excellent et fait vraiment illusion. Le script devrait être disponible fin mai 2008.