Player-Zustandsänderungen übergeben

Hallo zusammen,

ich möchte über einen Com-Port gerne einen Character senden, wenn einer meiner Player startet oder stoppt.
Ich habe seit langer Zeit ein Script laufen, das komplett funktioniert. Es gibt bereits eine OnPlayerStop-Procedure, die genau das macht, was ich möchte. Also habe ich nach dem gleichen Prinzip das ganze auf die OnPlayerStart umgemünzt.

Um folgenden Scriptteil geht es:

[code]procedure OnPlayerStart(PlayerControl: IPlayerControl; PlaylistIndex: integer; PlayerIndex: integer);
begin
if PlaylistIndex = 0 then begin

		if PlayerIndex = 0 then begin
			ComPort('COM2').SendStr('W\r');
		end;

		if PlayerIndex = 1 then begin
			ComPort('COM2').SendStr('X\r');
		end;

		if PlayerIndex = 2 then begin
			ComPort('COM2').SendStr('Y\r');
		end;

	end;

if PlaylistIndex = 1 then begin

		if PlayerIndex = 0 then begin
			ComPort('COM2').SendStr('Z\r');
		end;

	end;

end;[/code]

Allerdings erhalte ich als Player-Index immer abenteuerliche Zahlen (z.B. 53883568), die sich pro Abruf ändern und kleiner werden. Ich kann also einen Player keiner eindeutigen Zahl zuordnen.

Wie kann ich denn eindeutig abrufen, welcher Player gestartet wurde?

Danke und viele Grüße
Johannes

Die Reihenfolge und Typen der Parameter stimmen nicht - die habe sich im Laufe der Versionen mehrfach geändert.

Hier aktuell für mAirList 5:

// Called when (playlist) player is started
procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
begin
end;

// Called when (playlist) player is stopped
procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
end;

Vielen Dank, das war es! :slight_smile:

Grüße
Johannes