• Ja dies ist eine Midi UDF!
    Falls jemand nicht weiß was Midi bedeutet Wikipedia:
    MIDI [ˈmiːdiˑ] (engl.: musical instrument digital interface [ˈmjuːzɪkl̩ ˈɪnstɹəmənt ˈdɪdʒɪtl̩ ˈɪntɚfeɪs] = „Digitale Schnittstelle für Musikinstrumente“) ist ein Datenübertragungs-Protokoll zum Zwecke der Übermittlung musikalischer Steuerinformationen zwischen elektronischen Instrumenten wie Keyboards, Synthesizern, Drumcomputern oder auch PCs bzw. Laptops.


    Diese UDF enthält alle Midi Funktionen von Windows (hoffentlich) alle nötigen Konstanten und zudem eine Umfangreiche Erklährung (Auf Englisch ich hatte keine Lust alles zu Übersetzen kommt aber noch)


    Die UDF ist noch unvollständig, das heißt zur zeit sind nur alle DllCall befehle drin
    An einer Einfacheren Version wird auch gearbeitet


    Wer möchte kann sich ja gerne daran Versuchen


    Midi fix by Eukalyptus
    MidiIn Example by Eukalyptus


    Und nochmals Danke an Eukalyptus


    Vorherige Downloads: 27

  • Im englischen Forum gibt es bereits eine MIDI-UDF (http://www.autoitscript.com/fo…view__findpost__p__274785).
    Hab mir die Unterschiede der beiden UDFs aber nicht angeschaut.


    Auf jeden Fall kann man damit tolle Sachen machen!


  • Habe über 6.000 Midi-Dateien und ganz viele incl. Songtext als TXT-Datei.
    Sogar sortiert nach Interpreten bzw. Songtitel.


    Habe ich mal von einem Kollegen bekommen und konnte ich nie was mit anfangen. Kann es eigentlich jetzt auch nicht, da ich gar nicht weiß was ich damit machen soll. 0,5 GB halt die ich noch nicht entsorgen möchte.

    ...... Lieben Gruß, ........
    ...........
    Alina ............

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Ich habe die Deutsche Hilfe auf meinem PC und
    OrganizeIncludes ist beim Scripten mein bester
    Freund. Okay?


  • Habe über 6.000 Midi-Dateien und ganz viele incl. Songtext als TXT-Datei.
    Sogar sortiert nach Interpreten bzw. Songtitel.


    Habe ich mal von einem Kollegen bekommen und konnte ich nie was mit anfangen. Kann es eigentlich jetzt auch nicht, da ich gar nicht weiß was ich damit machen soll. 0,5 GB halt die ich noch nicht entsorgen möchte.


    Nunja es gibt einen unterschied zwischen .mid datein und MIDI (.mid datein waren der Grund wieso ich angefangen habe xD) ich versuche immer noch die Kodierung von .mid herauszufinden, um sie z.B. wie bei Synthesia mit der Maus nachklicken zu können, oder anders abspielen mit eigenen Musikdatein oder Konvertierung in MP3, usw. ist halt noch viel zu tun)

  • Viel interessanter als Midi Dateien finde ich die Steuerung von Midifähigen Geräten, bzw. die Steuerung vom AutoItscript durch Midi Controller.
    Darin hab ich etwas Erfahrung und kann auch mal ein Beispiel schreiben, wenn ich Zeit finde...


    2 Sachen musst du unbedingt noch einbauen:
    @error-check bzw. IsArray($ret)-check bei den DllCalls; sonst führt das evtl zu einem Scriptabsturz, wenn du direkt danach $ret[0] verwendest...


    $ret als Local deklarieren - Die UDF muss auch mit Opt("MustDeclareVars", 1) funktionieren.


    Ansonsten schon mal ganz ordendlich! :thumbup:


    E

  • Hier hab ich ein Midi-In-Beispiel:
    es werden 2 Buffer verwendet und die Daten via RegisterMsg empfangen (CALLBACK_WINDOW)


    So lassen sich AutoIt Scripte relativ einfach über einen MIDI-Controller steuern.



    Ich hab auch die MIDI.au3 etwas angepasst: autoit.de/wcf/attachment/15614/
    und zwar die DllCall-Return Variable: Local $aResult
    und eine errorabfrage


    Ich würde auch immer $aResult[0] als Rückgabewert verwenden:
    Switch $aResult[0]
    Case 0 ;$MMSYSERR_NOERROR
    Return $aResult[0]
    Case Else
    Return SetError(1, 0, $aResult[0])
    EndSwitch


    Falls du dein System beibehalten willst, dann verwende aber trotzdem Switch statt If:
    Switch $aResult[0]
    Case $MMSYSERR_NOERROR
    Return 1
    Case $MMSYSERR_INVALHANDLE
    Return SetError(1,1,0)
    Case $MMSYSERR_INVALPARAM
    Return SetError(2,2,0)
    Case $MMSYSERR_NOMEM
    Return SetError(3,3,0)
    Case Else
    Return SetError(4,4,0)
    EndSwitch


    E

  • Danke eukalyptus für deine Antwort! Ich hatte in letzter Zeit ziemlich viel um die Ohren konnte deshalb bei keinem meiner Skripte weiterarbeiten, werde aber so früh wie möglich wieder anfangen. Hab da noch so ein paar andere Projekte offen, zudem wollte ich noch XNA lernen. Puh!

  • Greetings. I apologize for posting in English, and I apologize for resurrecting such an old thread. I found this UDF and I was able to work with it, unlike the MIDIudf.udf that is on the other forum.


    Is anyone still working on this UDF? I find that it locks up after knobs are moved a few times and MIDI cc messages are consistently coming in. And not fast and furious. Just after about six or sever different controller knobs have been adjusted, it'll freeze. Has anyone else experienced that? Is there a fix? This UDF is much easier for me to use for the project I have in front of me. I'd really like it to work. But it does freeze, and I've tried it on two computers, both Windows 7 and WIndows 10, and three different controllers.


    THANK YOU.

  • NEVER MIND! I changed the script so that the edit box was cleared every time the MIDI CC was changed and it stopped crashing. My apologies again. It isn't the UDF. It's the test script edit box filling up.