FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
fichier midi Emptypar papydall Hier à 16:57

» PANORAMIC V 1
fichier midi Emptypar papydall Hier à 3:22

» select intégrés [résolu]
fichier midi Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
fichier midi Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
fichier midi Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
fichier midi Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
fichier midi Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
fichier midi Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
fichier midi Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
fichier midi Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
fichier midi Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
fichier midi Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
fichier midi Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
fichier midi Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
fichier midi Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

 

 fichier midi

Aller en bas 
3 participants
AuteurMessage
Invité
Invité




fichier midi Empty
MessageSujet: fichier midi   fichier midi EmptyDim 10 Avr 2011 - 9:29

Quelqu'un a-t'il une information sur les fichiers midi?
Si je prends par exemple une partie de fichier midi téléchargé, j'ai ceci:
Citation :

77,84,104,100,0,0,0,6,0,0,0,1,0,192,77,84,114,107,0,0,36,219,0,255,3,
16,66,83,69,81,32,48,32,32,32,32,32,32,32,32,32,32,0,255,89,2,0,0,0,
176,100,0,0,101,0,0,6,2,0,224,0,64,0,176,0,0,0,32,0,0,192,71,0,176,7,
71,0,100,0,0,101,0,0,6,2,0,225,0,64,0,177,0,0,0,32,0,0,193,75,0
Or si je regarde ce qui est dit pour MIDI:
Citation :
Cette commande MIDI_PLAY N,T joue la note N de type T sur la sortie MIDI.
N doit-être compris ente 21 et 108. N est la fréquence.
T est la durée de la note, de 0 à 11
MIDI_VOLUME V: V doit être compris entre 1 et 127.
En regardant chaque octet d'un fichier midi, on voit bien qu'il n'y a pas de correspondance. On a des 0 et des nombres dépassant 127.
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyDim 10 Avr 2011 - 9:33

Bonjour
Essaye avec google
A+
Revenir en haut Aller en bas
Invité
Invité




fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyDim 10 Avr 2011 - 11:43

Je ne comprend pas trop bien.
J'ai téléchargé de Google un fichier pour voir.
Qu'est-ce que Google pourrait dire sur MIDI et Panoramic, vu que c'est Panoramic qui almente. Les explications ne viendront pas de là
a+
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyDim 10 Avr 2011 - 11:52

Salut
je pensais que tu voulais des infos sur les fichiers Midi donc de la ma démarche pour google et wikipedia
Revenir en haut Aller en bas
Invité
Invité




fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyDim 10 Avr 2011 - 12:07

Bonjour,
De toute façon cela n'a pas une grande importance. Je voulais tester le remplacement d'un objet timer (la curiosité), par une musique midi. Mais cela ne marche pas bien.
Code:
error_french
label picture1,picture2,picture3,picture4,blanc,teste ,mid_tmer
font_size 0,12
dim a
dim f(10,2)
data 60 ,4,62,4,64,6,65,6,67,6

for a=1 to 5
  read f(a,1)
  read f(a,2)
next a


picture 1:left 1,10  :top 1, 10 :width 1,100:height 1,100 : color 1,255,255,0
edit  10:left 10,120:top 10,10 :text 10,"0,0"            : on_change 10,picture1

picture 2:left 2,10  :top 2, 120:width 2,100:height 2,100 : color 2,0,255,0
edit  20:left 20,120:top 20,120:text 20,"0,0"            : on_change 20,picture2

picture 3:left 3,10  :top 3, 230:width 3,100:height 3,100 : color 3,255,0,0
edit  30:left 30,120:top 30,230:text 30,"0,0"            : on_change 30,picture3

picture 4:left 4,10  :top 4, 340:width 4,100:height 4,100 : color 4,0,0,255
edit  40:left 40,120:top 40,340:text 40,"0,0"  :font_color 40,255,255,255
                                                          : on_change 40,picture4

midi_on
 a=1
 gosub mid_tmer
end
' ============================================

mid_tmer:

repeat
  gosub teste
  midi_play f(a,1),f(a,2)
  a=a+1:if a=6 then a=1
until scancode=27
midi_off
return

teste:
  text 10,str$(mouse_x_position(1))+","+ str$(mouse_y_position(1))
  text 20,str$(mouse_x_position(2))+","+ str$(mouse_y_position(2))
  text 30,str$(mouse_x_position(3))+","+ str$(mouse_y_position(3))
  text 40,str$(mouse_x_position(4))+","+ str$(mouse_y_position(4))
