Suche Script

Da hab ich mir was eingebrockt, mit dem Script… ;D

Okay, abgemacht - wenn ich in der Gegend bin, meld ich mich nochmal :wink:

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!!! :slight_smile:
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 :wink:
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… :frowning:

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 :slight_smile:

Ich glaub, damit wurde jetzt ein zweiter Kaffee fällig…

nene, einer reicht :wink:

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!