nummer aankondiging

Voor vragen over Playlist Automation Language.
Plaats reactie
ojee66
******
Berichten: 224
Lid geworden op: 20 jul 2006, 21:42
SAM-versie: 4.2.2.*
Database: MySQL 4.1
Windows: 2000
Locatie: Waddinxveen
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door ojee66 » 09 mei 2011, 22:52

Code: Selecteer alles


C := Query ('SELECT * FROM songlist '+
            'INNER JOIN categorylist ON (songlist.ID = categorylist.songID ) AND songtype = :songtype '+
            'AND date_added >= DATE_SUB( NOW( ), INTERVAL 1 WEEK ) ORDER BY RAND() LIMIT 1',['S'], False);

geeft bij mij een table read only melding
Voorts klopt de sql ook niet, melding Error: SQL: Select .....

Heb al diverse mogelijkheden geprobeerd maar blijf tegen dezelfde fout aanlopen. Welke exact wordt helaas niet specifiek gezegd

Wat ik wil is dat hij uit een bepaalde CAT een selectie maak. In mijn geval is dat categoryID = 128

@DrOHimself,
Verboden karakters komen blijkbaar in SAM niet voor :)

ojee66
******
Berichten: 224
Lid geworden op: 20 jul 2006, 21:42
SAM-versie: 4.2.2.*
Database: MySQL 4.1
Windows: 2000
Locatie: Waddinxveen
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door ojee66 » 10 mei 2011, 16:59

in dit topic kwam ik het antwoord tegen :) viewtopic.php?f=81&t=2947&p=18429&hilit=query#p18429

de code moet zijn

Code: Selecteer alles

    C := Query('SELECT * FROM categorylist '+
            'INNER JOIN songlist ON (songlist.ID = categorylist.songID )'+
            'WHERE categoryid IN (128)'+
            'AND date_added >= DATE_SUB( NOW( ), INTERVAL 1 WEEK ) ORDER BY RAND() LIMIT 1',[],True);

ojee66
******
Berichten: 224
Lid geworden op: 20 jul 2006, 21:42
SAM-versie: 4.2.2.*
Database: MySQL 4.1
Windows: 2000
Locatie: Waddinxveen
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door ojee66 » 12 jun 2011, 10:32

// Draait op ingesteld tijdstip, 5 seconden van 3 nummers (met voor- tussen- en eind-Jingle)
// van selectie CAT Nieuwe muziek met voice over welke ook in een CAT staat
// of van huidige selectie in queue

Pal.Loop:= True;

var C : TDataSet;
var Cnts : Integer = 1;
var R : Integer = RandomInt(6);
var Liner, Nieuw, Open, Einde, Q :TSongInfo;
var DTXT2, ArtTit : String;
var A : Array of String= ['30000', '60000', '90000', '120000', '150000', '180000'];

// Stel hier tijdstip in
PAL.WaitForTime('XX:03:00');

// Stel hier seconden in wat huidig nummer nog zou moet spelen (20000 = 20 seconden)
while ((ActivePlayer.Duration - ActivePlayer.CurTime) > 40000) do;

PAL.LockExecution;

Open := CAT['begin-snippet'].ChooseSong(smRandom,NoRules); // Begin Jingle
Nieuw := CAT['tussen-snippet'].ChooseSong(smRandom,NoRules); // Tussen Jingle
Einde := CAT['einde-snippet'].ChooseSong(smRandom,NoRules); // Einde Jingle

// Deze selectie haalt alleen nieuwe songs van laatste 7 dagen binnen. Limit 3 dus maar 3 nummers
// C := Query('SELECT * FROM songlist '+
// 'WHERE date_added >= DATE_SUB( NOW( ), INTERVAL 1 WEEK ) AND songtype = :songtype '+
// 'ORDER BY RAND() LIMIT 3',['S'], False);

