MP3/Midi_lib (32 bits only )

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

MP3/Midi_lib (32 bits only )

Message 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"))
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Midi_lib

Message 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" ))



Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Midi_lib

Message par Backup »

...
Dernière modification par Backup le mar. 19/août/2014 11:51, modifié 1 fois.
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Midi_lib

Message 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
Image
Image
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Midi_lib

Message 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 ? :)
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Re: Midi_lib

Message par Cls »

Sympa cette lib :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Midi_lib

Message par Backup »

Merci :)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Midi_lib

Message par Ar-S »

Super lib Dobro, t'as plu qu'à faire un tracker :mrgreen:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Midi_lib

Message 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 :) )
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Midi_lib

Message par Backup »

....
Dernière modification par Backup le mar. 19/août/2014 11:51, modifié 1 fois.
Avatar de l’utilisateur
venom
Messages : 3136
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Midi_lib

Message 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




@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Midi_lib

Message par Backup »

normal , elle est compilé pour du 32 bit ! ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: MP3/Midi_lib (32 bits only )

Message 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 :)
Avatar de l’utilisateur
venom
Messages : 3136
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: MP3/Midi_lib (32 bits only )

Message par venom »

non toujours pas en x64 c'est dommage ce problème d'incompatibilité quand même :?







@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: MP3/Midi_lib (32 bits only )

Message 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 :)
Répondre