Het zit zo, ik maak een playlist met een extern programma voor 24/24 uur per uur gevarieerde country muziek programatie maar overwegend nieuwe nummers. 1 uurtje wil ik uitsluitend oudere muziek brengen die minstens 5 jaar oud zijn en die staan allemaal in de map oudere muziek. In het programma dat mijn playlisten maakt kan ik wel uur per uur veranderen
maar ik kan dit niet zo instellen dat bijvoorbeeld 3 dagen in de week oudere muziek en de andere dagen andere muziek neemt.
Nu staat de script wel ingesteld dat het alle dagen per week om hetzelfde uur de oudere muziek draait maar het eindresultaat zou bijvoorbeeld moeten zijn dat ik op
maandag, woensdag en vrijdag oudere muziek, zaterdag en zondag linedance muziek en dinsdag en donderdag bluegrass muziek speel en dat kan bij mijn weten alleen met een script.
Als je een andere oplossing zou weten wil ik dat gerust uitproberen, ik heb meer dan 20000 mp3-tjes in mijn systeem staan allemaal per album vanaf 2007 en voor dat jaar staan ze in een map oudere muziek, ook heb ik nog mappen met de nieuwe releases die ik aankrijg en die staan per jaar en sub mappen per maand.
Ik stuur nu het script aan met een "event scheduler" zodat ik de aanpassingen kan doen op welke dag het script start.
Het uur daarna word met een script de volgende playlist opgehaald dat door het extern programma werd gemaakt (zie onderaan voor dit script)
Ik hoop dat dit een beetje begrijpbaar is. [smilie=dash2.gif] [smilie=blush2.gif]
Code: Selecteer alles
{*******************************************************************************
PAL script for putting Music 1 SE hourly playlists into the queue at 3 minutes before the hour
based on the naming scheme of Music 1 for hourly playlists
yymmdd.hh.m3u
You will need to change the constants to meet your needs.
The load time can be changed as well as clearing que or waiting for 1 song play clear queue and add.
This is a basic script . A starting Place
******************************************************************}
PAL.Loop := True;
const PlaylistPath = 'F:\Playlisten\'; // location your Music 1 playlists are saved
const Fileextension = '.m3u' ; // the playlist extension
var Present: DateTime;
var Year, Month, Day, Hour, Min, Sec, MSec,DayLength,MonthLength, HourLength : Integer;
var HoldYear,TheYear,TheMonth, TheDay, TheHour, Playlist :String;
var LessThan : Boolean;
//Present:= Now + 1; // since we are loading a few minutes before the next day we want the next days list
Present:= Now;
DecodeTime(Present, Hour, Min, Sec, MSec);
writeln ( IntToStr(Hour));
Hour := Hour + 1;
If (Hour = 24) then
Hour := 0; // set it to mid night
writeln ('Hour to get ' + IntToStr(Hour));
if (Hour = 0) Then
Present:= Now + 1;
DecodeDate(Present, Year, Month, Day);
HoldYear := IntToStr(Year);
TheYear := Copy(HoldYear,3,2); // copy the last 2 digits of the year 2007 would copy the 07
TheMonth := IntToStr(Month);
TheDay := IntToStr(Day);
TheHour := IntToStr(Hour);
MonthLength := length(TheMonth) ;
DayLength := length(TheDay);
HourLength := length(TheHour);
LessThan := MonthLength < 2;
If (LessThan) Then
TheMonth := '0'+ TheMonth; // if a single digit add 0 to front
LessThan := DayLength < 2;
If (LessThan) Then
TheDay := '0'+ TheDay; // if a single digit add 0 to front
LessThan := HourLength < 2;
If (LessThan) Then
TheHour := '0'+ TheHour; // if a single digit add 0 to front
Playlist := PlayListPath + TheYear+TheMonth+TheDay+ '.' + TheHour + Fileextension;
writeln (TheYear);
writeln (TheMonth);
writeln (TheDay);
writeln (Playlist);
PAL.WaitforTime(T['xx:59:00']); // wait for 1minute befor the hour
if(FileExists(Playlist))then
begin
Queue.Clear;
Queue.AddList(Playlist,ipTop); // add playlist to Top of the queue
WriteLn('Loaded: '+Playlist);
end
else
begin
WriteLn('PLAYLIST NOT VALID!');
WriteLn(Playlist);
end;
PAL.WaitforTime(T['xx:59:20']);