-- PlaylistName:[% playlistname %] -- PlaylistGroups:[% playlistgroups %] -- PlaylistOption Unlimited:1 [%- IF customskipfilter %] -- PlaylistStartAction1:cli:customskip setsecondaryfilter [% customskipfilter %] -- PlaylistStopAction1:cli:customskip clearsecondaryfilter [%- END %] create temporary table sqlplaylist_random_years (primary key (year)) select tracks.year from tracks [%- IF library or activelibrary %] join multilibrary_track on tracks.id=multilibrary_track.track and multilibrary_track.library=[% IF activelibrary %]'PlaylistActiveLibrary'[% ELSE %][% library %][% END %] [%- END %] [%- IF includedgenres %] join genre_track on tracks.id=genre_track.track join genres on genre_track.genre=genres.id [%- END %] [%- IF notrepeat %] left join dynamicplaylist_history on tracks.id=dynamicplaylist_history.id [%- END %] [%- IF recentlyplayed %] left join track_statistics on tracks.url=track_statistics.url [%- END %] where audio=1 and tracks.year is not null and tracks.year!=0 [%- IF notrepeat %] and dynamicplaylist_history.id is null [%- END %] [%- IF includedgenres %] and genres.name in ([% includedgenres %]) [%- END %] [%- IF excludedgenres %] and not exists (select * from tracks t2,genre_track,genres where t2.id=tracks.id and tracks.id=genre_track.track and genre_track.genre=genres.id and genres.name in ([% excludedgenres %])) [%- END %] group by tracks.year [%- IF recentlyplayed %] having max(ifnull(track_statistics.lastplayed,0))<(unix_timestamp()-[% recentlyplayed %]) [%- END %] order by rand() limit 1; select tracks.url from tracks join sqlplaylist_random_years on tracks.year=sqlplaylist_random_years.year [%- IF library or activelibrary %] join multilibrary_track on tracks.id=multilibrary_track.track and multilibrary_track.library=[% IF activelibrary %]'PlaylistActiveLibrary'[% ELSE %][% library %][% END %] [%- END %] [%- IF includedgenres %] join genre_track on tracks.id=genre_track.track join genres on genre_track.genre=genres.id [%- END %] [%- IF notrepeat %] left join dynamicplaylist_history on tracks.id=dynamicplaylist_history.id [%- END %] where audio=1 [%- IF notrepeat %] and dynamicplaylist_history.id is null [%- END %] [%- IF includedgenres %] and genres.name in ([% includedgenres %]) [%- END %] [%- IF excludedgenres %] and not exists (select * from tracks t2,genre_track,genres where t2.id=tracks.id and tracks.id=genre_track.track and genre_track.genre=genres.id and genres.name in ([% excludedgenres %])) [%- END %] group by tracks.id order by sqlplaylist_random_years.year,rand() [% IF nooftracks %]limit [% nooftracks %][% END %]; drop temporary table sqlplaylist_random_years;