salut a tous voila j'ai un probleme j'ai besoin de charger un fichier midi pour un petit jeu mais je n'arrive pas a trouver une librairie ou un post qui parle de sa.
j'aimerai savoir si quelqun pourais m'aider merci
fichier midi
je crois que le mieux serait d'utiliser cet utilitaire de conversion de fichier midi vers xm http://www.un4seen.com/mid2xm.html pour pouvoir ensuite le lire facilement avec Purebasic 

salut merci pour ta reponsse j'ai pas eu le temp de repondre avant j'ai essayer avec ton logiciel pour convertir et j'ai convertie met muziquz mais le probleme c'est que je charge le fichier et quand je veut le lire sa marche pas pure plante il me demande d'envoyer des info
voila le fichier convertie et le fichier originale
http://3dgamecreator.site.voila.fr/1TOWOW.XM
http://3dgamecreator.site.voila.fr/1TOWOW.mid
voila si quelqun peut m'aider j'ai bien mit la dll midas11.dll
voila le fichier convertie et le fichier originale
http://3dgamecreator.site.voila.fr/1TOWOW.XM
http://3dgamecreator.site.voila.fr/1TOWOW.mid
voila si quelqun peut m'aider j'ai bien mit la dll midas11.dll
Convertir un midi en xm n'est pas vraiement la solution que j'aurais retenu, surtout qu'il faut ensuite trouver les samples adéquates et corriger à la main les nombreux bugs de conversion, ce qui est le cas pour ton fichier fasttracker 2. (aucune note, aucun sample, ordre des patterns corrompu)
Pour lire un midi, tu peux soit utiliser les mcisendstring soit une lib du genre fmod/fmodex.
Pour lire un midi, tu peux soit utiliser les mcisendstring soit une lib du genre fmod/fmodex.
"Qui baise trop bouffe un poil." P. Desproges
Re: fichier midi
tiens cadeau de ma listing-tequebebou007 a écrit :salut a tous voila j'ai un probleme j'ai besoin de charger un fichier midi pour un petit jeu mais je n'arrive pas a trouver une librairie ou un post qui parle de sa.
j'aimerai savoir si quelqun pourais m'aider merci

Code : Tout sélectionner
; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=1076&highlight=
; Author:
; Date: 20. May 2003
Declare LoadMidi(Nb,file.s)
Declare PlayMidi(Nb)
Declare PlayMidiFrom(Nb,Start,fin)
Declare PauseMidi(Nb)
Declare ResumeMidi(Nb)
Declare StopMidi(Nb)
Declare FreeMidi(Nb)
Declare SetMidiTempo(Nb,Tempo)
Declare SetMidivolume(Nb,volume)
CallDebugger
r=LoadMidi(1,"5.mid") ; charge le fichier nommé "5.mid"
Debug r
r=SetMidivolume(1,255)
Debug r
r=PlayMidi(1) ; le joue
Debug r
Delay(50000) ; attend 10 secondes
r=StopMidi(1) ; stop la lecture
Debug r
r=FreeMidi(1) ; libere la ram
Debug r
Procedure LoadMidi(Nb,file.s)
i=MCISendString_("open "+file.s+" type sequencer alias mid"+Str(Nb),0,0,0)
ProcedureReturn i
EndProcedure
Procedure PlayMidi(Nb)
i=MCISendString_("play mid"+Str(Nb),0,0,0)
ProcedureReturn i
EndProcedure
Procedure PlayMidiFrom(Nb,Start,fin)
i=MCISendString_("play mid"+Str(Nb)+" from "+Str(Start)+" to "+Str(fin),0,0,0)
ProcedureReturn i
EndProcedure
Procedure PauseMidi(Nb)
i=MCISendString_("pause mid"+Str(Nb),0,0,0)
ProcedureReturn i
EndProcedure
Procedure ResumeMidi(Nb)
i=MCISendString_("resume mid"+Str(Nb),0,0,0)
ProcedureReturn i
EndProcedure
Procedure StopMidi(Nb)
i=MCISendString_("stop mid"+Str(Nb),0,0,0)
ProcedureReturn i
EndProcedure
Procedure FreeMidi(Nb)
i=MCISendString_("close mid"+Str(Nb),0,0,0)
ProcedureReturn i
EndProcedure
Procedure SetMidiTempo(Nb,Tempo)
i=MCISendString_("set mid"+Str(Nb)+" tempo "+Str(Tempo),0,0,0)
ProcedureReturn i
EndProcedure
Procedure SetMidivolume(Nb,volume)
i=MCISendString_("set volume"+Str(Nb)+" volume "+Str(volume),0,0,0)
ProcedureReturn i
EndProcedure
; ExecutableFormat=Windows
; EOF