Audio Unit v3 host v2 third party plugins

Hi,

I have just implemented an Audio Unit v3 host.

AgsAudioUnitPlugin *audio_unit_plugin;

AVAudioUnitComponentManager *audio_unit_component_manager;

NSArray<AVAudioUnitComponent *> *av_component_arr;
  
AudioComponentDescription description;

guint i, i_stop;
  
if(!AGS_AUDIO_UNIT_MANAGER(audio_unit_manager)){
  return;
}

audio_unit_component_manager = [AVAudioUnitComponentManager sharedAudioUnitComponentManager];

/* effects */
description = (AudioComponentDescription) {0,};
  
description.componentType = kAudioUnitType_Effect;

av_component_arr = [audio_unit_component_manager componentsMatchingDescription:description];

i_stop = [av_component_arr count];
  
for(i = 0; i < i_stop; i++){
  ags_audio_unit_manager_load_component(audio_unit_manager,
    (gpointer) av_component_arr[i]);
  }
  
/* instruments */
description = (AudioComponentDescription) {0,};
  
description.componentType = kAudioUnitType_MusicDevice;

av_component_arr = [audio_unit_component_manager componentsMatchingDescription:description];

i_stop = [av_component_arr count];
  
for(i = 0; i < i_stop; i++){
  ags_audio_unit_manager_load_component(audio_unit_manager,
    (gpointer) av_component_arr[i]);
}

But this doesn't show me Audio Unit v2 plugins, why?

regards, Joël

Answered by joel2001k in 855255022

Hi,

I have found the answer here:

https://developer.apple.com/library/archive/technotes/tn2247/_index.html

You need to use AudioComponentFindNext().

regards, Joël

auval -a shows me following:

auval -a

    AU Validation Tool
    Version: 1.10.0 
    Copyright 2003-2019, Apple Inc. All Rights Reserved.
    Specify -h (-help) for command options

aufx bpas appl  -  Apple: AUBandpass
aufx dcmp appl  -  Apple: AUDynamicsProcessor
aufx dely appl  -  Apple: AUDelay
aufx dist appl  -  Apple: AUDistortion
aufx filt appl  -  Apple: AUFilter
aufx greq appl  -  Apple: AUGraphicEQ
aufx hpas appl  -  Apple: AUHipass
aufx hshf appl  -  Apple: AUHighShelfFilter
aufx lmtr appl  -  Apple: AUPeakLimiter
aufx lpas appl  -  Apple: AULowpass
aufx lshf appl  -  Apple: AULowShelfFilter
aufx mcmp appl  -  Apple: AUMultibandCompressor
aufx mrev appl  -  Apple: AUMatrixReverb
aufx nbeq appl  -  Apple: AUNBandEQ
aufx nsnd appl  -  Apple: AUNetSend
aufx nutp appl  -  Apple: AUNewPitch
aufx pmeq appl  -  Apple: AUParametricEQ
aufx raac appl  -  Apple: AURoundTripAAC
aufx rogr appl  -  Apple: AURogerBeep
aufx rvb2 appl  -  Apple: AUReverb2
aufx sdly appl  -  Apple: AUSampleDelay
aufx tmpt appl  -  Apple: AUPitch
aufx vois appl  -  Apple: AUSoundIsolation
aumf AlgV Artu  -  Arturia: Rev INTENSITY
aumf D65A Artu  -  Arturia: Comp VCA-65
aumf Eter Artu  -  Arturia: Delay ETERNITY
aumf FT76 Artu  -  Arturia: Comp FET-76
aumf MaFi Artu  -  Arturia: Filter M12
aumf MeBr Artu  -  Arturia: Delay BRIGADE
aumf MiFi Artu  -  Arturia: Filter MINI
aumf OSFi Artu  -  Arturia: Filter SEM
aumf PR73 Artu  -  Arturia: Pre 1973
aumf ReGr Artu  -  Arturia: Rev SPRING-636
aumf RePl Artu  -  Arturia: Rev PLATE-140
aumf TELE Artu  -  Arturia: Pre V76
aumf TRAR Artu  -  Arturia: Pre TridA
aumf TSTA Artu  -  Arturia: Comp TUBE-STA
aumf Ta20 Artu  -  Arturia: Delay TAPE-201
aupn ambi appl  -  Apple: AUSoundFieldPanner
aupn hrtf appl  -  Apple: HRTFPanner
aupn sphr appl  -  Apple: AUSphericalHeadPanner
aupn vbas appl  -  Apple: AUVectorPanner
aumu ARP3 Artu  -  Arturia: ARP 2600 V3
aumu Ala2 Artu  -  Arturia: Analog Lab 4
aumu Alav Artu  -  Arturia: Analog Lab V## ExtendedFilename : 0

