Hm, I just took a look at SoundManager again and it looks like it doesn't
currently send onOutputConnected/Disconnected callbacks to AudioSource's so
you may have to add that to get the callbacks necessary to automatically
turn on/off the compressor.

RJ

On Thu, Jul 19, 2012 at 7:54 PM, RJ Ryan <[email protected]> wrote:

>
>
> On Thu, Jul 19, 2012 at 7:42 PM, Matthew Mikolay <[email protected]>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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to