Ich suche ein Skript, das abwechselnd Titel und Interpret mit dem Sendernamen bzw. Programmnamen anzeigt. Die Anzeige soll sich zu einem festgelegten Zeitpunkt ändern. Hat jemand bereits ein solches Skript erstellt? Falls nicht, wie richte ich es in Maillist V8.1.2 ein?
Dieses Skript funktioniert also nicht in mAirList:
// mAirList V8 - Metadata Wissel Script
// Dit script wisselt elke 10 seconden tussen de huidige plaat en de programmanaam.
const
PROGRAMMA_NAAM = 'Gert Meppelink - Plaatjes Bunkeren'; // Pas hier je programmanaam aan
WISSEL_TIJD = 10000; // Tijd in milliseconden (10000 = 10 seconden)
var
WisselTimer: TTimer;
ToonProgramma: boolean;
HuidigeArtiest, HuidigeTitel: string;
procedure OnLoad;
begin
ToonProgramma := false;
WisselTimer := TTimer.Create(nil);
WisselTimer.Interval := WISSEL_TIJD;
WisselTimer.Enabled := false;
end;
procedure WisselMetadata(Sender: TObject);
begin
if ToonProgramma then
begin
Instance.GetEncoder.SetMetadata(PROGRAMMA_NAAM);
ToonProgramma := false;
end
else
begin
if (HuidigeArtiest <> '') or (HuidigeTitel <> '') then
Instance.GetEncoder.SetMetadata(HuidigeArtiest + ' - ' + HuidigeTitel)
else
Instance.GetEncoder.SetMetadata(PROGRAMMA_NAAM);
ToonProgramma := true;
end;
end;
procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
begin
if PlaylistIndex = 0 then // Hoofdafspeellijst
begin
HuidigeArtiest := Item.GetArtist;
HuidigeTitel := Item.GetTitle;
// Direct de plaat tonen bij de start
Instance.GetEncoder.SetMetadata(HuidigeArtiest + ' - ' + HuidigeTitel);
ToonProgramma := true;
// Timer herstarten
WisselTimer.Enabled := false;
WisselTimer.OnTimer := @WisselMetadata;
WisselTimer.Enabled := true;
end;
end;
procedure OnPlaylistStop(PlaylistIndex: integer);
begin
if PlaylistIndex = 0 then
begin
WisselTimer.Enabled := false;
HuidigeArtiest := '';
HuidigeTitel := '';
Instance.GetEncoder.SetMetadata(PROGRAMMA_NAAM);
end;
end;
procedure OnUnload;
begin
WisselTimer.Enabled := false;
WisselTimer.Free;
end;
begin
end.