PAL loopt maar 1 x ipv alle tijden

Voor vragen over Playlist Automation Language.
Plaats reactie
jenni

PAL loopt maar 1 x ipv alle tijden

Ongelezen bericht door jenni »

Maandag.PAL
Ik heb hier en daar wat vb gepakt en een PAL samengesteld om uit te breiden
helaas niet het gewenste resultaat.
Ik krijg geen compile error.
Het resultaat is dat hij alleen de tijd tussen 6 en 7 pakt doet de opdrachten
maar niet de resterende tijden.
Iemand een idee waar de fout is?.

Alvast bedankt

Code: Selecteer alles

{*******************************************************************************
PAL script maandag t/m zondag
*******************************************************************************}
PAL.Loop:=True;
//<<--Maandag van 00:00 tot 23:59-->>
While DayOfWeek(Now) = Monday and ((Now >= T['18:57:20']) AND (NOW<=T['18:57:30'])) do
begin
PAL.LockExecution;
PAL.WaitForTime(T['19:29:40']); //Start Show News
 WriteLn('Maandag');
   Queue.AddFile('C:\Radio\News\NewsJingle.mp3',ipTop);  // NewsIntro Tune
 ActivePlayer.Fadetonext;
PAL.WaitForTime(T['20:30:00']); //End Show News
 ActivePlayer.Fadetonext;
PAL.WaitForTime(T['20:30:01']); //Start Show News
 WriteLn('Maandag');
  Queue.AddFile('C:\Radio\Advertenties\Welcome_Back.mp3',ipTop);
 ActivePlayer.FadeTonext;
PAL.UnLockExecution;
end;
// ******************************************************************************
//<<--Maandag van 07:00 tot 23:59-->>
While DayOfWeek(Now)= Monday and
	((Now >= T['06:59:50']) and (Now <= T['07:00:00'])) or
	((Now >= T['07:59:50']) and (Now <= T['08:00:00'])) or
	((Now >= T['17:59:50']) and (Now <= T['18:00:00'])) or
	((Now >= T['21:59:50']) and (Now <= T['22:00:00'])) or
	((Now >= T['22:59:50']) and (Now <= T['23:00:00'])) or
	((Now >= T['23:59:50']) and (Now <= T['23:59:59'])) Do
begin
PAL.LockExecution;
//PAL.WaitForTime(T['XX:00:15']);
PAL.WaitForTime(T['+00:00:15']);
//PAL.WaitForTime('XX:02:15');  // Begin Tune Om +2:25 na heel uur
WriteLn('Maandag');
  dir['C:\Radio\Advertenties\Maandag'].Rescan;
     Queue.AddDir('C:\Radio\Advertenties\Party',False, ipTop);
ActivePlayer.FadeTonext;
PAL.UnLockExecution;
end;
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Laatst gewijzigd door jenni op 31 mar 2012, 23:52, 2 keer totaal gewijzigd.
Reden: Edit: ik heb je PAL als CODE erin gezet
drOhimself

Re: PAL loopt maar 1 x ipv alle tijden

Ongelezen bericht door drOhimself »

Jennie, jij bent goed bezig !
Alleen bij deze PAL gebruik je diverse tijden door elkaar heen.
De eerste While kijkt naar de tijd tussen 18:57:20 en 18:57:30
Dan laat je wachten totdat het 19:29:40 is, nog steeds in dezelfde While loop.
Dan weer wachten tot 20:30:00.
Je zal voor die acties aparte While loops moeten maken.
Helaas werkt PAL niet zoals VB.
Ik zou starten met de PAL.LockExecution.
Dan na de Begin regel , de PAL.Unlock gebruiken.

Zoiets als dit :

Code: Selecteer alles

PAL.Loop:=True;
PAL.LockExecution;
//<<--Maandag van 00:00 tot 23:59-->>
While DayOfWeek(Now) = Monday and ((Now >= T['18:57:20']) AND (NOW<=T['18:57:30'])) do
	begin
		PAL.UnLockExecution;
		WriteLn('Maandag');
		PAL.LockExecution;		
	end;
While DayOfWeek(Now) = Monday and ((Now >= T['19:29:20']) AND (NOW<=T['19:29:30'])) do
	begin
		PAL.UnLockExecution;
		PAL.WaitForTime(T['19:29:40']); //Start Show News
		Queue.AddFile('C:\Radio\News\NewsJingle.mp3',ipTop);  // NewsIntro Tune
		ActivePlayer.Fadetonext;
		PAL.LockExecution;		
	end;
PAL.UnLockExecution;

.......
.......rest
jenni

Re: PAL loopt maar 1 x ipv alle tijden

Ongelezen bericht door jenni »

Hi drO

Kijk ik ga ervan uit dat Sam kijkt naar de dag en tijd
Is de dag True en tijd ook True voer dan de opdracht uit.
Dus ondanks het feit dat daadwerkelijk in het eerste blok andere tijden zijn
Hieruit begrijp ik dat je liever de tijden van 0:00 naar 23:59 kan laten lopen want Sam is geen Visual basic?? (klopt dat)

Bedoel je te zeggen dat de blok tijden met Or niet gaat werken en deze appart uitvoeren
Ik had ergens een soort vb gezien
Ik ga nu offline . Ff uitrusten.
Lange dag geweest met deze script

Thanks anyway
Je hoort het
drOhimself

Re: PAL loopt maar 1 x ipv alle tijden

Ongelezen bericht door drOhimself »

Hoi Jennie,

Je hebt het helemaal goed !
Het is geen VB, maar een Delphi variant.
En idd, hou beter 0:00 - 23:59 aan, dat vindt PAL beter gaan.
De beschreven regels met Or gaan denk ik niet zo werken.
Ik zoek nog even naar een andere PAL uit de 'verzameling'....
drOhimself

Re: PAL loopt maar 1 x ipv alle tijden

Ongelezen bericht door drOhimself »

Hoi Jennie,

Ik heb vandaag effe zitten puzzelen (was toch zondag) met je PAL.
Sommige kleine dingen aangepast.
Het laatste stuk (met Or statement) werkte bij mij ook niet, dus hier even wat anders op verzonnen.

Ik kreeg nog wel een foutmelding te zien bij de rescan van map 'C:\Radio\Advertenties\Maandag' want die had ik niet aangemaakt.
De map 'C:\Radio\Advertenties\Party\' had ik wel aangemaakt met wat nummers erin.
Maar e.e.a. zal ongetwijfeld nog wel korter kunnen !

Code: Selecteer alles

{*******************************************************************************
PAL script maandag t/m zondag
*******************************************************************************}
PAL.Loop:=True;
PAL.LockExecution;
var Flag : Integer;
Flag := 0;
//<<--Maandag van 00:00 tot 23:59-->>
While DayOfWeek(Now) = Monday and ((Now >= T['18:57:20']) AND (NOW<=T['18:57:30'])) do
	begin
		PAL.UnLockExecution;
		WriteLn('Maandag');
		PAL.LockExecution;		
	end;
While DayOfWeek(Now) = Monday and ((Now >= T['19:29:20']) AND (NOW<=T['19:29:30'])) do
	begin
		PAL.UnLockExecution;
		PAL.WaitForTime(T['19:29:40']); //Start Show News
		Queue.AddFile('C:\Radio\News\NewsJingle.mp3',ipTop);  // NewsIntro Tune
		ActivePlayer.Fadetonext;
		PAL.LockExecution;		
	end;


While DayOfWeek(Now) = Monday and ((Now >= T['20:29:45']) AND (NOW<=T['20:29:55'])) do
	begin
		PAL.UnLockExecution;
		PAL.WaitForTime(T['20:30:00']); //End Show News
		WriteLn('Maandag');
		Queue.AddFile('C:\Radio\Advertenties\Welcome_Back.mp3',ipTop);
		ActivePlayer.FadeTonext;
		PAL.LockExecution;				
	end;

// ******************************************************************************
//<<--Maandag van 07:00 tot 23:59-->>
While DayOfWeek(Now)= Monday and
	((Now >= T['06:59:50']) and (Now <= T['07:00:00'])) do
begin
Flag := 1;
 end;
While DayOfWeek(Now)= Monday and	
	((Now >= T['07:59:50']) and (Now <= T['08:00:00'])) do
begin
Flag := 1;
 end;
While DayOfWeek(Now)= Monday and		
	((Now >= T['17:59:50']) and (Now <= T['18:00:00'])) do
	begin
Flag := 1;
 end;
While DayOfWeek(Now)= Monday and		
	((Now >= T['21:59:50']) and (Now <= T['22:00:00'])) do
	begin
Flag := 1;
 end;
While DayOfWeek(Now)= Monday and		
	((Now >= T['22:59:50']) and (Now <= T['23:00:00'])) do
begin
Flag := 1;
 end;
While DayOfWeek(Now)= Monday and		
	((Now >= T['23:59:50']) and (Now <= T['23:59:59'])) Do
	begin
Flag := 1;
 end;
	
If (Flag = 1) Then 
	begin
		PAL.UnLockExecution;
		PAL.WaitForTime('+00:00:10');
		WriteLn('Maandag');
		dir['C:\Radio\Advertenties\Maandag'].Rescan;
		Queue.AddDir('C:\Radio\Advertenties\Party\',False,ipTop);
		ActivePlayer.FadeTonext;
		PAL.LockExecution;
	end;
	Flag := 0;
PAL.UnLockExecution;
Let goed op de net omgekeerde Lock en UnLock regels.....
jenni

Re: PAL loopt maar 1 x ipv alle tijden

Ongelezen bericht door jenni »

Dr Oz
In jouw vb moet ik voor alle tijden the Do invoeren waardoor mijn script te groot wordt
Ik Heb liever de Or functie en uiteindelijk doetie wat ie moet doen.
Thanks
drOhimself

Re: PAL loopt maar 1 x ipv alle tijden

Ongelezen bericht door drOhimself »

Prima als het op jouw manier werkt !
Wil je het eindresultaat nog hier laten zien ?
Dan kan iedereen er weer wat van leren.
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht