• 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: Still stuck with no sound in Live...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Still stuck with no sound in Live...


  • Subject: Re: Still stuck with no sound in Live...
  • From: Eric Gorouben <email@hidden>
  • Date: Sat, 13 Dec 2008 16:19:52 +0100

Hi there,

I answer myself, finding an old post from John Allsup also replying to himself...
This works perfectly!

Eric

Date: Thu, 27 Jul 2006 23:27:58 +0100

I sent a post to this list about this a few days ago. I'll answer my own post.

The situation is that a simple synth built with AUInstrumentBase and friends fails to work properly under Ableton Live. (For example, the SinSynth example that comes in the CoreAudio SDK doesn't work under Live.)

The reason why is this:


Live calls ValidFormat with scope 0 (global) and element 0.
Most probably it should call in output scope, but it does not do this.
The SupportedNumChannels(NULL) call returns 0 since this property is not
supported in SinSynth. MusicDeviceBase::ValidFormat says that the format is fine
and then we get to the following bit of code in AUInstrumentBase.

AUIOElement *el = GetIOElement (inScope, inElement);
return (el->GetStreamFormat().NumberChannels() == inNewFormat.NumberChannels());

This is where the problem happens. With scope 0 (global), GetIOElement(0,0)
throws an exception since the global scope isn't an AUIOElement. This exception is not caught by the audio unit and is (I presume) caught by Live, which promptly (and probably correctly) disables the audio unit.

This (calling ValidFormat with global scope) is probably a fault of Live, but I don't know where definitive information on such matters resides. In any case, I am unable to make changes to Live for obvious reasons. To make an AUInstrumentBase based instrument work in Live one needs to override the ValidFormat method so that if the scope is 0, the ValidFormat method of MusicDeviceBase is queried.

Thus, change (in ValidFormat)
if (SupportedNumChannels (NULL))
return MusicDeviceBase::ValidFormat(inScope, inElement, inNewFormat);
to
if (SupportedNumChannels (NULL) || inScope == 0)
return MusicDeviceBase::ValidFormat(inScope, inElement, inNewFormat);
and we have at least a quick hack to keep Live happy.


John
Le 11 déc. 08 à 23:54, Eric Gorouben a écrit :

Hi, there,

After some tracing, it looks like in Live, AUBase::ComponentEntryDispatch never gets called with kAudioUnitRenderSelect.
I wanted to compare with SinSynth, but surprisingly I can't get any sound with SinSynth either in Ableton Live.

Does anyone have any idea?
Help would be greatly appreciated

Eric

 _______________________________________________
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

References: 
 >Still stuck with no sound in Live... (From: Eric Gorouben <email@hidden>)

  • Prev by Date: Balance control
  • Next by Date: iPhone AURemoteIO Bug ?
  • Previous by thread: Still stuck with no sound in Live...
  • Next by thread: Sound is coming out metallic
  • Index(es):
    • Date
    • Thread