Montag, 3. August 2015
Stems - a new way to play
STEMS ist endlich verfügbar! Eine neue Art des digital DJings kann beginnen. :-)
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!!!