Plaat uitspelen voor het nieuws. (TOTH)

Voor vragen over Playlist Automation Language.
Gebruikersavatar
Ziekenomroep
**
Berichten: 38
Lid geworden op: 02 sep 2012, 22:07
SAM-versie: 4.2.2.*
Database: MariaDB
Windows: XP

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Ziekenomroep » 11 okt 2012, 17:16

Mijn hersenen beginnen nu al te kraken! de toth gevonden, nu kijken hoe ik deze in de weekloper kan programmering!....

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 11 okt 2012, 18:51

Oh, dat ga je niet lukken.
Daarvoor moet je toch iets dieper in de materie zitten.
Probeer hem maar als losse script te gebruiken.
Afbeelding

Gebruikersavatar
NCR
**
Berichten: 47
Lid geworden op: 04 mei 2011, 10:39
SAM-versie: 4.9.8.
Database: MySQL 5.0
Windows: 7 64-bits

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door NCR » 25 okt 2012, 12:27

Code: Selecteer alles

Wout:

Pal.Loop := True ;

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

    // Speed some things up
    Pal.LockExecution ;

        // Wat variabele instellen
        var RestTijd : Integer ;
        var Now_minutes : String ;
        var D : TDataSet ;

        // 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 ;

        if not D.EOF then
            begin
                Queue.Addfile(+D['filename'], IpTop) ;
                D.next ;
            end
        else
            WriteLn('Geen Resultaat');
        
        D.free ;

    // Slow some things down
    Pal.UnLockExecution ;
 

Toch even een vraagje over deze code.
Als je nu niet elk uur nieuws wild gebruiken maar laten we zeggen 09:00 / 12:00 / 15:00 / 18:00,
via de event scheduler werkt het niet vlekkeloos,
Is er dan een aanpassing voor te maken ? Zodat het nieuws enkelt op bovenstaande uren te horen is.

Mvg,
John

ToMe
Beginnende SAM-gebruiker
Berichten: 2
Lid geworden op: 19 sep 2010, 16:25
SAM-versie: 4.9.8.
Database: MariaDB
Windows: Windows 10
Locatie: Heerlen
Contacteer:

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door ToMe » 01 nov 2012, 09:57

Op de gok voor jan en nog iets uitgemaakt te worden, Waarom zet je er geen nummer in van 10 sec als jingle b.v. "Nu het nieuws u aanbeboden door" in voor dergelijke gaten op te vullen in het script en of speel lijst

Gebruikersavatar
Ziekenomroep
**
Berichten: 38
Lid geworden op: 02 sep 2012, 22:07
SAM-versie: 4.2.2.*
Database: MariaDB
Windows: XP

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Ziekenomroep » 01 nov 2012, 19:46

Dat zou ook nog een oplossing kunne zijn, echter doet ie dan de plaat voor d ejingel uitfade... dus heb je waarschijnlijk hetzelfde effect... toch bedankt voor jou meedenken hierin.

piraat
*
Berichten: 16
Lid geworden op: 17 feb 2008, 13:28

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door piraat » 29 nov 2012, 13:45

Je zou ook in de PAL je selectie wat ruimer kunnen zetten zodat je wat langere songs selecteert.
'date_played <= DATE_SUB( NOW( ), INTERVAL 1 HOUR )' + // Alleen nummers die al 1 uur niet zijn gespeeld
'AND '+
'duration '+
'BETWEEN '+
':RestTijd '+
'AND '+
':RestTijd + 9000 ' + ....
dus als ik er vanuit ga dat je steeds maximaal 15 seconden te kort komt zou de code dus bv er zo uit kunnen zien

Code: Selecteer alles

           'WHERE ' +
                'date_played <= DATE_SUB( NOW( ), INTERVAL 1 HOUR )' +  // Alleen nummers die al 1 uur niet zijn gespeeld
            'AND '+
                'duration '+ 
            'BETWEEN '+
                ':RestTijd + 15000'+
            'AND '+
                ':RestTijd + 24000 ' + ......

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 29 nov 2012, 22:15

piraat schreef: dus als ik er vanuit ga dat je steeds maximaal 15 seconden te kort komt zou de code dus bv er zo uit kunnen zien
Alleen kom je soms niet 15 seconden te kort.
En en filler erachter is echt onnodig.

De essentie van de PAL is en ook enkele malen vermeld.
Het draait een plaat uit voor het nieuws
en daardoor kan het wel eens gebeuren dat het nieuws niet precies uitkomt op de tel van het uur.
Maar wel -9 of +9 seconden waardoor het gemiddeld wel op het uur uitkomt.

En daar is niks aan te doen.
Het is een feit dat geaccepteerd moet worden.
(twijfel je nog, lees a.u.b. de topic nog eens door en kijk naar me antwoorden) [smilie=spiteful.gif]
Afbeelding

avalonradio
*****
Berichten: 171
Lid geworden op: 09 okt 2007, 22:33
SAM-versie: Geen.
Database: Geen Database
Contacteer:

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door avalonradio » 01 dec 2012, 01:39

Wat een onwijs mooi script is dit, ben er nu volop mee aan het testen en werkt super.
Ik loop alleen een paar keer per dag tegen het probleem op dat de plaat volgens de tijdsduur van sam byv 3.23 duurt maar in werkelijkheid maar 3.18 dus krijg ik af en toe een kort stukje muziek. Zit nu ook ff te kijken om er een jingle in te zetten byv een uuropener in de map tijd die gebruikt word , alleen kan ik de verwijzing naar de map tijd zoals hij in het script genoemd word niet vinden. heb op de hdd een map (tijd) gemaakt en daar de jingle voor het nieuwe uur in gezet deze heet tijd in het scrip heet hij ook tijd, deze duurt 12 sec dus zal het probleem zich niet meer voor doen hoop ik. Hoe kan ik het script nu aanpassen dat hij de uuropener draait ipv de tijdsmelding?

Gr

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 01 dec 2012, 08:50

Ik denk dat je de eerste script pakt, je kan beter de 2de script pakken.
viewtopic.php?f=81&t=4062#p25909

Daarin wordt gewoon het nieuws eerder gestart. Zonder dat je gebruik maakt van een extra jingle/filler om het uur te vullen.

-edit, ik denk al dat je de 2de script gebruikt.
De uur-jingle`s staat hier (tijd.rar)
viewtopic.php?f=81&t=2232#p14523
Afbeelding

avalonradio
*****
Berichten: 171
Lid geworden op: 09 okt 2007, 22:33
SAM-versie: Geen.
Database: Geen Database
Contacteer:

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door avalonradio » 08 dec 2012, 23:26

Hoi Wout,

Thanx voor de reactie. Draai er nu een paar dagen mee en gaat redelijk goed, Gebeurt nog wel eens dat de tijd na de berekening van sam te kort is en we nog een stukje muziek krijgen van byv 10 sec grrr. Heb de tijd spanne al een x op 13000 gezet ipv de normale waarde van 9000 maar maakt niet veel uit.
Tot zover een tevreden gebruiker.

Gr Ron

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 08 dec 2012, 23:46

euh, als je deze PAL pakt.
viewtopic.php?f=81&t=4062#p25909
Dan kan ie geen 10 seconden van een andere muziek geven.

Dan begint ie gewoon eerder met z`n Nieuws-file.
Afbeelding

roy1986
***
Berichten: 60
Lid geworden op: 12 apr 2011, 16:08
SAM-versie: 4.2.2.*
Database: MariaDB
Windows: 7 64-bits
Locatie: hengelo
Contacteer:

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door roy1986 » 12 dec 2012, 23:50

Beste

Is er ook een mogelijkheid dat hij om 18:50:00 gaat zoeken naar een nummer die er tussen past,
voor de tijd van 18:55:55 .

Daarna komt mijn eind jingle er namelijk in met de aankondiging voor de volgende DJ.

En die zet om 19:00:00 de stream namelijk zelf stop.

M.v.g Roy

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 23 mar 2013, 23:21

Wat aanpassingen gemaakt.
Hij kijkt nu ook naar je PlaylistRules.
Tevens laad ie het Nieuws alleen tussen 07 t/m 22 uur

Uur + Nieuws op 1 centrale plaats voor de directory.

Code: Selecteer alles

Pal.Loop := True ;

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

	// Speed some things up
	Pal.LockExecution ;

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

		plus_uur := T['+01:00:00'] ;
		tijd := FormatDateTime('hh', plus_uur) ;

		// plaats hier de juiste directoy waar je nieuws & tijds-jingle staan
		uur := '\\HOMESERVER\Jingle\tijd\' + tijd + '.mp3' ;
		nieuws := '\\HOMESERVER\Jingle\NEWS\nieuws.wav' ;

		// 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 ' +
					  'filename, duration '+
					'FROM '+
					  'songlist, categorylist '+
					'WHERE '+
					  'songlist.ID = categorylist.songID '+
					'AND '+
					  'categoryID > 0 '+
					'AND '+
					  'date_played <= DATE_SUB(NOW(), INTERVAL :track MINUTE) '+
					'AND '+
					  'date_artist_played <= DATE_SUB(NOW(), INTERVAL :artiest MINUTE) '+
					'AND '+
					  'date_album_played <= DATE_SUB(NOW(), INTERVAL :album MINUTE) '+
					'AND '+
					  'date_title_played <= DATE_SUB(NOW(), INTERVAL :titel MINUTE) '+
					'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', [PlaylistRules.MinTrackTime, PlaylistRules.MinArtistTime, PlaylistRules.MinAlbumTime, PlaylistRules.MinTitleTime, RestTijd], True ) ;

		D.First ;

		if not D.EOF then
		begin
			if((Now >= T['06:00:00']) and (Now <= T['23:00:00'])) then
				Queue.Addfile(nieuws, IpTop) ;	
			Queue.Addfile(uur, ipTop);
			Queue.Addfile(+D['filename'], IpTop) ;
			D.next ;
		end
		else
		begin
			WriteLn('Geen Resultaat');
			if((Now >= T['06:00:00']) and (Now <= T['23:00:00'])) then
				Queue.Addfile(nieuws, IpTop) ;		
			Queue.Addfile(uur, ipTop);
		end;
		D.free ;

	// Slow some things down
	Pal.UnLockExecution ;
Afbeelding

Gebruikersavatar
Gerrie K
VIP
Berichten: 484
Lid geworden op: 02 jan 2011, 23:41
SAM-versie: SAM 2019.1
Database: MySQL 5.7
Windows: Windows 10
Locatie: Strijen
Contacteer:

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Gerrie K » 03 apr 2013, 20:25

Ken je nagaan,dit speelt al een heel tijdje dat TOHT Pal......


De afgelopen weken ben ik er weer eens ingedoken.....Ik zit nu na wat aanpassingen op +12 tot +15 sec na het hele uur....Korter is bij dit station niet mogelijk,dit heeft te maken met de Fading tijd en Gap killing...Ga je deze te strak zetten dan is de Queue leeg voordat het Nieuws geladen wordt.....en ja een filler zal kunnen maar dat vind ik niet profi.....Ik plaatst ze nog niet,want ze zijn nog niet klaar.

Het zijn er 2, eentje die op 55 voor het hele uur een track laadt die tot het hele uur speelt met 12-15 sec speling.De andere is de weekpal die de Queue beheert.

Binnenkort meer,loopt nu in een testfase.

Gebruikersavatar
Gerrie K
VIP
Berichten: 484
Lid geworden op: 02 jan 2011, 23:41
SAM-versie: SAM 2019.1
Database: MySQL 5.7
Windows: Windows 10
Locatie: Strijen
Contacteer:

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Gerrie K » 06 apr 2013, 16:52

Update:

Hier een stukje eventlogger.......


N 2013-04-06 16:57:10 [DECK B] Wtf! - Da Bop (3:02)
N 2013-04-06 17:00:09 [DECK A] Radio Vredenburg - Uursluiter (0:07)
N 2013-04-06 17:00:15 [DECK B] World News Company - Nieuws & Weer (1:33)
N 2013-04-06 11:57:01 [DECK B] Kane - Believe It (3:02)
N 2013-04-06 11:59:59 [DECK A] Radio Vredenburg - Uursluiter (0:07)
N 2013-04-06 12:00:04 [DECK B] World News Company - Nieuws & Weer (1:33)
N 2013-04-06 12:01:51 [DECK A] Radio Vredenburg - Station Call (0:09)
N 2013-04-05 10:57:53 [DECK A] Snappie - De Kleine Krokodil (2:17)
N 2013-04-05 11:00:05 [DECK B] Radio Vredenburg - Uursluiter (0:07)
N 2013-04-05 11:00:11 [DECK A] World News Company - Nieuws & Weer (1:33)
N 2013-04-05 11:01:39 [DECK B] Radio Vredenburg - Station Call (0:05)
N 2013-04-05 09:56:32 [DECK A] Charly Lownoise & Mental Theo - Stars (3:36)
N 2013-04-05 10:00:07 [DECK B] Radio Vredenburg - Uursluiter (0:07)
N 2013-04-05 10:00:12 [DECK A] World News Company - Nieuws & Weer (1:33)
N 2013-04-05 10:01:44 [DECK B] Radio Vredenburg - Station Call (0:08)

enz.......

Ziet er goed uit.Wel wat aanpassingen gedaan ivm DanceClassics,dit zijn voor 80% tracks die langer zijn dan 4 minuten.Dus daar start hij eerder.

Gebruikersavatar
drOhimself
Moderator
Berichten: 2941
Lid geworden op: 27 mar 2010, 11:44
SAM-versie: SAM 2014.7
Database: MySQL 5.0
Windows: 2000

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door drOhimself » 06 apr 2013, 17:11

Ziet er goed uit Gerrie.
Niets meer aan doen....!
Groedjez,
drO

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 06 apr 2013, 20:03

Inderdaad, 'strakker' dan dit gaat niet lukken omdat je blijft zitten met variatie van fading en/of voldoende songs met de 'afloop'-lengte.

p.s. je kan ook gebruik maken van MySQL Query Browers om de geschiedenis van de start-tijden van je nieuws te controleren.
viewtopic.php?f=81&t=4062#p26044
Afbeelding

Gebruikersavatar
Gerrie K
VIP
Berichten: 484
Lid geworden op: 02 jan 2011, 23:41
SAM-versie: SAM 2019.1
Database: MySQL 5.7
Windows: Windows 10
Locatie: Strijen
Contacteer:

Re: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Gerrie K » 11 apr 2013, 20:20

Ben er bijna,nog eventjes geduld.....

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 30 okt 2013, 21:38

Een uitdraai van Excel van de gegevens van MySQL wanneer het nieuws begint met de PAL.
Zit allemaal rond het uur (XX:59:58) met een spreiding van ongeveer 20 seconden maar de plaat is wel uitgespeeld. [smilie=good.gif]
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Afbeelding

Gebruikersavatar
Wout
Moderator
Berichten: 3232
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: Plaat uitspelen voor het nieuws. (TOTH)

Ongelezen bericht door Wout » 03 jan 2015, 15:38

Weer een uitdraai gemaakt.
Gegevens kan je zelf ook maken met MySQL Query Browers -> export to excel -> en in Excel een grafiek maken.

Code: Selecteer alles

SELECT DATE_FORMAT(date_played, '%i:%s') AS tijd, count(*) as aantal
FROM historylist
WHERE date_played > DATE_SUB( NOW( ), INTERVAL 3 year )
AND artist = 'Lokaal Media Nieuws'
GROUP BY tijd
ORDER BY tijd DESC ; 
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Afbeelding

Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht