On Thu, Jul 19, 2012 at 7:42 PM, Matthew Mikolay <mikol...@yahoo.com> wrote:
> >It does sound like this way of solving the problem is more nicely
> >generic than the member boolean or CO methods.
>
> I agree. I've been playing around with this design, and here's what I've
> come up with so far.
>
> First, I've modified EngineChannel to be a subclass of AudioSource, as RJ
> recommended.
>
> Because EngineMaster does all the processing on channels and sets up their
> buffers, I needed to give each EngineChannel access to its corresponding
> buffer after it was created by EngineMaster. This is necessary if we want
> to route the EngineChannels directly to the corresponding devices in
> SoundManager. Therefore, I've modified EngineChannel to include CSAMPLE*
> m_pASBuffer and a setASBuffer(CSAMPLE*) function. I've also modified the
> ::buffer(AudioOutput output) function inherited from AudioSource to return
> this buffer pointer. In EngineMaster, when a new channel is inserted, I set
> the EngineChannel to point to the channel buffer created by EngineMaster.
> Finally, in mixxx.cpp, I've registered the AudioOutputs with the
> EngineDecks as a test, and everything seems to be working smoothly.
>
Sounds good! In the future we may rethink who owns the buffer (i.e.
EngineChannel could just create / manage its own buffer and EngineMaster
could request it to get rid of the need to setASBuffer, etc. So now you
should just be able to enable compression if you get callbacks from the
AudioSource interface about the EngineChannel being connected to an output.
>
> I hope that wasn't too confusing. It's a bit much to take in. As always, I
> welcome everyone's opinions/comments/suggestions!
>
> mattmik
>
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel