Ready. Steady. Amarok 2.0 development begins!!
Jeff Mitchell
kde-dev at emailgoeshere.com
Fri Feb 2 05:48:33 UTC 2007
Quoting Alexandre Oliveira <aleprjlists at gmail.com>:
> On 2/2/07, Seb Ruiz <me at sebruiz.net> wrote:
>> * Engines to be external processes due to licensing?
>
> Or maybe just use phonon?
If Phonon looks like it's going to be good for our purposes but we
don't want to lose support for engines we already have we could work
on porting our engines to Phonon. That way people used to xine
dependencies, helix, etc. will find similar options in Phonon.
Obviously this comes much later but it as devs of one of the more
preeminent audio apps on KDE it may come to us to do it...
>> * MVC designed browsers/components?
>
> I'll be so happy when the time to refactor comes...
Sorry...MVC? All I can think of is Microsoft Visual C++. Which I
know it's not. Model/View comes to mind from past things I've heard
but I don't really have a grasp on what that's all about.
>> * Interface redesign. We had a couple of suggestions already, but are
>> we ready to take such a huge leap? Conversely, Amarok has always been
>> at the front of the pack because we do take risks.
>
> Everybody has its share of suggestions regarding this. I'd like to see
> some testing with a playlist without columns. Maybe with the user
> setting the look of it in a similar way to how we set OSD now. Maybe
> having other playlists inside of the playlist, and having them show
> they're subplaylists. Maybe having grouping for contiguous tracks by
> the same artists/albums.
This could perhaps fit into the Firefox way of thinking? Perhaps the
interface itself could be defined by APIs. Think Winamp skins. Some
people may love playlists without columns; others may want no such
thing but may want support for multiple playlists open via tabs; etc.
etc.
> More complete plugin API (not just scripting). Think Firefox extensions.
I'm all for this. I think we need to have a very good and very
generic set of high-level APIs, and we need to ensure that they're
flexible for whatever may come. Think of how the MediaBrowser had to
be tweaked to hell once we wanted to support things other than just
iPods, and had to handle capabilities that some devices may or may not
have. Adding this support to devices, because of inheritance, etc.
meant that most devices ended up with lots of useless variables and
functions defined. Muy confusing.
To this end I think that our APIs need to allow for clients to define
new capabilities on the fly -- almost like Bluetooth with service
discovery. For instance, some media device could come in and tell our
manager that it supports PodcastSyncing. Our manager shouldn't have
to know ahead of time what PodcastSyncing is or what it requires; it
should just know what capabilities each device supports. Then other
plugins or Amarok itself could query the manager, and if a device
supports PodcastSyncing, then the plugin can make calls on the device.
In essence, I think we should try to decentralize defining all
possible capabilities in Amarok itself, like was done in 1.x (scripts
were just DCOP calls, for instance), and let plugins do it dynamically.
*HOW* this is all done, well... :-)
--Jeff
More information about the Amarok
mailing list