Page 1 sur 2

MP3/Midi_lib (32 bits only )

Publié : mer. 28/avr./2010 14:37
par Backup
je viens de finir une petite librairie pour Purebasic 4.41

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


cette librairie , permet d'utiliser de façon plus 'clair' le Midi

partant du constat que la majorité des cartes sons , gèrent le Midi
et que j'aime bien sonoriser les applications (ouverture/fermeture des fenêtres etc ...)

je me suis mis en quette de créer quelques fonctions qui permettent la mise en oeuvre du Midi

la doc est fourni , ainsi que l'installateur/désinstallateur

je vais mettre ici quelques exemples :


sonorisation de l'ouverture/fermeture d'une fenetre :


; ******** initialisation obligatoire ***********
Declare son_ouverture()
Declare son_fermeture()

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
MIDIOpen() ; ouvre le midi

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

son_ouverture()

If openwindow (0, 100, 200, 320, 200, "PureBasic Window" , #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget )
        
         Repeat
                Event = waitwindowevent ()
                 If Event = #PB_Event_CloseWindow ; If the user has pressed on the close button
                        Quit = 1
                 EndIf
                
         Until Quit = 1
        
EndIf
son_fermeture()
End ; All the opened windows are closed automatically by PureBasic

Procedure son_ouverture()
        vitesse=250
        
         For i=1 To 2 ; utilisation d'une boucle
                Midi_batterie( #Side_Stick , "double_croche" ,127,127,vitesse)
                Midi_batterie( #Closed_Hi_Hat , "double_croche" ,127,127,vitesse)
         Next i
        Midi_batterie( #Crash_Cymbal_1 , "noire" ,127,127,vitesse)
EndProcedure

Procedure son_fermeture()
        vitesse=250
         For i=1 To 2 ; utilisation d'une boucle
                Midi_batterie( #Closed_Hi_Hat , "double_croche" ,127,127,vitesse)
                Midi_batterie( #Acoustic_Snare , "double_croche" ,127,127,vitesse)
         Next i
        Midi_batterie( #Long_Whistle , "blanche" ,127,127,vitesse)
EndProcedure






exemple d'utilisation basique , avec revue de ce qu'on peut faire


; info le canal 10 est reserve a la batterie
; en fait on part de zero, donc il sagit du canal 9 ici !! : D

; les notes vont de 15 a 108 !!! : D

; pour infos les canaux : Famille d'instruments
; **********************************************
; 1-8 Piano
; 9-16 Percussions chromatiques
; 17-24 Orgues
; 25-32 Guitares
; 33-40 Basses
; 41-48 Cordes
; 49-56 Orchestre
; 57-64 Cuivres
; 65-72 Instruments à anches
; 73-80 flûtes
; 81-88 Synthétiseur solo
; 89-96 Nappes de Synthétiseur
; 97-104 Effets de Synthétiseur
; 105-112 Instruments ethniques
; 113-120 Percussions
; 121-128 Effets sonores
; **********************************************

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
         #blown_bottle
         #shakuhachi
         #whistle
         #ocarina
         #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
         #FX_3_crystal
         #FX_4_atmosphere
         #FX_5_brightnes
         #FX_6_goblins
         #FX_7_echoes
         #FX_8_scifi
         #sitar
         #banjo
         #Shamisens
         #koto
         #Kalimba
         #bag_pipe
         #fiddle
         #shanai
         #tinkle_bell
         #agogo
         #steel_drums
         #Wood_block
         #taiko_Drum
         #Melodic_Tom
         #Synth_Drumer
         #Reverse_Cymbal
         #Guitar_Fret_noise
         #breath_noise
         #seashore
         #bird_Tweet
         #Telephone_Ring
         #Helicopt
         #applause
         #Gunshot
EndEnumeration


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

MIDIOpen() ; ouvre le midi

; *****************************************************************************
Canal_melodie=0
Charge_Instrument_melodie(Canal_melodie, #flute ) ; defini le canal, et l'instrument utilisé pour la mélodie
Canal_accord=1
Charge_Instrument_accord(Canal_accord, #Acoustic_Grand_Piano ) ; defini le canal, et l'instrument utilisé pour des accord

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

vitesse=60

; *******************************************
messagerequester ( "jouons" , "on va jouer 4 noires" )

; ************ voici comment jouer des notes séparé (mélodie)*************************
Midi_play(Canal_melodie, "C" , "noire" ,4,127,127,vitesse) ; joue la note pendant la valeur d'une noire
Midi_play(Canal_melodie, "d" , "noire" ,4,127,127,vitesse) ; soit une par seconde si vitesse=60
Midi_play(Canal_melodie, "e" , "noire" ,4,127,127,vitesse) ; joue la note pendant la valeur d'une noire
Midi_play(Canal_melodie, "f" , "noire" ,4,127,127,vitesse) ; soit une par seconde si vitesse=60
messagerequester ( "jouons" , "on va jouer differentes valeur de temp d'une note" )
Midi_play(Canal_melodie, "C" , "ronde" ,4,127,127,vitesse) ; joue une ronde
Midi_play(Canal_melodie, "d" , "blanche" ,4,127,127,vitesse) ; joue une blanche
Midi_play(Canal_melodie, "e" , "noire" ,4,127,127,vitesse) ; joue une noire (moitié d'une blanche)
Midi_play(Canal_melodie, "f" , "croche" ,4,127,127,vitesse) ; joue une croche (moitié d'une noire)
Midi_play(Canal_melodie, "g" , "double_croche" ,4,127,127,vitesse) ; joue une double croche (moitié d'une croche)
Midi_play(Canal_melodie, "a" , "triple_croche" ,4,127,127,vitesse) ; joue une triple croche (moitié d'une double_croche)
Midi_play(Canal_melodie, "b" , "quadruple_croche" ,4,127,127,vitesse) ; joue une quadruple croche (moitié d'une triple_croche)


; ******************* les accords methode Multi****************************************
; et joue un accord de C (do) en utilisant les note 'multi' c'est la capacité a jouer plusieurs notes en meme temps
; note ce mode permet toutes les fantaisies accords 3 sons,4 sons, et plus
; mais faut gerer l'extinction des notes jouées en respectant l'octave, la note exacte !!
; on utilise pour ça la fonction Midi_stop_Note()
; si un C (do) est joué , il faudra eteindre ce C (do) , sous risque de le voir continuer a jouer
; ce peut etre utile pour les bourdons ... : o)
messagerequester ( "jouons" , "on va jouer un accord de C majeur avec la methode multi" + chr (10)+ "le son du metro parisien : o) " )
Midi_play_multi(Canal_melodie, "G" , "blanche" ,5,127,127,vitesse) ; fondamentale
Midi_play_multi(Canal_melodie, "B" , "blanche" ,5,127,127,vitesse) ; tierce
Midi_play_multi(Canal_melodie, "D" , "blanche" ,5,127,127,vitesse) ; quinte
delay (Midi_tempo(vitesse, "ronde" ) ) ; pendant une ronde
Midi_stop_Note(Canal_melodie, "G" ,5) ; stop son
Midi_stop_Note(Canal_melodie, "B" ,5) ; stop son
Midi_stop_Note(Canal_melodie, "D" ,5) ;stop son
; **********************************************************************************

; ************* OU BIEN *****************************************
; jouer un accord en utilisant la fonction Playchord


octave.b=4
messagerequester ( "jouons" , "on va jouer 2 accord de C majeur et mineur avec ma methode 2 de valeur banche" )
; ********* 2 accords simple de la valeur d'une blanche****************
Midi_play_chord(Canal_accord, "c_maj" , "noire" ,octave.b,0,127,127,vitesse) ;
delay (Midi_tempo(vitesse, "ronde" )) ; petite pause
Midi_play_chord(Canal_accord, "c_min" , "noire" ,octave.b,0,127,127,vitesse) ;
delay (Midi_tempo(vitesse, "ronde" )) ; petite pause
; *********************************************************

; *******************une susccession d'accords Arpegés de differente valeurs de tempo************
;tempo(180) ; tempo 120
vitesse=80
messagerequester ( "jouons" , "on va jouer plusieurs accords de C majeur arpegés valeur d'une ronde octave 4" )
octave.b=4
Midi_play_chord(Canal_accord, "c_maj" , "ronde" ,octave.b,1,127,127,vitesse) ; arpege de ronde
messagerequester ( "jouons" , "on va jouer un accords de C mineure arpegés valeur d'une blanche octave 4" )
Midi_play_chord(Canal_accord, "c_min" , "blanche" ,octave.b,1,127,127,vitesse) ; arpege de blanche
messagerequester ( "jouons" , "on va jouer un accords de C majeur arpegés valeur d'une noire octave 4" )
Midi_play_chord(Canal_accord, "c_maj" , "noire" ,octave.b,1,127,127,vitesse) ; arpege de noire
messagerequester ( "jouons" , "on va jouer un accords de C mineure arpegés valeur d'une croche octave 5" )
octave.b=5
Midi_play_chord(Canal_accord, "c_min" , "croche" ,octave.b,1,127,127,vitesse) ; arpege de croche
messagerequester ( "jouons" , "on va jouer un accords de C majeur arpegés valeur d'une double croche octave 5" )
Midi_play_chord(Canal_accord, "c_maj" , "double_croche" ,octave.b,1,127,127,vitesse) ; arpege double croche
messagerequester ( "jouons" , "on va jouer un accords de C majeur arpegés valeur d'une triple croche octave 3" )
octave.b=3
Midi_play_chord(Canal_accord, "c_maj" , "triple_croche" ,octave.b,1,127,127,vitesse) ; arpege de triple croche
messagerequester ( "jouons" , "on va jouer un accords de C majeur arpegés valeur d'une quadruple croche octave 3" )
Midi_play_chord(Canal_accord, "c_maj" , "quadruple_croche" ,octave.b,1,127,127,vitesse) ; arpege de quadruple_croche
messagerequester ( "jouons" , "on va jouer un accords de C majeur arpegés valeur d'une noire pointé octave 3" )
Midi_play_chord(Canal_accord, "c_maj" , "noire_p" ,octave.b,1,127,127,vitesse) ; arpege de noire pointées
messagerequester ( "jouons" , "on va jouer un accords de C majeur arpegés valeur d'un triolet de noires octave 3" )
Midi_play_chord(Canal_accord, "c_maj" , "noire_3" ,octave.b,1,127,127,vitesse) ; arpege de noire triolet
delay (Midi_tempo(vitesse, "noire_3" ))
; *************************************************************************************
messagerequester ( "jouons" , "fin" )
End

;



Les Accords Arpegés




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

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
#blown_bottle
#shakuhachi
#whistle
#ocarina
#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
#FX_3_crystal
#FX_4_atmosphere
#FX_5_brightnes
#FX_6_goblins
#FX_7_echoes
#FX_8_scifi
#sitar
#banjo
#Shamisens
#koto
#Kalimba
#bag_pipe
#fiddle
#shanai
#tinkle_bell
#agogo
#steel_drums
#Wood_block
#taiko_Drum
#Melodic_Tom
#Synth_Drumer
#Reverse_Cymbal
#Guitar_Fret_noise
#breath_noise
#seashore
#bird_Tweet
#Telephone_Ring
#Helicopt
#applause
#Gunshot
         EndEnumeration
; ******** initialisation obligatoire ***********

MIDIOpen() ; ouvre le midi

Charge_Instrument_accord(2, #banjo ) : #bbanjo =2 ; defini le canal, et l'instrument utilisé
vitesse=120 ; tempo general du morceau (60 a la noire)
;*******************************************
; the aphrodites child (Rain And Tears)
;********************************************

;For i=1 To 2
; en accord arpeger , il faut mettre une attente double du temps de l'arpege !!
; sinon l'arpege n'est simplement pas effectué en entier (mais ça peut etre un effet recherché)

Midi_play_chord( #bbanjo , "c_maj" , "noire" ,4,1,127,127,vitesse) ;C
delay (Midi_tempo(vitesse, "blanche" ))

Midi_play_chord( #bbanjo , "g_maj" , "noire" ,4,1,127,127,vitesse)
delay (Midi_tempo(vitesse, "blanche" ))

    Midi_play_chord( #bbanjo , "a_min" , "noire" ,4,1,127,127,vitesse)
     delay (Midi_tempo(vitesse, "blanche" ))
;
    Midi_play_chord( #bbanjo , "e_min" , "noire" ,4,1,127,127,vitesse)
     delay (Midi_tempo(vitesse, "blanche" ))
;
Midi_play_chord( #bbanjo , "f_maj" , "noire" ,4,1,127,127,vitesse)
delay (Midi_tempo(vitesse, "blanche" ))

Midi_play_chord( #bbanjo , "c_maj" , "noire" ,4,1,127,127,vitesse)
delay (Midi_tempo(vitesse, "blanche" ))

Midi_play_chord( #bbanjo , "f_maj" , "noire" ,4,1,127,127,vitesse)
delay (Midi_tempo(vitesse, "blanche" ))

Midi_play_chord( #bbanjo , "g_maj" , "noire" ,4,1,127,127,vitesse)
delay (Midi_tempo(vitesse, "blanche" ))

;Next i
;Delay(Midi_tempo(vitesse,"blanche"))

Re: Midi_lib

Publié : mer. 28/avr./2010 14:38
par Backup
une melodie+accords




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

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
                 #blown_bottle
                 #shakuhachi
                 #whistle
                 #ocarina
                 #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
                 #FX_3_crystal
                 #FX_4_atmosphere
                 #FX_5_brightnes
                 #FX_6_goblins
                 #FX_7_echoes
                 #FX_8_scifi
                 #sitar
                 #banjo
                 #Shamisens
                 #koto
                 #Kalimba
                 #bag_pipe
                 #fiddle
                 #shanai
                 #tinkle_bell
                 #agogo
                 #steel_drums
                 #Wood_block
                 #taiko_Drum
                 #Melodic_Tom
                 #Synth_Drumer
                 #Reverse_Cymbal
                 #Guitar_Fret_noise
                 #breath_noise
                 #seashore
                 #bird_Tweet
                 #Telephone_Ring
                 #Helicopt
                 #applause
                 #Gunshot
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" ))




Re: Midi_lib

Publié : mer. 28/avr./2010 14:40
par Backup
...

Re: Midi_lib

Publié : mer. 28/avr./2010 15:00
par TazNormand
Bien sympa comme lib !

Merci Dobro

1 petite critique : Lorsque je lance ton installateur, il ne me demande pas où installer, et comem ma dernière installation de PB est la 4.50 Beta 3, il se colle dedans, du coup tes exemples ne fonctionnaient pas avec la 4.41

Re: Midi_lib

Publié : mer. 28/avr./2010 15:16
par Backup
TazNormand a écrit :Bien sympa comme lib !

Merci Dobro

1 petite critique : Lorsque je lance ton installateur, il ne me demande pas où installer, et comem ma dernière installation de PB est la 4.50 Beta 3, il se colle dedans, du coup tes exemples ne fonctionnaient pas avec la 4.41
ha oui ! ben de toute façon ça dois marcher avec la 4.50 non ? :)

Re: Midi_lib

Publié : mer. 28/avr./2010 15:34
par Cls
Sympa cette lib :)

Re: Midi_lib

Publié : mer. 28/avr./2010 16:22
par Backup
Merci :)

Re: Midi_lib

Publié : mer. 28/avr./2010 18:27
par Ar-S
Super lib Dobro, t'as plu qu'à faire un tracker :mrgreen:

Re: Midi_lib

Publié : jeu. 29/avr./2010 17:44
par Backup
j'ai modifié mon installateur pour qu'il demande si c'est bien le bon dossier
sinon , il suffit de lui montrer le chemin :)

(meme lien pour le telechargement :) )

Re: Midi_lib

Publié : sam. 01/mai/2010 23:35
par Backup
....

Re: Midi_lib

Publié : dim. 02/mai/2010 1:11
par venom
Salut,

j'ai installer ta lib sur purebasic 4.50 beta 3 sur un système 64 bits voici mes résultats :
Polink: fatal error: corrupt library '.\lib_midi3_source.lib'.
8O

EDIT :
j'ai remis la 4.41 x64 maintenant j'ai une autre erreur :
Mauvais type de paramètre: nombre attendu a la place d'une chaine de caractère




@++

Re: Midi_lib

Publié : dim. 02/mai/2010 7:44
par Backup
normal , elle est compilé pour du 32 bit ! ;)

Re: MP3/Midi_lib (32 bits only )

Publié : dim. 02/mai/2010 9:27
par Backup
toutefois , je viens de corriger un gros gros bug
qui pouvais donner ce genre de message d'erreur !! :twisted: :roll:

ça devrai etre bon maintenant ... (par contre sur 64 bits je sais pas si ça marche ...)

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

N'oubliez pas de désinstaller l'ancienne lib avant de réinstaller celle ci :)

Re: MP3/Midi_lib (32 bits only )

Publié : dim. 02/mai/2010 19:08
par venom
non toujours pas en x64 c'est dommage ce problème d'incompatibilité quand même :?







@++

Re: MP3/Midi_lib (32 bits only )

Publié : dim. 02/mai/2010 19:18
par Backup
venom a écrit :non toujours pas en x64 c'est dommage ce problème d'incompatibilité quand même :? @++
c'est due a Tailbite , qui compile en 32 bits , je suppose...

car je met des .i a la place des .L , franchement je peux rien y faire de plus ...

quoiqu'il en soit tu dois avoir des problèmes avec toutes les lib j'imagine
notamment toutes celles de Gnozal :)