return
' ============================================
blanc:
 color 10,255,255,255 : color 20,255,255,255
 color 30,255,255,255 : color 40,255,255,255
return

picture1:
midi_off
  gosub blanc
  color 10,255,255,0
  midi_on      :return
picture2:
midi_off
  gosub blanc
  color 20,0,255,0
  midi_on      :return
picture3:
midi_off
  gosub blanc
  color 30,255,0,0
  midi_on    :return
picture4:
  midi_off
  gosub blanc
  color 40,0,0,255
  midi_on :return

J'ai du mal à comprendre, alors que je mets MIDI_OFF à chaque bout de code, pourquoi, la totalité du code n'est pas fait.
Si ils y en a intéressés par le procédé, peut-être trouveront-ils une solution
les notes de musique sont celles de l'exemple de Jack, puisque je ne sais pas me servir d'un fichier.
@+
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyDim 10 Avr 2011 - 15:25

Ici tu trouvera les informations sur la norme MIDI

http://claude.borne.perso.sfr.fr/indexmidia.html

A+
Revenir en haut Aller en bas
Invité
Invité




fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyLun 11 Avr 2011 - 16:24

Je te remercie.
Seulement ce sujet n'est pas pour moi. Je voulais juste vérifier quelque chose.

J'ai laissé le temps passer en pensant que l'un d'entre vous allez réagir. Que Nenni!
Bizarre. C'est pourtant vous qui faite des jeux, et qui en avez la passion.
C'est en voyant le jeux de Klaus et de Nicola que je me suis posé des questions concernant le son.
La réflection que j'avais au départ était de savoir comment le son pouvait jouer en parallèle avec un programme. En dehors de sound, avec la fonction MIDI_PLAY, dans un jeu, théoriquement on devrait pouvoir suivre un code d'animation et jouer de la musique.
Alors comment cela marche?
Si vous exécutez le programme de teste que j'ai mis, pouvez-vous m'expliquer pourquoi ça ne marche pas?
Le programme est au départ celui que j'ai mis ici
Je l'ai modifié et fais deux essais. le premier en mettant la boucle repeat/until avant le end, et le second en faisant un démarrage à partir du clic sur la forme, pour avoir un mode évènementiel. Le résultat est que cela ne marche pas.

Normalement à l'exécution du programme, en dehors du son, il n'y a que la procédure teste qui fonctionne. la procédure blanc et picture... n'interviennent pas.
Alors comment faites-vous? Ne pensez-vous pas qu'il y a un bug?

Je vous laisse avec ce problème, et normalement n'interviens plus, vu que cela doit être celui des connaissances de ce sujet.

J'ai eu un autre problème avec ce programme. J'avais une erreur signalée incompréhensible:
<List Index out of bounds(105)>. J'ai pensais au départ que cela venait du loader qui fait beaucoup de choses, et qui possède des LIST et des MEMOs. Il en était rien.
Il s'agit d'une erreur de frappe: j'avais écrit: UNTIL_SCANCODE=27 en mettant un trait de soulignement entre until et scancode par mégarde.

de Lao Zu (existence contesté au 6è siècle av.J.-C:
Citation :
<< En faisant que ton âme spirituelle et âme corporelle embrassent l’unité, peux-tu ne jamais quitter ton unité ? En concentrant ton énergie et en atteignant à la souplesse, peux-tu devenir un nouveau-né ?>>
Punition pour ne pas répondre aux problèmes! Very Happy
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyLun 11 Avr 2011 - 17:10

Citation :
Si je prends par exemple une partie de fichier midi téléchargé, j'ai ceci:
Citation:

77,84,104,100,0,0,0,6,0,0,0,1,0,192,77,84,114,107,0,0,36,219,0,255,3,
16,66,83,69,81,32,48,32,32,32,32,32,32,32,32,32,32,0,255,89,2,0,0,0,
176,100,0,0,101,0,0,6,2,0,224,0,64,0,176,0,0,0,32,0,0,192,71,0,176,7,
71,0,100,0,0,101,0,0,6,2,0,225,0,64,0,177,0,0,0,32,0,0,193,75,0

Or si je regarde ce qui est dit pour MIDI:
Citation:
Cette commande MIDI_PLAY N,T joue la note N de type T sur la sortie MIDI.
N doit-être compris ente 21 et 108. N est la fréquence.
T est la durée de la note, de 0 à 11
MIDI_VOLUME V: V doit être compris entre 1 et 127.


En regardant chaque octet d'un fichier midi, on voit bien qu'il n'y a pas de correspondance. On a des 0 et des nombres dépassant 127.

Je pense que tu confonds:
- un fichier MIDI,
- des notes qu'on joue sur la carte son, transformée en instrument MIDI.

MIDI_PLAY est fait pour jouer une note d'une certaine durée sur la carte son de ton PC.
Un fichier MIDI est codé de manière plus complexe qu'une succession de note/durée.

Un fichier MIDI contient un en-tête (quatre octets MThd), puis différentes pistes (identifiées par les octets MTrk), puis les données des pistes.
Citation :
Exemple de structure d'un fichier MIDI (décodé en texte clair):

MThd
1 4 96
0 TimeSig 4/4 24 8
0 Tempo 500000
MTrk
0 ProgramChange canal=1 program=5
192 NoteOn canal=1 note=76 velocity=32
384 NoteOff canal=1 note=76 velocity=0
384 Meta TrkEnd
TrkEnd
MTrk
0 ProgramChange canal=2 program=46
96 NoteOn canal=2 note=67 velocity=64
384 NoteOff canal=2 note=67 velocity=0
384 Meta TrkEnd
TrkEnd
MTrk
0 ProgramChange canal=3 program=70
0 NoteOn canal=3 note=48 velocity=96
0 NoteOn canal=3 note=60 velocity=96
384 NoteOff canal=3 note=48 velocity=0
384 NoteOff canal=3 note=60 velocity=0
384 Meta TrkEnd
TrkEnd

Je vais regarder ton exemple dès que j'ai un peu de temps.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Invité
Invité




fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyLun 11 Avr 2011 - 17:46

Merci pour l'intervention rapide. Cela concerne surtout ceux qui font des jeux.
A ce jour j'en ai pas fait un. Le dernier en date est de 1982: un flipper sur un commodore Pet 2001 sur un écran en mode texte. Je ne me souviens pas en avoir fait d'autre. A si des essais de dessins animés sur Oric1
Revenir en haut Aller en bas
Invité
Invité




fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyMar 12 Avr 2011 - 6:04

Je me suis demandé si le problème ne venait pas de la fonction ON_CHANGE de EDIT.
J'ai donc fait l'essai avec un objet TIMER qui ne teste que les coordonnées sur le picture jaune.
Tant qu'on balade la souris sur le picture jaune, les coordonnées s'affichent. En cliquant sur FORM 0, on lance la musisque midi, et là les branchements du timer et ceux des edit ne fonctionnent pas.
Code:
label picture1,picture2,picture3,picture4,blanc,teste ,mid_tmer ,branche
font_size 0,12
dim a  , b  ,a$
 dim f(10,2)
data 60 ,4,62,4,64,6,65,6,67,6

for a=1 to 5
  read f(a,1)
  read f(a,2)
next a


picture 1:left 1,10  :top 1, 10 :width 1,100:height 1,100 : color 1,255,255,0
edit  10:left 10,120:top 10,10 :text 10,"0,0"            : on_change 10,picture1

picture 2:left 2,10  :top 2, 120:width 2,100:height 2,100 : color 2,0,255,0
edit  20:left 20,120:top 20,120:text 20,"0,0"            : on_change 20,picture2

picture 3:left 3,10  :top 3, 230:width 3,100:height 3,100 : color 3,255,0,0
edit  30:left 30,120:top 30,230:text 30,"0,0"            : on_change 30,picture3

picture 4:left 4,10  :top 4, 340:width 4,100:height 4,100 : color 4,0,0,255
edit  40:left 40,120:top 40,340:text 40,"0,0"  :font_color 40,255,255,255
                                                          : on_change 40,picture4
edit  14:left 14,150:top 14,50:color 14,255,255,204
                                                         
on_click 0,  mid_tmer
 midi_on
a$="en bougeant la souris sur le picture du haut, les paramètres sont affichés sur l'edit en écart rajouté avec l'objet TIMER"+chr$(13)
a$=a$+"en cliquant sur la forme 0, on lance le teste qui normalement doit montrer les coordonnées dans les edits"
message a$
 a=1
 timer 15:timer_interval 15,100:on_timer 15,branche
end
' ============================================
branche:
text 14,str$(mouse_x_position(1))+","+ str$(mouse_y_position(1))
return

mid_tmer:
repeat
  b=0
  gosub teste
  midi_play f(a,1),f(a,2):a=a+1:if a=6 then a=1
  if b=0 then gosub blanc
until scancode=27
midi_off
return


teste:
  text 10,str$(mouse_x_position(1))+","+ str$(mouse_y_position(1))
  text 20,str$(mouse_x_position(2))+","+ str$(mouse_y_position(2))
  text 30,str$(mouse_x_position(3))+","+ str$(mouse_y_position(3))
  text 40,str$(mouse_x_position(4))+","+ str$(mouse_y_position(4))
 return
' ============================================
blanc:
 color 10,255,255,255 : color 20,255,255,255
 color 30,255,255,255 : color 40,255,255,255:b=1  :return
picture1:
  gosub blanc:color 10,255,255,0            :return
picture2:
  gosub blanc:color 20,0,255,0              :return
picture3:
  gosub blanc:color 30,255,0,0              :return
picture4:
  gosub blanc:color 40,0,0,255              :return
 
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyMar 12 Avr 2011 - 8:23

Bonjour cosmos,
Je ne pourrais pas vraiment t'aider concernant la norme midi, la seule chose que je peut te dire c'est que pour moi, midi signifie : c'est l'heure d'aller becqueter ! Wink

Par contre dans ton prog tu pourrais faire ceci :

Code:
label FinProg, ....
timer 300:timer_off 300:timer_interval 300,100
on_timer 300,mid_timer
on_close 0,FinProg
...
timer_on 300
END

mid_timer:
  timer_off 300
  b=0
  gosub teste
  midi_play f(a,1),f(a,2):a=a+1:if a=6 then a=1
  if b=0 then gosub blanc
  timer_on 300
 return

FinProg:
  midi_off
  timer_off_all
terminate

Avec cette modif, chez moi ça fonctionne très bien... (la fermeture du form 0 n'est plus bloqué par le repeat-until).

Le problème de mise à jour du text 14 viendrait peut être qu'il n'y a qu'un seul processus qui tourne. La fonction midi_play doit être bloquante.
Je ne sais pas comment sont réellement gérés les timers sous Panoramic, mais je suppose que pendant l'execution de midi_play, les autres timers (dans ce cas le 15) doit être en attente...
Peut être que pour contourner ce problème, il faudrait en fait lancer 2 processus (un pour la musique et l'autre pour le jeu). Et faire communiquer les processus entre-eux avec par exemple la DLL de Klaus...
voir ici:
https://panoramic.1fr1.net/t1012-communication-entre-programmes-panoramic

D.J Peters avait utilisé une autre astuce :
https://panoramic.1fr1.net/t1033-playsoundonce-playsoundlooped-stopsound
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyMar 12 Avr 2011 - 9:48

Bonjour Nardo.
J'ai pas pensé à préciser qu'il fallait cliquer sur escarpe pour arrêter le teste, ce qui rendre la main. La fermeture n'était pas mon problème.

En fait comme je l'ai dit, j'avais la curiosité de savoir si on pouvait mettre une musique sur un jeu en continu, et voir comment cela se comportait avait les outils Panoramic. Et c'est là que je ne comprend pas, vu que les testes ne fonctionnent pas. Autrement en dehors de la curiosité, je n'ai pas l'utilité de ces fonctions.

Je trouve seulement pas normal que les branchements ne se fassent pas, vu que dans la boucle de "play midi", il y a un gosub teste, et que celà soit cour-circuité par MIDI_PLAY.

Dans d'autre basic, il y a parfois deux modes: synchrone et asynchrone. Comme Panoramic a pour principal fonction de faire des jeux, Jack ayant à peu près dit: "je suis certain que ce qu'il en restera, ce seront les jeux" (je cite de mémoire), cela me surprend que ça ne marche pas. Maintenant c'est à vous de poser des questions, ou de dire que cela vous parait normal. (personnellement ce n'est pas mon cas).
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi EmptyMar 12 Avr 2011 - 10:23

En fait si tu appliques les modifs que j'ai mis, cela fonctionne...
J'ai bien vu que la touche Escape permettait de sortie, mais je trouve plus propre de fermer l'applic avec le bouton standard de fermeture de fenêtre.

Les branchements se font mais tout est ralenti par l'execution de midi_play qui est bloquant.
Je ne vois que la solution du lancement d'un autre processus pour palier à ce problème...


Revenir en haut Aller en bas
http://nardo26.lescigales.org
Contenu sponsorisé





fichier midi Empty
MessageSujet: Re: fichier midi   fichier midi Empty

Revenir en haut Aller en bas
 
fichier midi
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» le processus ne peut pas accéder au fichier car ce fichier..
» Comment reconvertir un fichier exe Panoramic en fichier BAS
» Convertir un fichier BAS panoramic en fichier EXE
» Fréquence MIDI
» midi karaoke

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: