Skip to content

Instantly share code, notes, and snippets.

@Xiradorn
Last active August 29, 2015 14:20
Show Gist options
  • Save Xiradorn/401704aa1870a7a9eb36 to your computer and use it in GitHub Desktop.
Save Xiradorn/401704aa1870a7a9eb36 to your computer and use it in GitHub Desktop.
MeaClub PAL Script for recursive queue playlist up
{**********************************************************************************
** **
** Sir Xiradorn PAL Script for Meaclub Radio **
** Gestione Automatica delle playlist che si ripetono per ogni 3 ore **
** Aggiunta funzioni di ripulitura e alcune funzione di controllo ancora in beta **
** Versione: 2.06.00 **
** **
***********************************************************************************}
// Inizializzazione del Loop
PAL.Loop := True;
// costanti dei percorsi delle varie playlist
const GLOBALE = '## PERCORSO PLAYLISTS ##'; // percorso dove si trova la playlist. Importante terminare con il carattere \
const Fileextension = '.m3u' ; // estensione della playlist
// Variabili di servizio
var G : String;
var I : Integer;
var Present: DateTime;
var Year, Month, Day, Hour, Min, Sec, MSec: Integer;
Present:= Now;
// var fineGiorno : Integer = 0;
var NUMPLAYLIST : Integer = 0; // Numero Playlist
var ORE_PLAYLIST, MINUTI_PLAYLIST, SECONDI_PLAYLIST : String;
// variabile di controllo per le playlist. Tempi che intercaorrono tra le playlist
ORE_PLAYLIST := '02';
MINUTI_PLAYLIST := '59';
SECONDI_PLAYLIST := '00';
// generi di musica (riflessi nel nome delle playlist)
var GENERE : TStringList;
GENERE := TStringList.Create;
//*** Lista Generi - Lista delle playlist presenti (nome delle playlist)
GENERE.Add('## NOME PLAYLIST ##'); //vanno aggiunti i nomi delle play
//*** Aggiunta altre playlist
//--- END Lista Playlist
// Inizio processo alle 8 con star playlist del giorno 1
PAL.WaitforTime(T['08:00:00']);
WriteLn('Data e Ora Attuale: ' + DatetoStr(Now) + ' ' + TimetoStr(Now) + ' Inizio riproduzione playlist Giorno 1');
if Queue.IsEmpty <> true then // Queue.IsEmpty = false then -- IsEmpty è vero se la lista è vuota
begin
Queue.Clear;
end;
// Funzione per la riproduzione lista Playlist
for I:=0 to GENERE.Count-1 do
begin
G := GENERE[I];
// Composizione path playlist
var Playlist : String;
Playlist := GLOBALE + G + Fileextension;
WriteLn(Playlist);
// Aggiunta delle playlist in fondo alla coda di riproduzione
Queue.AddList(Playlist,ipBottom);
// Data e Ora Con messaggio di Scaricamento
// var tempoCorrente : DateTime = Now;
// writeln(DatetoStr(Now) + ' ' + TimetoStr(Now));
WriteLn('Caricamento: ' + Playlist + '. Caricamento avvenuto il: ' + DatetoStr(Now) + ' ' + TimetoStr(Now));
// Riassetto per la fine di ogni giorno con controllo
{fineGiorno := fineGiorno + 1;
if fineGiorno = NUMPLAYLIST then
begin
fineGiorno := 0;
Queue.Clear;
else
end;}
// Attesa per le prossime 3 ore (un minuto in meno giusto per computazione)
var orario : String;
orario := ORE_PLAYLIST+':'+MINUTI_PLAYLIST+':'+SECONDI_PLAYLIST;
PAL.WaitforTime('+'+orario);
end;
// Memory Clear
GENERE.Free;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment