Soms dubbele uurtijdmelding in PAL script

Voor vragen over Playlist Automation Language.
Gesloten
Paul538

Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door Paul538 »

Geheel nieuw hier in dit prachtige forum en ook nieuw als SAM gebruiker. Uiteraard gezocht, maar helaas nog niet gevonden wat de oorzaak van het volgende 'euvel' zou kunnen zijn:

Ik heb een Uurtijdmelding PAL script lopen, die ieder heel uur (24x dus) de tijd geeft. In één mp3 staan de 6 pips, met daarna de tekst: Het is nu 1,2,3 uur etc. Dat loopt prima, alleen op sommige uren doet hij dat (gedeeltelijk) dubbel. Dan krijg je 3 pips, die faden out en dan vervolgens de mp3 opnieuw er achteraan, met 6 pips en de tekst. Heeft iemand enig idee wat er mis mee zou kunnen zijn? Als bijlage de layout van het PAL script. Dank bij voorbaat!

Gr. Paul
(SAM 4.2.2 - Windows XP)

P.S. Ik zie bij controle een heel vreemde weergave van de bijlage (txt bestandje). Zo dan maar (sorry als dit niet de juiste manier is, maar weet het niet anders te doen):

Code: Selecteer alles

PAL.Loop:=True;

PAL.LockExecution;

// 01 uur `s nachts
    while (Now >= T['23:59:51']) and (Now <= T['00:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_1_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 02 uur `s nachts
    while (Now >= T['01:59:51']) and (Now <= T['01:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_2_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 03 uur `s nachts
    while (Now >= T['02:59:51']) and (Now <= T['02:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_3_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 04 uur `s nachts
   while (Now >= T['03:59:51']) and (Now <= T['03:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_4_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 05 uur `s nachts
    while (Now >= T['04:59:51']) and (Now <= T['04:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_5_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 06 uur `s ochtends
    while (Now >= T['05:59:51']) and (Now <= T['05:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_6_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 07 uur `s ochtends
    while (Now >= T['06:59:51']) and (Now <= T['06:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_7_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 08 uur `s ochtends
    while (Now >= T['07:59:51']) and (Now <= T['07:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_8_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 09 uur `s ochtends
    while (Now >= T['08:59:51']) and (Now <= T['08:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_9_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 10 uur `s ochtends
    while (Now >= T['09:59:51']) and (Now <= T['09:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_10_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 11 uur `s ochtends
    while (Now >= T['10:59:51']) and (Now <= T['10:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_11_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 12 uur `s middags
    while (Now >= T['11:59:51']) and (Now <= T['11:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_12_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 1 uur `s middags
    while (Now >= T['12:59:51']) and (Now <= T['12:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_1_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 2 uur `s middags
    while (Now >= T['13:59:51']) and (Now <= T['13:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_2_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 3 uur `s middags
    while (Now >= T['14:59:51']) and (Now <= T['14:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_3_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 4 uur `s middags
    while (Now >= T['15:59:51']) and (Now <= T['15:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_4_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 5 uur `s middags
    while (Now >= T['16:59:51']) and (Now <= T['16:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_5_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 6 uur `s avonds
    while (Now >= T['17:59:51']) and (Now <= T['17:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_6_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 7 uur `s avonds
    while (Now >= T['18:59:51']) and (Now <= T['18:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_7_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 8 uur `s avonds
    while (Now >= T['19:59:51']) and (Now <= T['19:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_8_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 9 uur `s avonds
    while (Now >= T['20:59:51']) and (Now <= T['20:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_9_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 10 uur `s avonds
    while (Now >= T['21:59:51']) and (Now <= T['21:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_10_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// 11 uur `s avonds
    while (Now >= T['22:59:51']) and (Now <= T['22:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_11_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;

// middernacht
    while (Now >= T['23:59:51']) and (Now <= T['23:59:56']) do

begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_12_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
end;
   
PAL.UnLockExecution;

//Wout Franken, BroadCasterForum.nl, 21 maart 2009
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Gebruikersavatar
Wout
Beheerder
Berichten: 3522
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door Wout »

Het kan inderdaad kloppen.

De tijd staat ruim 5 seconden 'open'.
Probeer de tijd iets lager te zetten.

Dan zal ie niet 2 keer zijn script afwerken.
Afbeelding
drOhimself

Re: Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door drOhimself »

Klopt deze regel wel ?

// 01 uur `s nachts
while (Now >= T['23:59:51']) and (Now <= T['00:59:56']) do

Dat is iets langer als 5 seconden.... namelijk één uur EN 5 seconden...
Paul538

Re: Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door Paul538 »

@Wout en @drO: Dank voor jullie snelle reactie.

Hoewel vreemd dat "while (Now >= T['23:59:51']) and (Now <= T['00:59:56']) do" wel liep, heb ik 23:59:51 veranderd in 00:59:51. Inderdaad logisch.

xx:xx:56 heb ik veranderd in xx:xx:54 (dus 3 seconden). Even 24 uur afwachten of het euvel hiermee verholpen is. Ik laat het weten. Nogmaals dank.

Groeten,
Paul
Gebruikersavatar
Kees
Beheerder
Berichten: 3186
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door Kees »

Ik zie een nog grotere fout..
Ik zie bij iedere uurwissel wel een PAL.UnLockExecution maar geen PAL.LockExecution
Ik zou de uurwissel in jou geval zo maken..

Code: Selecteer alles

// 01 uur `s nachts
    while (Now >= T['23:59:51']) and (Now <= T['00:59:56']) do
begin
  PAL.UnLockExecution;
   Queue.AddFile('C:\Users\Paul\Music\SAM Broadcaster\Tijdsein\Pips_ObG_1_uur.mp3',ipTop);
     ActivePlayer.FadeToNext;
    PAL.WaitForTime(T['+00:00:10']); 
 PAL.LockExecution;
end;
(PAL script niet getest)
Paul538

Re: Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door Paul538 »

Bedankt voor de extra info Kees.

Ik voel me als een vis op het droge (dat is niet best:)). Ik heb totaal geen verstand van dit soort scripts. Unlock en lock begrijp ik. Helemaal bovenin na "PAL.Loop:=True;" staat "PAL.LockExecution;". Helemaal onderin (boven Wout ) staat: "PAL.UnLockExecution;" Is dat goed?

Ik kan jouw suggesties (PAL.LockExecution) er uiteraard in plakken, maar is alles 'spatie-gevoelig'? PAL.unlockExecution staat 2 spaties uit de kantlijn, moet dat ook bij PAL.LockExecution, of maakt dat niet uit?

Sorry voor de onwetendheid, maar ik ben hierin echt een newbie...

Groeten,
Paul

P.S. Is er op het forum ergens een 'handleiding' te vinden wat dit script eigenlijk doet en wat alles betekent (zoals While >Now en Now <)?
drOhimself

Re: Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door drOhimself »

Hi Paul538,

Tja, een script toepassen zonder te weten wat er nu eigenlijk gedaan wordt, is als in een auto stappen zonder rijbewijs, starten, gas geven en maar afwachten wat er gebeurt.....
Ik stel voor om even in je SAMBC map te kijken, daar staat in de map HELP een "PAL Quick Start Guide", waarin zo'n beetje alles wordt uitgelegd wat je met deze script taal kan doen.
Dit heeft mij meerdere malen uitstekend geholpen om meer inzicht te krijgen in PAL scripting.

Neem dat als startpunt.
Daarna zou ik hier gewoon een paar uur zoeken naar geplaatste PALscripts waarin dan sommige stukken wordt uitgelegd.
En daarna is het vooral: uitproberen !
Gebruikersavatar
Kees
Beheerder
Berichten: 3186
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: Soms dubbele uurtijdmelding in PAL script

Ongelezen bericht door Kees »

Toen ik met PAL scripts begon heb ik menig keer op de reset knop van de pc moeten drukken want ik liet hem regelmatig vast lopen.
Wist ik wat dat lock en unlock gedoe was.
Maar met die vastlopers heb ik veel geleerd.
Zoals mijn voorganger zei..met lezen en proberen bereik je heel veel.
SAM is echt een super stukje software maar het heeft zijn tijd nodig om het onder de knie te krijgen.
Maar krijg je het onder de knie dan is het wel oppassen want..
.... er zijn (nog) geen verslavingsklinieken voor SAM verslaving.
Heb ik aan den lijven ondervonden.
Ik loop al heel lang met die verslaving en ben bang er nooit meer vanaf te komen. [smilie=yahoo.gif]
Paul538

Re: Soms dubbele uurtijdmelding in PAL script *OPGELOST*

Ongelezen bericht door Paul538 »

Heren,

Bedankt voor de aanvulling. Tja, je hebt gelijk. Ik ben vluchtig door de PAL help gewandeld; Het duizelt ietwat, maar dat is ook met Chinees, totdat je het kent. Ik ga me eerst maar eens op SAM (BC) zelf werpen en dan misschien stap voor stap verder.

Het tijdsein loopt nu prima, na openzetten van 3 sec. i.p.v. 5 sec. De lock en unlock heb ik nog niet beroerd, omdat hij nu loopt en er dan misschien iets anders vernaggeld gaat worden (met mijn 'kennis'). Ga ik wel uitproberen in ieder geval.

Prijs de dag niet voor het avond is, maar ik zet 'Opgelost' in de kop, nogmaals dank!

Gr. Paul
Gesloten
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht