Request Jingle *OPGELOST*

Voor vragen over Playlist Automation Language.
Plaats reactie
VIP-Jeff
**
Berichten: 39
Lid geworden op: 09 mar 2009, 09:16
SAM-versie: 4.4.2.
Database: MariaDB
Locatie: Amersfoort
Contacteer:

Request Jingle *OPGELOST*

Ongelezen bericht door VIP-Jeff » 11 okt 2010, 09:46

Hi there!

Voor ons request systeem, ben ik op zoek naar een PAL script dat elke keer een request jingle afspeeld voor de aangevraagde plaat. Is er iemand die mij daar mee zou kunnen helpen?

Jeff

Gebruikersavatar
Gerrit
Moderator
Berichten: 882
Lid geworden op: 16 nov 2008, 00:08
SAM-versie: 4.3.6.*
Database: MySQL 4.1
Windows: 7 32-bits
Locatie: Veenendaal
Contacteer:

Re: Request Jingle

Ongelezen bericht door Gerrit » 11 okt 2010, 15:28

Zoals Evertje al heeft gezegd in je andere topic http://www.broadcasterforum.nl/viewtopi ... =81&t=3206 heeft deze site een zoekfunctie en dat kan jij als geen ander weten want je bent tenslotte al 4 jaar actief op dit forum volgens eigen zeggen !! :-)

Dus ik zou zeggen: Ga die eens proberen.............en misschien vind je je antwoord wel !!

Gerrit.
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.

VIP-Jeff
**
Berichten: 39
Lid geworden op: 09 mar 2009, 09:16
SAM-versie: 4.4.2.
Database: MariaDB
Locatie: Amersfoort
Contacteer:

Re: Request Jingle

Ongelezen bericht door VIP-Jeff » 12 okt 2010, 08:23

Het lukt me niet om wat te vinden via de zoekfunctie.
Iemand die ff een topic heeft met PAL script die ik zoek?

Gebruikersavatar
Evertje
******
Berichten: 284
Lid geworden op: 27 nov 2008, 23:06
SAM-versie: SAM 2015.2
Database: MySQL 5.5
Windows: Windows 10

Re: Request Jingle

Ongelezen bericht door Evertje » 12 okt 2010, 09:03

Onderstaande PAL zou moeten werken, heb het alleen niet getest.. ..werk niet met request's!! :?

Code voor request's die eerst in de requestlist worden geplaatst:

Code: Selecteer alles

PAL.Loop := True;

PAL.LockExecution;
    var Q : TDataSet;
    var Song   : TSongInfo = TSongInfo.Create();

    Q := Query('SELECT songlist.*, requestlist.*, requestlist.ID as requestID FROM songlist INNER JOIN requestlist ON (requestlist.songID = songlist.ID) WHERE (requestlist.ETA < :now) AND (requestlist.status = :new) AND ORDER BY requestlist.ETA ASC LIMIT 1 ',[Now, 'new'],True);
    if not Q.EOF then
			Begin
				Queue.AddFile('C:\muziek/jingle.mp3',ipBottom);
					// CAT['Jingles (All)'].Q2(smLRP, NoRules); voor random jingle uit categorie Jingles
				 
				Song['ID'] := Q['ID'];
				Song['filename'] := Q['filename'];
				Song['artist'] := Q['artist'];
				Song['title'] := Q['title'];
				Song['duration'] := Q['duration'];
				Song['requestID'] := Q['requestID'];

				Queue.Add(Song,ipBottom);

				Query('UPDATE requestlist SET status = :status WHERE (songID = :SongID) AND (status = :new OR status = :pending) ',['pending', Song['ID'], 'new', 'pending']);
			End;
    Q.Free;
    Song.Free;
PAL.UnLockExecution;

while (Queue.Count > 1) do PAL.WaitForPlayCount(1);
Code voor request's die direct in de queuelist worden geplaatst:

Code: Selecteer alles

PAL.Loop := True;

PAL.LockExecution;
    var Q1, Q2 : TDataSet;
    var Song   : TSongInfo = TSongInfo.Create();

    Q1 := Query('SELECT songlist.*, requestlist.*, requestlist.ID as requestID FROM songlist INNER JOIN requestlist ON (requestlist.songID = songlist.ID) WHERE (requestlist.ETA < :now) AND (requestlist.status = :new) AND ORDER BY requestlist.ETA ASC LIMIT 1 ',[Now, 'pending', 'new'],True);
    if not Q.EOF then
        Begin
					Q2 := Query('SELECT queuelist.requestID, queuelist.songID, songlist.* from queuelist INNER JOIN songlist ON (songlist.ID = queuelist.songID) ORDER BY sortID DESC LIMIT 1', [], true);
					if(Q2['songtype'] <> 'J' then
						Begin
							Queue.AddFile('C:\muziek/jingle.mp3',ipBottom);
                // CAT['Jingles (All)'].Q2(smLRP, NoRules); voor random jingle uit categorie Jingles
            End;

					Song['ID'] := Q['ID'];
					Song['filename'] := Q['filename'];
					Song['artist'] := Q['artist'];
					Song['title'] := Q['title'];
					Song['duration'] := Q['duration'];
					Song['requestID'] := Q['requestID'];

					Queue.Add(Song,ipBottom);

					Query('UPDATE requestlist SET status = :status WHERE (songID = :SongID) AND (status = :new OR status = :pending) ',['pending', Song['ID'], 'new', 'pending']);
        End;
    Q1.Free;
    Q2.Free;
    Song.Free;
PAL.UnLockExecution;

while (Queue.Count > 1) do PAL.WaitForPlayCount(1);
Zelf werk ik met directe injecties op de queue, zoals de afbeeldingen welke hieronder als bijlage zijn toegevoegd is te zien..
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.

VIP-Jeff
**
Berichten: 39
Lid geworden op: 09 mar 2009, 09:16
SAM-versie: 4.4.2.
Database: MariaDB
Locatie: Amersfoort
Contacteer:

Re: Request Jingle

Ongelezen bericht door VIP-Jeff » 12 okt 2010, 14:41

Evertje schreef:Onderstaande PAL zou moeten werken, heb het alleen niet getest.. ..werk niet met request's!! :?

Code voor request's die eerst in de requestlist worden geplaatst:

Code: Selecteer alles

PAL.Loop := True;

PAL.LockExecution;
    var Q : TDataSet;
    var Song   : TSongInfo = TSongInfo.Create();

    Q := Query('SELECT songlist.*, requestlist.*, requestlist.ID as requestID FROM songlist INNER JOIN requestlist ON (requestlist.songID = songlist.ID) WHERE (requestlist.ETA < :now) AND (requestlist.status = :new) AND ORDER BY requestlist.ETA ASC LIMIT 1 ',[Now, 'new'],True);
    if not Q.EOF then
			Begin
				Queue.AddFile('C:\muziek/jingle.mp3',ipBottom);
					// CAT['Jingles (All)'].Q2(smLRP, NoRules); voor random jingle uit categorie Jingles
				 
				Song['ID'] := Q['ID'];
				Song['filename'] := Q['filename'];
				Song['artist'] := Q['artist'];
				Song['title'] := Q['title'];
				Song['duration'] := Q['duration'];
				Song['requestID'] := Q['requestID'];

				Queue.Add(Song,ipBottom);

				Query('UPDATE requestlist SET status = :status WHERE (songID = :SongID) AND (status = :new OR status = :pending) ',['pending', Song['ID'], 'new', 'pending']);
			End;
    Q.Free;
    Song.Free;
PAL.UnLockExecution;

while (Queue.Count > 1) do PAL.WaitForPlayCount(1);
Code voor request's die direct in de queuelist worden geplaatst:

Code: Selecteer alles

PAL.Loop := True;

PAL.LockExecution;
    var Q1, Q2 : TDataSet;
    var Song   : TSongInfo = TSongInfo.Create();

    Q1 := Query('SELECT songlist.*, requestlist.*, requestlist.ID as requestID FROM songlist INNER JOIN requestlist ON (requestlist.songID = songlist.ID) WHERE (requestlist.ETA < :now) AND (requestlist.status = :new) AND ORDER BY requestlist.ETA ASC LIMIT 1 ',[Now, 'pending', 'new'],True);
    if not Q.EOF then
        Begin
					Q2 := Query('SELECT queuelist.requestID, queuelist.songID, songlist.* from queuelist INNER JOIN songlist ON (songlist.ID = queuelist.songID) ORDER BY sortID DESC LIMIT 1', [], true);
					if(Q2['songtype'] <> 'J' then
						Begin
							Queue.AddFile('C:\muziek/jingle.mp3',ipBottom);
                // CAT['Jingles (All)'].Q2(smLRP, NoRules); voor random jingle uit categorie Jingles
            End;

					Song['ID'] := Q['ID'];
					Song['filename'] := Q['filename'];
					Song['artist'] := Q['artist'];
					Song['title'] := Q['title'];
					Song['duration'] := Q['duration'];
					Song['requestID'] := Q['requestID'];

					Queue.Add(Song,ipBottom);

					Query('UPDATE requestlist SET status = :status WHERE (songID = :SongID) AND (status = :new OR status = :pending) ',['pending', Song['ID'], 'new', 'pending']);
        End;
    Q1.Free;
    Q2.Free;
    Song.Free;
PAL.UnLockExecution;

while (Queue.Count > 1) do PAL.WaitForPlayCount(1);
Zelf werk ik met directe injecties op de queue, zoals de afbeeldingen welke hieronder als bijlage zijn toegevoegd is te zien..
Bedankt! Heb het inmiddels werkend gekregen op een kleine aanpassing na.

Jeff

Gebruikersavatar
Evertje
******
Berichten: 284
Lid geworden op: 27 nov 2008, 23:06
SAM-versie: SAM 2015.2
Database: MySQL 5.5
Windows: Windows 10

Re: Request Jingle *OPGELOST*

Ongelezen bericht door Evertje » 12 okt 2010, 22:10

Jeff, is die aanpassing een fout in het PAL script hierboven gegeven?! Zo ja, zou je dan willen aangeven wat de fout was.. ..zodat een ieder ander die ermee wil werken, niet tegen diezelfde fout aanloopt!!

Alvast bedankt..

Gebruikersavatar
ikrudolf
*****
Berichten: 100
Lid geworden op: 14 jun 2012, 08:48
SAM-versie: SAM 2014.5
Database: MySQL 5.6
Windows: Windows 10
Locatie: Emmen
Contacteer:

Re: Request Jingle

Ongelezen bericht door ikrudolf » 18 aug 2018, 11:38

VIP-Jeff schreef: Bedankt! Heb het inmiddels werkend gekregen op een kleine aanpassing na.

Jeff
Super handig dit soort reacties, niet dus. Vermeld dan ook wat je hebt gewijzigd zodat andere forum gebruikers hier ook wat aan hebben.
Groet,
Rudolf

Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht