Script: Wenn Player STOPPT -> MidiOut Befehl, Bei Pause kein MidiOut Befehl

Hallo!

Ich habe ein kleines Problem mit meinem Script. Und zwar habe ich 2 Playlisten. Bei der 1 Playlist 2 Player: MAL1 & MAL2, bei der 2 Playlist einen Player: EV.
Wenn ich einen Player in Pause versetze, soll nichts passieren. Wenn ein Player stoppt soll der jeweilige Midi Befehl gesendet werden. Wie baue ich das in das folgende Script ein ? Kann mir jemand helfen?? ???

[code]procedure OnPlayerStop(PlayerControl: IPlayerControl; Item: IPlaylistItem; Duration: int64);

begin

if (PlayerControl.GetCaption = ‘MAL1’) then begin
MidiOut ( 02, 176, 73, 00 ) ;
end;
if (PlayerControl.GetCaption = ‘MAL2’) then begin
MidiOut ( 02, 176, 74, 00 ) ;
end;
if (PlayerControl.GetCaption = ‘EV’) then begin
MidiOut ( 02, 176, 75, 00 ) ;
end;
end;

begin
end.[/code]

LG mike

hi,

du musst noch den status des players abfragen. geht glaube ich mit “Player(i).GetState” (kanns gerade nicht testen, da ich umgezogen bin und mein bürogeraffel noch nicht aufgebaut habe)

grüße, michi

hi!

danke fürs antworten;)

und wie baue ich das in das script ein, dass er zuerst den namen des players abfragt und dann checkt, ob der player gestoppt oder in pause versetzt wurde?

lg mike

kann mir wer helfen??

lg

[code]procedure OnPlayerStop(PlayerControl: IPlayerControl; Item: IPlaylistItem; Duration: int64);

begin
SystemLog(intToStr(PlayerControl.GetIndex));
if ((PlayerControl.GetState <> PS_PAUSED) and (PlayerControl.GetCaption = ‘MAL1’)) then begin
MidiOut ( 02, 176, 73, 00 ) ;
end;
if ((PlayerControl.GetState <> PS_PAUSED) and (PlayerControl.GetCaption = ‘MAL2’)) then begin
MidiOut ( 02, 176, 74, 00 ) ;
end;
if ((PlayerControl.GetState <> PS_PAUSED) and (PlayerControl.GetCaption = ‘EV’)) then begin
MidiOut ( 02, 176, 75, 00 ) ;
end;
end;

begin
end.[/code]

sowas in der art (ungetestet)

danke! ich werde das gleich testen, wenn ich wieder daheim bin…:wink: DANKE, werde berichten, ob es funkt! :slight_smile:

lg mike

mhey!

ich habs getestet, nur leider passiert genau das selbe wie bei meinem vorigen script. :frowning: wenn ich den player in pause versetze, dann schickt er den Midi Befehl trotzdem…

lg

Das ist komisch, denn

PlayerControl.GetState <> PS_PAUSED

ist wahr, wenn der zustand des players alles andere ist, nur nicht auf pause. (so zumindest meine theorie :wink: )

Torben, weisst du da was, was ich nicht weiss ? :wink:

grüße, michi

torben hast ne idee ?? ???

Problem gefunden: Das Notification Script wird aufgerufen, bevor sich der Zustand (State-Wert) des Players ändert. Er steht also zu dem Zeitpunkt noch auf PS_PLAYING.

Ich habe das jetzt mal umgedreht. Hoffentlich beeinflusst das nichts anderes. Probiert mal bitte den neuen Snapshot aus (gerade hochgeladen).

http://www.mairlist.com/download/mAirList/v2.2/snapshot/

Danke! ich werde das am we testen wenn ich wieder zu hause bin…

lg mike

Hey!

Danke!!! Das war die Ursache, jetzt geht es :slight_smile:

LG Mike