Ejemplo n.º 1
0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	Filter::NewFactoryPresetSet
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OSStatus	Filter::NewFactoryPresetSet (const AUPreset & inNewFactoryPreset)
{
	SInt32 chosenPreset = inNewFactoryPreset.presetNumber;
	
	for(int i = 0; i < kNumberPresets; ++i)
	{
		if(chosenPreset == kPresets[i].presetNumber)
		{
			// set whatever state you need to based on this preset's selection
			//
			// Here we use a switch statement, but it would also be possible to
			// use chosenPreset as an index into an array (if you publish the preset
			// numbers as indices in the GetPresets() method)
			//			
			switch(chosenPreset)
			{
				case kPreset_One:
					SetParameter(kFilterParam_CutoffFrequency, 200.0 );
					SetParameter(kFilterParam_Resonance, -5.0 );
					break;
				case kPreset_Two:
					SetParameter(kFilterParam_CutoffFrequency, 1000.0 );
					SetParameter(kFilterParam_Resonance, 10.0 );
					break;
			}
            
            SetAFactoryPresetAsCurrent (kPresets[i]);
			return noErr;
		}
	}
	
	return kAudioUnitErr_InvalidPropertyValue;
}
Ejemplo n.º 2
0
OSStatus Tremolo::NewFactoryPresetSet(const AUPreset &inNewFactoryPreset) {
  SInt32 chosenPreset = inNewFactoryPreset.presetNumber;

  if (chosenPreset == kPreset_Slow || chosenPreset == kPreset_Fast) {
    for (int i = 0; i < kNumberPresets; ++i) {
      if (chosenPreset == kPresets[i].presetNumber) {
        switch (chosenPreset) {
          case kPreset_Slow:
            SetParameter(kParameter_Frequency, kParameter_Preset_Frequency_Slow);
            SetParameter(kParameter_Depth, kParameter_Preset_Depth_Slow);
            SetParameter(kParameter_Waveform, kParameter_Preset_Waveform_Slow);
            break;

          case kPreset_Fast:
            SetParameter(kParameter_Frequency, kParameter_Preset_Frequency_Fast);
            SetParameter(kParameter_Depth, kParameter_Preset_Depth_Fast);
            SetParameter(kParameter_Waveform, kParameter_Preset_Waveform_Fast);
            break;
        }
        SetAFactoryPresetAsCurrent(kPresets[i]);
        return noErr;
      }
    }
  }
  return kAudioUnitErr_InvalidProperty;
}
Ejemplo n.º 3
0
OSStatus FullBacano::NewFactoryPresetSet (                         // 1
                                           const AUPreset &inNewFactoryPreset
                                           ) {
    SInt32 chosenPreset = inNewFactoryPreset.presetNumber;          // 2
    
    if (                                                            // 3
        chosenPreset == kPreset_Mera ||
        chosenPreset == kPreset_NoTanBacano
        ) {
        for (int i = 0; i < kNumberPresets; ++i) {                  // 4
            if (chosenPreset == kPresets[i].presetNumber) {
                switch (chosenPreset) {                             // 5
                        
                    case kPreset_Mera:                              // 6
                        SetParameter (                              // 7
                                      kParameter_Frequency,
                                      kParameter_Preset_Frequency_Mera
                                      );
                        SetParameter (                              // 8
                                      kParameter_Bacaneria,
                                      kParameter_Preset_Bacaneria_Mera
                                      );
                        SetParameter (                              // 9
                                      kParameter_LaMondaEnElVolco,
                                      kParameter_Preset_LaMondaEnElVolco_Mera
                                      );
                        break;
                        
                    case kPreset_NoTanBacano:                             // 10
                        SetParameter (
                                      kParameter_Frequency,
                                      kParameter_Preset_Frequency_NoTanBacano
                                      );
                        SetParameter (
                                      kParameter_Bacaneria,
                                      kParameter_Preset_Bacaneria_NoTanBacano
                                      );
                        SetParameter (
                                      kParameter_LaMondaEnElVolco,
                                      kParameter_Preset_LaMondaEnElVolco_NoTanBacano
                                      );
                        break;
                }
                SetAFactoryPresetAsCurrent (                        // 11
                                            kPresets [i]
                                            );
                return noErr;                                       // 12
            }
        }
    }
    return kAudioUnitErr_InvalidProperty;                           // 13
}
Ejemplo n.º 4
0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//  Tremolo::Tremolo
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tremolo::Tremolo(AudioUnit component) : AUEffectBase(component) {
  CreateElements();
  Globals()->UseIndexedParameters(kNumberOfParameters);

  SetParameter(kParameter_Frequency, kDefaultValue_Tremolo_Freq);
  SetParameter(kParameter_Depth, kDefaultValue_Tremolo_Depth);
  SetParameter(kParameter_Waveform, kDefaultValue_Tremolo_Waveform);

  SetAFactoryPresetAsCurrent(kPresets[kPreset_Default]);

#if AU_DEBUG_DISPATCHER
  mDebugDispatcher = new AUDebugDispatcher(this);
#endif
}
OSStatus			SampleEffectUnit::NewFactoryPresetSet (const AUPreset & inNewFactoryPreset)
{
	SInt32 chosenPreset = inNewFactoryPreset.presetNumber;
	for (int i = 0; i < kNumberPresets; ++i) {
		if (chosenPreset == kPresets[i].presetNumber) {
            
            // set whatever state you need to based on this preset's selection
            
            SetAFactoryPresetAsCurrent (kPresets[i]);
			return noErr;
		}
	}
	
	return kAudioUnitErr_InvalidPropertyValue;
}
Ejemplo n.º 6
0
//-----------------------------------------------------------------------------
OSStatus C700::NewFactoryPresetSet(const AUPreset &inNewFactoryPreset)
{
    UInt32 chosenPreset = inNewFactoryPreset.presetNumber;
    if ( chosenPreset < (UInt32)NUM_PRESETS ) {
        mEfx->SelectPreset(chosenPreset);
        char cname[32];
        CFStringGetCString(inNewFactoryPreset.presetName, cname, 32, kCFStringEncodingASCII);
        //mEfx->setProgramName(cname);
        SetAFactoryPresetAsCurrent(inNewFactoryPreset);
        for ( UInt32 i=0; i<kNumberOfParameters; i++ ) {
            Globals()->SetParameter(i, mEfx->GetParameter(i));
        }
        return noErr;
    }
    return kAudioUnitErr_InvalidPropertyValue;
}
Ejemplo n.º 7
0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	FullBacano::FullBacano
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FullBacano::FullBacano (AudioUnit component) : AUEffectBase (component) {
  /*  ofstream logFile;
    logFile.open ("debugLog.raw");
    logFile << "Writing this to a file.\n";
    logFile.close();
    */
    
    
    
    CreateElements ();
    Globals () -> UseIndexedParameters (kNumberOfParameters);
    
    SetParameter (                                       // 1
                  kParameter_Frequency,
                  kDefaultValue_FullBacano_Freq
                  );
    
    SetParameter (                                       // 2
                  kParameter_Bacaneria,
                  kDefaultValue_FullBacano_Bacaneria
                  );
    
    
   SetParameter (                                       // 2
                  kParameter_Ganancia,
                  kDefaultValue_FullBacano_Ganancia
                  );

    
    
    SetParameter (                                       // 3
                  kParameter_LaMondaEnElVolco,
                  kDefaultValue_FullBacano_LaMondaEnElVolco
                  );
    
    // code for setting default values for the audio unit parameters
    SetAFactoryPresetAsCurrent (                    // 1
                                kPresets [kPreset_Default]
                                );
    
#if AU_DEBUG_DISPATCHER
    mDebugDispatcher = new AUDebugDispatcher (this);
#endif
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	SampleEffectUnit::SampleEffectUnit
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SampleEffectUnit::SampleEffectUnit(AudioUnit component)
	: AUEffectBase(component)
{
	CreateElements();

	if (!sLocalized) {		
		// Because we are in a component, we need to load our bundle by identifier so we can access our localized strings
		// It is important that the string passed here exactly matches that in the Info.plist Identifier string
		CFBundleRef bundle = CFBundleGetBundleWithIdentifier( CFSTR("com.acme.audiounit.passthrough") );
		
		if (bundle != NULL) {
			for (int i = 0; i < kNumberPresets; i++ ) {
				kPresets[i].presetName = CFCopyLocalizedStringFromTableInBundle(
					kPresets[i].presetName, 	// string to localize
					CFSTR("Localizable"),   		// strings file to search
					bundle, 					// bundle to search
					CFSTR(""));						// no comment
			}
			
			kParameterValueStringsOne = CFCopyLocalizedStringFromTableInBundle(kParameterValueStringsOne,     CFSTR("Localizable"), bundle, CFSTR(""));
			kParameterValueStringsTwo = CFCopyLocalizedStringFromTableInBundle(kParameterValueStringsTwo,     CFSTR("Localizable"), bundle, CFSTR(""));
			kParameterValueStringsThree = CFCopyLocalizedStringFromTableInBundle(kParameterValueStringsThree, CFSTR("Localizable"), bundle, CFSTR(""));
	
			kParameterOneName = CFCopyLocalizedStringFromTableInBundle(kParameterOneName, CFSTR("Localizable"), bundle, CFSTR(""));
			kParameterTwoName = CFCopyLocalizedStringFromTableInBundle(kParameterTwoName, CFSTR("Localizable"), bundle, CFSTR(""));
			
			kParameterThree_IndexedName = CFCopyLocalizedStringFromTableInBundle(kParameterThree_IndexedName, CFSTR("Localizable"), bundle, CFSTR(""));	
			kParameterFourName = CFCopyLocalizedStringFromTableInBundle(kParameterFourName, CFSTR("Localizable"), bundle, CFSTR(""));	
		}
		sLocalized = true; //so never pass the test again...
	}

// example of setting up params...	

	SetParameter(kParam_One, 				kDefaultValue_ParamOne );
	SetParameter(kParam_Two, 				kDefaultValue_ParamTwo );
	SetParameter(kParam_Three_Indexed, 		kDefaultValue_ParamThree_Indexed );
	SetParameter(kParam_Four,				kDefaultValue_ParamFour );
        
    SetAFactoryPresetAsCurrent (kPresets[kPresetDefaultIndex]);
}
Ejemplo n.º 9
0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	TremoloUnit::TremoloUnit
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// The constructor for new TremoloUnit audio units
TremoloUnit::TremoloUnit (AudioUnit component) : AUEffectBase (component) {

	// This method, defined in the AUBase superclass, ensures that the required audio unit
	//  elements are created and initialized.
	CreateElements ();
	
	// Invokes the use of an STL vector for parameter access.  
	//  See AUBase/AUScopeElement.cpp
	Globals () -> UseIndexedParameters (kNumberOfParameters);

	// During instantiation, sets up the parameters according to their defaults.
	//	The parameter defaults should correspond to the settings for the default preset.
	SetParameter (
		kParameter_Frequency, 
		kDefaultValue_Tremolo_Freq 
	);
        
	SetParameter (
		kParameter_Depth, 
		kDefaultValue_Tremolo_Depth 
	);
        
	SetParameter (
		kParameter_Waveform, 
		kDefaultValue_Tremolo_Waveform 
	);

	// Also during instantiation, sets the preset menu to indicate the default preset,
	//	which corresponds to the default parameters. It's possible to set this so a
	//	fresh audio unit indicates the wrong preset, so be careful to get it right.
	SetAFactoryPresetAsCurrent (
		kPresets [kPreset_Default]
	);
        
	#if AU_DEBUG_DISPATCHER
		mDebugDispatcher = new AUDebugDispatcher (this);
	#endif
}
Ejemplo n.º 10
0
// This method takes a single argument of type AUPreset, a structure containing a factory
//  preset name and number.
OSStatus TremoloUnit::NewFactoryPresetSet (
	const AUPreset &inNewFactoryPreset
) {
	// Gets the number of the desired factory preset.
	SInt32 chosenPreset = inNewFactoryPreset.presetNumber;
	
	if (
		// Tests whether the desired factory preset is defined.
		chosenPreset == kPreset_Slow ||
		chosenPreset == kPreset_Fast
	) {
		// This 'for' loop, and the 'if' statement that follows it, allow for noncontiguous preset 
		// numbers.
		for (int i = 0; i < kNumberPresets; ++i) {
			if (chosenPreset == kPresets[i].presetNumber) {

				//Selects the appropriate case statement based on the factory preset number.
				switch (chosenPreset) {

					// The settings for the "Slow & Gentle" factory preset.
					case kPreset_Slow:
						SetParameter (
							kParameter_Frequency,
							kParameter_Preset_Frequency_Slow
						);
						SetParameter (
							kParameter_Depth,
							kParameter_Preset_Depth_Slow
						);
						SetParameter (
							kParameter_Waveform,
							kParameter_Preset_Waveform_Slow
						);
						break;
					
					// The settings for the "Fast & Hard" factory preset.
					case kPreset_Fast:
						SetParameter (
							kParameter_Frequency,
							kParameter_Preset_Frequency_Fast
						);
						SetParameter (
							kParameter_Depth,
							kParameter_Preset_Depth_Fast
						);
						SetParameter (
							kParameter_Waveform,
							kParameter_Preset_Waveform_Fast
						);
						break;
				}
				
				// Updates the preset menu in the generic view to display the new factory preset.
				SetAFactoryPresetAsCurrent (
					kPresets [i]
				);
				return noErr;
			}
		}
	}
	return kAudioUnitErr_InvalidProperty;
}