apps-gnustep
[Top][All Lists]
Advanced

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

Re: MusicBox-0.2.9


From: Yen-Ju Chen
Subject: Re: MusicBox-0.2.9
Date: Wed, 09 Oct 2002 09:52:30 -0400

 Yes, I would like to do that very much.

 There is a preference bundle in musicbox/MusicBox/PrefModule/FreeDB,
 which let the user set up the freedb site they want to use.
 The interface of this preference bundle is the same as GNUMail,
 and as far as I know, GSburn use the same interface for preference.
 The only problem I can see is that all the settings in bundle
 will be save in the application's domain.
 Therefore, even we use the same bundle,
 the saved setting will be in different domain.
 If we use the service, everytime GSburn and Encod
 want to use the freedb, the MusicBox will be launched first,
 which might not be good because MusicBox is not a small application,
 or GSburn and Encod will depend on MusicBox for freedb support.
 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.

 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 ?

 The fundamental thing is that all these stuff are in a ShengGuang library,
 which is independent from MusicBox user interface.
 I don't know whether you would like to use the same library,
 or would like to use a shared bundle which I can create.
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).

 The ShengGuang library also use bundle to access external libraries.
 Therefore, even I use SDL/SDL_sound as external libraries,
 it is not hard for you to use your favor tool/libraries,
 as long as your bundle conform the protocol.
 Actually I would like to write a bundle
which use cdda2wav or cdparanoia (I will try it later) instead SDL for CD control,
 if you are interested in using ShengGuang library.

 To make a summary:
 1. All the basic freedb and CD related stuff are in ShengGuang library,
    which use bundle to access external libraries.
 2. We have to decide whether we would like to use service, bundle,
    or library to shared these function ?
 3. For the preference (freedb and volume control),
    where would you like to put it ?
    Globally in Preference.app or in each application ?

 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.
 The information of CD is in CDTrack classes of ShengGuang library.
 It is designed for SDL, but I think not too far from other libraries
 and I can change that to meet your need.
 It needs the length, offset, and frames of each track for now
 to calculate the cddb id.
 The returned information from freedb is in SongInfo classes,
 which use NSDictionary internally.
 So it can be changed easily for you.

My personal idea is that we can have a multimedia library/framework for GNUstep.
 ShengGuang library can be a start, or we can design a new one.
All the MusicBox, Encod and GSburn are based on this multimedia library/framework.
 Due to the choice of external tool/libraries,
 this library/framework should be like gnustep-back
 so that you can decide which external libraries you want to use.

 Yen-Ju


From: Andreas Heppel <address@hidden>
Reply-To: address@hidden
To: address@hidden
Subject: RE : MusicBox-0.2.9
Date: Wed, 09 Oct 2002 10:38:26 +0200

On 2002-10-09 10:20:50 +0200 "Peron, Stéphane" <address@hidden> wrote:

> Hi Yen-Ju,
>
> Another part that we have in common with MusicBox, Encod and gsburn is cddb.
>
> I see that you have sources of a separate package of this function. Would it > be possible for you to create services or a bundle from these sources in
> order we use it ?
> It would be great that we avoid the more of possible redundancies ... ;-)
>
Good suggestion. CDDB will be of some concern for me in the future and if I didn't have to reimpement it it would be fine. We only need to define an application independent interface with a high level of abstraction (no such things as passing device names or disc_struct structures or arrays of SongInfo(AudioTrack whatever). I'd prefer something like just passing the cddb id and what else is absolutely necessary to retrieve the info and passing back a dictionary with the info. I also vote for making this bundle compatible with Preferences.app. Thus, the user only needs to setup cddb _once_ and not in all three apps separately. Maybe should in the long run go for this option with paranoia/cdda2wav/whateverrippingbundle, too.

Cheers,
Andreas

--
Andreas Heppel

Mail: aheppel at web dot de
Home: http://www.andreasheppel.de
GSburn.app: http://gsburn.sourceforge.net



_______________________________________________
Apps-gnustep mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/apps-gnustep




_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com





reply via email to

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