01net    Web


Actuellement en ligne : 1029 Utilisateurs dont 39 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> probleme de threads? pas sur!!
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
yac
  
   
      ?   @     Posté le 26/04/2004 16:07:05  
Voter pour ce message
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?

e-deby
  Vendeur de larmes
  Groupe :  Equipe 01net
  :-)
      ?   ^   @     Posté le 26/04/2004 16:24:50  
Voter pour ce message
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,
yac
  
   
      ?   @     Posté le 26/04/2004 17:51:40  
Voter pour ce message
YES!!! ça marche !! merci beaucoup!!
e-deby
  Vendeur de larmes
  Groupe :  Equipe 01net
  :-)
      ?   ^   @     Posté le 26/04/2004 19:50:15  
Voter pour ce message
de rien ;)
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> probleme de threads? pas sur!!

Aller à :

Page générée en : 0.493s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Suite de sécurité
Plus simple, plus rapide et plus sûr, découvrez le dernier Kaspersky Internet Security.
Jeux
Nouveauté : Transformez une bijouterie décrépite en une petite merveille de l’industrie du luxe !