On Sat, 2002-04-13 at 16:01, Ed Sweetman wrote:
> I'm going to start working on bringing alsaplayer's way of doing volume
> control and balance into freeamp. It's completely self contained within
> the player instead of screwing with the hardware volume mixers. This
> should eliminate any need for freeamp to mess with mixers of any type
> outside of itself. It'll also allow freeamp to coexist with other pcm
> playing players. Good stuff it will be.
>
> Hopefully i wont need to touch any OS specific code to do it because
> then it would only be linux getting the changes. Too much of a hassle
> to set up a cygwin compile environment for a project like freeamp.
looks like it's going to be frontend specific since i dont think the
core player has any handles for volume/balance.
I guess i could add handles for volume/balance somewhere in the base
player, then have the gtk frontend set and alter that and individual
output plugins can query that volume / balance setting when doing the
volume effect. It'll require a little rewrite of all the output plugins
and UI's that allow manipulation of the volume or balance. But that's
the best way I think to do it.
It would be nice to see freeamp's playing in this fashion
encoded file -> input plugin -> decoder -> output proxy -> output plugin
the output proxy can do all the "effects" needed universally no matter
what output plugin you're using and more can be added without changing
or altering the output plugins at all. All they would need to do is
pipe audio to the pcm device. I think this would also fix some of the
difficulty with maintaining up to date versions of output plugins like
alsa since the mixer api seems to like to change a bit too often in .9x
the output proxy could then just be a class that gets called by the
decoder "output_pcm" or whatever the decoder uses to send off it's data
and functions can be simply added to the class without screwing with
other parts of freeamp.
perhaps would be more real to say freeamp would look like this
decoders
|
encoded data -> input plugin -> output proxy -> output plugin
|
effects
In fact i need freeamp to have some place that I can attach to and work
with the data before getting translated to a specific output plugin.
Anyone interested in helping with that would be nice. I have finals
coming up so this could take a while. Would be nice to have software
mixing ready before the next release of freeamp.
_______________________________________________
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev