
|
|
Auteur
|
Message
|
1
|
|
|
|
je programme en ce moment un logiciel de type "e-jay" ou "music maker" avec les librairies GTK pour les graphismes et Gstreamer pour le son (sous unix).
sur l'interface principale j'ai integré une drawingarea sur laquelle j'ai dessiné la piste,et je peux deposer les sons dessus sous forme d'icones (grace au glissé déposé), une fois que j'ai déposé tous les sons necessaires sur la piste,j'appuye sur le bouton PLAY et une barre horizontale défile sur ma piste en lisant tous les sons qu'elle rencontre.
pour le deplacement de labarre et la lecture des sons j'ai uttilisé ma fonction:
[cpp]
void defilement ()
{
GdkGC *gc;
gc=gdk_gc_new(dessin);
gdk_draw_line(temp,gc,i,0,i,230);
gdk_draw_pixmap (drawingarea1->window, gc,temp, 0, 0, 0, 0, 4000,230);
if (piste[1]!=NULL) {i=i+1; playback_wav(piste[i-1][1]);} else i=i+1;
gdk_draw_pixmap (temp, gc,dessin, 0, 0, 0, 0, 4000,230);
}
[/cpp]
je rappelle cette fonction toute les x millisecondes pour creer l'animation de la barre grace a:
[cpp] :
g_timeout_add(50,defilement,NULL);
[/cpp]
le probleme c que a chaque fois que la barre rencontre un son,elle le lit ,mais elle s'arrette jusqu'a ce que le son soit lu!!!!! on m'a dit que je devais creer un thread pour la lecture du son ,mais je ne sais pas les uttiliser!! quelq'un pourrait il m'aider?
|
|
Vendeur de larmes
|
|
|
oui, car tu ne peux pas faire 2 choses a la fois en programmation sequentielle, ce qui est tout a fait logique
De memoire, en C, pour creer un thread, c'est pthread_create(), fais un man pour savoir les parametres. Tu donnes simplement au thread la fonction qui joue le son (playback_wav() donc), et ca devrait rouler
PS : tiens nous au courant, il a l'air sympa ton projet
-------
buy it, use it, break it, fix it, trash it, change it, upgrade it, charge it, pawn it, zoom it, press it, snap it, work it, erase it, write it, get it, paste it, save it, load it, check it, rewrite it, plug it, play it,
|
|
|
|
|
|
YES!!! ça marche !! merci beaucoup!!
|
|
Vendeur de larmes
|
|
|
de rien
|
|
1
|
|

|


|