Das hier ist mein Menü für Hörbücher. Ich glaube, ich habe eines der Interpreten-Menüs geändert, "Artists by Genre" oder so.
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<custombrowse>
<menu>
<menuname>Hörbücher</menuname>
<menuorder>1</menuorder>
<menu>
<id>allalbums</id>
<menuname>Alle Bücher</menuname>
<menuorder>0</menuorder>
<menu>
<id>album</id>
<menuname>Songs</menuname>
<itemtype>album</itemtype>
<itemformat>albumconcat</itemformat>
<menutype>sql</menutype><defaultoption>byartist</defaultoption>
<menulinks>alpha</menulinks>
<option>
<id>bytitle</id>
<name>Sort by title</name>
</option>
<option>
<id>byyear</id>
<name>Sort by year</name>
<menulinks>number</menulinks>
<itemformat>albumconcat</itemformat>
<menudata>
select albums.id,if(albums.compilation,if(albums.year=0,' ',concat('(',albums.year,')')),concat(if(albums.year=0,'(',concat('(',albums.year,',')), group_concat(contributors.name,',') ,')')) from tracks,albums,contributor_track,contributors,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor=contributors.id and
tracks.id=genre_track.track
and genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech') and
albums.id=tracks.album
group by albums.id
order by albums.year desc,albums.titlesort asc,albums.disc asc
</menudata>
</option>
<option>
<id>byartist</id>
<name>Sort by artist</name>
<menulinks>number</menulinks>
<itemformat>albumconcat</itemformat>
<menudata>
select albums.id,if(albums.compilation,' ',concat('(', group_concat(contributors.name,',') ,')')) from tracks,albums,contributor_track,contributors,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor=contributors.id
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
and albums.id=tracks.album
group by albums.id
order by contributors.namesort asc,albums.year desc,albums.titlesort asc,albums.disc asc
</menudata>
</option>
<option>
<id>byadded</id>
<name>Sort by last added</name>
<menulinks>number</menulinks>
<menudata>
select albums.id,if(albums.compilation,' ',concat('(', group_concat(contributors.name, ',') ,')')) from tracks,albums,contributor_track,contributors,track_statistics,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor=contributors.id and
tracks.id=genre_track.track
and genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech') and
albums.id=tracks.album
and tracks.url=track_statistics.url
group by albums.id
order by track_statistics.added desc
</menudata>
</option>
<option>
<id>bylastplayed</id>
<name>Sort by last played</name>
<menulinks>number</menulinks>
<menudata>
select albums.id,if(albums.compilation,' ',concat('(', group_concat(contributors.name, ',') ,')')) from tracks,albums,contributor_track,contributors,track_statistics,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor=contributors.id and
tracks.id=genre_track.track
and genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech') and
albums.id=tracks.album
and tracks.url=track_statistics.url
group by albums.id
order by track_statistics.lastplayed desc
</menudata>
</option>
<option>
<id>bymostplayed</id>
<name>Sort by most played</name>
<menulinks>number</menulinks>
<menudata>
select albums.id,if(albums.compilation,' ',concat('(', group_concat(contributors.name, ',') ,')')) from tracks,albums,contributor_track,contributors,track_statistics,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor=contributors.id and
tracks.id=genre_track.track
and genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech') and
albums.id=tracks.album
and tracks.url=track_statistics.url
group by albums.id
order by sum(track_statistics.playcount) desc
</menudata>
</option>
<option>
<id>bytoprated</id>
<name>Sort by top rated</name>
<menulinks>number</menulinks>
<menudata>
select albums.id,if(albums.compilation,' ',concat('(', group_concat(contributors.name, ',') ,')')) from tracks,albums,contributor_track,contributors,track_statistics,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor=contributors.id and
tracks.id=genre_track.track
and genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech') and
albums.id=tracks.album
and tracks.url=track_statistics.url
group by albums.id
order by avg(if(track_statistics.rating=0,60,track_statistics.rating)) desc
</menudata>
</option>
<jivepattern>^(.*)\s\((.*)\)$</jivepattern>
<menudata>
select albums.id,if(albums.compilation,' ',concat('(', group_concat(contributors.name, ',') ,')')) from tracks,albums,contributor_track,contributors,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor=contributors.id and
tracks.id=genre_track.track
and genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech') and
albums.id=tracks.album
group by albums.id
order by albums.titlesort asc,albums.disc asc
</menudata>
<menu>
<id>track</id>
<itemtype>track</itemtype>
<itemformat>track</itemformat>
<playtype>all</playtype>
<menutype>sql</menutype>
<menudata>
select tracks.id,tracks.title from tracks,genre_track,genres
where
tracks.id=genre_track.track
and genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech') and
tracks.album={album}
group by tracks.id
order by tracks.disc,tracks.tracknum asc, tracks.titlesort asc
</menudata>
<menu>
<id>trackdetails</id>
<menutype>trackdetails</menutype>
<menudata>track|0</menudata>
</menu>
</menu>
</menu>
</menu>
<menu>
<id>variousartist</id>
<menuorder>1</menuorder>
<menuname>Verschiedene Interpreten</menuname>
<menutype>sql</menutype>
<menudata>
select contributors.id,contributors.name from contributors
where
contributors.name='Verschiedene Interpreten' and
{property:server:variousArtistAutoIdentification}=1
group by contributors.id
</menudata>
<menu>
<id>album</id>
<menuname>Songs</menuname>
<itemtype>album</itemtype>
<itemformat>album</itemformat>
<menutype>sql</menutype><defaultoption>bytitle</defaultoption>
<option>
<id>byyear</id>
<name>Sort by year</name>
<menulinks>number</menulinks>
<itemformat>albumconcat</itemformat>
<menudata>
select albums.id,if(albums.year=0,' ',concat('(',albums.year,')')) from tracks,albums,genre_track,genres
where
tracks.audio=1 and
tracks.album=albums.id and
albums.compilation = 1
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
group by albums.id
order by albums.year desc,albums.titlesort asc,albums.disc asc
</menudata>
</option>
<option>
<id>bytitle</id>
<name>Sort by title</name>
<menulinks>alpha</menulinks>
<keyword name="orderby" value="albums.titlesort asc,albums.disc asc"/>
</option>
<menudata>
select albums.id,albums.title from tracks,albums,genre_track,genres
where
tracks.audio=1 and
tracks.album=albums.id and
albums.compilation = 1
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
group by albums.id
order by {orderby}
</menudata>
<menu>
<id>track</id>
<itemtype>track</itemtype>
<itemformat>track</itemformat>
<playtype>all</playtype>
<menutype>sql</menutype>
<menudata>
select tracks.id,tracks.title from tracks,albums,genre_track,genres
where
tracks.audio=1 and
tracks.album={album}
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
group by tracks.id
order by tracks.disc,tracks.tracknum asc,tracks.titlesort asc
</menudata>
<menu>
<id>trackdetails</id>
<menutype>trackdetails</menutype>
<menudata>track|0</menudata>
</menu>
</menu>
</menu>
</menu>
<menu>
<id>artist</id>
<menuname>Albums</menuname>
<itemtype>artist</itemtype>
<menutype>sql</menutype>
<menulinks>alpha</menulinks>
<menudata>
select contributors.id,contributors.name,substr(contributors.namesort,1,1) from tracks,contributor_track,contributors,albums,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.contributor=contributors.id and
contributor_track.role in (1,5)
and tracks.album=albums.id and
(
albums.compilation is null or
albums.compilation=0 or
{property:server:variousArtistAutoIdentification}=0
)
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
group by contributors.id
order by contributors.namesort
</menudata>
<menu>
<id>album</id>
<menuname>Songs</menuname>
<itemtype>album</itemtype>
<itemformat>album</itemformat>
<menutype>sql</menutype><defaultoption>bytitle</defaultoption>
<option>
<id>byyear</id>
<name>Sort by year</name>
<itemformat>albumconcat</itemformat>
<menulinks>number</menulinks>
<menudata>
select albums.id,if(albums.year=0,' ',concat('(',albums.year,')')),substr(albums.titlesort,1,1) from tracks,albums,contributor_track,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor={artist}
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
and albums.id=tracks.album
group by albums.id
order by albums.year desc,albums.titlesort asc
</menudata>
</option>
<option>
<id>bytitle</id>
<name>Sort by title</name>
<menulinks>alpha</menulinks>
<keyword name="orderby" value="albums.titlesort asc"/>
</option>
<jivepattern>^(.*)\s\((.*)\)$</jivepattern>
<menudata>
select albums.id,albums.title,substr(albums.titlesort,1,1) from tracks,albums,contributor_track,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor={artist}
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
and albums.id=tracks.album
group by albums.id
order by {orderby}
</menudata>
<menu>
<id>track</id>
<itemtype>track</itemtype>
<itemformat>track</itemformat>
<playtype>all</playtype>
<menutype>sql</menutype>
<menudata>
select tracks.id,tracks.title from tracks,contributor_track,genre_track,genres
where
tracks.id=contributor_track.track and
contributor_track.role in (1,5) and
contributor_track.contributor={artist}
and tracks.id=genre_track.track and
genre_track.genre=genres.id and
genres.name in ('Books & Spoken','Hörbuch','Hörbuch & Gesprochene Inhalte','Speech')
and tracks.album={album}
group by tracks.id
order by tracks.disc,tracks.tracknum asc, tracks.titlesort asc
</menudata>
<menu>
<id>trackdetails</id>
<menutype>trackdetails</menutype>
<menudata>track|0</menudata>
</menu>
</menu>
</menu>
</menu>
</menu>
</custombrowse>