PAL script op bepaalde tijden uitschakelen

Voor vragen over Playlist Automation Language.
Plaats reactie
superwuppie

PAL script op bepaalde tijden uitschakelen

Ongelezen bericht door superwuppie »

Hallo ik heb onderstaand script al heel lang draaien en werkt super.
Nu willen we er een soort rubriekje van 3 plaatjes in plaatsen en zijn bang dat de request roet in het eten gooit.
Dus willen we graag het script tijdelijk uitschakelen.
Zou dan voor de volgende tijden gelden :

9:45 tot na het nieuws staat nu op xx:04:30
en op 15:45 tot xx:04:30

Dat op maandag tot vrijdag en zaterdag en zondag weer net wat andere tijden.

Hoe kan ik dat aanpassen? Is dat veel werkt?

Bedankt alvast voor het meedenken


Code: Selecteer alles

PAL.Loop := True;

    var D : DateTime;
    var AQuery : TDataSet;
    var Song : TSongInfo;
    D := T['XX:57:00'];

    
    repeat
        if Now < D then

        PAL.LockExecution;
    
            AQuery := Query('SELECT songlist.*, requestlist.*, requestlist.ID as requestID FROM songlist, requestlist WHERE (requestlist.ETA<:now) AND (requestlist.status=''new'') AND (songlist.ID=requestlist.songID) ORDER BY requestlist.ETA DESC LIMIT 1 ',[Now],True);
    
                if not(AQuery.BOF and AQuery.EOF) then
                    begin
                        Song := TSongInfo.Create();
                        Song['ID'] := AQuery['ID'];
                        Song['filename'] := AQuery['filename'];
                        Song['artist'] := AQuery['artist'];
                        Song['title'] := AQuery['title'];
                        Song['duration'] := AQuery['duration'];
                        Song['requestID'] := AQuery['requestID'];
                        Queue.Add(Song,ipTop);
            
                        WriteLn('Request handled: '+Song['artist']+' - '+Song['title']);
            
                        Queue.AddFile('Z:\Aparte Jingles\Jingle - Aangevraagd Via De Website.mp3',ipTop);
                        ExecSQL('UPDATE requestlist SET status=:status WHERE (songID = :songID) AND ((status=''new'') OR (status=''pending'')) ',['pending',song['ID']]);
                    end
                else
                    WriteLn('No request found');
        PAL.UnLockExecution;

        AQuery.Free;
        Song.Free;
        
        PAL.WaitForTime('+00:07:00');
    until Now > D;
    
    PAL.WaitForTime(T['XX:04:30']);

drOhimself

Re: PAL script op bepaalde tijden uitschakelen

Ongelezen bericht door drOhimself »

Misschien met zoiets erbij/tussen/over/onder...?
(Let op ! ONGETEST)

Code: Selecteer alles

PAL.Loop:=True;

    PAL.LockExecution;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag : Boolean;
var Zaterdag, Zondag : Boolean;
var WDays        : Boolean;
var ZDays        : Boolean;
var Begintijd    : string = '9:45:00'; // Begintijd
var Eindtijd     : string = 'xx:04:30'; // Eindtijd
var QueueTimeUur : Integer = 1*(60*60*1200);  //1=1uur 2=2uur 3=3uur om X uur muziek te vullen :)
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Maandag := (DayOfWeek(Now) = Monday);
Dinsdag := (DayOfWeek(Now) = Tuesday);
Woensdag := (DayOfWeek(Now) = Wednesday);
Donderdag := (DayOfWeek(Now) = Thursday);
Vrijdag := (DayOfWeek(Now) = Friday);
Zaterdag := (DayOfWeek(Now) = Saturday);
Zondag := (DayOfWeek(Now) = Sunday);
//Hieronder kan je dagen combineren :)
//------------------------------------------------------------------------------
// Alle D-dagen, Dinsdag & Donderdag
WDays := (Maandag or Dinsdag or Woensdag or Donderdag or Vrijdag);
ZDays := (Zaterdag or Zondag);
//------------------------------------------------------------------------------
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

while (WDays) and ((Now >= T[Begintijd]) and (Now <= T[Eindtijd])) do
	begin
	Queue.Clear;
	While Queue.Duration < QueueTimeUur do
		Begin
		// HIER JOUW SCRIPT
		end;
	ActivePlayer.FadeTonext;
	PAL.WaitForTime(T[Eindtijd]);
	ActivePlayer.FadeTonext;
	end;

while (ZDays) and ((Now >= T[Begintijd]) and (Now <= T[Eindtijd])) do
	begin
	Queue.Clear;
	While Queue.Duration < QueueTimeUur do
		Begin
		// HIER JOUW SCRIPT
		end;
	ActivePlayer.FadeTonext;
	PAL.WaitForTime(T[Eindtijd]);
	ActivePlayer.FadeTonext;
	end;
// Onderstaand regel altijd als laatste houden.
PAL.UnLockExecution; 
superwuppie

Re: PAL script op bepaalde tijden uitschakelen

Ongelezen bericht door superwuppie »

Dankje wel voor je reactie!!!

Maar nu komt het dat scripten is niet mijn beste punt..
Ben een beetje aan het klooien geweest. op de plek waar stond hier jouw script.
Maar dan doet hij rare dingen. Dus dat gaat hem niet worden!

Kan iemand me toch op weg helpen???

al is het alleen voor maandag t/m vrijdag.....
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht