Playlist (.pls of .m3u) laden via clockwheel ....

Cross-fade, ClockWheel, Weight, Playlist Rules, etc..
Plaats reactie
skeleton

Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door skeleton »

Kan een clockwheel een playlist laden tussen 2 songs , waarvan Ik beslis tussen welke 2 songs ?

Ik verklaar mij nader.
We hebben ongeveer 10 clockwheel playlists. Hieronder is er 1 van.
In ieder van deze clockwheels is een reclameblok voorzien. Deze reclameblokken zitten in een .m3u bestand. Het is NIET de bedoeling dat ik hiervoor de ES gebruik, want met de ES kan ik enkel werken met "tijdstippen" om deze in de queue te plaatsen.
Hieronder een voorbeeld van een clockwheel playlist.

Code: Selecteer alles

Cat['70s UP'].QueueBottom(smWeighted, EnforceRules);
Cat['Nieuw Nederlandstalig'].QueueBottom(smWeighted, NoRules);
Cat['60s MID en DOWN'].QueueBottom(smWeighted, EnforceRules);
Cat['Internationaal (Sp-Duits-Engels)'].QueueBottom(smWeighted, EnforceRules);
// RECLAME //
Cat['Jingles (All)'].QueueBottom(smLRP, NoRules);
Cat['Nederlands algemeen 80s tot nu MID en DOWN'].QueueBottom(smWeighted, EnforceRules);
Cat['Instrumentaal'].QueueBottom(smWeighted, EnforceRules);
Cat['Frans 1'].QueueBottom(smWeighted, EnforceRules);
Cat['STADSRADIO - REGIO NIEUWS'].QueueBottom(smLRP, NoRules);
Cat['Jingles (All)'].QueueBottom(smLRP, NoRules);
Cat['Nederlands 50-60s'].QueueBottom(smWeighted, EnforceRules);
Cat['80s MID en DOWN'].QueueBottom(smWeighted, EnforceRules);
// Jarigen van de dag //
Cat['Jingles (All)'].QueueBottom(smLRP, NoRules);
Cat['60s UP'].QueueBottom(smWeighted, EnforceRules);
Cat['Will Tura'].QueueBottom(smWeighted, NoRules);
Cat['70s MID en DOWN'].QueueBottom(smWeighted, EnforceRules);
// RECLAME //
Cat['Jingles (All)'].QueueBottom(smLRP, NoRules);
Cat['Nederlands algemeen 80s tot nu UP'].QueueBottom(smWeighted, EnforceRules);
Cat['Frans 2'].QueueBottom(smWeighted, EnforceRules);
Cat['Nieuw Internationaal'].QueueBottom(smWeighted, NoRules);
Cat['Jingles (All)'].QueueBottom(smLRP, NoRules);
Cat['50s'].QueueBottom(smWeighted, EnforceRules);
Cat['Nederlands 70s'].QueueBottom(smWeighted, EnforceRules);
Cat['Recurrent 1990-2008 internationaal'].QueueBottom(smWeighted, EnforceRules);
Zoals je ziet heb ik plaats voorzien voor de reclameblokken om aldaar een m3u lijst te laten inladen, maar ik weet niet op welke manier ik dit ertussen kan krijgen.
Nogmaals , deze m3u moet EXACT op de plaats waar //reclame// staat ingeladen worden.

Is er een goede ziel tussen ons SAM'ers die hier een oplossing voor weet ?
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: Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door Kees »

Een clockwheel is puur voor het draaien van Cat. en nummers uit een dir.
En nu zul je denken..dan zet ik die playlist in een dir en laat deze aanroepen door het Clockwheel maar helaas...hier trapt SAM niet in.
De enige manier om dit te realiseren is om over te schakelen van Clockwheel naar PAL.
skeleton

Re: Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door skeleton »

Kees schreef:Een clockwheel is puur voor het draaien van Cat. en nummers uit een dir.
En nu zul je denken..dan zet ik die playlist in een dir en laat deze aanroepen door het Clockwheel maar helaas...hier trapt SAM niet in.
De enige manier om dit te realiseren is om over te schakelen van Clockwheel naar PAL.
hmmm verdorie.... ik vond het juist makkelijk zo.
Ik had ergens een 15 clockwheels gemaakt en met de ES roepte ik op bepaalde ingestelde tijden de correcte clockwheel op.
Ik vond dit supermakkelijk, zeker als je een bepaald clockwheel wou veranderen, je dit makkelijk kon aanpassen op een "overzichtelijke manier" en ook dat ik de tijden makkelijk kan wijzigen / aanpassen.

Deze manier werkt perfect. En speciaal voor die stomme reclame-playlist een ganse PAL script gaan in elkaar boxen :( AAARRGHGHHHH :axe: waar ik nog niet in thuis ben :(
Als ik dan toch een PAL script moet maken, maak ik liever verschillende PAL script ipv 1 supergrote van 500 KB .... zucht ..... :roll:

ps : is dit dan mogelijk ==> Als een bepaalde track gespeelt wordt (vb "Jingle1.mp3'), dat dan een PAL script in actie schiet die een playlist inlaadt ? Kan een PAL script dus als waakhond fungeren om het met deze vreemde woorden te zeggen ....
Het zijn maar stuiptrekkingen van mij denk ik :)
skeleton

Re: Playlist (.pls of .m3u) laden via clockwheel of PAL ....

Ongelezen bericht door skeleton »

Kees,

Eerst en vooral wou ik vragen of dit topic niet beter naar het PAL script gedeelte verplaatst word ?
Ik denk dat het daar beter thuis hoort dan hier bij "clockwheel" ;)



Ik heb dit scriptje gevonden (zie onderaan) en aangepast naar mijn eigen behoefte .... en het werkt MAAR ..... :)
In het script staat :
if (Pos('LIVESET', myEncoderString) >0)
maar iets lager staat er :
if (Pos('LIVESET2', myEncoderString) =0)

(let op het > en het = teken)
Wat is het verschil in werking ? waarvoor staat die =0 en >0 ???



Dit is het (aangepast) PAL script :

Code: Selecteer alles

var myCurrentSong : TSongInfo; 
var myEncoderString : String; 

PAL.Loop :=True; 

PAL.LockExecution; 

myCurrentSong := ActivePlayer.GetSongInfo; 
myEncoderString := myCurrentSong['title']; 

if (Pos('LIVESET', myEncoderString) >0)
then begin 
Queue.AddList('c:\playlists\playlist.m3u',ipTop);
end; 

if (Pos('LIVESET2', myEncoderString) =0)
then begin 
Queue.AddList('c:\playlists\playlist2.m3u',ipTop);
end; 

PAL.UnLockExecution; 

myCurrentSong.Free; 

PAL.WaitForPlayCount(1);
Het script is helaas wat aan de trage kant ..... Hij reageert namelijk niet snel genoeg ....
kan dit verholpen worden ?
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 918
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2014.7
Database: MySQL
Windows: 10
Contacteer:

Re: Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door cyberneticorganism »

Dat zal wel zijn is groter dan 0, en is gelijk aan 0. Maar waar die myEncoderString precies voor staat weet ik zo ook niet. Die POS zal wel de positie zijn. Hoe het verder precies werkt weet ik ook niet... zo moest even wegrennen, ben aan de diarree :butthead: Ik wou een scheet laten, maar dat ging niet goed :lol:
skeleton

Re: Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door skeleton »

Ik heb nog wat zitten testen met dit script :-)

Code: Selecteer alles

var myCurrentSong : TSongInfo; 
var myEncoderString : String; 

PAL.Loop :=True; 
PAL.LockExecution; 

myCurrentSong := ActivePlayer.GetSongInfo; 
myEncoderString := myCurrentSong['title']; 

if (Pos('reclame', myEncoderString) >0)
then begin 
Queue.AddList('c:\reclame\playlist.m3u',ipTop);
end; 

PAL.UnLockExecution; 
myCurrentSong.Free; 
PAL.WaitForPlayCount(1);
Wat doet dit nu ? Wel ik heb in 1 mp3 jingle de id-tag aangepast dat enkel de "title" ingevuld is met het woord "reclame".
Ik ben van plan om deze mp3 van amper 2 seconden te laten spelen via mijn clockwheel op bepaalde tijdstippen. Telkens deze jingle speelt gaat dit PAL script een playlist laden in de queue met al mijn reclame blokken erin.
Op zicht werkt dit , maar er zijn 2 problemen.

1 : aangezien deze mp3 amper 2 seconden duurt heeft het PAL script niet de tijd om deze klaar te zetten, want hij gaat onmiddellijk kijken naar de volgende song die dan start.
Als ik een jingle neem van 10 seconden , dan werkt alles perfect.
Het is GEEN optie om een andere jingle te gebruiken.

2 : ik zou graag hebben dat , wanneer deze jingle speelt het PAL script 20 seconden wacht vooraleer hij deze M3U playlist klaarzet in de lijst.
Ik had geprobeerd om

