[mythtv] Ideas for MythMusic rewrite

paul10 at planar.id.au paul10 at planar.id.au
Mon Jan 11 09:17:10 UTC 2010


This is very ambitious, and I'm excited.  I've thought a lot about
mythmusic over the last couple of years, and done a couple of patches. 
The
problem is that it is ugly, but it actually works quite well.  What would
be nice is most of the functionality we have today, but much sexier. 
Unfortunately, with the further constraint you need to drive it with a
remote, and view it on a TV (i.e. not in 8 point font) that is quite
tricky.

My thoughts:
1.  I have an HDTV, I could probably get more info on the screen.  I'd
like the ability for a themer to pick a smaller font, and to get much more
data onto the screen - perhaps two lists (for DJ mode), perhaps a deeper
tree, whatever.  A themer with a big font could choose to leave some of
the
elements off the screen.

2.  I really like the idea of DJ mode.  The use case here I'd like is that
I create playlists on the fly - I need one for a party (or dinner party
now
I'm old), or for me to listen to.  I have an existing playlist called "all
my music", I put that on random and then surf through it picking songs
that
I'd like in my new playlist.  This is similar to what people are asking
for
in DJ mode.

Taking this further, what I'd like is the ability to be in any of the
views, in any of trees or lists, whether that music is currently playing
or
not, and go to a song and push something to add it to the current
playlist.
The existing "smart playlists" and search functionality both have most of
this, you can search for tracks then say "add to current playlist",
"replace playlist", "add next" etc.  I'm thinking here about generalising
this, so you can basically do it from anywhere.

My thought to make this easiest is that we always add to the active
playlist, similar to the way that the playlist editor already works.  So
you'd start with an empty active playlist, add a bunch of songs, then save
it with a name.  I guess to edit a playlist you'd copy to active playlist,
edit, then save back.

Extending this further, you could have it add to the currently playing
playlist instead, but the problem is you might want to listen to songs and
then add them (I often can't remember which song I want, so I listen to a
few bars, then add it).  Once you start listening to a song, you're no
longer in the current playlist, so that would break that idea.  And I
doubt
we want lots of options in the menu.  I'd personally be happy with just
'add to active playlist', but it feels a bit more incremental than what
you're targeting - the whole copy to active playlist, edit, copy back
thing
is OK for computer geeks (like me) but not so good on the WAF.

3.  I really like the current music tree setup - the ability to see my
playlists, and also all my music and drill down is really good,
particularly when working with a remote.  Don't go back to a single long
list - that's hard work.  I'd like to see this kept.

4.  I'd like to add to the music tree an album view.  The current tree
works well for single artist albums, but not for compilation albums. 
Example here is that my better half bought Grease (yes, the original).  I
ripped it, but I can't find the songs on it without going and finding the
cover, then working out which songs, then going to find them by artist. 
Problem is that lots of albums are called "Greatest Hits" - so that album
has lots of songs by all sorts of artists :-).  My suggestion is two music
trees - one is artist then album, the other is album then artist.  In the
album tree, if you went to "Greatest Hits" then you'd see "Queen", "Billie
Joel" etc etc.  (don't snigger you down the back - you know you have those
albums)

The justification for an album view is albums with multiple artists - with
the current setup there is only one way to see those - which is to add all
your music to a single playlist, then sort by album.

5.  The sorts.  I like them, and I guess no reason to remove them.  But I
have no idea what "smart" does.  I guess it is too smart for me.  And
someone once pointed out that what I saw as "sort by album" (and actually
patched to do exactly that) they had been using for "randomise by album -
put my albums in random order."  I suspect these two are actually
different
functions - I wonder if there should be a difference between shuffle modes
and sort modes?  They're kind of the same, but kind of not.  If we get the
trees right, then we'd no longer need sort, but still need shuffle.....

6.  I'd like the play count to update without listening to the whole
track.  I'm not sure if it's just me, but I have this weird thing where I
don't listen quite to the end - I skip with about a minute left, because
the end of many songs is a bit monotonous.  Unfortunately, this doesn't
count as playing it, so these tracks don't turn up in my favourite
tracks/smart playlists.  I'd love to be able to count > x as a play (e.g.
>
1 min, where that is configurable).  Don't tell me that some of you don't
play the first 1 min of "hooked on a feeling", then move on to the next
track....

7.  I think there is cool functionality that could be added with smart
playlists, with song recommendations etc etc.  But I reckon that is V2
product.  To get mythmusic well underway, I'd focus on the basics - list
and search the music, build playlists from the music, play the music. 
Leave enough database fields for the core data (how many times played,
ratings etc etc), but I wouldn't focus on that too early.

8.  I'd provide two basic layouts (ideally that can be themed so that
themers can create many screens as they wish) - one is a single tree view,
which is used to just play music.  The other is the famous "DJ mode" -
which has a music tree to the left (or right), and a currently playing
playlist.  You can then leave party goers free to add music to the
currently playing list, and move songs up and down in the currently
playing
(did I ask for that?).  The organising thought here is "can I let a newbie
do this?"  I haven't even tried suggesting my friends press 3 to get to
playlist editor, copy the playlist to the active play queue, tick some
songs from the tree, then copy back to playlist tree, then escape to get
back to the now playing list........but I'd love it if we had something
(probably two lists side by side) that I genuinely could say to someone
"there's the remote, go crazy, add what you like"

9.  The random bug fix request - flac files won't fast forward or rewind. 
I know, it's an upstream ffmpeg bug.  But I ripped all my music to flag,
so
I'm just saying.....

10.  I think your underlying question is what widgets we should have in
the UI - presumably the intent is to get the UI stable so themers can have
a go at it, we can add cool backend functions later.  Elements that I
think
should be available on the main UI are:
  - music tree - and a way to navigate it, plus add something from it to
the current playlist
  - currently playing playlist, some way to make this stick even when you
play a song directly from the tree, some way to move songs up and down in
it
  - details of the currently selected song (ID3 tag type info).  So with a
high resolution theme you can put on more data, low resolution less
  - album art - could we do like mythvideo and lay it into the background?
  - could we provide a widget that shows this track, previous track, next
track as separate pictures?  I'm imagining a layout that "flips" through
album covers or track covers kind of like the alt-tab does in compiz -
that
could be really sexy.  

Elements on some other UI might be:
  - a gallery view - something that shows all my albums (cover art) kind
of like mythvideo now does - so I can browse through them by cover
  - some way to sort/order that by genre, artist, decade etc etc.  I saw a
media player once that did this with DVDs - it did a cool thing where all
the covers flew around the screen, but can't remember what it was
  - a way to put videos in here too?  I have some music videos, I
currently have to play through mythvideo, which doesn't do playlists etc. 
It'd be cool to combine the two...but that would probably be really hard

Anyway, a bit of a ramble, but you did ask, and I am so very excited about
this update.  The better half mostly watches TV, but almost all I use myth
for is the music, and it's good, but it's not great.  I'd love to have
great.  If there are things I can do to help, I'm happy to do so.  I can
code, I've done some updates to mythmusic before, but I code for a living
and I know how crappy it is having too many coders.  Happy to review
things, to test things, or do anything else that I can help with.

Paul


More information about the mythtv-dev mailing list