jingle voor request nummer

Voor vragen over Playlist Automation Language.
lidelf

jingle voor request nummer

Ongelezen bericht door lidelf »

Hoi!

ik heb een vraagje of iemand dat zo 1 2 3 weet....

als er een verzoek gedaan word zou ik graag een jingle voor draaien van dit is een verzoekje

is dit mogelijk?

zo ja kan mij dat uitgelegd worden

bedankt alvast :)

groet,
LiDelf
ojee66

Re: jingle voor request nummer

Ongelezen bericht door ojee66 »

Code: Selecteer alles

PAL.Loop := True;
{PAL.MemoryLeakWarning := True;}
{-->Insert first songs into queue}


PAL.LockExecution;
{-->Insert next request + Jingle if request was found}
var AQuery, queueBottom : 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
{Also Set SAM to leave Requests in the queue}

{A cool idea would be to insert a jingle here
that says "The next song is by request" or something similar}
{For example: Queue.AddFile('c:\.mp3',ipBottom);}

{CHECK IF PRIOR JINGLE IS ALREADY IN QUEUE}
queueBottom := Query('SELECT queuelist.requestID, queuelist.songID, songlist.title, songlist.songtype, songlist.artist, songlist.album from queuelist, songlist where queuelist.songID = songlist.ID ORDER BY sortID DESC LIMIT 1', [], true);
if(queueBottom['songtype'] <> 'J') then
begin
//   CAT['Jingles (All)'].QueueBottom(smRandom,NoRules); //<----this is the jingle that gets inserted before each requested song
Queue.Addfile('c:\promo\request.mp3', ipBottom);

   queueBottom.Free;
end;
{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']]);

end
else
WriteLn('No request found');
PAL.UnLockExecution;
{Wait for songs in queue to play}
AQuery.Free;
Song.Free;
queueBottom.Free;
//while (Queue.Count > 1) do
PAL.WaitForPlayCount(1);
PAL.WaitForTime('+00:00:25');
Wat ik hieraan nog mis is het volgende:

Check of de requested song wel in het format past.
Dit zou dan ergens hier aangepast moeten worden

queuelist.songID koppelen aan de CAT waar die uit komt.
In de event clockwheel? kijken of song idd mag.

Andere oplossing zou zijn via clockwheel de CAT uitlezen en alleen die als keuze op de website aanbieden.
lidelf

Re: jingle voor request nummer

Ongelezen bericht door lidelf »

sorry voor de late reactie.

maar bedankt :)
Cushionfm

Re: jingle voor request nummer

Ongelezen bericht door Cushionfm »

Nice job...

Werkt perfect :D.
dank u :D
jacksworld

Re: jingle voor request nummer

Ongelezen bericht door jacksworld »

Ik wilde een jingle voor verzoekjes draaien en ben daarvoor naar dit onderwerp verwezen.

maar Het lijkt wel of hij het verzoekje niet ziet terwijl het wel bij request in sam staat te wachten.

ik ben nieuw en heb nog nooit met .PAL files gewerkt. Heb van bovenstaande een .PAL file maakt en de regel waar de jingle aangeroepen word gewijzigd in:
Queue.Addfile('c:\samjingles\Verzoekplaat.mp3', ipBottom);

Ik weet niet wat ik fout doe, de PAL file draait maar nog steed geen jingle al hoewel deze wel op de lokatie staat die in de file staat.
Wat kan ik fout doen?
Gebruikersavatar
tino
*
Berichten: 17
Lid geworden op: 19 jan 2008, 17:30

Re: jingle voor request nummer

Ongelezen bericht door tino »

wie kan mij helpen met de cript? Werkt bij mij niet. Moet er nog wat aangepast worden behalve de locatie en titel van de jingle? In sam loopt hij wel, maar de jingle speelt niet als er een verzoekje is. Bijvoorbaat dank.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: jingle voor request nummer

Ongelezen bericht door cyberneticorganism »

In je config dien je bij requests de optie "leave request on list" aan te vinken (even uit m'n hoofd, zoiets was het). Het request komt dan in de requestlijst in SAM, en niet direct in de queue. Het script pakt ze dan uit de lijst op.
Gebruikersavatar
tino
*
Berichten: 17
Lid geworden op: 19 jan 2008, 17:30

Re: jingle voor request nummer

Ongelezen bericht door tino »

Hoi,

Bedankt voor de reactie op mijn vraag. Het is al aangevinkt onder request, maar werkt dus niet. Ben ff op je site aan het luisteren en daar werkt het perfect. Wat kan bij mij het probleem zijn? Ik heb de jingle in de map "Jingles all" staan, dus het zou moeten werken toch? Dan nog even hetvolgede: ik heb ook een PAL script dat om de tien minuten een jingle te horen is. Die staan dus ook in die map. Dus dan komt de jingle die ik voor reguest gebruik toch ook weer automatich voorbij? (wat niet de bedoeling is)
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: jingle voor request nummer

Ongelezen bericht door cyberneticorganism »

Daar gaat het mis, zie dit stukje code:

Code: Selecteer alles

//   CAT['Jingles (All)'].QueueBottom(smRandom,NoRules); //<----this is the jingle that gets inserted before each requested song
Queue.Addfile('c:\promo\request.mp3', ipBottom);
Er staat een // voor, die regel wordt dus niet gebruikt. Je dient de fysieke locatie op te geven van de request jingle (Queue.Addfile('c:\promo\request.mp3', ipBottom);), en deze te verwijderen (via Remove ALL) uit de Jingles (All) categorie.
Gebruikersavatar
tino
*
Berichten: 17
Lid geworden op: 19 jan 2008, 17:30

Re: jingle voor request nummer

Ongelezen bericht door tino »

je raad opgevold maar het werkt nog niet. bij het eerste verzoekje komt hij (met de jingle) onderaan in de "queue" lijst te staan. bij de volgende verzoekjes bovenaan maar dan zonder jingle er voor.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: jingle voor request nummer

Ongelezen bericht door cyberneticorganism »

Ik zal straks thuis wel... ow wacht remote desktop vanaf hier, ff op de server spieken welk script ik heb draaien.

Edit: En daar is het script wat bij mij al heeeuuul lang meedraait (staat al ergens op het forum, maar de zoekfunctie is niet ideaal):

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;
Gebruikersavatar
tino
*
Berichten: 17
Lid geworden op: 19 jan 2008, 17:30

Re: jingle voor request nummer

Ongelezen bericht door tino »

Hartstikke bedankt Cybertje, dit cript is hem helemaal. Het werkt nu perfect. Fijne dag nog en tof dat je zo snel reageerde.

groet Tino.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: jingle voor request nummer

Ongelezen bericht door cyberneticorganism »

Toch rustig hier :-D Als je een paar ipBottoms wijzigt in ipTop in het script van ojee66 zou dat volgens mij ook goed moeten werken.
Gebruikersavatar
tino
*
Berichten: 17
Lid geworden op: 19 jan 2008, 17:30

Re: jingle voor request nummer

Ongelezen bericht door tino »

Het werkt nu perfect, dus laat het hierbij. Ben al dik tevreden. Het enige nadeel is dat het laatste verzoekje bovenaan geplaatst word. Maar dat zoeken we nog wel uit of daar wat aan te doen is. nogmaals bedankt.
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: jingle voor request nummer

Ongelezen bericht door Wout »

ASC veranderen in DESC
Afbeelding
Gebruikersavatar
qradio
****
Berichten: 99
Lid geworden op: 18 dec 2009, 21:07
SAM-versie: 2025.3
Database: MySQL
Windows: 11

Re: jingle voor request nummer

Ongelezen bericht door qradio »

Wout schreef:ASC veranderen in DESC
Dat werkt helaas ook niet. Heb al veel Requestscripts geprobeerd, maar ASC veranderen naar DESC levert niets op. Dat word door puzzelen :-D
pcman

Re: jingle voor request nummer

Ongelezen bericht door pcman »

Heey iedereen,

Voor diegene die het willen hebben.
Ik heb een kleine aanpassing gegeven de verzoekjes worden nu onderin de playlist gezet.
Maar wel met als eerste de jingle en daarna de nummer.
Als je dit PAL script gebruikt moet je wel de nummers in de lijst laten komen.
Anders werkt die niet.
Hierbij de code:

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.AddFile('E:\muziek\Verzoekjingle\jingel - Mededeling Verzoekjesbalie.mp3',ipbottom);
Queue.Add(Song,ipbottom);
WriteLn('Request handled: '+Song['artist']+' - '+Song['title']); 
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;
pcman

Re: jingle voor request nummer

Ongelezen bericht door pcman »

En voor diegene die het net andersom willen hebben.
Dus bovenaan de playlist en dan eerst de jingle en dan het verzoekje.

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);
Queue.AddFile('E:\muziek\Verzoekjingle\jingel - Mededeling Verzoekjesbalie.mp3',iptop);
WriteLn('Request handled: '+Song['artist']+' - '+Song['title']); 
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;
starter72

Re: jingle voor request nummer

Ongelezen bericht door starter72 »

Werkt werkelijk prachtig dit! Thanks pcman!!

Zou het ook mogelijk zijn om in plaats van 1 request-jingle er meerdere in een folder te zetten en dat er dan random 1 wordt gekozen?
Gebruikersavatar
qradio
****
Berichten: 99
Lid geworden op: 18 dec 2009, 21:07
SAM-versie: 2025.3
Database: MySQL
Windows: 11

Re: jingle voor request nummer

Ongelezen bericht door qradio »

Maar nog steeds jammer als je 2 verzoekjes achter elkaar aanvraagt, je dan de laatste als eerste hoort bij IpTop.
Ben hier al maanden mee bezig maar dit lukt me niet :$
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht