Stuart (MVPMC/MClient)
2008-05-18 v0.19
The switch to SqueezeCenter (7.0.x) from SlimServer (6.5.4) has caused some problems with the mvpmc's
mclient application. Mostly with the album cover browser. The changes in the new version of this
popular music server will make it easier to browse your music collection by the album covers. At
the same time, it makes it difficult to preserve this feature in mclient while using older versions
of the server. We will try to stableize mclient for 7.0.x (the new SqueezeCenter), 6.5.4 (last
release under the name SlimServer) and 6.3.0 (What I think Debian is still distributing). However,
I'll need some feedback with respect to how well newer versions of mclient work for you.
Major Changes:
1) Albums are asked for in a 100 x 100 size format when browsing. The smaller size make loading the images much faster and more dependable.
2) The last 100 album covers are cached locally on the mvpmc box. This makes moving around your collection using the album browser less taxing on your network and may even speed up the album cover browser user interface.
3) Album covers can now be in either JPG, PNG or GIF format. The down side to this is that the default "no album cover" image covers up useful information on the album cover browser's menu.
Below is(are) the first go around with respect to makeing mclient and the new SqueezeCenter work
together. There is, as of yet, no provisions to ensure compatibiltiy with SlimServer 6.5.4 or
6.3.0. Please try it if you already have moved to SqueezeCenter 7.0.x. If you want, you can try it
with SlimServer, but certain features like album cover browsing may not work.
...thanks
Here are the mvpmc dongles and patches containing the newer versions of mclient that I have
been working on. They are based on what was in the mvpmc repositories on AM 20080518
Older stuff... (from before 2008)
Here is my MClient work in progress...
The Browse By Cover Art is looking better.
Between feedback and testing, I have updated and corrected several
problems with a new MClient browse by album cover art feature.
A list of changes:
1) Added yet another text widget to the OSD while in browser
mode. It contains the album title, Artist name, album number and total number of albums
of the album which currently has user focus.
2) Album cover now pulled with MAC ID of client. This fixes the wrong cover art when
more then 1 slimserver client is used.
3) Album play list now working. The MAC ID was over written and caused the playlist
to not appear on the full screen display.
4) Pressing a number during browsing by album cover jumps to that percentage (i.e. 3 = 30%)
of the album list.
5) Album widgets are updated with album title as soon as this information is available. This
provide the user with a progress indication as well as album informaion as soon as possible.
6) The process to update the OSD during album browsing has been broken down into individual
activities. This makes it possible to interrupt the process and start over if the user
pressing the FFWD or REVERSE button multiple times. Before, the user would have to wait
for all the graphic to load once the graphic portion of the browser update started.
A list of changes from the last go around:
1) Now recovering the correct value for the total number of albums from
slimserver.
2) The end of album list wrap has been fixed and no longer resets MVPMC.
3) A loading message has been added to each album cover widget to
indicate the MVPMC box is busy. This is eventually over written by
either the album image or title as the process completes.
4) Fast Forward and Reverse buttons now jump the album browser to the
next and previous (respectively) 6 album covers.
5) The update to the browser bar has been moved to the front of the
browser update process. The advantage is that now the user can press
the Fast Forward button multiple times, see the browser bar advance
almost immediately and not have to wait for the album covers to load
until the user has reached the approximate location in the collection.
This allows the user to skip over 100 albums in a matter of seconds.
A list of possibilities:
1) We might cache the album indexes which have no cover art. The
information will be re-built each time the user enters MClient. So, for
each session, once the user has scanned the collection, MClient will not
try and pull images from albums with no cover art. We might try and
make this data static until the MPVMC application is booted.
...if you are in MClient and press the Menu button there is a pop up that has 2
choices: Browse by album cover and Control another client (yea, that's not done
yet.). Pressing OK will get you 6 album covers (or text if the
images are not available). The MVPMC box only handles jpg's for album covers.
Moving UP/DOWN/LEFT/RIGHT to "GREEN highlite"
one of the six albums. Or, move to
the bottom bar to get the next/last batch of albums using the RIGHT/LEFT
buttons. If you press OK while an album is hilighted, that album should
be loaded up.
As of August the above changes are now part of the main load line and
the nightly builds. You can down load the resulting dongle here:
nightly builds
Stuff that's already done...
(The FFWD, REWIND, REPLAY, SKIP, SHUFFLE and REPEAT_MODE features
have been added to the dongle and patch files found below. - 20070224)
(The progress bar, volume bar and album art talked about here
has been added to the GIT main load line. - 20070212)
(I have fixed the Slimserver URL problem and the memory leak that Martin pointed
out. - 20070125)
The dongle and patches found here implement the "hold down button" feature and the "shift button" feature
used to get more out of the mvpmc remote while in MClient. If you press and hold the >> or << buttons you
can move through the track at multiple speeds (i.e. 2x, 3x, 4x,...). Pressing OK or the > button returns
you to normal speed. The >| and |< buttons now skip forwards and backwards. However, if you press the unused
RECORD button you will momentarily be in the SHIFT mode (for about 1.5 seconds). Now pressing the >| key changes
the shuffle mode and pressing the |< key changes the replay mode. In any case, the SHIFT state will expire after
about 1.5 seconds with out any button pushes. Let me know of any problems.
The users focus works most of the time. Right now it only works for the
titles in a play list. Later on, we might try for album names as well.
There is a ticket into the Slimserver development
team to help with this problem:
http://bugs.slimdevices.com/show_bug.cgi?id=2013
...but I don't think it will be done soon.
I also added another screen capture of MClient playing back some U2 with
the album art in the lower right side of the screen.
MClient List-O-Bugs
-
Graphics are pulled in more often than needed. We need to implement a back off timer
so different events that pull in graphics near the same time will result in only one pull.
-
Graphics stay up even if we are in radio mode or if there is no graphics for the current selection. This
might also be a slimserver problem as slimserver should post a "no graphics" image.
-
Author at top of OSD is not correct.
-
VFD (40x2 size) behaves badly when exploring track information.
-
MClinet resets when playing selection while SlimServer rescans music
collection. MVPMC = GIT on 20061209 & SlimServer = 6.5.0.
-
Buffer reset does not always correctly happen leaving music in buffer
when new selection has been made. Also, beginning of selections are
occasionally repeated.
-
Two or more clients on the same server will make MClient go nuts. The
MClient code does not filter out messages to other servers and will display
information for each server in sequence.
-
Action at top of MClient screen is not always correct. If "ok" is used to
start playing a selection the action does not change to "play". This is
because the action line is keying off the stop, play & pause keys - not the
"ok" key.
MClient List-O-Things
-
Implement Read Only full screen play list.
(Submitted to load.)
-
Implement Interactive full screen play list.
Add "user focus" to full screen display along with current "player focus".
Follow "user focus" selection even if "player focus" falls off the screen.
Return to "player focus" selection after time out.
-
Implement Fast Forward and Fast Reverse. Currently these are not available
in MClient. The |< button cycles through different repeat modes. The <<
button skips to the start of the selection. The >| & >> button skips to
the end of the selection. I would like to make |< & >| skip to the ends
of the selections and << & >> the FR and FF buttons. To access the different
repeat modes and different FR and FF speeds see the next item in this lis.
-
Implement "double push" and "push and hold" actions while in MClient. Push,
release & push the |< button to access the repeat mode feature of slimserver.
Subsequent pushes before a timeout will cycle through all the different
repeat modes. Push and hold the << button to access higher then 1x FR.
Each timeout period will access the next higher speed. Releasing the button
will exit the FR mode. Apply the same features to the FF button.
-
Implement a SlimServer revision check and print out a warning if the revision
is lower than needed for normal operations. Currently that would be 6.3, but
will change to 6.5 in the near future.
-
Go after emulating slimRoku slimserver client design:
http://www.permanence.com/SlimRoku/#screenshots
-
Move small 2 line widget to upper right hand corner of screen and change it into
a text widget. Hide old 2 line widget behind OSD but still give it focus.
-
Add album cover art widget to MClient full screen display in the lower right
hand corner. Show album art slimserver offers up for current selection.
Get new album art as each new selection starts playing (Assume that
play lists have selections from different albums. Assume slimserver will
offer up different art for each track from different albums.)
-
Add SlimServer user-name and password feature. Use John's root password feature.
-
Add ability to control any SlimServer client registered at the SlimServer server we are talking to. For example, you could use MClient as the visual control interface to any SlimServer client in an office building or at home.
MVP General List-O-Things
-
Roll LIRC feature into MVPMC (PPC software). I believe this would allow the
MVPMC box to decode any number of different types of remote control protocol.
For instance, the MVPMC box could be used with you existing universal remote
control.
-
Split the Hardware Token into an Audio Hardware Token and Video Hardware Token
to allow applications which only use one to co-exist with those which use the
other.
MVP Hardware List-O-Things
-
IR Blaster (PPC software, Atmel firmware & new hardware). The MVPMC box
could configure an entire entertainment system. It could turn on the
amplifier, the TV and point the TV's video & the amplifier's audio inputs
toward the MVPMC box. It could just as easily turn everything off.
-
Power down VFD (Atmel firmware & new hardware). A VFD (Vacuum Fluorescent
Display) takes a lot more power then the MVPMC box. As such, even though the
MVPMC box isn't really ever powered down, it would be nice to be able to
turn off the VFD's power when the MVPMC box is in a "powered down" state.
-
S-Link input & output (PPC software, Atmel firmware & new hardware).
Those of you with Sony equipment are familiar with S-Link (a 2 wire serial
cable which carries remote control commands between Sony equipment).
Personally, I think it is not very good. That's probably why products like
the
slink-e (discontinued)
and
SAVR
exist. The s-link protocol isn't really a mystery. It's actually the Sony
codes with out the IR modulation. It should be easy for the MVPMC box
(w/new software, firmware & hardware) to control Sony equipment. The
s-links can be used instead of IR blasters. Further, intelligent
decisions can be made and unique commands can be sent to individual
devices.
Some images...
-
A screen shot of the most recent changes
showing MClient pulling in the
album art from Slimserver, duel focus (player's and user's focus) and Volume & Progress Bars (above and below 2 line widget respectivly).
-
A new box I picked up (really a wall shelf). I think I can get the MVPMC
card and the VFD to fit inside... If I can figure out how to cut the front
open.
Please send in your ideas and suggestions w.r.t. MClient. Here's a good place:
mvpmc-users@lists.sourceforge.net
Page Views