2 PAL scripts bij elkaar voegen

Voor vragen over Playlist Automation Language.
sandeland

2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

goedenavond, mede samgebruikers, ik zit met een hele lastige vraag, ik maak gebruik van 2 scripts, 1 script die de que leegmaakt ieder uur daarna de nieuwsjingle met tijdsaanduiding draait, vervolgens het nieuws en daarna een met station playlist creator playlist opent voor dat uur, dit draait allemaal prima, alleen heb ik een 2e script lopen die ervoor moet zorgen dat de nummers zo netjes mogelijk in een uur passen, nou was dit niet zo makkelijk en werdt er voorgesteld om in dit script het nieuws meteen mee te pakken maar wat ik dan ga krijgen is dat de que wel ieder uur leeggemaakt moet worden anders staan er op een gegeven moment te veel nummers in. hoe kan ik dit combineren is mijn vraag?

sorry voor de hele lastige uitleg maar hoop dat jullie begrijpen wat ik bedoel ;)
ik heb in de bijlage de 2 scripts waarmee ik werk

mvg joeri
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Laatst gewijzigd door sandeland op 01 apr 2012, 17:53, 1 keer totaal gewijzigd.
Reden: PAL ipv pall
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

script 1 (Pall script 1 uur) heeft de volgende elementen :
1. queue leegmaken
2. reklame in queue zetten
3. reklame afspelen
4. random reklame onderaan queue zetten
5. uurjingle onderaan queue zetten
6. nieuws onderaan queue zetten
7. playlist onderaan queue zetten

script 2 (test pall voor goed uitkomen...) is de bekende PAL van forum welke om xx:55:00 kijkt naar de lengte van huidige nummers in queue en dan een passend laatste nummer voor héle uur zoekt.

Die 2 PALs zijn volgens mij heel simpel te integreren !
Jouw playlist bovenaan zetten, en de 'uur-passend-maker'- PAL erachter.

Geeft geen foutmeldingen, echter heb ik het niet volledig getest.
Wat me wel opviel is dat in jouw script staat :
PAL.WaitForTime(T['00:55:00']) ;
Dit werkt dan alleen om 5 voor een 's-nachts......
Hier het aangepaste script :

Code: Selecteer alles

//	http://www.broadcasterforum.nl/viewtopic.php?f=81&t=4424&p=28065#p28062
//	laden van reklame/nieuws/reklame SANDELAND FM om xx:59:55
//	laatste nummer van het uur passend maken

//	Wat variabele instellen
	var RestTijd : Integer ;
	var Now_minutes, tijd, uur : String ;
	var D : TDataSet ;
	var plus_uur : DateTime ;
	var filename : String;

	PAL.Loop := True ;
    // Speed some things up
    PAL.LockExecution ;

	// Begin dit script op elk uur vanaf 5 seconden voor het uur
    PAL.WaitForTime(T['XX:59:55']) ;
		Queue.Clear; 
		Queue.AddFile('F:\\Reclame\Sandeland FM jingle - Reclame aanduiding.mp3',ipBottom);
		ActivePlayer.FadeToNext;
		Cat['Advertisements (All)'].QueueBottom(smRandom, NoRules);
		Queue.AddFile('F:\Uurjingles\nieuws1uur.mp3',ipBottom);
		Queue.AddFile('F:\Novum nieuws\nieuws.mp3',ipBottom); 
		filename := FormatDateTime('dd-mm-hh',Now)+'.m3u';
		Writeln(filename);
		Queue.AddList('C:\Program Files\StationPlaylist\Playlist\'+filename, ipBottom);

    // Begin dit script op elk uur vanaf 5 minuten voor het uur
    PAL.WaitForTime(T['XX:55:00']) ;

        plus_uur := T['+01:00:00'] ;
        tijd := FormatDateTime('hh', plus_uur) ;
        uur := 'c:\tijd\' + tijd + '.mp3' ;

        // Alleen de minuten van het uur
        Now_minutes := FormatDateTime('n', Now) ;

        // De aantal minuten afhalen van 1 uur en waar rekening is gehouden met de spelende nummer in miliseconden
        RestTijd := ( ( (60 - Now_minutes ) * 60000) ) - ( Activeplayer.Duration - ActivePlayer.CurTime ) ;

        // Hier zoek ie de nummer met de juiste lengte + een beetje meer
        D := QUERY('SELECT ' +
            'songlist.artist, songlist.filename, songlist.duration ' +
        'FROM ' +
            'songlist ' +
        'WHERE ' +
            'date_played <= DATE_SUB( NOW( ), INTERVAL 1 HOUR )' +  // Alleen nummers die al 1 uur niet zijn gespeeld
        'AND '+
            'duration '+
        'BETWEEN '+
            ':RestTijd '+
        'AND '+
            ':RestTijd + 9000 ' +    // Hier wat speling op de lengte van het gezochte nummer met 9 seconden
        'ORDER BY RAND() ' +    // Hij pakt een willekeurige nummer die voldoet aan de eisen
        'LIMIT 1', [RestTijd], True ) ;

        D.First ;
			while not D.EOF do
				begin
					Queue.Addfile(+D['filename'], IpTop) ;            
					D.next ;
				end ;
			D.free ;

	// Slow some things down
	PAL.UnLockExecution ; 

	
// Broadcasterforum 2012-04-01 / drOhimself / Wout / SandelandFM
Tijdstippen (xx:59:55) en (xx:55:00) naar believen aanpassen...!
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

Goedenavond, bedankt voor het antwoord, ik ga er snel mee aan de slag om te kijken wat het doet. waar ik zelf problemen mee ondervond was dat als hij een aantal minuten voor het uur begint met het script hij dan ook de playlist pakt van het uur ervoor omdat het script nog loopt in het vorige uur en hij kijkt naar welke playlist hij moet hebben doormiddel van deze regel
filename := FormatDateTime('dd-mm-hh',Now)+'.m3u';
Writeln(filename);
Queue.AddList('C:\Program Files\StationPlaylist\Playlist\'+filename, ipBottom);

mvg joeri
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Joeri,

Daar zou je nu geen last van moeten hebben.
Het script begint om 5 SECONDEN voor het hele uur, dan laadt het wat items + het nieuws in en gaat spelen.
Dan loopt het al even in het nieuwe uur, en gaat dan pas de playlist ophalen.
Weinig kans dat je dan de verkeerde playlist binnenhaalt !
We horen het gauw van je !
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

Ik heb nog een vraagje wat betreft de uurjingles ierder uur, is er ook de mogelijkheid dat dit script kijkt naar de tijd zoals hij ook doet bij het ophalen van de playlist dat hij dan de uurjingle opent van dat uur? of moet dit script tog ieder uur gestart worden doormiddel van de es?

mvg joeri
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Joeri,
De uurjingle kan je ongeveer zelfde doen als je -uur- playlist.

Enkele hints :
uur jingles heten bij mij : 01.mp3, 02.mp3 etc..
Omdat ik de jingles ook binnenhaal VOOR het uur begint, tel ik 1 uur erbij op.
...... en onderstaande code als voorbeeld welke je er dan tussen kan proppen.

Code: Selecteer alles

PAL.LockExecution;
PAL.loop := true;
const LOCATION = 'c:\Radio\Jingles\tijd\';

var uur, oldpath : String ;
uur := FormatDateTime('hh', Now) ;
var path : String = '';
var time,hour,minute,second,millisecond : Integer;
PAL.UnLockExecution;
WriteLn('Komend uur: '+ IntToStr(uur+1));

While (Now >= T[uur+':59:48']) and (Now <= T[uur+':59:55']) do
	BEGIN
		PAL.LockExecution;
		path := LOCATION + IntToStr(uur+1) + '.mp3';
		Queue.AddFile(path, ipTop);
		PAL.UnLockExecution;
		PAL.WaitForTime(T['xx:59:56']);
		ActivePlayer.FadeTonext ;
	END;
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

hallo Dro, harstikke bedankt voor je antwoord en de moeite die je ervoor genomen hebt;)

ik ben zelf ook wat aan het aanpassen geweest en heb het nu zo lopen zoals in de bijlage te zien, ik heb inderdaad ook mijn uurjingles aangepast met 01, 02 etc alleen doet hij alles goed behalfve pakt hij de uurjingle niet:(

zie jij mischien waar het bij mij mis gaat?

alvast bedankt

mvg joeri
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Ha Joeri,

Ik zie dat je alleen deze regel hebt toegevoegd/aangepast.....

Code: Selecteer alles

      Queue.AddList('F:\Uurjingles\'+filename, ipBottom);
Daarmee alleen gaat het niet lukken..!

Dit moet er ook nog tussen komen.

Code: Selecteer alles

    PAL.LockExecution;
    PAL.loop := true;
    const LOCATION = 'c:\Radio\Jingles\tijd\';

    var uur, oldpath : String ;
    uur := FormatDateTime('hh', Now) ;
    var path : String = '';
    var time,hour,minute,second,millisecond : Integer;
    PAL.UnLockExecution;
    WriteLn('Komend uur: '+ IntToStr(uur+1));

    While (Now >= T[uur+':59:48']) and (Now <= T[uur+':59:55']) do
       BEGIN
          PAL.LockExecution;
          path := LOCATION + IntToStr(uur+1) + '.mp3';
          Queue.AddFile(path, ipTop);
          PAL.UnLockExecution;
          PAL.WaitForTime(T['xx:59:56']);
          ActivePlayer.FadeTonext ;
       END;
Kom op, doe je best...je kan het, je kan het, je kan het...!
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

Beste forumleden

Gisteren tot de laatste uurtjes aan het stoeien en knutselen geweest om het werkend te krijgen maar ik krijg het nog steeds niet voor elkaar om de uurjingles gedraaid te krijgen, ik heb het script nu zo lopen zoals te zien in bijlage, mischien kan je hier iets zien wat ik niet kloppend heb lopen [smilie=blush2.gif]
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Joeri,

Check even of dit script werkt.
Heb nog wat aangepast voor je, beide stukken in een While loop gezet.
Niet getest, heb wel de Lock/Unlock even uitgezet, zodat je systeem niet vast loopt, mocht het toch niet helemaal werken.
Laat even horen hoe ie loopt!
(Als je op Code drukt, en je PAL erin plakt, dan komt het er zo uit te zien, ipv dat je een .txt bestand als bijlage toevoegd.)

Code: Selecteer alles

//	http://www.broadcasterforum.nl/viewtopic.php?f=81&t=4424&p=28065#p28062
//	laden van reklame/nieuws/reklame SANDELAND FM om xx:59:55
//	laatste nummer van het uur passend maken
//	+ uurjingle
//	Wat variabele instellen
	var RestTijd : Integer ;
	var Now_minutes, tijd, uur : String ;
	var D : TDataSet ;
	var plus_uur : DateTime ;
	var filename : String;
	const LOCATION = 'F:\Uurjingles\';
	uur := FormatDateTime('hh', Now) ;
	var path : String = '';
	var time,hour,minute,second,millisecond : Integer;
	
	PAL.Loop := True ;
	
	WriteLn('Komend uur: '+ IntToStr(uur+1));

	While (Now >= T[uur+':59:48']) and (Now <= T[uur+':59:55']) do
		// Begin dit script 5 a 10 seconden voor het HELE uur
		BEGIN
			//PAL.LockExecution;
			Queue.Clear; 
			Queue.AddFile('F:\\Reclame\Sandeland FM jingle - Reclame aanduiding.mp3',ipBottom);
			Cat['Advertisements (All)'].QueueBottom(smRandom, NoRules);
			path := LOCATION + IntToStr(uur+1) + '.mp3';
			Queue.AddFile(path, ipBottom);
			Queue.AddFile('F:\Novum nieuws\nieuws.mp3',ipBottom); 
			filename := FormatDateTime('dd-mm-hh',Now)+'.m3u';
			Writeln(filename);
			Queue.AddList('C:\Program Files\StationPlaylist\Playlist\'+filename, ipBottom);
			//PAL.UnLockExecution;
			PAL.WaitForTime(T['xx:59:59']);
			ActivePlayer.FadeTonext ;
		END;

	While (Now >= T[uur+':55:00']) and (Now <= T[uur+':55:05']) do
		// Begin dit script 5 minuten voor het HELE uur
		BEGIN
			//PAL.LockExecution;
			plus_uur := T['+01:00:00'] ;
			tijd := FormatDateTime('hh', plus_uur) ;
			uur := 'c:\tijd\' + tijd + '.mp3' ;

			// Alleen de minuten van het uur
			Now_minutes := FormatDateTime('n', Now) ;

			// De aantal minuten afhalen van 1 uur en waar rekening is gehouden met de spelende nummer in miliseconden
			RestTijd := ( ( (60 - Now_minutes ) * 60000) ) - ( Activeplayer.Duration - ActivePlayer.CurTime ) ;

			// Hier zoek ie de nummer met de juiste lengte + een beetje meer
			D := QUERY('SELECT ' +
				'songlist.artist, songlist.filename, songlist.duration ' +
			'FROM ' +
				'songlist ' +
			'WHERE ' +
				'date_played <= DATE_SUB( NOW( ), INTERVAL 1 HOUR )' +  // Alleen nummers die al 1 uur niet zijn gespeeld
			'AND '+
				'duration '+
			'BETWEEN '+
				':RestTijd '+
			'AND '+
				':RestTijd + 9000 ' +    // Hier wat speling op de lengte van het gezochte nummer met 9 seconden
			'ORDER BY RAND() ' +    // Hij pakt een willekeurige nummer die voldoet aan de eisen
			'LIMIT 1', [RestTijd], True ) ;

			D.First ;
			while not D.EOF do
				begin
					Queue.Addfile(+D['filename'], IpTop) ;            
					D.next ;
				end ;
			D.free ;

			// Slow some things down
			//PAL.UnLockExecution ; 
		END;
		
   
// Broadcasterforum 2012-04-03 / drOhimself / Wout / SandelandFM
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

Goedenmiddag dro, ik heb vanaf afgelopen nacht het script lopen en hij werk wel alleen slaat hij af en toe uren over, dus dan doet hij helemaal niks, de keren als hij het doet werkt het prima alleen de overige uren slaat hij alles over wat kan ik nog aanpassen zodat dit probleem opgelost kan worden??

mvg joeri
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Joeri,

Ik heb in mijn mapje met uurjingles voor de zekerheid ook maar opgenomen: 1.mp3 als ook 01.mp3, 2.mp3 alsook 02.mp3
Geloof dat het script er wel een 2 positie naam van maakt, dus 01 / 02 / 03 etc.
Weet je precies welke uren dat zijn geweest ?

Tevens nog wel even rekening houden met het feit dat de Lock / Unlock nog UIT staan.....
Of had je die bij jezelf gewijzigd ?
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

hallo, ik heb inderdaad ook de uren aangepast met 1, 2,3 en 01, 02, 03 etc
aan de instelling Lock / Unlock heb ik niks gewijzigd,

wat zou ik hieraan moeten veranderen?

mvg
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

het gaat hierbij om de uren 10 uur , 12 uur en 15 uur en vannacht ook maar toen waren de uurcodes nog niet aangepast aan 1,2,3 etc uur.

wel valt op dat het alle keren precies op de tijd van 10:00:01 en 12:00:01 en 15:00:00 uur een jingle wordt gedraaid

de andere uren zit er meer ruimte op het uur, bijvoorbeeld 13:00:14 mvg
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

sandeland schreef:aan de instelling Lock / Unlock heb ik niks gewijzigd,
wat zou ik hieraan moeten veranderen? mvg
Dat zou e.e.a. versnellen, nu doet SAM 1 seconde over iedere regel in het script.
Dus haal de '//' even weg voor de regels met 'PAL.Unlock' en 'PAL.Lock'
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Joeri, ik zat effe mee te luisteren, maar zo te horen sloeg ie 17.00 uur ook over.
Of was je bezig ?
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

dit klopt, hij sloeg 5 uur ook over, wel draaide hij precies 5 uur een jingle, dus het zoeken van een nummer voor een uur werkt wel

mvg
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Okay, dat zijn goede berichten, nu nog effe de PAL wat sneller maken.
Ik heb de '//' er uit gehaald.
Kijk of onderstaande PAL wel gaat werken.

Code: Selecteer alles

//	http://www.broadcasterforum.nl/viewtopic.php?f=81&t=4424&p=28065#p28062
//	laden van reklame/nieuws/reklame SANDELAND FM om xx:59:55
//	laatste nummer van het uur passend maken + uurjingle

//	Wat variabele instellen
	var RestTijd : Integer ;
	var Now_minutes, tijd, uur : String ;
	var D : TDataSet ;
	var plus_uur : DateTime ;
	var filename : String;
	const LOCATION = 'F:\Uurjingles\';
	uur := FormatDateTime('hh', Now) ;
	var path : String = '';
	var time,hour,minute,second,millisecond : Integer;
	
	PAL.Loop := True ;
	
	WriteLn('Komend uur: '+ IntToStr(uur+1));

	While (Now >= T[uur+':59:48']) and (Now <= T[uur+':59:55']) do
		// Begin dit script 5 a 10 seconden voor het HELE uur
		BEGIN
			PAL.LockExecution;
			Queue.Clear; 
			Queue.AddFile('F:\\Reclame\Sandeland FM jingle - Reclame aanduiding.mp3',ipBottom);
			Cat['Advertisements (All)'].QueueBottom(smRandom, NoRules);
			path := LOCATION + IntToStr(uur+1) + '.mp3';
			Queue.AddFile(path, ipBottom);
			Queue.AddFile('F:\Novum nieuws\nieuws.mp3',ipBottom); 
			filename := FormatDateTime('dd-mm-hh',Now)+'.m3u';
			Writeln(filename);
			Queue.AddList('C:\Program Files\StationPlaylist\Playlist\'+filename, ipBottom);
			PAL.UnLockExecution;
			PAL.WaitForTime(T['xx:59:59']);
			ActivePlayer.FadeTonext ;
		END;

	While (Now >= T[uur+':55:00']) and (Now <= T[uur+':55:05']) do
		// Begin dit script 5 minuten voor het HELE uur
		BEGIN
			PAL.LockExecution;
			plus_uur := T['+01:00:00'] ;
			tijd := FormatDateTime('hh', plus_uur) ;
			uur := 'c:\tijd\' + tijd + '.mp3' ;

			// Alleen de minuten van het uur
			Now_minutes := FormatDateTime('n', Now) ;

			// De aantal minuten afhalen van 1 uur en waar rekening is gehouden met de spelende nummer in miliseconden
			RestTijd := ( ( (60 - Now_minutes ) * 60000) ) - ( Activeplayer.Duration - ActivePlayer.CurTime ) ;

			// Hier zoek ie de nummer met de juiste lengte + een beetje meer
			D := QUERY('SELECT ' +
				'songlist.artist, songlist.filename, songlist.duration ' +
			'FROM ' +
				'songlist ' +
			'WHERE ' +
				'date_played <= DATE_SUB( NOW( ), INTERVAL 1 HOUR )' +  // Alleen nummers die al 1 uur niet zijn gespeeld
			'AND '+
				'duration '+
			'BETWEEN '+
				':RestTijd '+
			'AND '+
				':RestTijd + 9000 ' +    // Hier wat speling op de lengte van het gezochte nummer met 9 seconden
			'ORDER BY RAND() ' +    // Hij pakt een willekeurige nummer die voldoet aan de eisen
			'LIMIT 1', [RestTijd], True ) ;

			D.First ;
			while not D.EOF do
				begin
					Queue.Addfile(+D['filename'], IpTop) ;            
					D.next ;
				end ;
			D.free ;

			// Slow some things down
			PAL.UnLockExecution ; 
		END;
		
   
// Broadcasterforum 2012-04-03 / drOhimself / Wout / SandelandFM
sandeland

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door sandeland »

hoi dro hij werkte net wel alleen zit ik nu met het volgende probleem dat hij de playlist pakt van het afgelopen uur, sjonge jongen wat ben ik lastig [smilie=blush2.gif] mvg
drOhimself

Re: 2 PAL scripts bij elkaar voegen

Ongelezen bericht door drOhimself »

Joeri, zou idd kunnen dat ie net nog voor het 'nieuwe' uur de playlist gaat ophalen.
Ik heb nog even aangepast, nu pakt ie het echt na xx:59:59.

Code: Selecteer alles

//	http://www.broadcasterforum.nl/viewtopic.php?f=81&t=4424&p=28065#p28062
//	laden van reklame/nieuws/reklame SANDELAND FM om xx:59:55
//	laatste nummer van het uur passend maken + uurjingle

//	Wat variabele instellen
	var RestTijd : Integer ;
	var Now_minutes, tijd, uur : String ;
	var D : TDataSet ;
	var plus_uur : DateTime ;
	var filename : String;
	const LOCATION = 'F:\Uurjingles\';
	uur := FormatDateTime('hh', Now) ;
	var path : String = '';
	var time,hour,minute,second,millisecond : Integer;
	
	PAL.Loop := True ;
	
	WriteLn('Komend uur: '+ IntToStr(uur+1));

	While (Now >= T[uur+':59:48']) and (Now <= T[uur+':59:55']) do
		// Begin dit script 5 a 10 seconden voor het HELE uur
		BEGIN
			PAL.LockExecution;
			Queue.Clear; 
			Queue.AddFile('F:\\Reclame\Sandeland FM jingle - Reclame aanduiding.mp3',ipBottom);
			Cat['Advertisements (All)'].QueueBottom(smRandom, NoRules);
			path := LOCATION + IntToStr(uur+1) + '.mp3';
			Queue.AddFile(path, ipBottom);
			Queue.AddFile('F:\Novum nieuws\nieuws.mp3',ipBottom); 
			PAL.UnLockExecution;
			PAL.WaitForTime(T['xx:59:59']);
			ActivePlayer.FadeTonext ;
			filename := FormatDateTime('dd-mm-hh',Now)+'.m3u';
			Writeln(filename);
			Queue.AddList('C:\Program Files\StationPlaylist\Playlist\'+filename, ipBottom);
		END;

	While (Now >= T[uur+':55:00']) and (Now <= T[uur+':55:05']) do
		// Begin dit script 5 minuten voor het HELE uur
		BEGIN
			PAL.LockExecution;
			plus_uur := T['+01:00:00'] ;
			tijd := FormatDateTime('hh', plus_uur) ;
			uur := 'c:\tijd\' + tijd + '.mp3' ;

			// Alleen de minuten van het uur
			Now_minutes := FormatDateTime('n', Now) ;

			// De aantal minuten afhalen van 1 uur en waar rekening is gehouden met de spelende nummer in miliseconden
			RestTijd := ( ( (60 - Now_minutes ) * 60000) ) - ( Activeplayer.Duration - ActivePlayer.CurTime ) ;

			// Hier zoek ie de nummer met de juiste lengte + een beetje meer
			D := QUERY('SELECT ' +
				'songlist.artist, songlist.filename, songlist.duration ' +
			'FROM ' +
				'songlist ' +
			'WHERE ' +
				'date_played <= DATE_SUB( NOW( ), INTERVAL 1 HOUR )' +  // Alleen nummers die al 1 uur niet zijn gespeeld
			'AND '+
				'duration '+
			'BETWEEN '+
				':RestTijd '+
			'AND '+
				':RestTijd + 9000 ' +    // Hier wat speling op de lengte van het gezochte nummer met 9 seconden
			'ORDER BY RAND() ' +    // Hij pakt een willekeurige nummer die voldoet aan de eisen
			'LIMIT 1', [RestTijd], True ) ;

			D.First ;
			while not D.EOF do
				begin
					Queue.Addfile(+D['filename'], IpTop) ;            
					D.next ;
				end ;
			D.free ;

			// Slow some things down
			PAL.UnLockExecution ; 
		END;
		
// Broadcasterforum 2012-04-03 / drOhimself / Wout / SandelandFM
HELEMAAL GOED TOCH ??
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht