Author Topic: Fernsteuerung mit Hotkeys  (Read 1915 times)

andia

  • Newbie
  • *
  • Posts: 4
    • View Profile
Fernsteuerung mit Hotkeys
« on: September 19, 2005, 10:01:05 »
Ich möchte gerne mAirList von einem anderen Programm über Hotkeys fernsteuern.
Ich habe eine kleine Delphi Applikation geschrieben, die über das SAS Protokoll mit dem Mischpult kommuniziert und von dort die Faderstarts erhält. Nun möchte ich den Faderstart im mAirList auslösen. Am einfachsten schien mir einen KeyPress-Event an das mAirList Fenster zu schicken. Es scheint mir jedoch, dass die HotKeys anders verarbeitet werden, auf jeden Fall erhalte ich keine Reaktion.
Torben, kannst du mir sagen, wie du die Hotkeys in Delphi programmiert hast, dann finde ich vielleicht einen Weg, den richtigen Event zu senden. Oder hast du eine ganz andere Idee, wie ich das anstellen könnte?

Gruss

Andreas

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #1 on: September 19, 2005, 13:48:58 »
Hi.

Ich frage die Hotkeys über die System-Hotkey-Funktionen von Windows ab. Siehe z.B. hier:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/registerhotkey.asp

Was ist denn dieses "SAS-Protokoll"? Hab ich noch nie von gehört.


Torben

andia

  • Newbie
  • *
  • Posts: 4
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #2 on: September 19, 2005, 16:58:02 »
Hallo

SAS ist ein Protokoll von LAWO, http://www.lawo.de. Wir verwenden ein Zirkon Pult. Absolut Spitze!

Bei der RegisterHotKey Funktion musst du eine ID angeben. Kannst Du mir sagen, was du dort verwendest, dann könnte ich WM_HOTKEY Messages mit den entsprechenden ID's senden.

Gruss

Andreas

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #3 on: September 19, 2005, 23:20:27 »
Quote from: "andia"
SAS ist ein Protokoll von LAWO, http://www.lawo.de. Wir verwenden ein Zirkon Pult. Absolut Spitze!


Oh, mAirList im Einsatz auf LAWO-Pulten. Das hätte ich mir früher auch nie träumen lassen ;)

Quote from: "andia"
Bei der RegisterHotKey Funktion musst du eine ID angeben. Kannst Du mir sagen, was du dort verwendest, dann könnte ich WM_HOTKEY Messages mit den entsprechenden ID's senden.


Die Komponente, die ich verwende, nummeriert die Tasten einfach durch. Die erste kriegt die Id 0, die zweite 1 usw. Ich glaube, die haben "global" keine Bedeutung, es geht nur darum, dass man eine Möglichkeit hat, später wieder auf die registrierten Hotkeys zuzugreifen, zum Beispiel, um sie wieder zu löschen.

Vier Möglichkeiten fallen mir noch ein:

1. Ich würde nochmal gezielt googlen nach der Frage, wie man Tastendrücke simulieren kann, so dass sie  als System Hotkey ankommen.
2. Du suchst dir das Handle vom mAirList-Fenster raus und schickst das WM_HOTKEY-Event direkt dorthin.
3. Ich definiere eine Schnittstelle, über die man direkt per Window-Messages die zahlreichen mAirList-Befehle (START, STOP, ...) auslösen kann, ohne den Umweg Hotkey. Hab ich noch nie gemacht, aber das müsste auch irgendwie klappen.
4. Vielleicht könnte man auch mAirList beibringen, direkt SAS zu "sprechen" oder zu "verstehen"?


Torben

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #4 on: September 19, 2005, 23:26:29 »
Mist, ich stand gerade auf dem Schlauch. Jetzt verstehe ich erst, wie du das mit den Ids meintest.

In der mAirList.ini sind die Tasten als Key0, Key1 usw. definiert. Die Zahl ist gleichzeitig auch die Id aus den Messages. In welcher Reihenfolge die in der mAirList.ini landen, ist mehr oder weniger willkürlich, sollte aber der Reihenfolge entsprechen, wie sie in mAirListConfig definiert wurden. Also sich auch beim neumaligen Starten des Konfigurationsprogramms nicht verändern.


Torben

andia

  • Newbie
  • *
  • Posts: 4
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #5 on: September 20, 2005, 07:13:54 »
Da ich relativ schnell eine Lösung brauche, werde ich versuchen mit der WM_HOTKEY Message zu arbeiten.
Ich kann aber gerne auch meinen SAS-Delphi-Code etwas kommntieren, so dass du ihn in mAirList einbauen könntest. Das wäre natürlich absolut Top!

Andreas

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #6 on: September 20, 2005, 11:42:09 »
Hey, Delphi, das klingt doch gut! :)

Ja, wenn du etwas Luft hast, schick ihn mir doch mal. Ich weiß nicht, ob ich Zeit habe, das dann auch mit in das Konfigurationsprogramm aufzunehmen. Aber vielleicht kann man die SAS-Anbindung ja erstmal mehr oder weniger undokumentiert über die .ini-Datei laufen lassen.


Torben

andia

  • Newbie
  • *
  • Posts: 4
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #7 on: September 21, 2005, 20:29:11 »
Ich habe einiges versucht mit der WM_HOTKEY aber ohne Erfolg.
Du hast geschrieben, du könntest eine Schnittstelle einbauen, mit der man über Window-Messages die mAirList Befehle auslösen könnte. Siehst du eine möglichkeit das nächstens zu machen, oder sollen wir direkt das SAS Protokoll einbauen?

Andreas

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #8 on: September 21, 2005, 20:46:41 »
Vielleicht beides ;) Ich muss mal schauen, wie man das mit den Messages am besten anstellt. Evtl. muss ich dann Integer-Konstanten für die ganzen Funktionen einführen. Strings kann man schlecht per Message verschicken, soweit ich weiß. Und wegen SAS: Schick mir doch mal deinen Sourcecode, sobald der irgendwie für mich "lesbar" ist.

Nochmal zu WM_HOTKEY: An welches Handle (hWnd von SendMessage bzw. PostMessage) schickst du die Nachrichten?


Torben

c.rothe

  • Regular
  • *
  • Posts: 197
  • Fun and Music - using mAirlist!
    • View Profile
    • RCS Show
Fernsteuerung mit Hotkeys
« Reply #9 on: September 24, 2005, 09:52:41 »
Schnittstelle klingt echt gut :-)

Will haben ;-)

Christoph

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 11411
    • View Profile
Fernsteuerung mit Hotkeys
« Reply #10 on: September 26, 2005, 13:03:56 »
Schnittstelle kommt irgendwann. Muss dann vorher noch nen Haufen Message-Konstanten definieren :)

SAS wird von mAirList (dank hervorragender Vorarbeit von Andreas, danke!) nun übrigens direkt unterstützt. Da das aber eher exotisch ist, habe ich mir bislang nicht die Mühe gemacht, die Konfiguration mit in mAirListConfig einzubauen. Man muss es von Hand in die mAirList.ini schreiben. Wenn noch jemand ein LAWO-Pult hat und das machen möchte: Informationen gibt es bei mir.


Torben