[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MusicBox-0.2.9
From: |
Andreas Heppel |
Subject: |
Re: MusicBox-0.2.9 |
Date: |
Wed, 09 Oct 2002 17:45:53 +0200 |
On 2002-10-09 09:52:30 -0400 Yen-Ju Chen <address@hidden> wrote:
> So my suggestion is put this preference into Preference.app
> as the global setting for all the GNUstep application.
> But I don't know whether freedb should be in Preference.app.
> And even the freedb preference is in Preference.app,
> we still need a place for freedb classes.
That's exactly what I am saying. Put the preferences page into Preferences.app.
The bundle then would be split into two parts Cddb.prefs and Cddb.bundle. The
one for the settings and the other for the actual work.
>
> I have also a volume control (mixer), which can be shared by
> all the sound applications to control the sound volume.
> But again, I don't know it should be an independent application offering
> service,
> or a preference bundle in Preference.app ?
> What does the volume control do in *step ?
Well, the mixer itself will probably be an application. I don't see what else
it should be. Bundles or services don't make sense to me in this case. It could
have a prefs bundle for use with Preferences.app, but I don't know what it
would be good for, since the mixer will be a stand-alone app. What I could
imagine, though, was to make mixer as a whole a part of Preferences.app, thus
regarding the mixer as tool to set sound preferences. How about that?
> But as I said above, bundles can only save setting under application's domain.
> Therefore, even we use the same bundle,
> MusicBox can't read the setting of Encod or GSburn. (I may be wrong).
That's not true. A bundle can e.g. save into NSGlobalDomain. That's how the
keyboard prefs bundle works.
> Actually I would like to write a bundle
> which use cdda2wav or cdparanoia (I will try it later) instead SDL for CD
> control,
Does this make sense? cdda2wav and *paranois are rippers in the first place and
not cd playing libs.
> 2. We have to decide whether we would like to use service, bundle,
> or library to shared these function ?
That depends on the single functions. You must keep in mind, that services
always need some data on the pasteboard. Thus, if you can think of the user
putting some data there and then call an operation on this data it may be a
service. If you can't put anything meaningful on the pasteboard you can't use
services. Then you will use a bundle offering this function. Finally, bundles
and libraries are the same, imho.
> 3. For the preference (freedb and volume control),
> where would you like to put it ?
> Globally in Preference.app or in each application ?
See my statement above.
>
> The final thing is that I would like to offer a high-level method
> in freedb support.
> Right now, instead of give it the cddb id,
> you can simply give it the information of CD.
> It will calculate the cddb id itself locally or through freedb site.
That makes sense. Otherwise each app will have to calculate the id itself :-(
Let's have a bundle for freedb/cddb with a general interface like using
dictionaries.
In any case I think we should _not_ hurry, but carefully think about things.
IMHO, it is ok, if the three apps run in parallel for a while and come together
only step by step. I'd prefer to get on with the ripper bundle/prefs first
(Stéphane?) and then start with cddb/freedb support as prefs/bundle. If I got
it right you won't be available for a while, Yen-Ju? If you are you might in
parallel start to think over cddb (if you like this means :-).
In any case I would not start to build things on other libs than SDL, paranoia
or whatelse _while_ re-engineering the bundles and/or services. Take what we
have so far and first re-build interfaces and then the way it operates
internally.
Cheers,
Andreas
--
Andreas Heppel
Mail: aheppel at web dot de
Home: http://www.andreasheppel.de
GSburn.app: http://gsburn.sourceforge.net