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