Re: Quick question on configuring an AU for a certain channel config
Re: Quick question on configuring an AU for a certain channel config
- Subject: Re: Quick question on configuring an AU for a certain channel config
- From: "tahome izwah" <email@hidden>
- Date: Thu, 20 Dec 2007 14:07:48 +0100
Bill and Bernd, thank you! It looks indeed like a bug in Logic 8 to me.
Bernd, I tried something similar to what you are suggesting, like
comparing the pointer to the audio data in the ABLs that I get from
the side chain and the main input (ie sideChainAbl->mBuffer[0].mData
!= inputAbl->mBuffer[0].mData). They appear to be different so there's
no telling if the sidechain is connected or not. I did not use
GetChannelData(), however, I might give this a try, even though I'm
not sure what difference it would make (it should point to the same
data, right?).
I am curious - how do you know the two pointers have to be the same in
Logic if the sidechain is not connected? Ie. what is the logic behind
this - is this just something you discovered empirically or is this
documented somewhere? Is it guaranteed to work? I mean, Logic could as
well use some pre-set buffer containing silence for an unconnected
sidechain, couldn't it?
Thanks again,
--th
2007/12/20, Bernd Burhoff <email@hidden>:
> Hi,
>
> I found out the same in Logic 8 : HasInput() is always TRUE, even if there
> is no connection selected for the SideChain.
>
> To find out if there is a connection to the SideChain or not, you can
> compare the pointers to the audio data.
> If both pointers are equal than there is no connection.
>
> I use it like this:
>
>
> if ( theInput->GetChannelData(0) ==
> theSidechainInput->GetChannelData(0) )
> // there is no sidechain connected
> else
> // sidechain is connected
>
>
>
> Perhaps this might help you.
>
> Bernd
>
>
>
> Am 20.12.2007 um 02:21 schrieb William Stewart:
>
>
> On Dec 19, 2007, at 1:15 PM, William Stewart wrote:
>
>
>
> On Dec 19, 2007, at 5:04 AM, tahome izwah wrote:
>
>
> Thanks to Bill and Sophia I got the sidechain working. I am left with
> one minor thing that I can't seem to figure out:
>
> When I set up my plug in in Logic and choose an audio track as
> sidechain everything works as expected. However, Logic always reports
> that the sidechain is available, no matter if there's actually an
> audio track routed to it or not...
>
> So how am I supposed to figure out if the plug in should actually
> *use* the sidechain or not? HasInput() and GetInput() are always valid
> and I am getting ABLs through the sidechain when I pull the input, so
> I guess there must be another way to determine if I am getting actual
> audio track data through the sidechain or not...
>
> That sounds like a bug in Logic? If your AU's input is not connected or in
> use, then the HasInput returns true:
>
> I mean false! (if there is no connected input) :)
>
>
>
>
> (You can see this from AUBase):
> bool HasInput( AudioUnitElement inElement) {
> AUInputElement *in = static_cast<AUInputElement
> *>(Inputs().GetElement(inElement));
> return in != NULL && in->IsActive();
> }
>
> You could try this in AULab 2.0 (in Leopard) - it allows you to connect
> audio inputs as side chains and will only connect you when you explicitly do
> this.
>
>
>
>
>
> I don't want to process data when all I'm getting is silence because
> there's nothing routed to the sidechain.
>
> sure - you shouldn't be connected in this case.
>
> Bill
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
> _______________________________________________
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden