Ik dacht dat ik het lek vwb uurvullen had gevonden.. Maar het klopt niet helemaal. Kunnen julllie eens kijken naar onderstaande scripts. Nu wordt er willekeurig rond xx.59.10 of xx.59.35 of zelfs rond xx.58 nog een nieuwe soms ook lange plaat gestart die vervolgens wordt afgekapt door m'n uuropener.
Code: Selecteer alles
// PRECIES EEN UUR VULLEN PAL:
PAL.Loop:=True;
// Begin het script op elk uur vanaf 5 voor het uur
PAL.WaitForTime(T['XX:55:00']) ;
// Speed some things up
PAL.LockExecution ;
// Wat variabele instellen
var RestTijd : Integer ;
var Now_minutes : String ;
var D : TDataSet ;
// Alleen de minuten van het uur
Now_minutes := FormatDateTime('n', Now) ;
// De aantal minuten afhalen van 1 uur en waar rekening is gehouden met de spelende nummer in miliseconden
RestTijd := ( (60 - Now_minutes ) * 60000) - ( Activeplayer.Duration - ActivePlayer.CurTime ) ;
// Hier zoek ie de nummer met de juiste lengte + een beetje meer
D := QUERY('SELECT ' +
'songlist.artist, songlist.filename, songlist.duration ' +
'FROM ' +
'songlist ' +
'WHERE ' +
'date_played <= DATE_SUB( NOW( ), INTERVAL 1 HOUR )' + // Alleen nummers die al 1 uur niet zijn gespeeld
'AND '+
'duration '+
'BETWEEN '+
':RestTijd '+
'AND '+
':RestTijd + 9000 ' + // Hier wat speling op de lengte van het gezochte nummer met 9 seconden
'ORDER BY RAND() ' + // Hij pakt een willekeurige nummer die voldoet aan de eisen
'LIMIT 1', [RestTijd], True ) ;
D.First ;
if not D.EOF then
begin
Queue.Addfile(+D['filename'], IpTop) ;
D.next ;
end
else
WriteLn('Geen Resultaat');
D.free ;
// Slow some things down
PAL.UnLockExecution ;
PAL.WaitForTime(T['XX:59:54']);
// PAL.UnLockExecution;
Queue.Clear;
Queue.AddFile('C:\Jingles\uuropener.mp3',ipTop);
ActivePlayer.FadeToNext;
Code: Selecteer alles
PAL.Loop:=True;
var QueueTime : Integer = (60*60*1000);
While Queue.Duration < QueueTime do
Begin
Cat['Music (All)'].QueueBottom(smRandom, EnforceRules);
end;
// PAL.UnLockExecution;
Code: Selecteer alles
PAL.Loop:= True;
Cat['Jingles (All)'].QueueTop(smLRP, NoRules);
PAL.WaitForTime (T['+00:09:30']);