Device Audio

Un article de GuruMed.

Par Iliak

L'amiga est équipé de quatres canaux audio, deux canaux à droite et deux canaux à gauche. Au total et si cela est bien géré, il possède donc deux sorties stéréo. Etant donné l'architecture multitâche du système, il faut ovéir à certaines régles pour que tous les programmes cohabitent bien. C'est ainsi que l'audio.device gére l'accés et régularise les demandes.


Les commandes de base

Commande Définition
ADCMD_ALLOCATE Alloue un ou plusieurs canaux
ADCMD_FINISH Annulle la requête CMD_WRITE actuelle
ADCMD_FREE Libère un ou plusieurs canaux
ADCMD_LOCK Bloque un ou plusieur canaux
ADCMD_PERVOL Change la périod et le volume
ADCMD_SETPREC Change la priorité d'un son
ADCMD_WAITCYCLE Attends la fin d'un commande CMD_WRITE
CMD_FLUSH Purge la mémoire
CMD_READ Pointeur vers la structure E/S qui écrit actuellement
CMD_RESET Réinitialise un ou plusieurs canaux à leur état initial
CMD_START (Re)lance une commande CMD_WRITE
CMD_STOP Arrete le son
CMD_WRITE Ecrit un son

ADCMD_ALLOCATE : Cette commande permet d'allouer un ou plusieurs canaux audio. Il faut définir le champ ioa_Data de la structure IOAudio avec les canaux voulu.


Canal 3 (droite) Canal 2 (gauche) Canal 1 (gauche) Canal 0 (droite) Valeur décimale
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15

Ainsi, si vous voulez réserver un mode stéréo, passez la valeur 3, 5, 10 ou 12