• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Logic not responding to Audio Engine Changes?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Logic not responding to Audio Engine Changes?


  • Subject: Re: Logic not responding to Audio Engine Changes?
  • From: Jeff Moore <email@hidden>
  • Date: Mon, 28 Aug 2006 09:48:06 -0700


On Aug 24, 2006, at 11:13 PM, BlazeAudio Developer wrote:

By default, the driver creates 2 Input Audio Streams and 2 Output Audio Streams. Each has 8 channels.

All streams are: Linear PCM, 32bit(wide and deep), signed int, big- endian, mixable.

When Logic starts, it effectively shows 16 channels for input and 16 for output.

Due to one of the changes, we remove all the streams, and again create 4 streams - 2 input, 2 output. But this time, the channel count is as follows:

Input 1: 8 channels
Input 2: 4 channels

Output 1: 8 channels
Output 2: 4 channels

When this happens, if HALLab is running in the background, it correctly detects this, and displays the updated streams (including proper channel counts, and new stream IDs).

However, Logic continues to show 16 channels for input and 16 for output (on PPC - this has been tested on both G4 and G5 machines, I can provide more specs if you think that would help!).

Logic does not necessarily view losing channels as catastrophic. I believe that it just handles it by pretending they still exist on the understanding that they might come back in the future. Perhaps one of the Logic folks on the list can comment on this.


Not only that, we still get clipOutputSamples and convertInputSamples calls in our driver with the old Stream objects!!!

This is the problem I'm interested in and was what I wanted to know how you were detecting this and more importantly, does it stop eventually and start getting called with the proper formatted data?


One thing you should keep in mind is that the communication between your driver and the apps out in user-space is asynchronous. That is to say, your driver can make it's changes, but the apps aren't going to know about the changes immediately. In fact, it is quite common for performClientIO to be called while you are in the middle of making the changes. As such, there will be a few of these that will use the wrong format. The right thing to do is to either handle this situation and preserve as much of the data as you can or you can simply return an error.

--

Jeff Moore
Core Audio
Apple


_______________________________________________ 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
  • Follow-Ups:
    • Re: Logic not responding to Audio Engine Changes?
      • From: BlazeAudio Developer <email@hidden>
References: 
 >Re: Microsoft ADPCM encoding (From: Matt Connolly <email@hidden>)
 >Logic not responding to Audio Engine Changes? (From: BlazeAudio Developer <email@hidden>)
 >Re: Logic not responding to Audio Engine Changes? (From: Jeff Moore <email@hidden>)
 >Re: Logic not responding to Audio Engine Changes? (From: BlazeAudio Developer <email@hidden>)

  • Prev by Date: Format Converter problem
  • Next by Date: Re: How to release memory allocated for MIDISendSysex ??
  • Previous by thread: Re: Logic not responding to Audio Engine Changes?
  • Next by thread: Re: Logic not responding to Audio Engine Changes?
  • Index(es):
    • Date
    • Thread