next up previous
Next: Fonctions InitAudio et writeAudio Up: Machines ALPHA : fusion Previous: Machines ALPHA : fusion

Fonction playFromSelection (play.c)

Cette fonction permet de jouer un segment de son. Elle est appelée par la fonction callback XsCbPlayFromSelection, en réponse à un appel au menu Marks/Play Segment.

Prototype : void playFromSelection(View *view,int iselFrom)

view :
spécifie la vue contenant le buffer et la sélection. Il nous permet de récupérer l'adresse du buffer et le numéro du canal à jouer. En effet, la fonction playFromSelection ne joue qu'un canal.

iselFrom :
spécifie le numéro de la sélection.

Une fois la sélection récupérée, j'initialise le serveur audio par la fonction InitAudio.

Je calcule ensuite le début et la fin du segment (en position en secondes), puis j'initialise une mémoire tampon de lecture ( bufferToPlay) positionnée au début du segment. Enfin, j'effectue une boucle de lecture des échantillons. La sortie audio se fait dans cette boucle par la fonction writeAudio.

C'est dans cette boucle que ce font également différentes conversions :

Lorsque le buffer a été bien converti, on peut modifier le volume de sortie en multipliant chaque échantillon par la variable level. Cette variable récupère la valeur output Level de la fenêtre Context/Play.



Gauthier Lebrun
Wed Apr 23 09:37:43 MET DST 1997