aumu BuEa Artu  -  Arturia: Buchla Easel V
aumu CMIv Artu  -  Arturia: CMI V
aumu CSV3 Artu  -  Arturia: CS-80 V3
aumu Clav Artu  -  Arturia: Clavinet V
aumu CsCz Artu  -  Arturia: CZ V
aumu Dx71 Artu  -  Arturia: DX7 V
aumu Farf Artu  -  Arturia: Farfisa V
aumu JUP3 Artu  -  Arturia: Jup-8 V3
aumu Kat1 Artu  -  Arturia: Pigments## ExtendedFilename : 0

aumu MIN3 Artu  -  Arturia: Mini V3
aumu MLTN Artu  -  Arturia: Mellotron V
aumu MOD3 Artu  -  Arturia: Modular V3
aumu Mat2 Artu  -  Arturia: Matrix-12 V2
aumu OBS2 Artu  -  Arturia: SEM V2
aumu PRO3 Artu  -  Arturia: Prophet V3
aumu Pia2 Artu  -  Arturia: Piano V2
aumu SNTH Artu  -  Arturia: Synthi V
aumu Sol2 Artu  -  Arturia: Solina V2
aumu Stag Artu  -  Arturia: Stage-73 V
aumu Sycl Artu  -  Arturia: Synclavier V## DebugAllFlag : 0

aumu TnW2 Artu  -  Arturia: B-3 V2
aumu Vox2 Artu  -  Arturia: VOX Continental V2
aumu WUR2 Artu  -  Arturia: Wurli V2
aumu dls  appl  -  Apple: DLSMusicDevice
aumu msyn appl  -  Apple: AUMIDISynth
aumu samp appl  -  Apple: AUSampler
aumx 3dem appl  -  Apple: AUSpatialMixer
aumx 3dmx appl  -  Apple: AUMixer3D
aumx mcmx appl  -  Apple: AUMultiChannelMixer
aumx mspl appl  -  Apple: AUMultiSplitter
aumx mxmx appl  -  Apple: AUMatrixMixer
aumx smxr appl  -  Apple: AUMixer
aufc conv appl  -  Apple: AUConverter
aufc defr appl  -  Apple: AUDeferredRenderer
aufc ipto appl  -  Apple: AUNotQuiteSoSimpleTime
aufc merg appl  -  Apple: AUMerger
aufc nutp appl  -  Apple: AUNewTimePitch
aufc splt appl  -  Apple: AUSplitter
aufc tmpt appl  -  Apple: AUTimePitch
aufc vari appl  -  Apple: AUVarispeed
auou ahal appl  -  Apple: AudioDeviceOutput
auou atap appl  -  Apple: AUAudioTapIO
auou def  appl  -  Apple: DefaultOutputUnit
auou genr appl  -  Apple: GenericOutput
auou rioc appl  -  Apple: AUAudioIO
auou sys  appl  -  Apple: SystemOutputUnit
auou vpio appl  -  Apple: AUVoiceProcessor
augn afpl appl  -  Apple: AUAudioFilePlayer
augn nrcv appl  -  Apple: AUNetReceive
augn sspl appl  -  Apple: AUScheduledSoundPlayer
augn ttsp appl  -  Apple: AUSpeechSynthesis
auol tmpt appl  -  Apple: AUTimePitch
auol vari appl  -  Apple: AUVarispeed

But my own audio unit host doesn't show them, only apple audio units are available.

Hi,

Just want to share an update. I figured out you can't run signed Audio Units without proper entitlements set.

https://developer.apple.com/library/archive/technotes/tn2312/_index.html

Accepted Answer

Hi,

I have found the answer here:

https://developer.apple.com/library/archive/technotes/tn2247/_index.html

You need to use AudioComponentFindNext().

regards, Joël

Audio Unit v3 host v2 third party plugins
 
 
Q