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
