Rules tijdelijk 'resetten' o.id.?

Voor vragen over Playlist Automation Language.
Plaats reactie
sprk

Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door sprk »

Hoi,

Ik heb een vraag. Ik heb uiteraard regels ingesteld dat dezelfde artiest niet meer dan eens in de 2 uur gedraaid mag worden, en ook dat hetzelfde liedje niet meer dan eens in de 2 uur gedraaid mag worden.

Echter edoch, iedere werkdag draai ik tussen 18:00 en 19:00 uur een 'programma' (dat overigens draait met een PAL script dankzij jullie hulp). Tijdens dat uur worden alleen liedjes uit een bepaalde categorie gedraaid. Probleem is dat die categorie niet heel groot is (anderhalf uur aan muziek) en dat de liedjes uit die categorie ook op heavy rotation gedurende de dag gedraaid worden.

In de praktijk houdt dat in dat, als je de regels hanteert die ik hierboven vermeldde, je het uur niet kunt vullen want dan zijn er niet genoeg nummers om een uur mee te vullen die niet korter dan 2 uur geleden al zijn gedraaid.

Dus heb ik bij het kiezen van het nummer 'norules' ingevuld in m'n PAL script. Dat lukt enigszins, maar ik krijg dan toch problemen met de selectie van m'n nummers. Ik wil natuurlijk wel dat tijdens dat uur niet 2 keer hetzelfde nummer gedraaid wordt.

Dus ik dacht, dan zet ik ze op 'SMweighted'. Maar wat het script dan doet, is voor een uur lang hetzelfde nummer in m'n queue zetten dat om 18:00 uur de hoogste weight heeft.

Ik heb gisteren ook 'SMrandom' geprobeerd in combinatie met 'norules', maar toen kreeg ik binnen dat uur toch een paar keer dezelfde nummers.

Kan ik dus iets in m'n PAL script zetten waardoor hij tijdelijk die 'rules' zeg maar 'reset', maar voor dat uur wel dezelfde regels hanteert (tijdens dat uur geeneen keer hetzelfde nummer)?

Hopelijk heb ik het verhaal niet te ingewikkeld gemaakt :) Ik heb het PALscript van gisteren (maar is iedere werkdag hetzelfde behalve de dag natuurlijk) bijgesloten.

Code: Selecteer alles

    //http://www.broadcasterforum.nl/viewtopic.php?f=81&t=4561&p=28539#p28533
    //Jingle aan het begin en einde van PAL script

    PAL.Loop:=True;
       //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
       var Vrijdag          : Boolean;
       var DDays              : Boolean;
       var Begintijd          : string = '18:00:00'; // Begintijd
       var Eindtijd           : string = '18:59:59'; // Eindtijd
       var QueueTimeUur : Integer = 1*(60*60*1100);  //1=1uur 2=2uur 3=3uur om X uur muziek te vullen :)
       //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
       // Enkele dag, De Vrijdag
       Vrijdag := (DayOfWeek(Now) = Friday);
       //Hieronder kan je dagen combineren :)
       //------------------------------------------------------------------------------
       // Alle D-dagen, Vrijdag
       DDays := (Vrijdag);
       //------------------------------------------------------------------------------
       //+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

       while (DDays) and ((Now >= T[Begintijd]) and (Now <= T[Eindtijd])) do
          begin
             Queue.Clear;
             Queue.AddFile('E:\OUTmusic\Dropbox\Outmusic\Eurovision jingles\ESC_WELKOM_SONGFESTIVAL.mp3',ipTop);
             // meteen om 'begintijd' je eerste jingle afspelen
             ActivePlayer.FadeTonext;
             // je queue vullen tot aan 'Eindtijd' + beetje meer
             While Queue.Duration < QueueTimeUur do
                Begin
                   Cat['Eurovision2013'].QueueBottom(smRandom, NoRules);
                   Cat['Eurovision2013'].QueueBottom(smRandom, NoRules);
                end;
             PAL.WaitForTime(T[Eindtijd]);
             Queue.Clear;
             ActivePlayer.FadeTonext;
          end;
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: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door Wout »

Je kan de volgende regels instoppen

Code: Selecteer alles

PlaylistRules.MinAlbumTime  := 1;
PlaylistRules.MinArtistTime := 60;
PlaylistRules.MinTitleTime  := 60; 
Daarmee wordt de rules ingesteld.
Afbeelding
sprk

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door sprk »

Tof, ga ik maandag meteen proberen! Tussen welke 2 regels in mijn PAL script kan ik je code het beste plakken? :)
drOhimself

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door drOhimself »

Het gaat om variabelen, dus die zet je meestal bovenaan in je script (van die dag).
sprk

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door sprk »

drOhimself schreef:Het gaat om variabelen, dus die zet je meestal bovenaan in je script (van die dag).
Ok... Zo?

Code: Selecteer alles

    //http://www.broadcasterforum.nl/viewtopic.php?f=81&t=4561&p=28539#p28533
    //Jingle aan het begin en einde van PAL script

    PAL.Loop:=True;
       //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
       var Maandag          : Boolean;
       var DDays              : Boolean;
       var Begintijd          : string = '18:00:00'; // Begintijd
       var Eindtijd           : string = '18:59:59'; // Eindtijd
       var QueueTimeUur : Integer = 1*(60*60*1100);  //1=1uur 2=2uur 3=3uur om X uur muziek te vullen :)
       //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
       // Enkele dag, De Maandag
       Maandag := (DayOfWeek(Now) = Monday);
       //Hieronder kan je dagen combineren :)
       //------------------------------------------------------------------------------
       // Alle D-dagen, Maandag
       DDays := (Maandag);
       PlaylistRules.MinAlbumTime  := 1;
PlaylistRules.MinArtistTime := 60;
PlaylistRules.MinTitleTime  := 60; 
       //------------------------------------------------------------------------------
       //+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

       while (DDays) and ((Now >= T[Begintijd]) and (Now <= T[Eindtijd])) do
          begin
             Queue.Clear;
             Queue.AddFile('E:\OUTmusic\Dropbox\Outmusic\Eurovision jingles\ESC_WELKOM_SONGFESTIVAL.mp3',ipTop);
             // meteen om 'begintijd' je eerste jingle afspelen
             ActivePlayer.FadeTonext;
             // je queue vullen tot aan 'Eindtijd' + beetje meer
             While Queue.Duration < QueueTimeUur do
                Begin
                   Cat['Eurovision2013'].QueueBottom(smRandom, NoRules);
                   Cat['Eurovision2013'].QueueBottom(smRandom, NoRules);
                end;
             PAL.WaitForTime(T[Eindtijd]);
             Queue.Clear;
             ActivePlayer.FadeTonext;
          end;
drOhimself

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door drOhimself »

Ziet er prima uit.
Had je hem al getest ?
sprk

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door sprk »

drOhimself schreef:Ziet er prima uit.
Had je hem al getest ?
Ik heb de regels nog een vakje hoger gezet en dat werkte niet. Toen kreeg ik alsnog dubbele nummers binnen 1 uur, terwijl hij sommige andere nummers (die hij vermoedelijk in de afgelopen 3 uur nog heeft gespeeld, dus volgens de 'standaard' regels niet zou mogen spelen) compleet negeerde.
drOhimself

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door drOhimself »

Vreemd.
Ik zag nog een topic hierover staan op het forum.
Kijk even of je iets wijzer wordt van deze PAL in http://www.broadcasterforum.nl/viewtopic.php?p=865#p865
sprk

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door sprk »

drOhimself schreef:Vreemd.
Ik zag nog een topic hierover staan op het forum.
Kijk even of je iets wijzer wordt van deze PAL in http://www.broadcasterforum.nl/viewtopic.php?p=865#p865
Bedankt voor je tip, maar ik ben bang dat ik niet voldoende kennis heb van PAL-scripts om die code te kunnen begrijpen en te zien welke brokjes nuttig zouden zijn voor het script dat ik gebruik... :(
drOhimself

Re: Rules tijdelijk 'resetten' o.id.?

Ongelezen bericht door drOhimself »

Okay, ik moest eerst ook even goed lezen voordat ik door had wat het script moet doen.
Is een leuk script die songs uit willekeurige categorien haalt, en daarbij gelijk de rules aanpast.

We zullen Wout even vragen of hij nog wat slimme antwoorden heeft voor jouw probleem.
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht