Re: CallHostTransportState doesn't return to stopped state
Re: CallHostTransportState doesn't return to stopped state
- Subject: Re: CallHostTransportState doesn't return to stopped state
- From: Eric Eizenman <email@hidden>
- Date: Fri, 24 Aug 2007 11:49:16 -0700
What you've described is actually a common problem in the AU world.
Once an AU is initialized, it's expected to be armed for process
until it's uninitialized. Some hosts that don't call your render
function constantly (like Logic) would make your meters look frozen
because they would stick to the last value calculated. The reason is
that hosts call AudioUnitReset only when they about to start
streaming audio not when they stop.
I guess calling AudioUnitReset when stopping the audio stream is
problematic with certain AUs, like those with tail, but for most AUs
it's a real problem.
We had filed a bug, asking for something like VSTs Suspen/Resume, but
it was dismissed as invalid.
------------------------------------------------------------------
Eric Eizenman
BIAS Inc., Audio Software Development
------------------------------------------------------------------
On Aug 24, 2007, at 6:01 AM, Paul Tapper wrote:
Thanks for your replies.
To clarify, my problem is that I have a level meter on my plug's
UI, which I want to return to zero when the transport is stopped
(as you'd expect).
This works fine for me in Ableton Live 6 (as they pump some small
zero blocks through the plug's ProcessBufferLists when the
transport is stopped).
However, in Logic Express 7, I'm finding that it doesn't pump
ProcessBufferLists when stopped, so I was going to pump it myself,
but I don't seem to have a good way of checking whether the
transport is stopped as CallHostTransportState isn't working for me.
I could, of course, put a check for ProcessBufferLists not having
been called for a while (0.5 secs or something) and start pumping
then, but that would be bad if there was just a delay in the audio
processing during a play (maybe in a big project) as it would
introduce audio glitches.
Any suggestions very welcome.
Paul
Date: Wed, 22 Aug 2007 16:36:14 -0700
From: Eric Eizenman <email@hidden>
Subject: Re: CallHostTransportState doesn't return to stopped state
To: coreaudio-api list <email@hidden>
Message-ID: <email@hidden>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Paul, It sounds like you're looking for the wrong indication. Knowing
whether the transport is not playing wouldn't suggest that your
render call is not being invoked. Is that what you were saying Bill ?
------------------------------------------------------------------
Eric Eizenman
BIAS Inc., Audio Software Development
------------------------------------------------------------------
On Aug 22, 2007, at 3:04 PM, William Stewart wrote:
is playing should be set to false when the transport is not
moving. that is how you can distinguish between an AU that is
being called regardless of whether the host is playing its time
line or not..
Sounds like a bug in Logic?
Bill
On 21/08/2007, at 3:33 PM, Paul Tapper wrote:
Hi,
I'm trying to check whether my AudioUnit is having audio played
through it or not by calling CallHostTransportState and checking
the isPlaying that it returns.
When I test in Logic Express 7, the plug starts off by reporting
that the audio is stopped (isPlaying is false), and then when I
play audio it reports isPlaying as true, which is fine. The
problem comes when I press stop, and the audio stops playing,
the plug still gets isPlaying true - I would have thought it
should return to false. Am I just using it wrong?
I also find that currentSample just keeps returning 0.0 whether
the audio is stopped or playing.
I'm obviously doing something wrong. Please can someone help.
Or maybe this is the recommended way of testing for whether the
audio is playing?
Thanks
Paul
_________________________________________________________________
Get Pimped! FREE emoticon packs from Windows Live - http://
www.pimpmylive.co.uk
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
inc.com
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