• 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: RemoteIO vs AUGraphAddNode on iOS
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RemoteIO vs AUGraphAddNode on iOS


  • Subject: Re: RemoteIO vs AUGraphAddNode on iOS
  • From: Aran Mulholland <email@hidden>
  • Date: Mon, 14 Nov 2011 12:14:06 +1100

First stop is to read the manual: http://developer.apple.com/library/ios/#DOCUMENTATION/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009492-CH1-SW1

If you want to do audio processing you can attach a render callback to an AudioUnit in a graph. For example if you wanted to read audio from a file and apply an effect then output it your graph could look something like this

AUFilePlayer -> RemoteIO

But instead of directly connecting the units you could add a render callback method to the RemoteIO that would get called every time the RemoteIO needed samples. In this render callback you would ask the file player for samples and then apply your processing. Something similar to http://pastie.org/2859464 if that callback was attached to the RemoteIO unit.

Anyway that link at the top will help.

Aran




On Mon, Nov 14, 2011 at 12:00 PM, Patrick Shirkey <email@hidden> wrote:

> are you trying to create two remoteIO nodes in the same graph? The call
> here
>
> // delay unit
>    CAComponentDescription delay_desc(kAudioUnitType_Output,
> kAudioUnitSubType_RemoteIO, kAudioUnitManufacturer_Apple);
>
> has kAudioUnitType_Output as the type and kAudioUnitSubType_RemoteIO
> as the sub type. Is that what you want?
>
> What is the problem? why doesn't it "work"?
>

I tried upgrading to iOS 5 in case it was just a bug but it appears to be
either a feature or I am completely wrong about how the RIO interface is
supposed to work.

>From the other code I have seen for example the bioaudio example it should
be fine to use two rio nodes in one graph. Is that a correct assumption to
make with coreaudio in general and maybe this is just an ios issue or am I
completely wrong in that assumption?


--
Patrick Shirkey
Boost Hardware Ltd




> On Thu, Nov 10, 2011 at 3:24 PM, Patrick Shirkey
> <email@hidden> wrote:
>> Hi,
>>
>> I asked Apple Developer Support and they [c/w]ouldn't provide an answer
>> for me
>>
>> Can anyone tell me why this code works:
>>
>> ----------
>>
>>    AUNode outputNode;
>>
>>    // create a new AUGraph
>>        result = NewAUGraph(&mGraph);
>>    if (result) { printf("NewAUGraph result %ld X %4.4s\n", result,
>> (unsigned int)result, (char*)&result); return; }
>>
>>    // output unit
>>    CAComponentDescription output_desc(kAudioUnitType_Output,
>> kAudioUnitSubType_RemoteIO, kAudioUnitManufacturer_Apple);
>>
>>        result = AUGraphAddNode(mGraph, &output_desc, &outputNode);
>>        if (result) { printf("AUGraphNewNode 1 result %lu %4.4s\n",
>> result,
>> (char*)&result); return; }
>>
>>
>> -----------
>>
>> But this code doesn't:
>>
>> -----------
>>
>>    AUNode outputNode;
>>    AUNode delayNode;
>>
>>    // create a new AUGraph
>>        result = NewAUGraph(&mGraph);
>>    if (result) { printf("NewAUGraph result %ld X %4.4s\n", result,
>> (unsigned int)result, (char*)&result); return; }
>>
>>    // output unit
>>    CAComponentDescription output_desc(kAudioUnitType_Output,
>> kAudioUnitSubType_RemoteIO, kAudioUnitManufacturer_Apple);
>>
>>    // delay unit
>>    CAComponentDescription delay_desc(kAudioUnitType_Output,
>> kAudioUnitSubType_RemoteIO, kAudioUnitManufacturer_Apple);
>>
>>        result = AUGraphAddNode(mGraph, &output_desc, &outputNode);
>>        if (result) { printf("AUGraphNewNode 1 result %lu %4.4s\n",
>> result,
>> (char*)&result); return; }
>>
>>    result = AUGraphAddNode(mGraph, &delay_desc, &delayNode);
>>        if (result) { printf("AUGraphNewNode 2 result %lu %4.4s\n",
>> result,
>> (char*)&result); return; }
>>
>>  ---------
>>
>>
>>
>>
>> --
>> Patrick Shirkey
>> Boost Hardware Ltd
>>  _______________________________________________
>> 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
>>
>


--
Patrick Shirkey
Boost Hardware Ltd

 _______________________________________________
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: RemoteIO vs AUGraphAddNode on iOS
      • From: Patrick Shirkey <email@hidden>
References: 
 >RemoteIO vs AUGraphAddNode on iOS (From: Patrick Shirkey <email@hidden>)
 >Re: RemoteIO vs AUGraphAddNode on iOS (From: Aran Mulholland <email@hidden>)
 >Re: RemoteIO vs AUGraphAddNode on iOS (From: Patrick Shirkey <email@hidden>)

  • Prev by Date: Re: RemoteIO vs AUGraphAddNode on iOS
  • Next by Date: Re: RemoteIO vs AUGraphAddNode on iOS
  • Previous by thread: Re: RemoteIO vs AUGraphAddNode on iOS
  • Next by thread: Re: RemoteIO vs AUGraphAddNode on iOS
  • Index(es):
    • Date
    • Thread