<< Klicken Sie hier um das Inhaltsverzeichnis anzuzeigen >> Navigation: Anleitungen > EmberPlusTcp Plugin konfigurieren > IScCommandControl |
namespace Sohard.Dabis.StudioController.Contracts.Scripting
{
// Als Parameter werden die Nummer des Steuerbefehles (absichtlich als int wegen
// Scripting) und der optionale Parameter des Steuerbefehles übergeben.
public delegate void ScControlCommandHandler(int command, int? parameter);
// Als Parameter werden der Steuerbefehl und die optionalen Parameter des Steuerbefehles
// übergeben (command und parameters dürfen nicht null sein).
public delegate void ScTextCommandHandler(string command, string[] parameters);
// Als Parameter werden die Nummer der Statusmeldung (absichtlich als int wegen
// Scripting) und der optionale Parameter der Statusmeldung übergeben.
public delegate void ScStatusMessageHandler(int status, int? parameter);
// Als Parameter werden die Nummer des Steuerbefehles (absichtlich als int wegen
// Scripting) und die optionalen Parameter (kann null sein) des Steuerbefehles übergeben.
public delegate void ScNumericInputCommandHandler(ref bool handled, int command, int[] parameters);
public interface IScCommandControl
{
/// true falls das Abhaken eingeschaltet ist, sonst false.
/// </summary>
bool Abhaken { get; }
/// true falls der Automat eingeschaltet ist, sonst false.
/// </summary>
bool Automat { get; }
/// true falls PFL aktiv ist, sonst false.
/// </summary>
bool Pfl { get; }
/// Wird ausgelöst wenn der Studio Controller einen numerischen Steuerbefehl
/// versendet (aus der Playlist bzw. dem Sendeplan).
/// </summary>
event ScControlCommandHandler ControlCommandFired;
/// Wird ausgelöst wenn der Studio Controller einen Text-Steuerbefehl
/// versendet (aus der Playlist bzw. dem Sendeplan).
/// </summary>
event ScTextCommandHandler TextCommandFired;
/// Wird ausgelöst wenn der Studio Controller eine Statusmeldung versendet.
/// </summary>
event ScStatusMessageHandler StatusMessageFired;
/// Wird ausgelöst wenn der Studio Controller einen Steuerbefehl empfängt (nach der
/// Command Hanlder Extension abgegriffen).
/// </summary>
event ScNumericInputCommandHandler InputCommandReceived;
/// Sendet einen Steuerbefehl an den Studio Controller.
/// </summary>
/// <param name="command">Die Nummer des Steuerbefehles.</param>
/// <param name="parameter">Ein optionaler Parameter (abhängig vom Steuerbefehl).</param>
/// <param name="delay">Optionale Verzögerung in Millisekunden.</param>
void SendInternalCommand(int command, int? parameter = null, ushort delay = 0);
}
}