Page 1 sur 1

fichier midi

Publié : dim. 28/mai/2006 22:27
par bebou007
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

Publié : dim. 28/mai/2006 22:39
par flaith
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 :D

Publié : sam. 03/juin/2006 10:33
par bebou007
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

Publié : dim. 04/juin/2006 17:05
par KarLKoX
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.

Re: fichier midi

Publié : dim. 04/juin/2006 21:25
par Backup
bebou007 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
tiens cadeau de ma listing-teque :D

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