apps-gnustep
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]