Looking for MIDI-Library

Everything else that doesn't fall into one of the other PB categories.
Animal
New User
New User
Posts: 6
Joined: Sat Apr 03, 2010 3:41 pm

Looking for MIDI-Library

Post by Animal »

Im looking for a PureBasic Midi-Library to control my synthesizer. Any hints?

Config: PB 4.50beta2 and iMac 10.5.8 Intel
PureBasic 4.50 beta2 (Mac OS X - Intel)
Computer: iMac (24", Dual Core Intel, 3GB RAM, 300 GB HD, DVD) mit Mac OS X Intel 10.5.8 (Leopard)
Niffo
Enthusiast
Enthusiast
Posts: 504
Joined: Tue Jan 31, 2006 9:43 am
Location: France

Re: Looking for MIDI-Library

Post by Niffo »

+1
Niffo
User avatar
dobro
Enthusiast
Enthusiast
Posts: 766
Joined: Sun Oct 31, 2004 10:54 am
Location: France
Contact:

Re: Looking for MIDI-Library

Post by dobro »

my lib ! :)

http://michel.dobro.free.fr/download.php?view.18

sample : Melodie and chords ! (with my lib "midi_lib")




; ***********************************************************************************************************

Enumeration
                 #Acoustic_Grand_Piano
                 #Bright_Acoustic_Piano
                 #Electric_Grand_Piano
                 #Honky_tonk_Piano
                 #Electric_Piano_1
                 #Electric_Piano_2
                 #Harpsichord
                 #Clavinette
                 #celesta
                 #glockenspiel
                 #music_box
                 #vibraphone
                 #marimba
                 #xylophone
                 #Tubular_Bells
                 #dulcimer
                 #Drawbar_Organ
                 #Percussive_Organ
                 #rock_organ
                 #church_organ
                 #reed_organ
                 #Accordion
                 #harmonica
                 #Tango_Accordion
                 #Acoustic_Guitar_nylon
                 #Acoustic_Guitar_steel
                 #Electric_Guitar_jazz
                 #Electric_Guitar_clean
                 #Electric_Guitar_muted
                 #Overdriven_Guitar
                 #Distortion_Guitar
                 #Guitar_harmonics
                 #Acoustic_bass
                 #Electric_Bass_finger
                 #Electric_Bass_pick
                 #fretless_bass
                 #Slap_bass_1
                 #Slap_bass_2
                 #Synth_bass_1
                 #Synth_bass_2
                 #violin
                 #viola
                 #cello
                 #Contrabass
                 #Tremolo_Strings
                 #Pizzicato_Strings
                 #Orchestral_Harp
                 #timpani
                 #String_Ensemble_1
                 #String_Ensemble_2
                 #SynthStrings_1
                 #SynthStrings_2
                 #choir_Aahs
                 #voice_Oohs
                 #Synth_voice
                 #orchestra_hit
                 #Trumpet
                 #trombone
                 #tuba
                 #muted_Trumpet
                 #french_horn
                 #Brass_Section
                 #SynthBrass_1
                 #SynthBrass_2
                 #Soprano_Sax
                 #Alto_Sax
                 #Tenor_Sax
                 #Baritone_Sax
                 #oboe
                 #english_horn
                 #Bassoon
                 #Clarinet
                 #piccolo
                 #flute
                 #recorder
                 #Pan_Flute ;66
                 #blown_bottle
                 #shakuhachi
                 #whistle
                 #ocarina ;70
                 #Lead_1_square
                 #Lead_2_sawtooth
                 #Lead_3_calliope
                 #Lead_4_chiff
                 #Lead_5_charang
                 #Lead_6_voice
                 #Lead_7_fifths
                 #Lead_8_bass_Lead
                 #Pad_1_newage
                 #Pad_2_warm
                 #Pad_3_polysynth
                 #Pad_4_choir
                 #Pad_5_bowed
                 #Pad_6_metallic
                 #Pad_7_halo
                 #Pad_8_sweep
                 #FX_1_rain
                 #FX_2_soundtrack ;98
                 #FX_3_crystal
                #FX_4_atmosphere ;100
                #FX_5_brightnes ;101
                #FX_6_goblins ;102
                 #FX_7_echoes
                 #FX_8_scifi
                 #sitar
                 #banjo ;106
                 #Shamisens
                 #koto
                 #Kalimba
                 #bag_pipe
                 #fiddle
                 #shanai
                 #tinkle_bell
                 #agogo
                 #steel_drums
                 #Wood_block
                 #taiko_Drum
                 #Melodic_Tom ; 118
                 #Synth_Drumer
                 #Reverse_Cymbal ;120
                 #Guitar_Fret_noise ;121
                 #breath_noise ;122
                 #seashore ;123
                 #bird_Tweet ;124
                 #Telephone_Ring ;125
                 #Helicopt ;126
                 #applause ;127
                 #Gunshot ;128
EndEnumeration
Enumeration 35
         #Acoustic_Bass_Drum
         #Bass_Drum_1
         #Side_Stick
         #Acoustic_Snare
         #Hand_Clap
         #Electric_Snare
         #Low_Floor_Tom
         #Closed_Hi_Hat
         #High_Floor_Tom
         #Pedal_Hi_Hat
         #Low_Tom
         #Open_Hi_Hat
         #Low_Mid_Tom
         #Hi_Mid_Tom
         #Crash_Cymbal_1
         #High_Tom
         #Ride_Cymbal_1
         #Chinese_Cymbal
         #Ride_Bell
         #Tambourine
         #Splash_Cymbal
         #Cowbell
         #Crash_Cymbal_2
         #Vibraslap
         #Ride_Cymbal_2
         #Hi_Bongo
         #Low_Bongo
         #Mute_Hi_Conga
         #Open_Hi_Conga
         #Low_Conga
         #High_Timbale
         #Low_Timbale
         #High_Agogo
         #Low_Agogo
         #Cabasa
         #Maracas
         #Short_Whistle
         #Long_Whistle
         #Short_Guiro
         #Long_Guiro
         #Claves
         #Hi_Wood_Block
         #Low_Wood_Block
         #Mute_Cuica
         #Open_Cuica
         #Mute_Triangle
         #Open_Triangle
EndEnumeration

; ******** initialisation obligatoire ***********

MIDIOpen() ; ouvre le midi

Charge_Instrument_accord(0, #Acoustic_Grand_Piano ) : #piano =0 ; defini le canal, et l'instrument utilisé

Charge_Instrument_accord(2, #String_Ensemble_1 ) : #piano2 =2 ; defini le canal, et l'instrument utilisé
Charge_Instrument_accord(3, #applause ) : #apl =3 ; defini le canal, et l'instrument utilisé
Charge_Instrument_melodie(1, #voice_Oohs ): #voix =1

vitesse=160
; *******************************************
; the aphrodites child (Rain and Tears)
; ********************************************

; pour qu'un accords sonne , il faut le faire suivre soit d'une note , soit d'une attente !


For i=1 To 2
        
    Midi_play_chord( #piano , "c_maj" , "noire" ,4,0,127,127,vitesse) ;
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
            Midi_play( #voix , "e" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "C" , "blanche" ,6,127,127,vitesse)
        Midi_batterie( #Pedal_Hi_Hat , "" ,127,127,vitesse)
        
        
        Midi_play_chord( #piano , "g_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "g" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "d" , "blanche" ,5,127,127,vitesse)
    
        
        Midi_play_chord( #piano , "a_min" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "c" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "a" , "blanche" ,6,127,127,vitesse)
        
        
        Midi_play_chord( #piano , "e_min" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "E" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "e" , "blanche" ,5,127,127,vitesse)
        
        Midi_play_chord( #piano , "f_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "c" , "blanche" ,5,127,127,vitesse)
        Midi_play( #voix , "a" , "blanche" ,5,127,127,vitesse)
        
        
        Midi_play_chord( #piano , "c_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "c" , "blanche" ,5,127,127,vitesse)
        Midi_play( #voix , "e" , "blanche" ,4,127,127,vitesse)
            
        Midi_play_chord( #piano , "c_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)
        Midi_play( #voix , "f" , "noire" ,5,127,127,vitesse)
            
        Midi_play_chord( #piano , "c_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)
        Midi_play( #voix , "f" , "noire" ,5,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)

        
        Midi_play_chord( #piano , "g_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "g" , "croche" ,5,127,127,vitesse)
        Midi_play( #voix , "f" , "croche" ,5,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)
    
        
        Midi_play_chord( #piano , "g_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)
        Midi_play( #voix , "d" , "blanche_p" ,5,127,127,vitesse)
        
         ; avec arpeges : o)
        Midi_play_chord( #piano2 , "c_maj" , "blanche" ,5,1,127,127,vitesse) ;C
        
        Midi_play( #voix , "e" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "C" , "blanche" ,6,127,127,vitesse)
        
        Midi_play_chord( #piano2 , "g_maj" , "blanche" ,5,1,127,127,vitesse)
        Midi_play( #voix , "g" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "d" , "blanche" ,5,127,127,vitesse)
        
        Midi_play_chord( #piano2 , "a_min" , "blanche" ,5,1,127,127,vitesse)
        Midi_play( #voix , "c" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "a" , "blanche" ,6,127,127,vitesse)
        
        Midi_play_chord( #piano2 , "e_min" , "blanche" ,5,1,127,127,vitesse)
        Midi_play( #voix , "E" , "blanche" ,6,127,127,vitesse)
        Midi_play( #voix , "e" , "blanche" ,5,127,127,vitesse)
        
        Midi_play_chord( #piano2 , "f_maj" , "blanche" ,5,1,127,127,vitesse)
        Midi_play( #voix , "c" , "blanche" ,5,127,127,vitesse)
        Midi_play( #voix , "a" , "blanche" ,5,127,127,vitesse)
        
        
        Midi_play_chord( #piano2 , "c_maj" , "blanche" ,5,1,127,127,vitesse)
        Midi_play( #voix , "c" , "blanche" ,5,127,127,vitesse)
        Midi_play( #voix , "e" , "blanche" ,4,127,127,vitesse)
                
        Midi_play_chord( #piano2 , "c_maj" , "noire" ,4,0,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)
        Midi_play( #voix , "f" , "noire" ,5,127,127,vitesse)
            Midi_stop_chord( #piano2 , "c_maj" ,4)
        
        Midi_play_chord( #piano2 , "c_maj" , "noire" ,4,0,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)
        Midi_play( #voix , "f" , "noire" ,5,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)
        Midi_stop_chord( #piano2 , "c_maj" ,4)
        
        Midi_play_chord( #piano2 , "g_maj" , "noire" ,4,0,127,127,vitesse)
        Midi_play( #voix , "g" , "croche" ,5,127,127,vitesse)
        Midi_play( #voix , "f" , "croche" ,5,127,127,vitesse)
        Midi_play( #voix , "e" , "noire" ,5,127,127,vitesse)
        Midi_stop_chord( #piano2 , "g_maj" ,4)
        
        Midi_play_chord( #piano2 , "g_maj" , "blanche" ,4,0,127,127,vitesse)
        Midi_play( #voix , "d" , "blanche" ,5,127,127,vitesse)
    Midi_stop_chord( #piano2 , "g_maj" ,4)
Next i
Midi_play( #apl , "c" , "ronde" ,5,127,127,vitesse)
delay (Midi_tempo(vitesse, "ronde" ))









------------------------------------------------------------------------------
For play chord


    Midi_play_chord( #piano , "c_maj" , "noire" ,4,0,127,127,vitesse) ;



Midi_play_chord(instrument general-midi,name_chord$,time$,octave,arpegio,velocitydown ,velocityup,speed)

name_chord$: "c_maj" or "c_min" c#_maj" or "c#_min" (c,d,e,f,g,a)
time$:"ronde","blanche","noire","croche","double_croche","triple_croche","quadruple_croche"
velocitydown/up (0 to 127)
Speed is a speed of total music (60,120,150...etc)
--------------------------------------------------------------------------------------
for play note


Midi_play( #voix , "e" , "blanche" ,6,127,127,vitesse)


midi_play(#instrument,name_note$,time$,octave,velocitydown,velocityup,speed)
name_note$ :"c"/"c#"/"d"/"d#"/"e"/"f"/"f#"/"g"/"g#"/"a"/"a#"/"b"
time$::ronde","blanche","noire","croche","double_croche","triple_croche","quadruple_croche"
octave (0 to 6)
velocitydown/up (0 to 127)
Speed is a speed of total music (60,120,150...etc)
--------------------------------------------------------------------------------------
for Drummer


Midi_batterie( #Acoustic_Bass_Drum , "" ,127,127,vitesse)


midi_batterie (name_of_element_of_drum,time$,velocitydown,velocityup,speed)

time$::ronde","blanche","noire","croche","double_croche","triple_croche","quadruple_croche"
velocitydown/up (0 to 127)

Speed is a speed of total music (60,120,150...etc)
--------------------------------------------------------------------------------------



my library also contains functions
to read files midifile
and mp3
;)
Last edited by dobro on Mon May 03, 2010 6:26 pm, edited 1 time in total.
Image
Windows 98/7/10 - PB 5.42
■ sites : http://michel.dobro.free.fr/
User avatar
dobro
Enthusiast
Enthusiast
Posts: 766
Joined: Sun Oct 31, 2004 10:54 am
Location: France
Contact:

Re: Looking for MIDI-Library

Post by dobro »

and an Mp3 player with my lib :)


Declare WindowCallback( windowid ,message,wParam,lParam)
Declare OpenWindow_Window_0()

Enumeration
         #Window_0
EndEnumeration
Enumeration
         #Button_play
         #Button_pause
         #Button_stop
         #TrackBar
         #Titre
         #Button_charge
         #TrackBar_volume
EndEnumeration
Enumeration
         #Font_Titre
EndEnumeration
Global pause,volume,pos,play,taille,change_position,track




OpenWindow_Window_0()

; ******************** Boucle principale ***********************
Repeat
        Event= waitwindowevent (10)
         Select Event
                        
                         ;Case #WM_LBUTTONUP ; on a relaché le bouton gauche de la souris
                        
                        
                 Case #PB_Event_Gadget
                        event_gadget= eventgadget ()
                         Select event_gadget
                                 Case #Button_play
                                        
                                         If track=1 ; on a touché au trackbar de position
                                                track=0
                                                mp3_Play_file_segment(change_position,taille) ; on lance la lecture a la position recuperé plus bas
                                         Else ; c'est une lecture normale
                                                 If pause=1 ; on a fait une pause
                                                        mp3_Resume_file() ; on relance la lecture apres pause
                                                        pause=0
                                                 EndIf
                                                
                                                mp3_Play_file()
                                                mp3_Set_volume_file(volume)
                                         EndIf
                                        
                                        play=1
                                        
                                 Case #Button_pause
                                        
                                         If pause=0: pause=1: Else :pause=0: EndIf ; bouton poussoir
                                         If pause=1
                                                mp3_Pause_file() ; on met en pause
                                         Else
                                                mp3_Play_file()
                                         EndIf
                                        
                                 Case #Button_stop
                                        
                                        mp3_Stop_file() ; on stop la lecture
                                        mp3_Free()
                                        
                                 Case #TrackBar
                                        track=1 :play=0
                                        change_position= getgadgetstate ( #TrackBar ) ; recup la position du trackbar
                                        mp3_Stop_file() ; stop la musique
                                 Case #Titre
                                 Case #Button_charge
                                        
                                        mp3_Stop_file() ; on stop une lecture precedente (si a lieu)
                                        mp3_Free() ; libere la memoire
                                        
                                        File.s= openfilerequester ( "charger un fichier midifile" , "c:\" , "*.mp3" ,1)
                                        
                                        mp3_load_file(File.s) ; noms de fichier
                                        
                                        taille=mp3_Size () ; la taille du fichier en milliseconde
                                         setgadgetattribute ( #TrackBar , #PB_TrackBar_Maximum ,taille)
                                        
                                 Case #TrackBar_volume
                                        
                                        volume= getgadgetstate ( #TrackBar_volume )
                                        mp3_Set_volume_file(volume)
                         EndSelect
                        
                 Case #PB_Event_CloseWindow
                        
                         Select eventwindow ()
                                 Case #Window_0
                                         closewindow ( #Window_0 )
                                        Break²
                         EndSelect
         EndSelect
         If play=1 ; ça joue
                pos=mp3_position() ; recupe la position de la lecture
                 Debug str (pos)+ " / " + str (taille)
                 setgadgetstate ( #TrackBar ,pos) ; change la position du tracbar
         EndIf
        
        
ForEver
; **********************************************





; ***************** Zone des Procedures *************************************
; *************************************************************************

Procedure OpenWindow_Window_0()
         If openwindow ( #Window_0 , 390, 142, 400, 125, "exemple by Dobro" , #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar )
                 buttongadget ( #Button_play , 15, 45, 55, 35, "play" )
                 buttongadget ( #Button_pause , 75, 45, 55, 35, "pause" )
                 buttongadget ( #Button_stop , 135, 45, 55, 35, "stop" )
                
                 trackbargadget ( #TrackBar , 15, 90, 355, 20, 0,taille, #PB_TrackBar_Ticks )
                 textgadget ( #Titre , 15, 5, 250, 35, "Player MP3" )
                 buttongadget ( #Button_charge , 335, 10, 55, 35, "charge" )
                 trackbargadget ( #TrackBar_volume , 375, 55, 20, 60, 0, 1000, #PB_TrackBar_Ticks|#PB_TrackBar_Vertical )
                 setgadgetstate ( #TrackBar_volume ,1000/2):volume=1000/2
                 setgadgetfont ( #Titre , loadfont ( #Font_Titre , "Comic Sans MS" , 14, 16))
         EndIf
EndProcedure



Image
Windows 98/7/10 - PB 5.42
■ sites : http://michel.dobro.free.fr/
User avatar
dobro
Enthusiast
Enthusiast
Posts: 766
Joined: Sun Oct 31, 2004 10:54 am
Location: France
Contact:

Re: Looking for MIDI-Library

Post by dobro »

and an Midifile player with my lib :D


Declare WindowCallback( windowid ,message,wParam,lParam)
Declare OpenWindow_Window_0()

Enumeration
         #Window_0
EndEnumeration
Enumeration
         #Button_play
         #Button_pause
         #Button_stop
         #TrackBar
         #Titre
         #Button_charge
         #TrackBar_tempo
         #Titre1
         #tempo
EndEnumeration
Enumeration
         #Font_Titre
EndEnumeration
Global pause,tempo,pos,play,taille,change_position,track




OpenWindow_Window_0()

; ******************** Boucle principale ***********************
Repeat
        Event= waitwindowevent (10)
         Select Event
                        
                         ;Case #WM_LBUTTONUP ; on a relaché le bouton gauche de la souris
                        
                        
                 Case #PB_Event_Gadget
                        event_gadget= eventgadget ()
                         Select event_gadget
                                 Case #Button_play
                                        
                                         If track=1 ; on a touché au trackbar de position
                                                track=0
                                                midi_Play_file_segment(change_position,taille) ; on lance la lecture a la position recuperé plus bas
                                         Else ; c'est une lecture normale
                                                 If pause=1 ; on a fait une pause
                                                        midi_Resume_file() ; on relance la lecture apres pause
                                                        pause=0
                                                 EndIf
                                                
                                                midi_Play_file()
                                                midi_Set_Tempo_file(tempo)
                                                
                                         EndIf
                                        
                                        play=1
                                        
                                 Case #Button_pause
                                        
                                         If pause=0: pause=1: Else :pause=0: EndIf ; bouton poussoir
                                         If pause=1
                                                midi_Pause_file() ; on met en pause
                                         Else
                                                midi_Play_file()
                                         EndIf
                                        
                                 Case #Button_stop
                                        
                                        midi_Stop_file() ; on stop la lecture
                                        midi_Free()
                                        
                                 Case #TrackBar
                                        track=1 :play=0
                                        change_position= getgadgetstate ( #TrackBar ) ; recup la position du trackbar
                                        midi_Stop_file() ; stop la musique
                                 Case #Titre
                                 Case #Button_charge
                                        
                                        midi_Stop_file() ; on stop une lecture precedente (si a lieu)
                                        midi_Free() ; libere la memoire
                                        
                                        File.s= openfilerequester ( "charger un fichier midifile" , "c:\" , "*.mid" ,1)
                                        
                                        midi_Load_file(File.s) ; noms de fichier
                                        
                                        taille=midi_Size () ; la taille du fichier en milliseconde
                                         setgadgetattribute ( #TrackBar , #PB_TrackBar_Maximum ,taille)
                                        
                                        tempo=midi_get_Tempo_file() ; recupere le tempo du morceau
                                         Debug "tempo= " + str (tempo)
                                         setgadgettext ( #tempo , str (tempo))
                                        
                                 Case #TrackBar_tempo
                                        
                                        tempo= getgadgetstate ( #TrackBar_tempo )
                                        midi_Set_Tempo_file(tempo)
                                         setgadgettext ( #tempo , str (tempo))
                         EndSelect
                        
                 Case #PB_Event_CloseWindow
                        
                         Select eventwindow ()
                                 Case #Window_0
                                         closewindow ( #Window_0 )
                                         Break
                         EndSelect
         EndSelect
         If play=1 ; ça joue
                pos=midi_position() ; recupe la position de la lecture
                 Debug str (pos)+ " / " + str (taille)
                 setgadgetstate ( #TrackBar ,pos) ; change la position du tracbar
         EndIf
        
        
ForEver
; **********************************************





; ***************** Zone des Procedures *************************************
; *************************************************************************

Procedure OpenWindow_Window_0()
         If openwindow ( #Window_0 , 390, 142, 400, 125, "exemple by Dobro" , #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar )
                 buttongadget ( #Button_play , 15, 45, 55, 35, "play" )
                 buttongadget ( #Button_pause , 75, 45, 55, 35, "pause" )
                 buttongadget ( #Button_stop , 135, 45, 55, 35, "stop" )
                
                 trackbargadget ( #TrackBar , 15, 90, 355, 20, 0,taille, #PB_TrackBar_Ticks )
                 textgadget ( #Titre , 15, 5, 250, 35, "Player Midifile" )
                 textgadget ( #Titre1 , 220, 45, 250, 35, "Tempo :" ): textgadget ( #tempo ,270, 45, 250, 35, "" )
                
                 buttongadget ( #Button_charge , 335, 10, 55, 35, "charge" )
                 trackbargadget ( #TrackBar_tempo , 375, 55, 20, 60, 0, 250, #PB_TrackBar_Ticks|#PB_TrackBar_Vertical )
                 setgadgetstate ( #TrackBar_tempo ,250/2):tempo=250/2
                 setgadgetfont ( #Titre , loadfont ( #Font_Titre , "Comic Sans MS" , 14, 16))
         EndIf
EndProcedure



Image
Windows 98/7/10 - PB 5.42
■ sites : http://michel.dobro.free.fr/
wmorton
User
User
Posts: 81
Joined: Fri Jul 25, 2003 5:39 pm

Re: Looking for MIDI-Library

Post by wmorton »

Hi Dobro,

I can't find your MIDI library at your link - is it still available?

hanks!
User avatar
dobro
Enthusiast
Enthusiast
Posts: 766
Joined: Sun Oct 31, 2004 10:54 am
Location: France
Contact:

Re: Looking for MIDI-Library

Post by dobro »

Image
Windows 98/7/10 - PB 5.42
■ sites : http://michel.dobro.free.fr/
wmorton
User
User
Posts: 81
Joined: Fri Jul 25, 2003 5:39 pm

Re: Looking for MIDI-Library

Post by wmorton »

Brilliant, thank you very much!
User avatar
electrochrisso
Addict
Addict
Posts: 989
Joined: Mon May 14, 2007 2:13 am
Location: Darling River

Re: Looking for MIDI-Library

Post by electrochrisso »

PureBasic! Purely the best 8)
morosh
Enthusiast
Enthusiast
Posts: 329
Joined: Wed Aug 03, 2011 4:52 am
Location: Beirut, Lebanon

Re: Looking for MIDI-Library

Post by morosh »

+1
PureBasic: Surprisingly simple, diabolically powerful
karmacomposer
Enthusiast
Enthusiast
Posts: 113
Joined: Sun Jul 29, 2012 2:51 pm

Re: Looking for MIDI-Library

Post by karmacomposer »

Anyone know where this went. I am looking to create virtual instruments and midi apps with PureBasic. Can this be done?

Mike
User avatar
dobro
Enthusiast
Enthusiast
Posts: 766
Joined: Sun Oct 31, 2004 10:54 am
Location: France
Contact:

Re: Looking for MIDI-Library

Post by dobro »

electrochrisso wrote:Hi dobro, http://michel.dobro.free.fr/download.php?view.18 not working for me. :cry:

ho sorry , it should run now :)
Image
Windows 98/7/10 - PB 5.42
■ sites : http://michel.dobro.free.fr/
User avatar
electrochrisso
Addict
Addict
Posts: 989
Joined: Mon May 14, 2007 2:13 am
Location: Darling River

Re: Looking for MIDI-Library

Post by electrochrisso »

Worked for me now dobro, thanks. :)
PureBasic! Purely the best 8)
karmacomposer
Enthusiast
Enthusiast
Posts: 113
Joined: Sun Jul 29, 2012 2:51 pm

Re: Looking for MIDI-Library

Post by karmacomposer »

Thank you.

Mike
karmacomposer
Enthusiast
Enthusiast
Posts: 113
Joined: Sun Jul 29, 2012 2:51 pm

Re: Looking for MIDI-Library

Post by karmacomposer »

I know you included an installer, but it's in french and I don't speak it. I tried to translate it - still don't get it. What is the installer looking for? If it's looking for the PureBasic folder, I did that and it said, I think, that the installation was terminated.

So, how do I install this lib?

Mike
Post Reply