Wäre es möglich, das Feld AUTO (für die aktivierte Automation) ähnlich wie den OnAir-Staus als konfigurierbares Screenobjekt zu realisieren? Wenn also die Automation aktiviert ist, blinkt dieses Objekt dann z.B. in rot und im Assist-Mode statisch in grün.
Ja, ich weiss, das es die Leiste mit den AUTO/ASSIST-Buttons gibt, aber diese Dinger sind mir persönlich zu klein.
Mit meinem Vorschlag wäre immer sofort und auf einem Blick deutlich zu erkennen, in welchem Playlist-Status sich mAirList befindet.
Daran habe ich noch gar nicht gedacht… Stellt sich mir die Frage, ob der den Status auch annimmt, wenn ich den Auto/Assist-Modus über die Fernsteuerung (Gamepad) wechsle.
Nee, macht keinen Sinn mit dem Button. Der wechselt ja den Anzeige-Status nicht so wie der OnAir-Schalter, bzw. der OnAir-Status. Na mal sehen, vielleicht bastelt der Torben ja was. Wäre schön
So, hab mal etwas rumprobiert und eine Lösung mit Button und Script gefunden.
Zunächst brauchst du den aktuellen Snapshot (Build 817).
Dann legst du dir ein Bildschirmobjekt vom Typ statischer Text an - das wird der Button -, und stellst Font usw. Außerdem ist es wichtig, dem Button auf der Seite “Erweitert” eine Fernsteuerungs-ID zu verpassen, zum Beispiel “AUTOMATIONBUTTON”.
ein und speicherst die Konfiguration.
Sodann öffnest du die screenobjects.ini im Texteditor, suchst den Abschnitt des neuen statischen Texts, und fügst dort folgende Zeile ein:
ClickCommand=AUTOMATION 1 ON/OFF
Damit wird der Text zu einem Button, und wenn du ihn anklickst, wird der angegebene Befehl ausgeführt, also die Automation ein- bzw. ausgeschaltet.
Nun geht es noch darum, den aktuellen Automation-Status in dem Textobjekt darzustellen. Dafür sorgt das folgende Notification Script:
procedure UpdateButton;
begin
if PlaybackControl(0).GetAutomation then begin
ExecuteCommand('AUTOMATIONBUTTON TEXT AUTO');
ExecuteCommand('AUTOMATIONBUTTON BACKGROUNDCOLOR #FF0000');
if trunc(now * 24 * 60 * 60 * 2) mod 2 = 0 then
ExecuteCommand('AUTOMATIONBUTTON BACKGROUNDCOLOR #FFFF00')
else
ExecuteCommand('AUTOMATIONBUTTON BACKGROUNDCOLOR #FF0000');
end
else begin
ExecuteCommand('AUTOMATIONBUTTON TEXT ASSIST');
ExecuteCommand('AUTOMATIONBUTTON BACKGROUNDCOLOR #00FF40');
end;
end;
procedure OnLoad;
begin
UpdateButton;
EnableTimer(500);
end;
procedure OnAutomationOn(PlaylistIndex: integer);
begin
UpdateButton;
end;
procedure OnAutomationOff(PlaylistIndex: integer);
begin
UpdateButton;
end;
procedure OnTimer;
begin
UpdateButton;
end;
begin
end.
Herzstück ist die Prozedur UpdateButton, die dem Textobjekt je nach Zustand der Automation verschiedene Befehle schickt (über seine Fernsteuerungs-ID), die seine Hintergrundfarbe und seinen Text verändern. Die UpdateButton-Prozedur wird zu verschiedenen Gelegenheiten aufgerufen:
Wenn das Script geladen wird (OnLoad)
Wenn sich der Zustand der Automation ändert (OnAutomationOn, OnAutomationOff)
Alle 500ms per Timer, um das Blinken zu realisieren
hey. ich wollte das auch machen, hab mich an deine anleitung gehalten, bei mir schreibt mairlist beim start aber folgende fehlermeldung. ( version ist der aktuelle Snapshot )
[code]29.11.2010 21:26:38 Fehler Fehler beim Laden des Benachrichtigungs-Scripts D:\mAirList\scripts\notification\NEU AUTO.mls: [Error] (3:1): Syntax error
jz funkts danke ! problem war anscheinend das ich am mac den text kopiert hatte und damit dann auf den windows rechner gegangen bin, hab die leerzeichen alle gelöscht dann is es gangen, fragt mich nicht warum ??? XD