-- PlaylistName:[% playlistname %] -- PlaylistGroups:[% playlistgroups %] -- PlaylistOption Unlimited:1 [%- IF customskipfilter %] -- PlaylistStartAction1:cli:customskip setsecondaryfilter [% customskipfilter %] -- PlaylistStopAction1:cli:customskip clearsecondaryfilter [%- END %] create temporary table sqlplaylist_random_albums (primary key (album)) select tracks.album 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 [%- 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.album [%- IF recentlyplayed %] having max(ifnull(track_statistics.lastplayed,0))<(unix_timestamp()-[% recentlyplayed %]) [%- END %] order by rand() limit 1; select tracks.url 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 %] join sqlplaylist_random_albums on tracks.album=sqlplaylist_random_albums.album [%- 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 %] [%- IF includedgenres or notrepeat %] group by tracks.id [%- END %] order by sqlplaylist_random_albums.album,tracks.tracknum; drop temporary table sqlplaylist_random_albums;