Jingles afspelen op verschillende manieren?

Voor vragen over Playlist Automation Language.
Plaats reactie
Bimmer

Jingles afspelen op verschillende manieren?

Ongelezen bericht door Bimmer »

Hallo,

Ik ben inmiddels aan het "spelen" met enkele PAL scriptjes die jingles afspelen;

Optie 1: De Jingle speelt af na een x- aantal minuten; hij wordt dan als eerste in de queue gezet wanneer de ingestelde tijd verstreken is

Code: Selecteer alles

    PAL.Loop:=True;
    cat['Jingles (All)'].QueueTop(smLrp,NoRules);
    PAL.WaitForTime(T['+00:15:00']);
Optie 2: De Jingle speelt af na een x aantal nummers

Code: Selecteer alles

    PAL.Loop:=True;
    PAL.WaitForPlayCount(4); //wacht 4 platen en speelt daarna een jingle.
    cat['Jingles (All)'].QueueTop(smLrp,NoRules);
     
Beide mogelijkheden werken maar hebben in mijn geval nadelen tijdens het gebruik ervan.

Optie 1: de jingles worden "opgestapeld" in de queue zodra de tijd verstreken is en er nog steeds een nummer aan het spelen is, denk hierbij aan een flinke mix.

Optie 2: In combinatie met het script om voor een request een bepaalde jingle af te spelen, krijg je na enkele requests een stroom van jingles achter elkaar; elke jingle wordt gezien als een playcount en telt dus ook mee, dus na verloop lijk je mij vast te komen zitten in een loopje van jingles.

(even terzijde: het script om voor een request een bepaalde jingle af te spelen, plaatst de request gelijk bovenin de lijst; luisteraar A vraagt aan, luisteraar B vraagt vervolgens aan en toch wordt luisteraar B eerder gespeeld. Niet helemaal eerlijk :-D )

Code: Selecteer alles

    PAL.Loop := True;

    PAL.LockExecution;
    var AQuery : TDataSet;
    var Song : TSongInfo;
    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 ASC '
    +' 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('d:\Jingles\Requestjingle\Studio 26 Radio - Request Jingle.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;
Ik zoek dus een oplossing voor bovenstaand probleempje: jingle afspelen 1 keer in ca. 10 minuten maar in geval van een mix de jingle over de mix heen spelen (mix fade uit, jingle, mix fade in).
Ik hanteer een vaste tijd wanneer de lange mixen gespeeld worden (liefst zou ik het ook nog per dag kunnen instellen)

Wellicht dat er ook een oplossing is voor het "niet eerlijk afspelen" van de requests ?

Ik ben al met allerlei knip en plak werk beziggeweest maar het ontbreekt mij simpelweg aan de kennis van PAL scripts :(

Alvast bedankt!
Richard
Gebruikersavatar
Gerrit
Moderator
Berichten: 883
Lid geworden op: 16 nov 2008, 00:08
SAM-versie: 2018.7
Database: MySQL
Windows: 10
Locatie: Veenendaal
Contacteer:

Re: Jingles afspelen op verschillende manieren?

Ongelezen bericht door Gerrit »

Ga dit topic maar eens lezen: http://www.broadcasterforum.nl/viewtopi ... voor#p8935

Ohja, en nog een tipje: voordat je gaat knippen en plakken, gebruik eerst eens de zoekfunctie van dit forum, ik had hem nl binnen 3 min. gevonden !! ;-)
Vroeger was ik een twijfelaar, ik ben daar nu niet meer zo zeker van.
en
Ik houd van kritiek, maar ik moet het er wel mee eens zijn.
Bimmer

Re: Jingles afspelen op verschillende manieren?

Ongelezen bericht door Bimmer »

Bedankt Gerrit! De kunst is het zoeken op de juiste trefwoorden, en vervolgens uit die lange lijst het juiste topic kiezen (helaas heeft niet altijd ieder topic een duidelijke omschrijving).

Maar het script in het topic waarnaar je me verwezen hebt, bied een goede oplossing voor mijn "FIFO" probleem, het staat nu zo dat er voordat een request gespeeld wordt (icm met voorlopende jingle)eerst een "normaal' nummer gespeeld wordt.

Enkel het bovenste stukje in het script, zou dat weggelaten kunnen worden? Zoja, hoef ik dan enkel het bovenste deel te verwijderen en

Code: Selecteer alles

var Song : TSongInfo
aan het tweede deel van het script toe te voegen?

Misschien ook nog een duwtje in de richting hoe ik in een bepaald dagdeel de jingles door een nummer/mix heen kan laten spelen met een fading van het nummer/mix?

Bedankt!
Gebruikersavatar
Gerrit
Moderator
Berichten: 883
Lid geworden op: 16 nov 2008, 00:08
SAM-versie: 2018.7
Database: MySQL
Windows: 10
Locatie: Veenendaal
Contacteer:

Re: Jingles afspelen op verschillende manieren?

Ongelezen bericht door Gerrit »

Om te testen of het werkt zonder "var Song : TSongInfo" kun je ff snel testen door er "//" voor te zetten, dan schakel je die regel uit.

Voor je laatste vraag "duwtje in de rug" heb ik dit gevonden voor je :

Code: Selecteer alles

PAL.Loop:=True;

    PAL.LockExecution;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var Vrijdag    : Boolean;
var Zaterdag   : Boolean;
var Weekend    : Boolean;
var Song       : TSongInfo;

var Begintijd  : string = '18:05:00'; // Begintijd
var Eindtijd   : string = '23:59:59'; // Eindtijd
var Begintijd1 : string = '00:00:00'; // Begintijd1
var Eindtijd1  : string = '01:59:59'; // Eindtijd2
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Enkele dag, De Vrijdag
Vrijdag := (DayOfWeek(Now) = Friday);
// Enkele dag, De Zaterdag
Zaterdag := (DayOfWeek(Now) = Saturday);
//Hieronder kan je dagen combineren :)
//------------------------------------------------------------------------------
// Alle dagen in het weekend,Vrijdag en Zaterdag
Weekend := (Vrijdag or Zaterdag);
//------------------------------------------------------------------------------
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
    PAL.UnLockExecution;

while (Weekend) and ((Now >= T[Begintijd] ) and (Now <= T[Eindtijd] ))
                 or ((Now >= T[Begintijd1]) and (Now <= T[Eindtijd1])) do
 begin

Song := CAT['Station IDs (All)'].ChooseSong(smRandom,NoRules);

  PAL.WaitForTime('+00:13:00');  //elke kwartier je station-shout over je muziek heen
   Aux1.QueueSong(Song);
    Aux1.Play;

end ;
Met de nodige uitleg erbij.
Kijk maar wat je ermee kunt.
Vroeger was ik een twijfelaar, ik ben daar nu niet meer zo zeker van.
en
Ik houd van kritiek, maar ik moet het er wel mee eens zijn.
Bimmer

Re: Jingles afspelen op verschillende manieren?

Ongelezen bericht door Bimmer »

Het script wil het deel met While (weekend) niet pakken, pas wanneer ik While (weekend) weghaal, en daarmee volgens mij ook de mogelijkheden om de dagen te kiezen, loopt het netjes door naar de rest van het script (indien de begin- en eindtijd voorwaarden goed zijn)

Ik knutsel verder...heb het nu zo dat het dagelijks tussen gezette tijden het script gebruikt.
Gebruikersavatar
Gerrit
Moderator
Berichten: 883
Lid geworden op: 16 nov 2008, 00:08
SAM-versie: 2018.7
Database: MySQL
Windows: 10
Locatie: Veenendaal
Contacteer:

Re: Jingles afspelen op verschillende manieren?

Ongelezen bericht door Gerrit »

Bimmer, ik heb mijn bericht verwijderd omdat het niet klopte !
Die eindtijd2 heeft er niets mee temaken zag ik, omdat er "//" voor stond..........Hahaha
Had ik even over het hoofd gezien, het is tijd om naar bed tegaan, denk ik........

Misschien ziet iemand anders nog een fout staan, ik ben tot donderdag weg !!
Vroeger was ik een twijfelaar, ik ben daar nu niet meer zo zeker van.
en
Ik houd van kritiek, maar ik moet het er wel mee eens zijn.
Bimmer

Re: Jingles afspelen op verschillende manieren?

Ongelezen bericht door Bimmer »

In iedergeval bedankt voor het meedenken :D
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht