• Welcome to RadioDJ - Free Radio Automation Software Forum. Please log in or sign up.

Aangeven tijdsduur kerst, sinterklaas enz.

Started by Marcel, October 14, 2016, 09:54:15 AM

Marcel

Goedemorgen mede forum gebruikers,

Ik heb een vraagje m.b.t. het invoeren van muziek. Ik wil graag dat bijv. de kerstplaten alleen van 1 december t/m 31 december gedraaid worden en probeer dat nu in te voeren. Als ik bij edit track kijk kan ik wel een start en eind datum invoeren, maar dit geld dan volgens mij maar voor 1 jaar. Kan ik dit ook voor alle jaren vastzetten?

Groet,
Marcel.

FreerunMedia

Quote from: Marcel on October 14, 2016, 09:54:15 AM
Goedemorgen mede forum gebruikers,

Ik heb een vraagje m.b.t. het invoeren van muziek. Ik wil graag dat bijv. de kerstplaten alleen van 1 december t/m 31 december gedraaid worden en probeer dat nu in te voeren. Als ik bij edit track kijk kan ik wel een start en eind datum invoeren, maar dit geld dan volgens mij maar voor 1 jaar. Kan ik dit ook voor alle jaren vastzetten?

Groet,
Marcel.
Dit zou wel een idee zijn. Ik doe het zelf nu met de events omzetten. Kerst events tijdens de kerst en na oud en nieuw weer normale events. Goede vraag en ik lees even mee.
Running 3 editions V1.8.2 at www.salto.nl and v1.8.2 at radio251.nl. ( NOW with 2 live studio's! )

Ronald

Toevallig, ben ook gestart met alles klaar te maken voor December.
Loop tegen het zelfde probleem aan, heb getracht een event te starten op 8 Dec, en dat 1 Jan weer de gewone events gaan spelen. Hier voor gekozen om de Kerst event te starten door middel van de kalender.
Maar al snel loopt dat fout je moet idd allemaal events maken voor deze periode.

Ik lees ook graag mee of iemand een goed uit gewerkt idee heeft zodat het automatisch gebeurt. :ok:

Jhonny

SQLRun - Readme.txt

QuoteThis utility allows you tu run MySQL queries on RadioDJ database using events.
In order to do this, you need to place "SQLRun.exe" in the same folder as RadioDJ.exe.
To run it, you must create an event and add the "Run Application" action and as argument enter the path to the sql file to run.
Note: the utility can only insert/delete/update record on the database, select will not work.

Dit te hebben gelezen dacht ik aan twee queries.
1 die alleen werkt op 1 december en 1 die alleen op 31 december werkt.
Wanneer de datum met now() (nu) niet overeen komt gebeurd er niets.
Wanneer de datum met 1 december overeen komt moeten de kerst tracks enabled worden.
Wanneer de datum met 31 december overeen komt moeten de kerst tracks disabled gezet worden.

Ik weet alleen nog niet hoe je zo'n querie moet schrijven.
Met een insert of een update  :angel: ben nog niet zover met sql.

R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

Calypso

Quote from: Jhonny on October 15, 2016, 11:53:55 PM
SQLRun - Readme.txt

Dit te hebben gelezen dacht ik aan twee queries.
1 die alleen werkt op 1 december en 1 die alleen op 31 december werkt.
Wanneer de datum met now() (nu) niet overeen komt gebeurd er niets.
Wanneer de datum met 1 december overeen komt moeten de kerst tracks enabled worden.
Wanneer de datum met 31 december overeen komt moeten de kerst tracks disabled gezet worden.
insert of een update  :angel: ben nog niet zover met sql.

Niet te moeilijk denken; je hebt maar 1 query nodig. Die query moet draaien nadat de periode over is, bijvoorbeeld op 1 januari. In die query zet je de begin- en startdatum 1 jaar verder.

SQLRun kan je gebruiken, je kan het ook handmatig doen of op andere manieren. De volgende query werkt, misschien niet optimaal, maar wel te begrijpen:

update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=1 and month(start_date)=12 and year(start_date)=year(now())-1;


Uitleg: alle entries in de songs tabel worden hierin geupdate. De startdatum wordt 1 jaar verder gezet, de einddatum wordt 1 jaar verder gezet. Verder enable ik ook de songs weer, want het zal me niks verbazen dat deze ook op 'disabled' gezet worden wanneer de einddatum voorbij is. Wat moet er aangepast worden? Alle entries waarbij de dag van de startdatum de eerste van de maand is, en dat in maand 12. O ja, natuurlijk die van het afgelopen jaar (omdat je waarschijnlijk tot 31 december de tracks wilt laten spelen moet er 1 van het jaar afgetrokken worden omdat je de query in het 'nieuwe' jaar zult draaien.


Jhonny

Dit geld alleen voor de tracks die met een start datum 01-12-2016 geimporteerd zijn.
Voor dit jaar is de start datum dan 01 - 12- 2016 (in de database: 2016-12-01 00:00:01 en word veranderd naar 2017-12-01 23:59:59).

Klopt dit?

Zo ja:
Dit moet maar 1 keer per jaar gedaan worden.
Je doet dit met een event.
Event type no repeat,  datum begin van het jaar tijd gezet op 00:00:01, maar het jaar daarop werk deze niet meer.
Wanneer er dan een extra regel word bij gemaakt voor de event tabel waar ook het jaar veranderd word werkt dit event wel elk jaar.

Even vooruit lopend de sql file:

feestdagen.sql.


-- kerst'dagen.
update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=1 and month(start_date)=12 and year(start_date)=year(now())-1 and id_subcat=99;

-- Sinterklaas.
update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=15 and month(start_date)=11 and year(start_date)=year(now())-1 and id_subcat=80;

-- enz..voor aderen feest dagen.

-- update feest dagen event voorbeeld.
update events set date=date_add(start_date,interval 1 year) where dayofmonth(start_date)=1 and month(start_date)=1 and year(start_date)=year(now())+1 and type=0 and name='Feestdagen aan/uit';

-- Letop is maar een voorbeeld...


Kan het mis hebben.... :angel: :hihi:


[attachment deleted by admin]
R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

Calypso

Quote from: Jhonny on October 16, 2016, 01:20:41 PM
Dit geld alleen voor de tracks die met een start datum 01-12-2016 geimporteerd zijn.
Voor dit jaar is de start datum dan 01 - 12- 2016 (in de database: 2016-12-01 00:00:01 en word veranderd naar 2017-12-01 23:59:59).

Klopt dit?


-- kerst'dagen.
update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=1 and month(start_date)=12 and year(start_date)=year(now())-1 and id_subcat=99;

-- Sinterklaas.
update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=15 and month(start_date)=11 and year(start_date)=year(now())-1 and id_subcat=80;



Kan het mis hebben.... :angel: :hihi:

Het stukje van "1x per jaar" klopt inderdaad; na afloop van de periode doe je 1 keer de query over de database, en dan staat het alweer klaar voor het jaar erop. Let wel: op dit moment ga ik uit van het runnen van de query in het opvolgende jaar. Als je bijv. de query voor sinterklaas op 6 december laat lopen, dan moet natuurlijk "year(start_date)=year(now()-1" aangepast worden naar year(start_date)=year(now()). Verder zie ik dat je een id_subcat check erin hebt zitten; dat kan, maar is voor iedereen anders omdat de subcat voor "Sinterklaas" en "Kerst" anders zijn.

Jhonny

#7
QuoteVerder zie ik dat je een id_subcat check erin hebt zitten; dat kan, maar is voor iedereen anders omdat de subcat voor "Sinterklaas" en "Kerst" anders zijn.

Klopt, en is natuurlijk voor iedereen anders, het gebruik van de id_subcat is bedoeld als antwoord op feest dagen, en pasen kan er ook nog bij en doden herdenking enz..
R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

Jhonny

Mee lezers.
id_subcat=  het nummer kun je vinden in de tabel subcategory in de kolom ID.

Note, ik heb het nog niet allemaal getest..


R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

Jhonny

Het word anderen koek, als je niet track import maar directory import hebt gebruikt.
Dan zal de query aangepast moeten worden.
R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

Ronald

Goed bezig hier  :ok:  dat hier geen simpele oplossing voor is, de kalender zou
daar normaal gesproken voor moeten dienen. Ik ga onder tussen weer testen. ;)


Jhonny

Quote from: Ronald on October 16, 2016, 03:51:26 PM
Goed bezig hier  :cool:  dat hier geen simpele oplossing voor is, de kalender zou
daar normaal gesproken voor moeten dienen. Ik ga onder tussen weer testen. ;)

