Da hab ich mir was eingebrockt, mit dem Script… ;D
Okay, abgemacht - wenn ich in der Gegend bin, meld ich mich nochmal
Da hab ich mir was eingebrockt, mit dem Script… ;D
Okay, abgemacht - wenn ich in der Gegend bin, meld ich mich nochmal
Hallo Antenne
Nutzt Du bereits die Backtiming Anzeige? Diese liefert die Startzeit der Elemente.
Ist eine praktische Sache.
Einziger Nachteil, während keine Elemente ausgespielt werden, also der Modarator nur spricht, läuft das Backtiming nicht weiter
Michel
Das stimmt nicht mehr. Es gibt inzwischen eine Option, mit der das Backtiming fortlaufend aktualisiert werden kann.
Option gefunden!!!
Wann hast Du den diese geniale Sache eingebaut? Finde nichts im ChangeLOG
Ich hab mal nachgeforscht: Seit 2.1.38 müsste das drin sein. Hab ich wohl vergessen zu dokumentieren.
Das ist wirklich ein schönes Weihnachtsgeschenk!
http://forum.mairlist.com/index.php/topic,457.0.html
Ganz herzlichen Dank
Michel
[quote=“lifechannel, post:22, topic:4595”]Hallo Antenne
Nutzt Du bereits die Backtiming Anzeige? Diese liefert die Startzeit der Elemente.
Ist eine praktische Sache.[/quote]
Nutze ich bereits, ja
Strenggenommen hätt’s dein Script gar nicht gebraucht, hätte ich die Elemente ja so auch ablesen können, die nicht mehr gespielt werden können.
Hab aber die Tage beim DABIS das gesehen, deswegen wollte ich das auch unbedingt haben - wie ein kleines Kind bin ich da… ;D
Achja - das Script für 5 vor läuft bei mir immer noch nicht…
Fehlermeldung?
Poste mal das Script.
Keine Fehlermeldung, passieren tut nix:
var nextHour: TDateTime;
jetzigeStunde: Integer;
jetzt: TDateTime;
sekBisNextHour: Integer;
i: Integer;
summe: Integer;
begin
jetzigeStunde := StrToInt(FormatDateTime('h', now));
jetzt:=now;
nextHour :=Date;
nextHour := nextHour + EncodeTime(jetzigeStunde,0,0,0) + 0.03819444444*55;
sekBisNextHour := Round((nextHour-jetzt)*86400);
summe:=0;
for i:=0 to CurrentPlaylist.GetCount-1 do begin
summe:=summe+CurrentPlaylist.GetItem(i).GetEffectiveDuration/10000000;
if summe > (sekBisNextHour) then begin
CurrentPlaylist.GetItem(i).SetColor(clYellow);
CurrentPlaylist.GetItem(i).SetColored(true);
end;
end;
end.
Hi,
nextHour := nextHour + EncodeTime(jetzigeStunde,0,0,0) + 0.03819444444*55;
Kein Wunder. Warum auch “0.03819444444*55”,
Ersetz das mal mit “0.03819444444”
grüße, michi
Was soll ich sagen - es funktioniert
Ich glaub, damit wurde jetzt ein zweiter Kaffee fällig…
nene, einer reicht
Hallo zusammen,
ich hole mein Thema mal wieder hervor.
Also nachdem das Script mit Hilfe von flashlighter wunderbar geklappt hat, ist mir jetzt im täglichen Einsatz eine Sache aufgefallen:
Ich führe das Script aus und alle Songs, die bis xx:55 Uhr nicht mehr ausgespielt werden können, werden gelb markiert. So soll es ja auch sein.
Wenn die Playlist allerdings über eine Sendestunde geht, werden auch alle weiteren Songs markiert, die in den nächsten Sendestunden eingeplant sind.
Gibt es da denn eine Möglichkeit, nur die Songs bis 5 vor und sonst keine weiteren zu markieren oder muss ich mir immer Playlisten erstellen, die nur eine Stunde lang dauern?
Schönes WE!
Hi,
du willst quasi das bisherige invertieren? Dass Songs markiert werden, die noch in dieser Stunde geschafft werden?
grüße, michi
[quote=“flashlighter, post:34, topic:4595”]Hi,
du willst quasi das bisherige invertieren? Dass Songs markiert werden, die noch in dieser Stunde geschafft werden?
grüße, michi[/quote]
Hmm…nein, nicht direkt. Also grundsätzlich sind bei mir alle Songs, die noch folgen hellgelb markiert - und die, die bis :55 nicht mehr reinpassen, werden gelb markiert.
Und ich suche nun nach einer Möglichkeit, dass immer nur die Songs (der Song?!) markiert werden, die in die laufende Sendestunde nicht mehr reinpassen - die übrigen (in den nächsten Stunden) sollen ganz normal bleiben.
Also im Prinzip soll nur der letzte Song, der zu lang ist, markiert werden.
okay, nur den ersten Song markieren, der nichtmehr reinpasst… das lässt sich machen…
Poste mal bitte den Code, der gerade funktioniert, dann erweiter ich das kurz.
grüße, michi
var nextHour: TDateTime;
jetzigeStunde: Integer;
jetzt: TDateTime;
sekBisNextHour: Integer;
i: Integer;
summe: Integer;
begin
jetzigeStunde := StrToInt(FormatDateTime('h', now));
jetzt:=now;
nextHour :=Date;
nextHour := nextHour + EncodeTime(jetzigeStunde,0,0,0) + 0.03819444444;
sekBisNextHour := Round((nextHour-jetzt)*86400);
summe:=0;
for i:=0 to CurrentPlaylist.GetCount-1 do begin
summe:=summe+CurrentPlaylist.GetItem(i).GetEffectiveDuration/10000000;
if summe > (sekBisNextHour) then begin
CurrentPlaylist.GetItem(i).SetColor(clYellow);
CurrentPlaylist.GetItem(i).SetColored(true);
end;
end;
end.
var nextHour: TDateTime;
jetzigeStunde: Integer;
jetzt: TDateTime;
sekBisNextHour: Integer;
i: Integer;
summe: Integer;
farbig: boolean; //
begin
farbig:=false;
jetzigeStunde := StrToInt(FormatDateTime('h', now));
jetzt:=now;
nextHour :=Date;
nextHour := nextHour + EncodeTime(jetzigeStunde,0,0,0) + 0.03819444444;
sekBisNextHour := Round((nextHour-jetzt)*86400);
summe:=0;
for i:=0 to CurrentPlaylist.GetCount-1 do begin
summe:=summe+CurrentPlaylist.GetItem(i).GetEffectiveDuration/10000000;
if (summe > (sekBisNextHour)) and (farbig = false) then begin
CurrentPlaylist.GetItem(i).SetColor(clYellow);
CurrentPlaylist.GetItem(i).SetColored(true);
farbig:=true;
end;
end;
end.
(ungetestet)
Haut hin - ich danke dir!