C := Query('SELECT * FROM categorylist '+
'INNER JOIN songlist ON (songlist.ID = categorylist.songID )'+
'WHERE categoryid IN (128)'+
'AND date_added >= DATE_SUB( NOW( ), INTERVAL 2 WEEK ) ORDER BY RAND() LIMIT 3',[],True);

// Deze selectie haalt 6 songs uit de huidige queue
// C := Query('SELECT * FROM songlist '+
// ' INNER JOIN queuelist ON (songlist.ID = queuelist.songID) AND songtype = :songtype '+
// ' AND duration >= 220000 ORDER BY RAND() LIMIT 4',['S'],True);

C.First;
while not C.EOF do
begin
Queue.Addfile(+C['filename'],IpTop);
Cnts := Cnts + 1;
C.Next;
end;

//WriteLn (Cnts);

Q := Open;

PAL.UnLockExecution;

repeat
Cnts := Cnts - 1;
Aux1.QueueSong(Q);
Aux1.Play;
ActivePlayer.FadeToNext;
QueuedPlayer.Seek(StrToInt(A[R]));

Liner := ActivePlayer.GetSongInfo;
ArtTit := (Uppercase(Copy(Liner['artist'],1,4)))+(Uppercase(Copy(Liner['title'],1,4)));
//WriteLn (ArtTit);

Aux2.QueueSong(CAT[ArtTit].ChooseSong(smRandom,NoRules));
Pal.WaitForTime (T['+00:00:01']);
Writeln('VOLUME set LOW');
DeckA.Volume := 125;
DeckB.Volume := 125;
Aux2.Play;
while Aux2.Status = psPlaying do
PAL.WaitForTime('+00:00:00');
DeckA.Volume := 255;
DeckB.Volume := 255;
Writeln('VOLUME BACK TO NORMAL');


// update database zodat hij niet in playlist op website komt.
// ExecSQL('UPDATE songlist SET date_played =:date_played WHERE (filename = :filename) ',['[date_added]']);


Pal.WaitForTime (T['+00:00:12']);
ArtTit :='notknown';



until Cnts = 1 ;

Aux1.QueueSong(Einde);
Aux1.Play;
cat['StationId-rsound'].QueueTop(smRandom,NoRules);
ActivePlayer.FadeToNext;
C.Free;

Ik ben nog bezig met 2 problemen.
Ik heb een automatische upload naar een forum van de playlist laatste uur.
Daar komen ook de plaatjes van de hooks in. Die wil ik er middesl sql uit d elijst wippen (last_played aanapssen in tabel)
en er blijken toch verboden karakters in sam te zitten namelijk de Ook de spatie is slordig. Het commando UPPERCASE zou dan een soort string_replace moeten worden.

sandeland
******
Berichten: 208
Lid geworden op: 04 jan 2007, 21:51
SAM-versie: Geen.
Database: Geen Database
Locatie: nootdorp

Re: nummer aankondiging

Ongelezen bericht door sandeland » 01 mar 2013, 15:42

Hallo MedeSam gebruikers, ik heb een hele uitgebreide vraag waar ik zelf nou niet uitkom, het is het volgende

ik gebruik station playlist creator om de playlisten aan te maken en deze dus ieder uur te laden
ik speel ieder uur het nieuws af met tijdsaanduiding
ik heb een pall lopen die 5 minuten voor het einde van het uur een juist passen nummer uitzoekt en in de lijst zet
en speel na het nieuws gewoon een uuropener
ik maak ook af en toe gebruik van syndicated shows

nu wil ik graag een pall scipt in elkaar knutselen die het volgende doet,

5 minuten voor het einde uur nummer uitzoeken die passend is in het uur
vlak voor het nieuws een jingle met zometeen in het volgende uur deze hits
en daarna 3 korte fragmentjes draait van nummers die in het volgende uur voorbij komen
dus zal sam de playlist van het komende uur een uur eerder moeten laden anders kan hij dit niet weten
maar het moet wel de komende speelijst zijn en niet van het oude uur
na de 3 korte fragmentjes moet hij de uuraankondiging draaien en vervolgens het nieuws
waarna hij de uuropener draait en weer verder gaat met de playlist die bij dat uur past

en in de uren dat er syndicated wordt gedraaid moet er geen 3 korte fragmentjes worden afgespeeld omdat het hier gaat om alleen 1 uurtje.

sorry voor deze hele lastige en ingewikkelde vraag maar zou iemand mij hierbij kunnen helpen??
[smilie=blush2.gif]

hartstikke bedankt
mvg joeri
1 dag zonder muziek is een dag niet geleefd

Gebruikersavatar
Wout
Moderator
Berichten: 3227
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Wout » 01 mar 2013, 16:14

Als je weet op welke dag & tijd je syndicated wordt gedraaid, dan kan je in de teaser PAL een 'blokkade' zetten van dag + tijd.
De TOTH-PAL (5 minuten voor het uur) kan als standalone draaien.

Code: Selecteer alles

while DayOfWeek(Now) = Saturday and ((Now >= T['12:00:00']) and (Now <= T['12:59:59'])) do
begin
    PAL.WaitForTime(T['XX:00:00']);
end; 
Afbeelding

sandeland
******
Berichten: 208
Lid geworden op: 04 jan 2007, 21:51
SAM-versie: Geen.
Database: Geen Database
Locatie: nootdorp

Re: nummer aankondiging

Ongelezen bericht door sandeland » 01 mar 2013, 17:58

oke bedankt voor je antwoord wout,
de tijden van de syndicates zijn bekend, maar hoe kan ik dit alles dan zoveel mogelijk combineren in 1 pall?
dus de playlist van komend uur laden in het vorige uur dus en 3 nummers afspellen in korte fragmentjes etc?

mvg joeri
1 dag zonder muziek is een dag niet geleefd

Gebruikersavatar
Wout
Moderator
Berichten: 3227
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Wout » 01 mar 2013, 23:15

Waarom wil je dat?
Je kan nu 3 verschillende PAL`s laten draaien.
TOTH, Playlist, Teaser

Het is wel mogelijk, maar waarom moeilijk doen als het makkelijk kan. [smilie=yes2.gif]
Afbeelding

sandeland
******
Berichten: 208
Lid geworden op: 04 jan 2007, 21:51
SAM-versie: Geen.
Database: Geen Database
Locatie: nootdorp

Re: nummer aankondiging

Ongelezen bericht door sandeland » 02 mar 2013, 12:41

hallo wout, ik snap dat je 3 losse pallls kan laten draaien dat is ook geen probleem, alleen kom ik er niet uit om dit alles netjes op volgorde te laten doen, voorbeeld. 5 minuten voor tijd kijkt de pall naar een nummer dat past in het uur, soms komt dit net uit voor het nieuws en soms na het nieuws waardoor de nieuwe playlist dus geladen wordt of net voor of net na het uur wat er voor zorgt dat hij dus soms de oude playlist pakt.

en hoe kan ik dit combineren om dan net voor het nieuws 3 korte fragmentjes af te spelen.

mvg joeri
1 dag zonder muziek is een dag niet geleefd

marco1983
*
Berichten: 15
Lid geworden op: 22 dec 2012, 14:41
SAM-versie: 4.9.0.*
Database: MySQL 5.1
Windows: 7 64-bits

Re: nummer aankondiging

Ongelezen bericht door marco1983 » 03 mar 2013, 01:46

Dit is een top script, het werkt hier perfect op 1 ding na. Hij laad nu 3 nummers welke in de que staan, maar na het laden gooit hij het nummer weg uit de que, dus hij komt in dat uur niet meer terug, weet iemand hoe dat kan?

Gebruikersavatar
Wout
Moderator
Berichten: 3227
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Wout » 03 mar 2013, 08:48

Post je PAL eens.
Afbeelding

marco1983
*
Berichten: 15
Lid geworden op: 22 dec 2012, 14:41
SAM-versie: 4.9.0.*
Database: MySQL 5.1
Windows: 7 64-bits

Re: nummer aankondiging

Ongelezen bericht door marco1983 » 03 mar 2013, 13:09

Code: Selecteer alles

Pal.Loop:= True;

 var C : TDataSet;
 var Cnts : Integer = 1;
 var R : Integer = RandomInt(6);
 var Nieuw, Open, Einde, Q :TSongInfo;
 var A : Array of String= ['30000', '60000', '90000', '120000', '150000', '180000'];

 PAL.WaitForTime('XX:01:30');

while ((ActivePlayer.Duration - ActivePlayer.CurTime) > 21500) do;

Pal.LockExecution;

 Open   := CAT['Open'].ChooseSong(smRandom,NoRules);  //  Begin Jingle
 Nieuw  := CAT['Nieuw'].ChooseSong(smRandom,NoRules); //  Tussen Jingle
 Einde  := CAT['Einde'].ChooseSong(smRandom,NoRules); //  Einde Jingle

 C := Query('SELECT * FROM songlist '+
            ' INNER JOIN queuelist ON (songlist.ID = queuelist.songID) AND songtype = :songtype '+
            ' AND duration >= 220000 ORDER BY RAND() LIMIT 3',['S'],True);

 C.First;
  while not C.EOF do
   begin
    Queue.Addfile(C['filename'],IpTop);
    Cnts := Cnts + 1;
 C.Next;
   end;

 Q := Open;

Pal.UnLockExecution;

 repeat
  Cnts := Cnts  - 1;
  Aux1.QueueSong(Q);
  Aux1.Play;
  ActivePlayer.FadeToNext;
  QueuedPlayer.Seek(StrToInt(A[R]));
  Pal.WaitForTime (T['+00:00:05']);
  Q := Nieuw;
 until Cnts <= 1 ;

 Aux1.QueueSong(Einde);
 Aux1.Play;
 ActivePlayer.FadeToNext;
C.Free ;
Dit is het script.

Gebruikersavatar
Wout
Moderator
Berichten: 3227
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Wout » 03 mar 2013, 16:38

Ik heb het script diverse keren getest, maar hier is er geen probleem ermee.
Heb je al geprobeerd om het script opnieuw te laden in SAM?
Afbeelding

marco1983
*
Berichten: 15
Lid geworden op: 22 dec 2012, 14:41
SAM-versie: 4.9.0.*
Database: MySQL 5.1
Windows: 7 64-bits

Re: nummer aankondiging

Ongelezen bericht door marco1983 » 03 mar 2013, 20:13

Gek, ik heb gedaan wat je zegt, en dat gaat het ineens wel goed..... Nou ja het werkt top! :D

Heb je ook een oplossing voor het volgende probleem misschien? Ik heb 1 script draaien met een uur format. Deze begint met het nieuws, daarna file informatie en vervolgens zet hij een uur aan muziek in de que. Wat ik graag wil is dat hij na de file infomatie het script gaat draaien. Nu gaat dit 5 van de 10x goed, maar zowel het nieuws als de files hebben beide een variable tijd. Heb je een oplossing hoe ik dit goed kan krijgen?

Gebruikersavatar
Wout
Moderator
Berichten: 3227
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Wout » 03 mar 2013, 22:22

Hoe lang duurt ongeveer je nieuws, filebericht en start je nieuws precies op het uur?
Afbeelding

marco1983
*
Berichten: 15
Lid geworden op: 22 dec 2012, 14:41
SAM-versie: 4.9.0.*
Database: MySQL 5.1
Windows: 7 64-bits

Re: nummer aankondiging

Ongelezen bericht door marco1983 » 04 mar 2013, 09:47

Het nieuws start precies op het hele uur. Muziek welke dan nog loopt wordt uit gefade.

Het nieuws duurt meestal ongeveer 2.20 daarna komen de files, en deze duurt wanneer er geen files zijn maar alleen flitsers ongeveer 17 secoden. In de ochtend wanneer het druk is op de weg kan hij wel uit lopen tot ruim een minuut.

Dwarrel
*****
Berichten: 191
Lid geworden op: 24 mar 2010, 11:00
SAM-versie: SAM 2014.5
Database: MySQL 5.0
Windows: 8.1
Locatie: Den Haag
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Dwarrel » 04 mar 2013, 11:37

Ik heb een vraag over dit script. Laten we beginnen met iedereen te bedanken die er een bijdrage aan heeft geleverd want hij werkt perfect. We zijn nu bezig met het maken van jingles hiervoor.

Mijn vraag is de volgende. Hij laat nu de nummers die in de pal worden opgepakt ook zien op de site bij "wat is geweest" terwijl de nummers natuurlijk nog moeten komen want het is een vooraankondiging. Is dit op de een of andere manier op te vangen?

Dwarrel
*****
Berichten: 191
Lid geworden op: 24 mar 2010, 11:00
SAM-versie: SAM 2014.5
Database: MySQL 5.0
Windows: 8.1
Locatie: Den Haag
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Dwarrel » 04 mar 2013, 14:14

Ik heb eigenlijk nog een vraag.

De volgende regel laat de huidige plaat nog een xx aantal seconden doorspelen.

Code: Selecteer alles

while ((ActivePlayer.Duration - ActivePlayer.CurTime) > 21500) do;
Maar eigenlijk wil ik gewoon de plaat uit laten spelen en dan de drie nummers laten horen die in het komende uur voorbij komen.

Dwarrel
*****
Berichten: 191
Lid geworden op: 24 mar 2010, 11:00
SAM-versie: SAM 2014.5
Database: MySQL 5.0
Windows: 8.1
Locatie: Den Haag
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Dwarrel » 04 mar 2013, 15:31

Dwarrel schreef:Ik heb eigenlijk nog een vraag.

De volgende regel laat de huidige plaat nog een xx aantal seconden doorspelen.

Code: Selecteer alles

while ((ActivePlayer.Duration - ActivePlayer.CurTime) > 21500) do;
Maar eigenlijk wil ik gewoon de plaat uit laten spelen en dan de drie nummers laten horen die in het komende uur voorbij komen.
Heb het opgelost door de regel te vervangen door:

Code: Selecteer alles

PAL.WaitForPlayCount(1);
Het is af en toe zo simpel.... [smilie=dance4.gif]

marco1983
*
Berichten: 15
Lid geworden op: 22 dec 2012, 14:41
SAM-versie: 4.9.0.*
Database: MySQL 5.1
Windows: 7 64-bits

Re: nummer aankondiging

Ongelezen bericht door marco1983 » 04 mar 2013, 18:05

Dat heb ik ook geprobeerd, dat zou echt een top oplossing zijn voor mijn nieuws en file probleem. Ik heb die regel ook vervangen naar PAL.WaitForPlayCount(1); dus na het nieuws draait hij nog 1 plaat (in dit geval zijn dit de files) alleen begint hij met de files, en dan breekt hij hem na een paar seconden alweer af, terwijl de files een lengte had van 1.18 minuten. Weet iemand hoe dat kan?

Dwarrel
*****
Berichten: 191
Lid geworden op: 24 mar 2010, 11:00
SAM-versie: SAM 2014.5
Database: MySQL 5.0
Windows: 8.1
Locatie: Den Haag
Contacteer:

Re: nummer aankondiging

Ongelezen bericht door Dwarrel » 04 mar 2013, 19:55

marco1983 schreef:Dat heb ik ook geprobeerd, dat zou echt een top oplossing zijn voor mijn nieuws en file probleem. Ik heb die regel ook vervangen naar PAL.WaitForPlayCount(1); dus na het nieuws draait hij nog 1 plaat (in dit geval zijn dit de files) alleen begint hij met de files, en dan breekt hij hem na een paar seconden alweer af, terwijl de files een lengte had van 1.18 minuten. Weet iemand hoe dat kan?
Probeer voor de regel nog eerst een jingle in te laden dan is het wellicht opgelost. Hier in ieder geval wel.

Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht