Zusätzliche Möglichkeiten mit SAS-Fernsteuerung

Hi zusammen,

wie im separaten Thread nach langwieriger Fehlersuche dokumentiert, läuft mein OnAir1000-Pult mit SAS nun einwandfrei. Ich würde die SAS-Anbindung nun noch für einige zusätzliche Dinge nutzen:

  • Wenn (mindestens) ein Mikro geöffnet wird (Kanäle habe ich als zusätzliche Kanäle eingetragen), würde ich gern den Aircheck starten, wenn alle Mikros zu sind wieder stoppen. Kann ich irgendwo auf SAS-Events mit Aktionen reagieren oder läuft es auf ein Script hinaus? Wenn ja, wie kann ich hier auf SAS-Events reagieren?

  • Ich würde gern weitere Kommandos per SAS übertragen, z.B. um die Uhrzeit des Mischpults bei Programmstart zu setzen, bei Nutzung von Extra-PFL automatisch einen anderen Monitoring-Weg einzuschalten etc. → Gibt es eine Möglichkeit über Scripte oder Ähnliches entsprechende Befehle zu versenden? (Die Möglichkeiten unter “Aktionen” habe ich bereits gesehen, die bieten aber nicht das, was ich tun möchte an)

Viele Grüsse,

Christoph

In Hintergrund-Scripts stehen eine Reihe von Prozeduren zur Verfügung. Auszug aus der Background Script Template.mls:

// Called when a command is received from an SAS remote
procedure OnSASCommand(Remote: ISASRemote; Command: byte; Data: string);
begin
end;

// Called when an SAS GPI goes ON
procedure OnSASGPIOn(Remote: ISASRemote; GPI: byte);
begin
end;

// Called when an SAS GPI goes OFF
procedure OnSASGPIOff(Remote: ISASRemote; GPI: byte);
begin
end;

// Called when an SAS sources goes PFL ON
procedure OnSASPFLOn(Remote: ISASRemote; SourceName: string);
begin
end;

// Called when an SAS sources goes PFL OFF
procedure OnSASPFLOff(Remote: ISASRemote; SourceName: string);
begin
end;

Und dann hast du diverse Methoden in ISASRemote zur Verfügung, über die du via SASRemote(0) drankommst: mAirListScript: SASInterfaces: Interface ISASRemote

Produktiv habe ich aber noch nie was damit gebaut, und kann daher wohl wenig Hilfestellung geben.

Das meiste Knowhow in der Richtung dürfte bei @lifechannel sein.

1 Like

Danke für die schnelle Antwort! Dann brauche ich jetzt nur noch etwas Zeit um zu basteln :wink:

@Torben Danke fürs Linken. Einfach melden wenn es Hilfe braucht. Haben einiges per SAS realisiert. PFL, Cartwall usw.

Allenfalls würde es sinn machen SAS durch Ember+ zu ersetzen. Müsste mich mal schlau machen.
LG Michel

Hi @lifechannel,

vielen Dank! Was mir helfen würde wären 1-2 Beispielscripte zum Senden und Empfangen von SAS-Kommandos, falls Du da etwas hast. Es ist ja meist einfacher etwas zu adaptieren, als von Null anzufangen.

Viele Grüsse,

Christoph

Hi zusammen,

heute habe ich mir mal die Zeit genommen, hier weiterzumachen. Mein erstes Mini-Script ist fertig und erlaubt mir PDF ein und auszuschalten (das Pult ignoriert die Knöpfe und “fragt” mAirlist, ob es wirklich PFL machen soll - ich gebe die entsprechenden Kommandos dann zurück):


// Available in SAS module:

// Called when a command is received from an SAS remote
procedure OnSASCommand(Remote: ISASRemote; Command: byte; Data: string);
begin
 SystemLog('SAS-Command: '+Inttostr(Command)+' Value: '+Inttostr(Data[1]));
 if (Command=22) or (Command=23) then // allow to activate and deactivate PFL by echoing the request back to the console
 begin
  Remote.SendCommand(Command,Data);
 end;
	
end;

begin
end.

Jetzt habe ich weitere Fragen:slight_smile: :

  • Wie komme ich an ein SASInterface, wenn ich nicht in der OnSASCommand-Prozedur bin (Beispiel: Ich aktivere PFL in mAirlist und will dem Pult das Kommando per SAS schicken, den entsprechenden Eingang zu aktivieren) - ich habe ja in dem Moment kein passendes Objekt für “SendCommand” zur Verfügung
  • Wie komme ich an die Zuordnung von Kanal zu Kanalname, die mAirlist ermittelt hat? Kann ich direkt herausfinden, welche Fadernummer welchem Kanalnamen zugeordnet wurde?

Danke für Eure Unterstützung!

Viele Grüsse,
Christoph

Geht folgendes?

var
  Remote: ISASRemote;

procedure OnLoad;
begin
  Remote := SASRemote(0);
end;

// und später:
  Remote.SendCommand(iCommand: byte; iData: RawByteString);

(Ungetestete Schreibtischtat, weiteres siehe hier.)

1 Like

Zumindest lässt es sich laden und meckert auch nicht. Ob es auch etwas bewirkt, teste wenn ich wieder vor Ort bin! Danke Dir für den Code-Schnipsel!

Vielleicht wäre es sinnvoll, es nicht Remote zu benennen, sondern OnAirRemote oder ähnlich, damit es keine Kollision mit dem Remote aus der OnSASCommand-Prozedur gibt.

1 Like

Sali Christoph

Wir verwenden bei uns 5 Kanäle auf dem Pult. Player A, B, C, Cartwall und MAPFL
Diese sind unter Fernsteuerung und SAS-Konfiguration eingetragen. Den MAPFL nutzen wir für das PFL in der Playlist bzw. Editor.

Die meisten Funktionen sind bereits in mAirList integriert. Ich nutze noch zwei Scripts für die Umschaltung von Auto/Assist. Cartwall Softbutton auf dem Pult.

SendCommand würde ich nicht mehr nutzen. Hatte bei mir nicht immer 100% funktioniert.

Nutze nur noch:
SASRemote(0).SetFaderLevel
SASRemote(0).SetGPI(8,1);
SASRemote(0).SetFaderStart(‘Cart’, 0);

Wichtig: Du musst sicherstellen, dass die Sourcen für mAirList immer am Pult “assigned” sind. Sonst kriegt mAirList ein Problem. Wenn Du die Fader auf der Oberflache anders nutzen willst, kannst Du diese automatisch auf einen virtuellen Fader legen. MAPFL ist bei uns fix auf einem virtuellen Fader.

LG Michel

2 Likes

Sehr gute Punkte, vielen Dank!
Mein Punkt ist, dass ich im Pult ein “Extra-PFL” habe, das man unter keinem Kanalnamen ansprechen kann. Es funktioniert aber mit dem entsprechenden SendCommand bisher einwandfrei. Ich starte PFL und das Pult aktiviert Extra-PFL.