Rockbox mail archiveSubject: Re: Multi-display (lcd remote) design discussion
Re: Multi-display (lcd remote) design discussion
From: Magnus Holmgren <lear_at_algonet.se>
Date: Mon, 8 Aug 2005 14:14:46 +0200 (MEST)
On Sun, 7 Aug 2005, Jonas H. wrote:
> The issue is, Rockbox is now running on a device with 2 displays - one
> on the unit, and one on the remote. Right now, the remote LCD is only
> used by plugins. As far as I understand it, there are 3 "things" that
> need to be adapted to this:
> - WPS
> - Menu
> - Browser
Playlist viewer too...
> If I understood right, one of the ideas Jens Arnold had for this was to
> split up the display-handling in two threads and have them each respond
> to keypresses individually. This way they could *potentially* work
> seperate of eachother, where the remote only reacts to keypresses from
> the remote, and the main display only reacts to keypresses from the
> unit itself. If you wanted to keep them synced, simply feed both threads
> all keypresses.
> A perhaps simpler approach would be to just split out the Browser and
> menu drawing in a seperate function that takes the items to display,
> currently selected item and height in lines and draws on either display.
Yes, this summarizes the two approaches I've seen discussed on IRC, though
one could argue that the second approach is a pre-requisite for the first
one (so as not to need two separate browser implementations).
> For the WPS, it should of course allow different configuration for each
> display and update both if displayed.
Yes, that would make sense.
> Now.. however all this will work, I have no idea, but I hope someone
> with the actual abilities will pick it up from here and start some
> discussion on implementation details, which seems to be the main issue
> as far as I understand it - that noone is really sure how it should be
The way I see it, regardless if the remote should be independent from or a
mirror of the main display, the browser logic and rendering should be
separated, e.g., by writing a list widget, that could render a list of
items (menu, file list, playlist, ...) and handle things as position on
screen, selected item, etc. It should also be re-entrant and able to
render on either the main display or the remote.
Once a list widget is written, it should be fairly easy to make the remote
mirror the main display (for most stuff except the WPS), and it would be a
good start for an "independant" remote, if that is desired.
-- Magnus Holmgren _______________________________________________ http://cool.haxx.se/mailman/listinfo/rockboxReceived on 2005-08-08