Brauche Hilfe bei ein paar Script Befehlen

Ja, das müßte mit

procedure OnCartwallOnAirModeChange(OldMode, NewMode: TCartwallOnAirMode);
begin
  if NewMode = oamOnAir then begin
    //mach was, wenn On Air;
  end
  else if NewMode = oamPFL then begin
    //mach was anderes, wenn PFL
  end;
end;

gehen.

Das ist hier beschrieben. Allgemein gibt es

ExecuteCommand('<Name des Buttons> ON');
                                 … OFF');
                                 … ENABLE');
                                 … DISABLE');
                                 … TEXT [Text]');

Geschaltete Grüße

TSD


Antworten haben sich überschnitten.

Danke dir vielmals Tondose!!!

Du bist großartig!!! - Jetzt läuft wirklich alles und ohne Glitches!

Tausend Dank!

Jetzt teste ich noch etwas und wenn alles so läuft wie ich das brauche, werde ich wohl mal auf die Internetseite gehen und meine Demo Version zu einer Richtigen machen. Großartige Software!!!

Liebe Grüße

Robert

MIST!!

Einen Glitch gibt es noch:
Wenn ich in der Playliste einen Titel auf PFL schalte, läuft er ja sofort los (was auch korrekt ist). Wenn ich jetzt aber die Pause Taste drücke schließt sich das Fenster sofort, was so nicht sein sollte. Ich denke es liegt daran, dass ExtraPFL dann PFLCount=“0” zurückgibt, weil nichts mehr läuft und ich diese Abfrage nutze um PFL zu beenden. Das ist natürlich doof. hast du vielleicht noch eine Idee, wie ich das Umgehen könnte?

Danke und liebe Grüße

Robert

Welche „Pausentaste“, wo?

Die Pausentaste im Cue Editor.

Kannst Du den Tastendruck “Leertaste” auslösen lassen?
Vorsicht, Windows ist da etwas eigen.

Das wird schwierig, denn wir haben keine Prozedur OnPFLPlayerStateChange. Hätte man sie, könnte man mit

if NewState = psPaused then ...

das Schließen des Cue-Editors verhindern. Steuertest Du das ganze über externe Tastatur o. ä., dann wäre dies auch möglich. Es funktioniert halt nicht, GUI-Befehle abzufangen. Das ganze wäre mal einen Wunsch an @Torben wert, es umzusetzen.

Für den Moment bliebe nur, den Fensterschluß anderweitig zu lösen (als mit PFLCount).

Alternative Grüße

TSD

Wenn der Cue-Editor im Fokus ist. Ist er das immer?

Zweifelnde Grüße

TSD

Was ist denn das “IPlaylistItem”? Könnte man vielleicht das nutzen?

Das bezieht sich auf das gespielte Element, da kannst Du dann alles mögliche drüber erfahren: Spieldauer, Cue-Marken usw.
 

Abgefragte Grüße

TSD

Das heißt auch das gibt “0”, wenn der Cue Player auf Pause steht? Sonst würde das ja funktionieren.

Fragen über Fragen :wink:

Die eigentliche Frage ist ja: kann ich Den ExtraPFL Zustand abfragen, wenn der Cue Player auf “Pause” steht?

Insofern wäre es vielleicht besser @Torben wenn die Pausetaste im Cue Editor nicht dazu führen würde, dass PFLCount=“0” ist wenn das Cue Fenster noch offen ist.

Liebe Grüße

Robert

Ja, da bin ich auch schon mal drauf reingefallen, allerdings bei der Cartwall. Pause ist halt auch Stop. Lösung siehe hier.

Mittels oben erwähnter Prozedur: ja.
 

Pausierte Grüße

TSD

[Einwurf]

  1. Da Ferienzeit ist, bitte ich bei Anfragen Richtung Torben, die nicht allerhöchste Priorität haben (Studio abgeraucht oder vergleichbar), etwas Geduld zu haben.

  2. Im Bereich “privater Benutzer” bzw. “kein Premium-Support” kennen wir keinerlei Provision oder ähnliches. Da du, @derrotedj, hier aber den Kauf von mAirList “angedroht” hast und @Tondose einen nicht unerheblichen Anteil dazu beigetragen hat, möchte ich nach erfolgreicher Transaktion bei einem möglichen kulinarischen Treffen mit TSD die Rechnung übernehmen dürfen.
    Rein privat, versteht sich. Nichts offizielles. Einfach nur als “Dankeschön” für die geleistete Arbeit.

Schön auch, dass so die gesamte Community später noch einen Mehrwert daraus ziehen darf.
Vielen Dank! :clap:

[/Einwurf]

Leider funktioniert es nicht. Ich hab jetzt diese Zeile ins Script eingefügt:

procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex: integer; OldState: TPlayerState; NewState: TPlayerState; Item: IPlaylistItem);
begin
if NewState = psPaused then 
EPFLon := true
else
EPFLon := false;
end;

Dabei bleibt leider die Variable EPFLon die ganze Zeit false. Auch wenn ich im Cue Fenster Pause drücke.

Scheint also bei Cue Fenstern nicht zu gehen. Oder ich steh mal wieder auf dem Schlauch was wahrscheinlicher ist :wink:

Vielleicht hast nu noch ne Idee Tondose?

Liebe Grüße

Robert

So war’s gemeint.



Natürlich nicht. Besagte Prozedur gibt es ja noch nicht.

Verfrühte Grüße

TSD

Jetzt verwirrst du mich total - die Prozedur ist doch im Background Script Template drin:

// Called when (playlist) player changes its state
procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex: integer; OldState: TPlayerState; NewState: TPlayerState; Item: IPlaylistItem);
begin
end;

Meinst du damit es gibt den Zustand “psPaused” nicht oder was?

Liebe Grüße

Robert

Es gibt die Prozedur On>PFL<PlayerStateChange nicht, die dazu nötig wäre. „Deine“ Prozedur bezieht sich, wie in der Erklärung vermerkt, auf


Differente Grüße

TSD

Ok jetzt hab auch ich es verstanden!

Danke für die geduldige Erklärung.

Das heißt derzeit ist es nicht möglich bei ExtraPFL per Script abzufragen ob das ExtraPFL Cue Fenster noch geöffnet ist bzw. der Player nur auf Pause geschaltet ist. Das ist quasi in einem Script nicht abfragbar. Richtig? Dann muss ich nicht weiter suchen.

Liebe Grüße

Robert

Ihr werdet lachen…

Ich habe es doch hinbekommen. So funktioniert es nun in beide Richtungen:

//PFL Automation

var
EPFL: boolean;

procedure OnExtPFLOn(Item: IPlaylistItem; PFLCount: integer);
begin
MidiOut(1, $B1, $50, $00); 
MidiOut(1, $B1, $32, $7F);
MidiOut(1, $B1, $33, $7F);
EPFL := true;
end;

procedure OnExtPFLOff(Item: IPlaylistItem; PFLCount: integer);
begin
MidiOut(1, $B1, $50, $7F); 
MidiOut(1, $B1, $32, $00);
MidiOut(1, $B1, $33, $00);
EPFL := false;
end;

procedure OnExecuteCommand(Command: string);
begin
if (Command = 'X32PFLON') and not EPFL then  
ExecuteCommand('PLAYLIST 1 EXTRAPFL ON')
else if (Command = 'X32PFLOFF') and EPFL then 
ExecuteCommand('PLAYLIST 1 EXTRAPFL OFF');
end;

begin
end.

Die einzige Einschränkung dabei ist, dass das Mischpult bei Pause im Cue Fenster das Vorhören ausschaltet, aber bei erneutem Play sofort wieder einschaltet. Damit kann ich erstmal leben.

Danke an alle und liebe Grüße

Robert


Edit:

Weitere Einschränkung wie ich gerade festgestellt habe:
Sobald man im Cue Fenster den Schalter “Zum Anfang springen” drückt, schließt sich das Cue Fenster. Der Schalter “END MON” Funktioniert aber kurioserweise problemlos.