Code: Selecteer alles

PAL.WaitForTime('+00:00:20');
toe te voegen, maar telkens zet hij onmiddellijk de M3U lijst in de queue
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 918
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2014.7
Database: MySQL
Windows: 10
Contacteer:

Re: Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door cyberneticorganism »

Werkt dit niet?

Code: Selecteer alles

if (Pos('reclame', myEncoderString) >0)
then begin 
PAL.WaitForTime('+00:00:20');
Queue.AddList('c:\reclame\playlist.m3u',ipTop);
end; 
Of heb je het al op deze manier geprobeerd? Gaat er dan geen andere plaat afspelen eigenlijk, als je 20 seconden wacht? (of een stilte, aangezien je dan 18 seconden over hebt na de jingle).

Wel lastig zo, bij het radiostation deden we dat allemaal met de hand weet ik nog :lol: Maar daar werden ook elke dag de playlisten gemaakt met een music scheduling programma, en later de reclameblokken ingeladen d.m.v. een bij traffic handmatig gemaakte "lijst".
skeleton

Re: Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door skeleton »

cyberneticorganism schreef:Werkt dit niet?

Code: Selecteer alles

if (Pos('reclame', myEncoderString) >0)
then begin 
PAL.WaitForTime('+00:00:20');
Queue.AddList('c:\reclame\playlist.m3u',ipTop);
end; 
Of heb je het al op deze manier geprobeerd? Gaat er dan geen andere plaat afspelen eigenlijk, als je 20 seconden wacht? (of een stilte, aangezien je dan 18 seconden over hebt na de jingle).
Er is NOOIT een stilte :-) want de playlist wordt geregeld met een clockwheel ...
Het PAL script zorgt er enkel voor dat de reclame klaargezet wordt wanneer ik het wil :p ...
Er is dus constant muziek te horen ...

en euh ... ja ik had jouw mogelijke oplossing al geprobeerd ..... maar zonder resultaat.
Hij zet onmiddellijk de playlist in de queue. Nuja ... onmiddellijk is veel gezegd ... het duurt nog 1 seconde. Vandaar mijn vraag om 20 seconden te wachten zodat ik een "trigger" mp3 wil laten starten (jingle-trigger) , dan een normale plaat en daarna de reclame.

Een stukje uit mijn clockwheel :

Code: Selecteer alles

Cat['70s UP'].QueueBottom(smWeighted, EnforceRules);
Cat['Nieuw Nederlandstalig'].QueueBottom(smWeighted, NoRules);
Cat['60s MID en DOWN'].QueueBottom(smWeighted, EnforceRules);
// hieronder de reclame trigger met 1 mp3 van 2 seconden in de directory
Cat['reclame-trigger].QueueBottom(smLRP, NoRules);
Cat['Internationaal (Sp-Duits-Engels)'].QueueBottom(smWeighted, EnforceRules);
// RECLAME //
Cat['Jingles (All)'].QueueBottom(smLRP, NoRules);
Cat['Nederlands algemeen 80s tot nu MID en DOWN'].QueueBottom(smWeighted, EnforceRules);
Cat['Instrumentaal'].QueueBottom(smWeighted, EnforceRules);
Cat['Frans 1'].QueueBottom(smWeighted, EnforceRules);
Cat['STADSRADIO - REGIO NIEUWS'].QueueBottom(smLRP, NoRules);
Op die manier trigger ik het PAL script om de reclame klaar te zetten.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 918
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2014.7
Database: MySQL
Windows: 10
Contacteer:

Re: Playlist (.pls of .m3u) laden via clockwheel ....

Ongelezen bericht door cyberneticorganism »

Aaah ok. Dan snap ik hem. Ik dacht dat die jingle van 2 seconden de reclame pingel was. Maar dat is dus niet het geval, als er nog een trigger jingle en normale plaat na komt.

Telt ie die 20 seconden ook niet af? Dat kan je in het PAL script window zien, maar dat wist je al denk ik. Misschien komt het door dat ie dat stukje script versneld doorloopt (PAL.LockExecution; en Unlock). Maar dan nog zou ie volgens mij wel die 20 seconden moeten wachten...

Misschien kan je nogmaals...

Code: Selecteer alles

PAL.WaitForPlayCount(1);


...gebruiken. Dit i.p.v. die Palwaitfortime. Of je maakt er 2 van, weet alleen niet of dat dan wel werkt met die 2 seconden jingle (omdat ie dus al voorbij is voordat je er erg in hebt).
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht