Sign in to follow this  
Followers 0
eynstyne

MIDI UDF

97 posts in this topic

#1 ·  Posted (edited)

From previous posts, I have been working long and hard on thie UDF, but it has turned out a success.

Unlike people who do not want to share UDF's [Phillip Benefall], I will be completely willing to give this UDF for download.

See the example in the UDF file, actually, you can just run the UDF and listen to the music...

Eynstyne ;)

MIDI UDF!!! - Midiudf.au3 (Stream functions still need work...)

If there are any problems with the UDF, PM me

THX

Enjoy!

Edited by eynstyne
1 person likes this

F@m!ly Guy Fr33k! - Avatar speaks for itself__________________________________________________________________________________________ite quotes... - Is your refrigerator running? If it is, It probably runs like you...very homosexually - Christians don't believe in gravity - Geeze Brian where do you think you are, Payless?- Show me potato Salad!__________________________________________________________________________________________Programs available - Shutdown timer[indent][/indent]

Share this post


Link to post
Share on other sites



Sure I will enjoy, thanks Eynstyne !

Midi things in AutoIt, means music boxes and loop players, cool :lmao:

Apzo.

From previous posts, I have been working long and hard on thie UDF, but it has turned out a success.

Unlike people who do not want to share UDF's [Phillip Benefall], I will be completely willing to give this UDF for download.

See the example in the UDF file, actually, you can just run the UDF and listen to the music...

Eynstyne ;)

MIDI UDF!!! - Midiudf.au3 (Stream functions still need work...)

If there are any problems with the UDF, PM me or mail to musikfreak99@hotmail.com or eynstyne@hotmail.com

THX

Enjoy!

Share this post


Link to post
Share on other sites

do you have a example file?

would be cool if someone made a MIDI recorder, by using MIDI interface and a keyobard.

thanks for sharing

Share this post


Link to post
Share on other sites

Eynstyne, can you give me a simple example of using your UDF for Midi? I'm just trying to use it to generate a specific tone (anything, really, between 300 and 800 Hz) for a specific time. It's not music, but it come out the right headphone jack...

Share this post


Link to post
Share on other sites

This is great work, but does`nt work properly for me...

Trying to get each instrument to play one note in turn..

For $i = 0 to 127
_MidiOutShortMsg($open,($i*256) * 16 + 192)
$msg = _midioutshortmsg($open,$C_NOTEON)
    sleep(200)
;$msg = _midioutshortmsg($open,$C_NOTEOFF)  
Next
but it plays just one long note.

Guess more examples are needed..

Drums work fine though! ;)


2015 - Still no flying cars, instead blankets with sleeves.

Share this post


Link to post
Share on other sites

Thx for trying out my UDF.

@rstolfa

In regards to the Hz value, $A_NOTEON (440hz) should do it for you.

If you are looking for examples, run the UDF and listen to the music. Also look in the midi udf for notes, drum numbers and so on.

$open = _MidiOutOpen()
_midiOutShortMsg($open,256 * 10 + 192) ; 10 plays Music box
_midioutshortmsg($open,$A_NOTEON)
sleep(1000) ; Play and hold for 1 second
_midioutshortmsg($open,$A_NOTEOFF);Release, otherwise it will stay held
_midiOutclose($open)

@Lakes

Don't comment out the NOTEOFF line. Also set an appropriate sleep value to sound the note

Thx for trying the UDF

@amdead

An Examples is found inside the UDF. Run it, and listen to some music

For recording, I have to reasearch this. _MidiInOpen and the stream functions should get you started.

@Apzo

TYVM. I was hoping the UDF went well


F@m!ly Guy Fr33k! - Avatar speaks for itself__________________________________________________________________________________________ite quotes... - Is your refrigerator running? If it is, It probably runs like you...very homosexually - Christians don't believe in gravity - Geeze Brian where do you think you are, Payless?- Show me potato Salad!__________________________________________________________________________________________Programs available - Shutdown timer[indent][/indent]

Share this post


Link to post
Share on other sites

This is nice. I will find a use for it.

Share this post


Link to post
Share on other sites

Awesome work, I will definitely use this!!!!

rstolfa: sounds to me like you are wanting to make a blue box... Are you trying to generate DTMF tones?

Share this post


Link to post
Share on other sites

Still playing with this, its great!

Is there a way to get the name of the instrument playing from the midi data?,I can add this in, but wondering if theres an easier way of doing this than creating an array of instrument names...

Thanks!


2015 - Still no flying cars, instead blankets with sleeves.

Share this post


Link to post
Share on other sites

I think you will have to rely on an array.

Share this post


Link to post
Share on other sites

Hi eynstyne,

Thanks for developing this MIDI UDF. :)

Can you please provide some examples of how to use the MIDI stream functions?

Thanks,

Gibby

Share this post


Link to post
Share on other sites

#12 ·  Posted (edited)

I'm still playing with this and testing it, but the following example should work better, as far as I can tell. There were no "note offs" in the example, so it just sounded like jumbled notes, but now it resembles a song:

;THE FOLLOWING IS AN EXAMPLE ON HOW TO USE THE CONSTANTS...
;PIECE - 12 VARIATIONS (K.265,Ah! vous dirai-je maman) THEME
;Composer : Wolfgang Amadeus Mozart
;Resequenced by Eynstyne & GMK

#include <Midiudf.au3>

$open = _midiOutOpen ()

For $i = 27 To 87
   _MidiOutShortMsg ($open, 0x99 + ($i * 256) + (127 * 0x10000)) ; Drums!
   Sleep(200)
Next

For $i = 1 To 2
   _MidiOutShortMsg ($open, 256 * 16 + 192)
   $msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $CBASS_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $CBASS_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $C_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $E_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $E_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $C_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $F_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $F_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $C_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $E_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $E_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $C_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $D_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $D_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $B_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $B_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $C_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $A_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $A_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $FBASS_NOTEON)
   Sleep(500)
   $msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $FBASS_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $GBASS_NOTEON)
   Sleep(300)
   $msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $GBASS_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
   Sleep(175)
   $msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEON)
   $msg = _MidiOutShortMsg ($open, $CBASS_NOTEON)
   Sleep(1000)
   $msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEOFF)
   $msg = _MidiOutShortMsg ($open, $CBASS_NOTEOFF)
Next

$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $E_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $D_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $B_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $B_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $G_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $E_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $G_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $D_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $G_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
Sleep(400)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
Sleep(50)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
Sleep(50)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
Sleep(50)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
Sleep(250)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $D_NOTEON)
Sleep(150)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $B_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $B_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $CBASS_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $CBASS_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $E_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $F_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $A_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $E_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $G_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $D_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $B_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $F_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $B_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $C_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $A_NOTEON)
Sleep(500)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $A_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $FBASS_NOTEON)
Sleep(400)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $FBASS_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
Sleep(50)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
Sleep(50)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEON)
Sleep(50)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEON)
Sleep(250)
$msg = _MidiOutShortMsg ($open, $D_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEON)
Sleep(150)
$msg = _MidiOutShortMsg ($open, $E_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $GBASS_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEON)
$msg = _MidiOutShortMsg ($open, $CBASS_NOTEON)
Sleep(1000)
$msg = _MidiOutShortMsg ($open, $C_OCTAVEUP_NOTEOFF)
$msg = _MidiOutShortMsg ($open, $CBASS_NOTEOFF)

_MidiOutClose ($open)

Edited by GMK

Share this post


Link to post
Share on other sites

#13 ·  Posted (edited)

Does this actually create a file?

Can it? The info is difficult to follow but the example is pretty cool.

I get these errors too, If you push continue anyway, it still works, but i still get errors

(35,104) : WARNING: $MIDI_UNCACHE: possibly used before declaration.
Const $MIDI_CACHE_VALID = ($MIDI_CACHE_ALL Or $MIDI_CACHE_BESTFIT Or $MIDI_CACHE_QUERY Or $MIDI_UNCACHE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^


C:\Program Files\AutoIt3\Include\Midi.au3(873,19) : WARNING: $getmmsyserr: possibly used before declaration.
        if $getmmsyserr =
        ~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\Include\Midi.au3(900,34) : ERROR: DllStructGetData() [built-in] called with wrong number of args.
        $get = Dllstructgetdata($struct)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\Include\Midi.au3(873,19) : ERROR: $getmmsyserr: undeclared global variable.
        if $getmmsyserr =
        ~~~~~~~~~~~~~~~~^
Edited by Paulie

Share this post


Link to post
Share on other sites

I made some modifications to clean up the code and make some of the constants easier to work with (IMO), plus added some items to the instruments section--categorized the instruments and added a partial drum note map.

Midiudf.au3

midi_udf_example.au3

Share this post


Link to post
Share on other sites

This is awesome! :)

Share this post


Link to post
Share on other sites

This is really cool. I'm not sure who uses MIDI these days, but anyway, it's a good UDF.

Share this post


Link to post
Share on other sites

This is GOD LIKE.

I want to try a Grange Band/Fruity Loops thing.

Is there a save as *.mid function?

Great Work


[center]AutoIT + Finger Print Reader/Scanner = COOL STUFF -> Check Out Topic![/center][center][font=Arial Black]Check out ConsultingJoe.com[/font][/center][center]My Scripts~~~~~~~~~~~~~~Web Protocol Managing - Simple WiFi Scanner - AutoTunes - Remote PC Control V2 - Audio SpectrascopePie Chart UDF - At&t's TTS - Custom Progress Bar - Windows Media Player Embed[/center]

Share this post


Link to post
Share on other sites

So how about making a .chm of how to use this bloody thing ?

Share this post


Link to post
Share on other sites

how do you convert the notes from dec to their hex values?


[center]AutoIT + Finger Print Reader/Scanner = COOL STUFF -> Check Out Topic![/center][center][font=Arial Black]Check out ConsultingJoe.com[/font][/center][center]My Scripts~~~~~~~~~~~~~~Web Protocol Managing - Simple WiFi Scanner - AutoTunes - Remote PC Control V2 - Audio SpectrascopePie Chart UDF - At&t's TTS - Custom Progress Bar - Windows Media Player Embed[/center]

Share this post


Link to post
Share on other sites

So how about making a .chm of how to use this bloody thing ?

Agreed!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0