Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Pour programmer en musique... | |
| | Auteur | Message |
---|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Pour programmer en musique... Dim 30 Mai 2010 - 16:28 | |
| Voilà un petit utilitaire destiné à écouter de la joile musique pendant qu'on programme, bon ça pourrait perturber la concentration, mais ça devrait amener à de la sérénité dans la programmation... - Code:
-
rem ' MUSIQUE dim a$ , i label choisir , arreter , quitter caption 0,"MUSIQUE"
main_menu 1 sub_menu 2 : parent 2,1 : caption 2,"Options" sub_menu 3 : parent 3,2 : caption 3,"Choisir" : on_click 3,choisir sub_menu 4 : parent 4,2 : caption 4,"Arrêter" : on_click 4,arreter sub_menu 5 : parent 5,2 : caption 5,"Quitter" : on_click 5,quitter
picture 6 : width 6,400 : height 6,350 : color 6,236,233,216 2d_target_is 6 2d_fill_color 0,0,0 : 2d_circle 150,280,40 2d_pen_width 8 : 2d_line 185,280,200,20 2d_line 200,20,225,65 : 2d_line 200,50,225,95
sound 10
end
choisir: open_dialog 100 filter 100,"Fichiers son|*.mp3;*.wav" a$=file_name$(100) delete 100 if a$<>"_" then file_load 10,a$ play 10 return
arreter: delete 10 sound 10 return
quitter: terminate
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour programmer en musique... Dim 30 Mai 2010 - 16:49 | |
| Joli et tout simple ton petit programme. Tu peux ajouter wma dans les types de fichiers, ça marche très bien. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Dim 30 Mai 2010 - 17:06 | |
| J'ai voulu le perfectionner en ajoutant une list stockant les musiques choisies et l'ordinateur jouant en boucle une musique de la liste après l'autre, mais comment faire pour que l'ordinateur sache qu'une musique est fini de jouer et qu'il est temps de passer à la suivante ? Il faudrait une sorte de détecteur de buffer vide : if buffer_son=0 then... Quelqu'un a une autre idée ? | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour programmer en musique... Dim 30 Mai 2010 - 17:21 | |
| J'ai eu le problème autrefois... et Jack, dans sa grande bonté, nous a ajouté le play_wait.
Donc, au boulot ! Et rajoute-nous une touche pause pendant que tu y es... mais ça c'est plus dur... | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Dim 30 Mai 2010 - 19:03 | |
| Merci JL35 Ceci dit, ce play_wait a des choses bizarres, d'abord, pour l'arrêter, c'est tartignole ! (ça wait-wait drôlement !) et ensuite, quand on veut minimiser le tableau, ça part à droite dans la barre des tâches ou à gauche au dessus de la barre des tâches. Etrange... Voilà une nouvelle version de chaîne hifi panoramic : - Code:
-
rem ' MUSIQUE dim a$ , i , n label choisir , arreter , quitter , lancer , encore , essayer caption 0,"MUSIQUE" : width 0,1020 : on_click 0,arreter
main_menu 1 sub_menu 2 : parent 2,1 : caption 2,"Options" sub_menu 3 : parent 3,2 : caption 3,"Essayer" : on_click 3,essayer sub_menu 4 : parent 4,2 : caption 4,"Choisir" : on_click 4,choisir sub_menu 5 : parent 5,2 : caption 5,"Arrêter" : on_click 5,arreter sub_menu 6 : parent 6,2 : caption 6,"Quitter" : on_click 6,quitter
picture 7 : width 7,400 : height 7,350 : color 7,236,233,216 2d_target_is 7 2d_fill_color 0,0,0 : 2d_circle 50,280,40 2d_pen_width 8 : 2d_line 85,280,100,20 2d_line 100,20,125,65 : 2d_line 100,50,125,95
sound 10 alpha 11 : left 11,220 : top 11,10 caption 11,"Cliquez sur une musique ci-dessous pour la lancer" list 12 : left 12,220 : top 12,25 : width 12,760 : height 12,370 on_click 12,lancer alpha 13 : left 13,20 : top 13,400
end
essayer: open_dialog 100 filter 100,"Fichiers son|*.mp3;*.wav" a$=file_name$(100) delete 100 if a$<>"_" file_load 10,a$ play 10 end_if caption 13,a$ return
choisir: open_dialog 100 filter 100,"Fichiers son|*.mp3;*.wav" a$=file_name$(100) delete 100 if a$<>"_" then item_add 12,a$ caption 13,"" return
lancer: n=item_index(12) encore: file_load 10,item_read$(12,n) caption 13,item_read$(12,n) play_wait 10 n=n+1 : if n>count(12) then n=1 if clicked(0)=0 then goto encore return
arreter: delete 10 sound 10 return
quitter: terminate | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour programmer en musique... Dim 30 Mai 2010 - 21:36 | |
| Effectivement, le play_wait était prévu pour être prévenu de la fin d'un morceau, pour pouvoir enchaîner avec un suivant, sinon avec le play tout seul on ne peut pas savoir. Mais du coup, en cours d'exécution on n'a plus le contrôle, qu'on ne récupère qu'à la fin du morceau... jusqu'à ce que le morceau suivant se lance, et là pareil. PLAY: lance l'exécution puis rend tout de suite la main au programme PLAY_WAIT: idem, mais ne rend la main qu'un fois la tâche exécutée (comme l'Execute_Wait). Je ne vois pas comment on peut faire autrement. Je m'étais posé la question de connaître la durée exacte d'un morceau, qui doit figurer dans le fichier, mais je n'ai pas trouvé où. | |
| | | Contenu sponsorisé
| Sujet: Re: Pour programmer en musique... | |
| |
| | | | Pour programmer en musique... | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |