Im Background Script Template finde ich lediglich die Bedingung OnPlayerEOFWarning. Gibt es dies auch playbezogen? OnPlayer1EOFWarning gab bei mir leider einen Error.
Merci 
Im Background Script Template finde ich lediglich die Bedingung OnPlayerEOFWarning. Gibt es dies auch playbezogen? OnPlayer1EOFWarning gab bei mir leider einen Error.
Merci 
Was hast du denn vor? Der Befehl kann schon Playerseitig unterscheiden:
procedure OnPlayerEOFWarning(PlaylistIndex: integer; PlayerIndex: integer);
begin
end;
Mit PlayerIndex liefert dir die Prozedur die Info mit, welcher Player gerade vom EOF betroffen ist.
Wo trage ich dann die 1 bzw. 2 ein? Ich möchte playerbezogen eine EOF-Warnung an mein MIDI-Gerät senden, Skript habe ich auch dazu.
var sollBlinkenEOF: boolean; istAn: boolean;procedure OnTimer;
begin
if sollBlinkenEOF then begin
istAn := not istAn;
if istAn then
midiOut(1, $90, $28, 127)
else
midiOut(1, $90, $28, 0);
end;
end;procedure OnLoad;
begin
sollBlinkenEOF := false;
EnableTimer(500);
MidiOutOpen(1);
end;procedure OnPlayerEOFWarning(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
begin
sollBlinkenEOF := true;
end;procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
sollBlinkenEOF := false;
midiOut(1, $90, $28, 0);
end;begin
end.
Funktioniert auch, bekomme jedoch beim ausführen ein “List index out of bounds (6)”.
Was willst du denn genau machen? Zwei Start/Stop Buttons vom Midi-Geräten zum Blinken bringen?
Genau, wenn Player1 EOF geht, dann soll Lampe x blinken, wenn Player2 EOF geht, soll Lampe y blinken 
Wie lauten denn die unterschiedlichen Bezeichnungen der beiden Tasten beim midiOut?
Player1: $90, $28
Player2 $88, $26
rein als Idee, wobei es mit Sicherheit auch eleganter geht.
Warum machst du nicht zwei Scripte? Mit unterschiedlichen MidiOut-Befehlen und änderst unten:
[code]procedure OnPlayerEOFWarning(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
begin
sollBlinkenEOF := true;
end;
procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
sollBlinkenEOF := false;
midiOut(1, $90, $28, 0);
end;[/code]
in
[code]procedure OnPlayerEOFWarning(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
begin
if PlayerIndex = 0 then
sollBlinkenEOF := true;
end;
procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
if PlayerIndex = 0 then
sollBlinkenEOF := false;
midiOut(1, $90, $28, 0);
end;[/code]
und
[code]procedure OnPlayerEOFWarning(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
begin
if PlayerIndex = 1 then
sollBlinkenEOF := true;
end;
procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
if PlayerIndex = 1 then
sollBlinkenEOF := false;
midiOut(1, $88, $26, 0);
end;[/code]
Keine Ahnung, ob das klappt, ist nur ein Schuss ins Blaue und besonders elegant ist es auch nicht.