diff options
author | David Robillard <d@drobilla.net> | 2014-12-23 18:45:21 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-24 13:00:32 -0500 |
commit | b0f1c16e207e0c0cd0d6dcc5b509ecb5c1844b5f (patch) | |
tree | ad1a88d1b7bcb927ca3eb01faf03f2cfcf2758ae /libs/ardour/audio_unit.cc | |
parent | 2e7cfe081f4148157bd06160f57390e0d43636f9 (diff) |
Support fancy controls for some AU units.
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r-- | libs/ardour/audio_unit.cc | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc index 21f2a78be0..820f41061b 100644 --- a/libs/ardour/audio_unit.cc +++ b/libs/ardour/audio_unit.cc @@ -606,7 +606,7 @@ AUPlugin::discover_parameters () d.lower = info.minValue; d.upper = info.maxValue; - d.default_value = info.defaultValue; + d.normal = info.defaultValue; d.integer_step = (info.unit == kAudioUnitParameterUnit_Indexed); d.toggled = (info.unit == kAudioUnitParameterUnit_Boolean) || @@ -617,7 +617,18 @@ AUPlugin::discover_parameters () (info.flags & kAudioUnitParameterFlag_IsWritable); d.logarithmic = (info.flags & kAudioUnitParameterFlag_DisplayLogarithmic); - d.unit = info.unit; + d.au_unit = info.unit; + switch (info.unit) { + case kAudioUnitParameterUnit_Decibels: + d.unit = ParameterDescriptor::DB; + break; + case kAudioUnitParameterUnit_MIDINoteNumber: + d.unit = ParameterDescriptor::MIDI_NOTE; + break; + case kAudioUnitParameterUnit_Hertz: + d.unit = ParameterDescriptor::HZ; + break; + } d.min_unbound = 0; // lower is bound d.max_unbound = 0; // upper is bound @@ -759,7 +770,7 @@ float AUPlugin::default_value (uint32_t port) { if (port < descriptors.size()) { - return descriptors[port].default_value; + return descriptors[port].normal; } return 0; |