Helaas niet, maar 1 maal gemaakt, werkt voor jaren  :D

En de kalender werkt alleen met track import. :(
R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

Ronald

#12
Quote from: Jhonny on October 16, 2016, 01:20:41 PM
Even vooruit lopend de sql file:

feestdagen.sql.


-- kerst'dagen.
update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=1 and month(start_date)=12 and year(start_date)=year(now())-1 and id_subcat=99;

-- Sinterklaas.
update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=15 and month(start_date)=11 and year(start_date)=year(now())-1 and id_subcat=80;

-- enz..voor aderen feest dagen.

-- update feest dagen event voorbeeld.
update events set date=date_add(start_date,interval 1 year) where dayofmonth(start_date)=1 and month(start_date)=1 and year(start_date)=year(now())+1 and type=0 and name='Feestdagen aan/uit';

-- Letop is maar een voorbeeld...


Kan het mis hebben.... :angel: :hihi:

Ben er mee bezig geweest, maar volgens mijn snap ik niet precies waar ik wat moet doen.
Heb de lijst gekopieerd en geplakt in de Run SQL Query in de DataBase Setup. Insert  en gedrukt op Run SQL Query

Gebeurt niets. Volgens mijn ben ik wat stappen vergeten. :-[

Brutale vraag, zou er een duidelijke uitleg gemaakt kunnen worden, met ook een voorbeeld waar in de script de aanpassingen moeten komen. Ben nu al een tijdje bezig, zonder enig resultaat :huh:

Jhonny

Zal het eerst testen, dan maak ik een korte uitleg.
R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

Jhonny

Heb even snel getest, en inderdaad werkt het niet.
Waarom niet, omdat wanneer je het nu gebruikt het jaar niet aangepast word gebruik je het in 2017 dan werkt het wel.

Mijn test:
2 tracks voor de kerst met track import gedaan en de start en eind datum ingesteld.

In de database voor start staat 2016-12-06 00:00:01 en eind op 2016-12-31 23:59:59

query (aangepast van dag 1 naar dag 6)
update songs set start_date=date_add(start_date,interval 1 year),end_date=date_add(end_Date,interval 1 year),enabled=1 where dayofmonth(start_date)=6 and month(start_date)=12 and year(start_date)=year(now())-1;
gerunt, niets veranderd  :angel:

In de database de start en eind veranderd naar 2015-12-06 00:00:01 en 2015-12-31 23:59:59

query gerunt, en start en eind zijn geupdate naar: start 2016-12-06 00:00:01 en eind op 2016-12-31 23:59:59  ;D

Dus het werkt. (bij mij)
R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English