Jingel

Voor vragen over Playlist Automation Language.
Plaats reactie
salector

Jingel

Ongelezen bericht door salector »

Is het mogelijk om een jingel te draaien voor een request via een PAL script of zo ?
Alleen bij een verzoekje die aangevraagd is op de website.

Heb wel een script die om de 4 plaatjes een jingel draai,maar ik krijg het niet voor elkaar om een jingel voor een verzoekje te krijgen.
Gebruikersavatar
Kees
Beheerder
Berichten: 3149
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Ongelezen bericht door Kees »

Gevonden op de Spacialaudio site.
Ik weet niet of je hier iets aan hebt maar je kan het allicht proberen.

Code: Selecteer alles

{ PAL script to manually handle requests to play within a
  category based rotation logic system }

PAL.Loop := True;

{-->Insert first songs into queue}
CAT['Jingles (All)'].QueueBottom(smLemmingLogic,NoRules);
CAT['Power hit'].QueueBottom(smWeighted,EnforceRules);
CAT['Heavy Rotation'].QueueBottom(smWeighted,EnforceRules);
CAT['Jingles (All)'].QueueBottom(smLemmingLogic,NoRules);

{-->Insert next request + Jingle if request was found}
var AQuery : TDataSet;
var Song   : TSongInfo;

   AQuery := Query('SELECT songlist.*, 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
      {A cool idea would be to insert a jingle here
       that says "The next song is by request" or something simular}
      {For example: Queue.AddFile('c:\.mp3',ipBottom);}
       
      {Copy the needed information from the dataset}
      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'];
      
      {Add request to queue}
      Queue.Add(Song,ipBottom);
      WriteLn('Request handled: '+Song['artist']+' - '+Song['title']);
      
      {Change status of request}
      ExecSQL('UPDATE requestlist SET status=:status WHERE (songID = :songID) AND ((status=''new'') OR (status=''pending'')) ',['pending',song['ID']]);

      {Insert Jingle after request}
      CAT['Jingles (All)'].QueueBottom(smLRP,NoRules);
    end
   else
     WriteLn('No request found');


{-->Insert final category}
CAT['Rare rotation'].QueueBottom(smWeighted,EnforceRules);

{Wait for songs in queue to play}
while (Queue.Count > 1) do
PAL.WaitForPlayCount(1);
salector

Jingel

Ongelezen bericht door salector »

bedankt voor het script :D

helaas werkt het niet :cry:
Gebruikersavatar
Kees
Beheerder
Berichten: 3149
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: Jingel

Ongelezen bericht door Kees »

salector schreef:bedankt voor het script :D

helaas werkt het niet :cry:
Klopt helemaal...maar de aanhouder wint...
Deze werkt wel..
Alleen de regel
Queue.AddFile('d:\jingle.mp3',ipTop
wijzigen naar jou jingle.
Hier komt het script..

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:\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; 
[/b]
brian

Re: Jingel

Ongelezen bericht door brian »

salector schreef:Is het mogelijk om een jingel te draaien voor een request via een PAL script of zo ?
Alleen bij een verzoekje die aangevraagd is op de website.

Heb wel een script die om de 4 plaatjes een jingel draai,maar ik krijg het niet voor elkaar om een jingel voor een verzoekje te krijgen.
Hallo

Ik zoek nog een PAL script die om de 3 of 4 platen een jingle draait, kan je die voormij posten..

vriendelijk bedankt

Brian
brian

Ongelezen bericht door brian »

Sorry heb hem al gevonden..
salector

Jingel

Ongelezen bericht door salector »

Code: Selecteer alles

ExecSQL('UPDATE requestlist SET status=:status WHERE (songID = :songID) AND ((status=''new'') OR (status=''pending'')) ',['pending',song['ID']]);
[/color]

deze regel geeft een Syntax error ???

ook zegt hij onder in het scherm expected.[line30, column:1]

Als ik kijk in DesktopB bij het PAL scherm geeft hij Compiler errors
Gebruikersavatar
Kees
Beheerder
Berichten: 3149
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: Jingel

Ongelezen bericht door Kees »

salector schreef:

Code: Selecteer alles

ExecSQL('UPDATE requestlist SET status=:status WHERE (songID = :songID) AND ((status=''new'') OR (status=''pending'')) ',['pending',song['ID']]);
[/color]

deze regel geeft een Syntax error ???

ook zegt hij onder in het scherm expected.[line30, column:1]

Als ik kijk in DesktopB bij het PAL scherm geeft hij Compiler errors
Zeer vreemd...
Ik heb het script hier, n.a.v. jou vraag, sinds gisteren draaien zonder errors.
Heb je de verwijzing naar de jingle goed staan ?
Je draait toch wel met mysql hoop ik ?
Anders zou het daar ook wel eens mee mis kunnen gaan !
Voor de zekerheid plaats ik het hele script nog een keer.
Ik hoop dat je er aan uit kan komen.
Suc6


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:\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;
salector

Jingle

Ongelezen bericht door salector »

heb het script is goed bekeken,maar ik mis bij de regel );


Queue.AddFile('d:\jingle.mp3',ipTop );

nu is de foutmelding weg :D

Het werkt :lol: :D :) supper !!!

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

Re: Jingle

Ongelezen bericht door Kees »

salector schreef:heb het script is goed bekeken,maar ik mis bij de regel );


Queue.AddFile('d:\jingle.mp3',ipTop );

nu is de foutmelding weg :D

Het werkt :lol: :D :) supper !!!

Bedankt !!
Ik zie het nu ook ja...
Zal iets mis gegaan zijn met het copieren en plakken hier.
Maar het werkt nu en dat is het belangrijkste.
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht