Example #1
0
//--------------------------------------------------------------------------------
OSStatus BS2B::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;
    
	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;
    
	switch (inParameterID)
	{
		case kParam_Level_Feed:
			FillInParameterName(outParameterInfo, CFSTR("Crossfeed level"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Decibels;
			outParameterInfo.minValue = BS2B_MINFEED/10.0;
			outParameterInfo.maxValue = BS2B_MAXFEED/10.0;
			outParameterInfo.defaultValue = 4.5;
			break;
            
		case kParam_Level_Fcut:
			FillInParameterName(outParameterInfo, CFSTR("Cutoff frequency"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Hertz;
			outParameterInfo.minValue = BS2B_MINFCUT;
			outParameterInfo.maxValue = BS2B_MAXFCUT;
			outParameterInfo.defaultValue = 700;
			break;
        default:
			status = kAudioUnitErr_InvalidParameter;
			break;
	}
    
	return status;
}
Example #2
0
OSStatus Talkbox::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;

	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;
	
	switch(inParameterID)
	{
		case _WET:
			FillInParameterName(outParameterInfo, CFSTR("Wet"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0;
			outParameterInfo.maxValue = 100.0;
			outParameterInfo.defaultValue = 50.0;
			break;

		case _DRY:
			FillInParameterName(outParameterInfo, CFSTR("Dry"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0;
			outParameterInfo.maxValue = 100.0;
			outParameterInfo.defaultValue = 0.0;
			break;

		case _SWAP:
			FillInParameterName(outParameterInfo, CFSTR("Input Swap"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Boolean;
			outParameterInfo.minValue = 0.0;
			outParameterInfo.maxValue = 1.0;
			outParameterInfo.defaultValue = 0.0;
			break;

		case _QUAL:
			FillInParameterName(outParameterInfo, CFSTR("Quality"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 10.0;
			outParameterInfo.maxValue = 100.0;
			outParameterInfo.defaultValue = 100.0;
			break;
			
		default:
			status = kAudioUnitErr_InvalidParameter;
			break;
	}
	return status;
}
Example #3
0
//--------------------------------------------------------------------------------
OSStatus Ring::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;

	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;

	switch (inParameterID)
	{
		case kParam_Freq:
			FillInParameterName(outParameterInfo, CFSTR("frequency"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Hertz;
			outParameterInfo.minValue = 0.1f;
			outParameterInfo.maxValue = 16000.0f;
			outParameterInfo.defaultValue = 1000.0f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplaySquareRoot;
			break;

		case kParam_Fine:
			FillInParameterName(outParameterInfo, CFSTR("fine tune"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 0.0f;
			break;

		case kParam_Feedback:
			FillInParameterName(outParameterInfo, CFSTR("feedback"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 95.0f;
			outParameterInfo.defaultValue = 0.0f;
			break;

		default:
			status = kAudioUnitErr_InvalidParameter;
			break;
	}

	return status;
}
Example #4
0
//--------------------------------------------------------------------------------
OSStatus DubDelay::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;

	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;

	switch (inParameterID)
	{
		case kParam_Delay:
			FillInParameterName(outParameterInfo, CFSTR("delay"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Milliseconds;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = kMaxDelayTime * 1000.0f;
			outParameterInfo.defaultValue = 500.0f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplaySquareRoot;
			break;

		case kParam_Feedback:
			FillInParameterName(outParameterInfo, CFSTR("feedback"), false);
#ifdef USE_SOPHIA_PARAMETERS
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
#else
			outParameterInfo.unit = kAudioUnitParameterUnit_CustomUnit;
			outParameterInfo.unitName = CFSTR("sat <-> limit");
			outParameterInfo.minValue = -110.0f;
#endif
			outParameterInfo.maxValue = 110.0f;
			outParameterInfo.defaultValue = 44.0f;
			break;

#ifdef USE_SOPHIA_PARAMETERS
		case kParam_FeedbackMode:
			FillInParameterName(outParameterInfo, CFSTR("feedback mode"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = (float) (kNumFeedbackModes - 1);
			outParameterInfo.defaultValue = (float) kFeedbackMode_Limit;
			break;
#endif

		case kParam_FeedbackTone:
			FillInParameterName(outParameterInfo, CFSTR("feedback tone"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_CustomUnit;
			outParameterInfo.unitName = CFSTR("low <-> high");
			outParameterInfo.minValue = -100.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = -20.0f;
			break;

		case kParam_LFODepth:
			FillInParameterName(outParameterInfo, CFSTR("LFO depth"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 0.0f;
			break;

		case kParam_LFORate:
			FillInParameterName(outParameterInfo, CFSTR("LFO rate"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Hertz;
			outParameterInfo.minValue = 0.01f;
			outParameterInfo.maxValue = 10.0f;
			outParameterInfo.defaultValue = 3.0f;
//			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplayLogarithmic;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplaySquareRoot;
			break;

		case kParam_WetMix:
			FillInParameterName(outParameterInfo, CFSTR("FX mix"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 33.0f;
			break;

		case kParam_Output:
			FillInParameterName(outParameterInfo, CFSTR("output"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_LinearGain;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 2.0f;
			outParameterInfo.defaultValue = 1.0f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplayCubeRoot;
			break;

		default:
			status = kAudioUnitErr_InvalidParameter;
			break;
	}

	return status;
}
Example #5
0
//--------------------------------------------------------------------------------
OSStatus Stereo::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;

	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;

	switch (inParameterID)
	{
		case kParam_Width:
			FillInParameterName(outParameterInfo, CFSTR("Width"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 56.0f;
			break;

		case kParam_Mode:
			FillInParameterName(outParameterInfo, CFSTR("Mode"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = kNumModes - 1;
			outParameterInfo.defaultValue = kMode_Comb;
			break;

		case kParam_Delay:
			FillInParameterName(outParameterInfo, CFSTR("Delay"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Milliseconds;
			outParameterInfo.minValue = 0.453514739229025f;
			outParameterInfo.maxValue = (kBufferSize_Seconds * 0.5f) * 1000.0f;
			outParameterInfo.defaultValue = 9.17442176870748f;//0.43f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplaySquareRoot;
			break;

		case kParam_Balance:
			FillInParameterName(outParameterInfo, CFSTR("Balance"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Pan;
			outParameterInfo.minValue = -100.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 0.0f;
			break;

		case kParam_Mod:
			FillInParameterName(outParameterInfo, CFSTR("Mod"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Milliseconds;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = (kBufferSize_Seconds * 0.5f) * 1000.0f;
			outParameterInfo.defaultValue = 0.0f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplaySquareRoot;
			break;

		case kParam_Rate:
			FillInParameterName(outParameterInfo, CFSTR("Rate"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Hertz;
//powf(10.0f, 2.0f - (3.0f * value))
			outParameterInfo.minValue = 0.01f;//100.0f
			outParameterInfo.maxValue = 10.0f;//0.1f
			outParameterInfo.defaultValue = 0.316227766017f;//3.16227766017f
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplayLogarithmic;
			break;

		default:
			status = kAudioUnitErr_InvalidParameter;
			break;
	}

	return status;
}
Example #6
0
//--------------------------------------------------------------------------------
OSStatus Tracker::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;

	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;

	switch (inParameterID)
	{
		case kParam_Mode:
			FillInParameterName(outParameterInfo, CFSTR("mode"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
			outParameterInfo.minValue = 0;
			outParameterInfo.maxValue = kNumModes - 1;
			outParameterInfo.defaultValue = kMode_Sine;
			break;

		case kParam_Dynamics:
			FillInParameterName(outParameterInfo, CFSTR("dynamics"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 100.0f;
			break;

		case kParam_Mix:
			FillInParameterName(outParameterInfo, CFSTR("mix"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 100.0f;
			break;

		case kParam_Tracking:
			FillInParameterName(outParameterInfo, CFSTR("glide"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 97.0f;
			break;

		case kParam_Transpose:
			FillInParameterName(outParameterInfo, CFSTR("transpose"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_RelativeSemiTones;
			outParameterInfo.minValue = -36.0f;
			outParameterInfo.maxValue = 36.0f;
			outParameterInfo.defaultValue = 0.0f;
			break;

		case kParam_Maximum:
			FillInParameterName(outParameterInfo, CFSTR("maximum"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Hertz;
			outParameterInfo.minValue = 40.0f;
			outParameterInfo.maxValue = 6309.0f;
			outParameterInfo.defaultValue = 2290.0f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplayLogarithmic;
			break;

		case kParam_Trigger:
			FillInParameterName(outParameterInfo, CFSTR("trigger"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Decibels;
			outParameterInfo.minValue = -60.0f;
			outParameterInfo.maxValue = 0.0f;
			outParameterInfo.defaultValue = -30.0f;
			break;

		case kParam_Output:
			FillInParameterName(outParameterInfo, CFSTR("output"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Decibels;
			outParameterInfo.minValue = -20.0f;
			outParameterInfo.maxValue = 20.0f;
			outParameterInfo.defaultValue = 0.0f;
			break;

		case kParam_ChannelLink:
			FillInParameterName(outParameterInfo, CFSTR("channel link"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Boolean;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 1.0f;
			outParameterInfo.defaultValue = 0.0f;
			break;

		default:
			status = kAudioUnitErr_InvalidParameter;
			break;
	}

	return status;
}
Example #7
0
OSStatus Combo::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;

	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;

	switch(inParameterID)
	{
	case _MODEL:
		FillInParameterName(outParameterInfo, CFSTR("Speaker"), false);
		outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
		outParameterInfo.minValue = 0;
		outParameterInfo.maxValue = 6;
		outParameterInfo.defaultValue = 6;
		break;

	 case _HPF:
		FillInParameterName(outParameterInfo, CFSTR("HighPass"), false);
		outParameterInfo.unit = kAudioUnitParameterUnit_Hertz;
		outParameterInfo.minValue = 20.0;
		outParameterInfo.maxValue = 2000.0;
		outParameterInfo.defaultValue = 100.0;
		outParameterInfo.flags |= kAudioUnitParameterFlag_DisplayLogarithmic;
		break;

	 case _DRIVE:
		FillInParameterName(outParameterInfo, CFSTR("Drive"), false);
		outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
		outParameterInfo.minValue = 0.0;
		outParameterInfo.maxValue = 100.0;
		outParameterInfo.defaultValue = 50.0;
		break;

	 case _HARD:
		FillInParameterName(outParameterInfo, CFSTR("Density"), false);
		outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
		outParameterInfo.minValue = -1.0;
		outParameterInfo.maxValue = 1.0;
		outParameterInfo.defaultValue = 0.0;
		break;

	 case _BIAS:
		FillInParameterName(outParameterInfo, CFSTR("Bias"), false);
		outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
		outParameterInfo.minValue = -1.0;
		outParameterInfo.maxValue = 1.0;
		outParameterInfo.defaultValue = 0.0;
		break;

	 case _OUTPUT:
		FillInParameterName(outParameterInfo, CFSTR("Output"), false);
		outParameterInfo.unit = kAudioUnitParameterUnit_Decibels;
		outParameterInfo.minValue = -20.0;
		outParameterInfo.maxValue = 20.0;
		outParameterInfo.defaultValue = 0.0;
		break;

	default:
		status = kAudioUnitErr_InvalidParameter;
		break;
	}
	return status;
}
Example #8
0
//--------------------------------------------------------------------------------
OSStatus SubSynth::GetParameterInfo(AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo & outParameterInfo)
{
	OSStatus status = noErr;

	outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable | kAudioUnitParameterFlag_IsReadable;

	switch (inParameterID)
	{
		case kParam_Type:
			FillInParameterName(outParameterInfo, CFSTR("Type"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = kNumModes - 1;
			outParameterInfo.defaultValue = kMode_Distort;
			break;

		case kParam_Level:
			FillInParameterName(outParameterInfo, CFSTR("Level"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 30.0f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplayCubeRoot;
			break;

//0.0726f * GetSampleRate() * powf(10.0f, -2.5f + (1.5f * fParam3))	// 10 - 320 Hz
		case kParam_Tune:
			FillInParameterName(outParameterInfo, CFSTR("Tune"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Hertz;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 1.0f;
			outParameterInfo.defaultValue = 0.6f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_ValuesHaveStrings;
			break;

		case kParam_DryMix:
			FillInParameterName(outParameterInfo, CFSTR("Dry Mix"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Percent;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 100.0f;
			outParameterInfo.defaultValue = 100.0f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_DisplayCubeRoot;
			break;

		case kParam_Threshold:
			FillInParameterName(outParameterInfo, CFSTR("Threshold"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Decibels;
			outParameterInfo.minValue = -60.0f;
			outParameterInfo.maxValue = 0.0f;
			outParameterInfo.defaultValue = -24.0f;
			break;

//rls = 1.0f - powf(10.0f, -2.0f - (3.0f * fParam6))
//-301.03f / (GetSampleRate() * log10f(rls))	// 1 - 1569 ms
		case kParam_Release:
			FillInParameterName(outParameterInfo, CFSTR("Release"), false);
			outParameterInfo.unit = kAudioUnitParameterUnit_Milliseconds;
			outParameterInfo.minValue = 0.0f;
			outParameterInfo.maxValue = 1.0f;
			outParameterInfo.defaultValue = 0.65f;
			outParameterInfo.flags |= kAudioUnitParameterFlag_ValuesHaveStrings;
			break;

		default:
			status = kAudioUnitErr_InvalidParameter;
			break;
	}

	return status;
}