Seite 1 von 2

Midi Abfrage ....

Verfasst: 23.11.2020 19:35
von Then
Hi, ich habe nen Controller und habe es schon geschafft, dass ich eine Antwort von ihm per MIDI bekomme. Das geht mit folgendem Code

Code: Alles auswählen

Global MidiHeader.MIDIHDR

Procedure MIDICallBack0(hMi.l, wMsg.l, dummy.l , Data1.l, Data2.l)
  Select wMsg
    Case #MIM_DATA
      Debug "Normal MIDI Msg"     
    Case #MIM_LONGDATA
      Debug MidiHeader\dwBytesRecorded
  EndSelect
EndProcedure

*SysexBuffer = AllocateMemory(16384)
hMiP0.l = 0

MidiHeader\dwFlags = 0
MidiHeader\dwBufferLength = 16384
MidiHeader\lpData = *SysexBuffer

midiInOpen_(@hMiP0, 1, @MIDICallBack0(), 0, #CALLBACK_FUNCTION)
midiInPrepareHeader_(hMiP0, @MidiHeader, SizeOf(MidiHeader))
midiInAddBuffer_(hMiP0, @MidiHeader, SizeOf(MidiHeader))
midiInStart_(hMiP0)

OpenWindow(0, 10, 10, 200, 200, "MIDI Test")

Repeat
  Event = WaitWindowEvent(10)
Until Event = #PB_Event_CloseWindow


;midiInStop_(hMiP0)
midiInUnprepareHeader_(hMiP0, @MidiHeader, SizeOf(MidiHeader))
midiInReset_(hMiP0)
midiInClose_(hMiP0)
Nun möchte ich aber wissen, welche der vielen Knöpfe gedrückt wurde. Habe zwar schon was gefunden, aber der Code ist so unendlich lang :| Hier gehts ja schon etwas geschmeidiger, aber wie bekomme ich die Knopf/Schalter Nummer ?

Re: Midi Abfrage ....

Verfasst: 24.11.2020 11:11
von NicTheQuick
Ich habe vor 16 Jahren mal das hier veröffentlicht. Ich nehme an das große Teile davon heute immer noch funktionieren: viewtopic.php?f=8&t=326
Schau dir vor allem die Procedure MidiInProc an, wenn du wissen willst welche Töne reinkommen.
Welche MIDI-Werte welchen Knöpfen entsprechen, musst du allerdings selbst herausfinden oder den den Hersteller fragen. Bei einem normalen MIDI-Keyboard sollte es aber klar sein.

Re: Midi Abfrage ....

Verfasst: 27.11.2020 15:50
von Then
Nächstes Problem... :( Ich kann nun alle Regler abfragen und alles funktioniert doch sehr gut, aber... einige Schalter haben eine RGB Led drunter. Wie kann man die einschalten ? Ich würde an den Controller so lange verschiedene Parameter senden, bis ihm ein Licht aufgeht, nur wie sende ich ?

Re: Midi Abfrage ....

Verfasst: 27.11.2020 16:47
von NicTheQuick
In meinem Code sind auch jede Menge Procedures wie NoteOn, NoteOff, ProgramChange, ChangeController, usw. Damit kannst du Signale senden, aber welche genau dein Gerät erwartet, weiß trotzdem nur der Hersteller. Bestimmt gibt es eine Dokumentation von ihm dazu. Oder du musst per Mail anfragen. Ich kann mir vorstellen, dass man ein NoteOn mit einer bestimmten Velocity sendet und dann leuchtet der entsprechende Button, der zu dieser Note gehört. Du musst nur noch herausfinden, auf welchem Channel zu senden musst. Aber das ist trotzdem nur geraten.

Re: Midi Abfrage ....

Verfasst: 27.11.2020 17:37
von Then
Danke, werde es mal versuchen. :allright:

Re: Midi Abfrage ....

Verfasst: 27.11.2020 17:55
von NicTheQuick
Welchen Controller hast du eigentlich? Es gibt ja viele Bastler, die mit sowas herumspielen.

Re: Midi Abfrage ....

Verfasst: 27.11.2020 17:58
von Then
also dein Code gibt aus :

Code: Alles auswählen

Channel : 2
Note : 71
Velocity : 12
wenn ich eine Taste drücke. Es geht auch eine grüne LED an.

aber anderesherunm kann ich nicht

Code: Alles auswählen

NoteOn(2,71,12)
schreiben, oder ? Weil da nix passiert :(
NoteOn(Channel.b, Note.b, Velocity.b)

Re: Midi Abfrage ....

Verfasst: 18.12.2020 17:06
von Stuhli
Hallo,

würde mich jetzt auch interressieren. Habe von nem Kumpel ein Pioneer DDJ-200 geschenkt bekommen, weils halt kein echter Controller ist. Tja, die Buttons kann ich nun komplett abfragen und in meinen Softwareplayer integrieren, aber ich würde auch gerne die LEDs am Controller einschalten können. Wie geht das ?

Ich glaube nicht, das NoteOn(...) das richtige ist, oder ? Hat das mal jemand gemacht ??

Vielleicht bring ich die Leute hier auf ne Idee :lol:

Re: Midi Abfrage ....

Verfasst: 18.12.2020 17:17
von NicTheQuick
In der Anleitung des Pioneer DDJ-200 steht, dass man die Liste der MIDI-Messages auf der Pioneer-Webseite findet. Und tadaa: DDJ-200 List of MIDI messages

Edit: Ansonsten scheint auch das Forum die bessere Informationsquelle zu sein: https://forums.pioneerdj.com/hc/de/community/topics

Re: Midi Abfrage ....

Verfasst: 18.12.2020 18:26
von Stuhli
Hey, vielen Dank. Da hatte ich gar nicht erst gesucht, aber wie muß ich das in Pb machen ? Stehe da etwas auf dem Schlauch. Ich sende mit NoteOn(...) Aber es passiert nix ....
:(