[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ayatana] No "application bucket" needed



On Thu, May 20, 2010 at 1:31 AM, Mark Shuttleworth <mark@xxxxxxxxxx> wrote:
> On 19/05/10 16:30, Sense Hofstede wrote:
>> Is Rhythmbox able to restore its previous state upon launch, or is
>> there a mechanism in place to allow third-party applications to load a
>> certain 'state', or selection?
>> That could cost some development to implement if it's not already
>> there and I think it would be best to start with that early in the
>> cycle so it can be tested properly and any unforeseen troubles won't
>> make Rhythmbox miss the freezes.
>>
>
> True - can you check with Conor to see what the state of that is? The
> spec is out there now, and Conor is working on it. I'm guessing he'd
> appreciate help!

Rhythmbox currently doesn't remember much of its state. It always
starts up with the library source selected, no search text entered, no
genres/artists/albums selected, and not playing anything. The only
pieces of playback state it does remember are the contents of the play
queue, the play order settings (repeat/shuffle), and the playback
volume (via pulseaudio). There is only limited capability for external
applications to provide state storage.

This is something I've been meaning to work on for a long time, but
it'd be quite a lot of work to cover all the cases more complicated
than 'user was playing the nth song from playlist x'. For example, if
shuffle is enabled, do we store the playback history so hitting
'previous' will work as expected? If we were playing from an audio CD,
what do we do if the CD isn't in the drive any more, or a different CD
is in there? There's also the matter of background tasks, as others
have already mentioned.

Implementing this properly would be a complex task that would involve
changes throughout the code base. I'm not going to claim it'd be
impossible to write a plugin to do it, but I think the result would be
unpleasantly fragile. I'll try to investigate further to see how
feasible this really is.

-jonathan