script funktioniert nicht

hy…

ich hab das play.php script und das funzt nicht mehr…

hab deswegen wieder auf die .19 gewechselt…

genauere beschreibung folgt wenn ich aufn test pc die .20er installier

[code]procedure OnPlayerStart(PlayerControl: IPlayerControl; item: IPlaylistItem);
var sl: TStringList;
idx, i: Integer;
pi: IPlaylistItem;
begin
idx := CurrentPlaylist.IndexOf(item);
if idx = -1 then begin
SystemLog(‘Das war kein Element aus unserer Playlist …’);
exit;
end;

sl := TStringList.Create;
sl.Add(’<?php’);
i := 0;
while (idx < CurrentPlaylist.GetCount) and (i < 5) do begin
pi := CurrentPlaylist.GetItem(idx);
if not pi.GetHistoryFlag then begin
sl.Add(’$playa’ +(IntToStr(i)) + ‘="’ + pi.GetArtist + ‘";’);
sl.Add(’$playb’ +(IntToStr(i)) + ‘="’ + pi.GetTitle + ‘";’);
sl.Add(’$playc’ +(IntToStr(i)) + ‘="’ + FormatDateTime(‘hh:mm:ss’, (pi.GetDuration/10000000)/(246060)) + ‘";’);
sl.Add(’$playd’ +(IntToStr(i)) + ‘="’ + FormatDateTime(‘hh:mm:ss’, pi.GetStartTime)+ ‘";’);
i := i + 1;
end;
idx := idx + 1;
end;
sl.Add(’?>’);
sl.SaveToFile(‘k:\play.php’);
sl.Free;
end;

begin
end.[/code]

Könntest du bitte noch mitteilen, WAS daran nicht mehr funktioniert? Vielleicht gibt es ja eine Fehlermeldung?

Ich hab hier nämlich gerade weder Windows noch ein Laufwerk K:, deswegen kann ich das nicht einfach ausprobieren. Vielleicht aber anhand der Fehlermeldung die Ursache erkennen.

Übrigens, es kann sein, dass ich bei der .19 vergessen habe, das Script-Interface zu aktualisieren. Dann funktionieren manche Funktionen nicht richtig. Mach also bitte auf jeden Fall mal ein Update auf die .20.

Torben

so… .20er

error loading D:\....NowPlayingphp.mls: [error] (21:89): Invalid number of parametersOO

Mach aus dem “GetStartTime” mal ein “GetStartTime(sttEstimated)”. Dann müsste es gehen. Wenngleich evtl. nicht das herauskommt, was du gerne möchtest (s.u.).

Hintergrund: Es wurde angeregt, dass mAirList sowas wie “geplante Uhrzeiten” verwalten und die Differenz zwischen geplanter und tatsächlicher Zeit anzeigen kann. Als Vorbereitung dazu habe ich die PlaylistItems so umgebaut, dass sie nun mehrere Zeiten pflegen: Eine geplante (die derzeit noch nicht verwendet wird, kommt dann aber), eine errechnete, eine tatsächliche (für Elemente, die bereits gespielt wurden) und evtl. eine Fixzeit. Alle Werte werden im Eigenschaften-Dialog angezeigt.

Für das Scripting bedeutet es, dass man ab sofort einen Parameter mitgeben muss, welche der gespeicherten Startzeiten man gerne haben möchte: sttFixed, sttPlanned, sttEstimated, sttReal oder sttSinceLastBreak. Ich werde die CHM-Dokumentation noch anpassen.

So, nun zu dem Problem: Prinzipiell müsste man für jedes Element abfragen, ob es gerade in einem Player läuft, und, wenn ja, sttReal statt sttEstimated benutzen, damit die echte Startzeit angezeigt wird und nich die errechnete (für die Player die noch nicht laufen). Genauso macht es die Playlist-GUI auch. Wenn du willst, kann ich dir den Code mal rauskopieren und für das Scripting anpassen.

Torben

bitte bitte… ich versteh bei dem pascal code nur Bahnhof…