ich habe mAirList (teilweise) erfolgreich via TCP an einen DHD-Mixer angebunden. Soll heissen: Bisher funktioniert die Kommunikation nur in die eine Richtung, d.h. ich kann mit Tastendruck am Mixer Funktionen (z.B. Titelstart) in mAirList auslösen. Aber wie bekomme ich Rückmeldungen z.B. über Titelende bzw. Titelstopp aus mAirList wieder an den Mixer kommuniziert, so dass sich bspw. ein aktiver Fader automatisch abschaltet, wenn ein Titel ausgelaufen ist? Bietet mAirList diese Möglichkeit überhaupt?
Für Hinweise bin ich dankbar…
Es besteht die Möglichkeit, aus einem Script heraus Befehle zurück an das Pult zu schicken.
Man könnte also ein Notification Script schreiben, das auf die gewünschten Ereignisse reagiert, und dann die entsprechenden Befehle zurücksendet, um den Fader zu schließen usw.
Und wie schreibe ich so ein Notification Script? Ich habe keine Ahnung von Programmierung, Scripting und dergleichen. Wo finde ich eine entsprechende Dokumentation?
Das ist im Grunde recht einfach beschrieben: Es gibt insgesamt 3 Fader, die mit mairlist-Decks belegt sind. mairlist soll nach Erreichen des Titelendes den jeweiligen aktiven Fader am DHD-Pult wieder auf OFF setzen, damit dieser danach nicht im ON-Zustand verbleibt und bei den Mods ggf. Verwirrung stiftet. Ich frage mich nur gerade: Woher soll mairlist wissen, welcher Fader das jeweils laufende Element gestartet hat, damit es genau diesen auch wieder stoppen kann. Oder kann das Pult das explizit unterscheiden?
Ich bin auf der Suche nach der gleichen Lösung. Die Befehle vom DHD 52/SX kommen im Mairlist an. Ich würde meine drei Player auch gerne von Mairlist wieder ausschalten lassen, wenn der jeweilige Titel zu Ende ist.
bei mir läuft es jetzt. Mit Unterstützung von Thorben schaltet jetzt Mairlist die Regler aus, wenn der Titel zu Ende ist. Nach probieren von über 3000 IDs bin ich der Meinung, dass das Ausschalten eines Reglers bei DHD nicht vorgesehen ist.
Ich habe jetzt in der Pultkonfiguration für die Mairlist-Eingänge jeweils eine „Channel of Logic“ eingetragen. Ich habe GPI 1-3 (Logic ID 51-53) genommen, wollte eigentlich die Playoutlogic nehmen, aber damit hat es nicht geklappt.
Dann funktioniert es mit dem Scribt.
Achtung, ich benutze nicht den Automationsmodus, da wird es so wohl Probleme geben.
procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex:
integer; OldState: TPlayerState; NewState: TPlayerState);
begin
if (PlayerIndex = 0) and (NewState = psEOF) then
RM4200DRemote(0).SetLogic(51, true);
if (PlayerIndex = 1) and (NewState = psEOF) then
RM4200DRemote(0).SetLogic(52, true);
if (PlayerIndex = 2) and (NewState = psEOF) then
RM4200DRemote(0).SetLogic(53, true);
end;
begin
end.
Nope! Es geht nur um den “ON”-Schalter, der von mAirList nach dem STOP eines Players deaktiviert werden soll. Die Fader bzw. der Kanal sind gefixt, haben also immer die gleiche ID.
Mir entzieht sich halt, ob ich die ansprechen lassen kann, und ob das DHD-System externe Befehle per TCP/IP akzeptiert.
Nach dem, wie ich das Handbuch verstehe, sind die serielle und die ETH-Schnittstelle lediglich für die Konfiguration des Pults zuständig. Wenn Du aber GPIOs frei hast, wird es mit sehr hoher Wahrscheinlichkeit funktionieren.
An den Weg hab ich auch schon gedacht. Aber wie kommuniziert mAirList mit dem DHD? Der Playout-Rechner ist immerhin sooo neu, das er keine COM-Ports mehr hat.
IO-Warrior?
Vielleicht hat ja @TomJumbo83 auch noch eine zündende Idee oder hat es sogar schon gelöst!!!
I/O-Warrior oder, günstiger, Velleman K8055(N). Die setzen Schaltbefehle von mAirList über USB in z. B. Relaiskontakte um. Wobei, das habe ich mir noch nicht angesehen, Du für das DHD vermutlich gar keine Extrarelais brauchst, sondern direkt verkabeln kannst. Müssen wir aber noch klären. Mir stellt es sich so dar, daß im DHD die dem GPI entsprechende Logikquelle eben den Befehl FADER OFF (oder so) gibt. Auf mAirList-Seite regelt das ein Hintergrundskript, etwa, im Falle eines Vellman K8055, so:
var
I: integer;
procedure OnLoad; // Beim Programmstart alle ausschalten.
begin
for i := 1 to 3 do
K8055Remote(0).ClearDigitalChannel(i);
end;
procedure OnUnLoad; // Am Ende auch.
begin
for i := 1 to 3 do
K8055Remote(0).ClearDigitalChannel(i);
end;
procedure OnPlayerStateChange(PlaylistIndex: integer;
PlayerIndex: integer; OldState: TPlayerState;
NewState: TPlayerState; Item: IPlaylistItem);
begin
if NewState = psEOF then // Wenn EOF erreicht, …
K8055Remote(0).ClearDigitalChannel(PlayerIndex + 1); // … dann entsprechenden Kanal abschalten.
end;
begin
end.
Da ich kein entsprechendes Pult besitze, insoweit ungetestet. Das Skript gibt bei Erreichen des Audioendes ein Signal an das Interface. Man kann das auch als Pulssignal skripten, je nachdem, was das DHD gerne möchte. Für I/O-Warrior sieht das ganz ähnlich aus.
Theoretisch ja, es ist aber auf mAirList-Seite nicht implementiert. Beziehungsweise es gibt aktuell nur eine low-level-“SendPacket”-Funktion im IRM2200DRemote-Interface. Die Datenpakete müsste man sich von Hand zusammennbauen.
@Torben: Das Wiki schweigt sich höflich aus, gibt es irgendwo Unterlagen über besagtes IRM2200DRemote-Interface und dessen Protokolle bzw. die des DHD?
Die Schnittstelle wurde mit minimalem Aufwand implementiert mit dem Ziel, zumindest den Faderstart zu ermöglichen. Mit Blick auf die Handvoll Gebrauchtgeräte, die noch im Umlauf sind, lohnt es sich nicht, beliebig viel Zeit zu investieren, um die Schnittstelle auf dasselbe Level zu hieven wie die Anbindung für die aktuelle 52er-Serie.
Oh, sehr interessant. Da muss ich doch glatt mal schauen, ob ich das nicht für mein EELA S440 adaptieren kann. Ich meine das hat auch diskrete GPIs pro Kanal und genau diese Funktion habe ich mir schon so manches mal gewünscht.
Warum habt ihr hier immer so toll Ideen, so wird mein Studio doch nie fertig…