Sonntag, 17. Mai 2015

In kleinen Schritten kommen meine Audio Units voran

In kleinen Schritten kommen meine Audio Units voran: auf iOS konnte ich nun erfolgreich 3 Inter-App-Audio Effekt-Units registrieren (hatte vor noch nicht funktioniert) und ich habe die Generierung der Wellenformen in eine Bibliothek ausgelagert. So langsam aber sicher nimmt alles Form an. :-) 

Sonntag, 10. Mai 2015

Menü in meiner Audio Unit - happy!

Wer von euch Programmierern weiß, mit wie viel Coding, Debugging und Tests so ein Menü in einer Audio Unit entsteht, der weiß auch Freude darüber zu teilen, die dieses kleine Menü zu so später Stunde hervorruft! :-)

Und hier mal ein leckeres Code-Schnipsel als Appetitanreger dazu:
.
.
.

outParameterInfo.flags += SetAudioUnitParameterDisplayType(0,
kAudioUnitParameterFlag_DisplaySquareRoot);
outParameterInfo.flags += kAudioUnitParameterFlag_IsReadable | kAudioUnitParameterFlag_IsWritable;

if (inScope == kAudioUnitScope_Global)
switch (inParameterID) {
case kGlobalParameter_Volume:
AUBase::FillInParameterName(outParameterInfo, kGlobalVolumeName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_LinearGain;
outParameterInfo.minValue = kGlobalVolume_Min;
outParameterInfo.maxValue = kGlobalVolume_Max;
outParameterInfo.defaultValue = kDefault_WaveGen_Volume;
break;
case kGlobalParamater_WaveGen:
AUBase::FillInParameterName(outParameterInfo, kGlobalWaveformName, false);
outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
outParameterInfo.minValue = kSinWave_Waveform;
outParameterInfo.maxValue = kTriangleWave_Waveform;
outParameterInfo.defaultValue = kDefault_WaveGen_Waveform;
break;

default:
result = kAudioUnitErr_InvalidParameter;
break;
}
else
result = kAudioUnitErr_InvalidScope;
.
.
.
Hmmm... lecker!!!

Menü in Audio Unit