linuxsampler 2.3.1
|
Abstract base class for driver parameters of type float
.
More...
#include <DeviceParameter.h>
Public Member Functions | |
DeviceRuntimeParameterFloat (float fVal) | |
Constructor for value type float . | |
virtual String | Type () OVERRIDE |
Some name reflecting the parameter's value type, like "BOOL,
"INT", "FLOAT", "STRING", "STRINGS". | |
virtual bool | Multiplicity () OVERRIDE |
Whether the parameter only allows to set one scalar value, or if true is returned here, the parameter allows to manage a list of values instead. | |
virtual optional< String > | RangeMin () OVERRIDE |
The driver parameter might (optionally) return a minimum value for the parameter. | |
virtual optional< String > | RangeMax () OVERRIDE |
The driver parameter might (optionally) return a maximum value for the parameter. | |
virtual optional< String > | Possibilities () OVERRIDE |
The driver parameter might (optionally) return a list of possible values for this parameter, encoded as comma separated list. | |
virtual String | Value () OVERRIDE |
The current value of this parameter (encoded as String). | |
virtual void | SetValue (String val) OVERRIDE throw (Exception) |
Alter the parameter with the value given by val. | |
virtual float | ValueAsFloat () |
virtual void | SetValue (float f) throw (Exception) |
virtual optional< float > | RangeMinAsFloat ()=0 |
Must be implemented by descendant, returning a minimum float value for the parameter. | |
virtual optional< float > | RangeMaxAsFloat ()=0 |
Must be implemented by descendant, returning a maximum float value for the parameter. | |
virtual std::vector< float > | PossibilitiesAsFloat ()=0 |
Must be implemented by descendant, returning a list of possible float values for the parameter. | |
virtual void | OnSetValue (float f)=0 |
Must be implemented be a driver's parameter class to react on the parameter value being set / altered. | |
virtual String | Description ()=0 |
A human readable description, explaining the exact purpose of the driver parameter. | |
virtual bool | Fix ()=0 |
Whether the parameter is read only. | |
Protected Attributes | |
float | fVal |
Abstract base class for driver parameters of type float
.
Implements a "runtime" driver parameter for value type float
. A driver offering a parameter of type float
would derive its parameter class from this class and implement the abstract methods OnSetValue(), RangeMinAsFloat(), RangeMaxAsFloat() and PossibilitiesAsFloat().
See DeviceCreationParameter and DeviceRuntimeParameter for a discussion about "runtime" parameters vs. "creation" parameters.
Definition at line 347 of file DeviceParameter.h.
LinuxSampler::DeviceRuntimeParameterFloat::DeviceRuntimeParameterFloat | ( | float | fVal | ) |
Constructor for value type float
.
Sets an initial value for the parameter.
fVal | - initial float value |
A human readable description, explaining the exact purpose of the driver parameter.
The text returned here can be used to display the user in a GUI frontend some helping text, that explains what the parameter actually does.
Implemented in LinuxSampler::AudioChannel::ParameterName, LinuxSampler::AudioChannel::ParameterIsMixChannel, LinuxSampler::AudioChannel::ParameterMixChannelDestination, LinuxSampler::AudioOutputDevice::ParameterActive, LinuxSampler::AudioOutputDevice::ParameterSampleRate, LinuxSampler::AudioOutputDevice::ParameterChannels, LinuxSampler::MidiInputDevice::ParameterActive, LinuxSampler::MidiInputDevice::ParameterPorts, and LinuxSampler::MidiInputPort::ParameterName.
Whether the parameter is read only.
Not to be confused with "creation" parameters! A driver parameter which returns true here can never be set or altered at any time. Not even at instanciation time of the driver! A typical example would be a parameter "SAMPLERATE" for a specific sound card, where the specific sound card does not allow to switch the sound card's sample rate in any way. Yet the value returned by the parameter (read only) might be different, depending on the actual sound card the user selected with the audio driver.
Implemented in LinuxSampler::AudioChannel::ParameterName, LinuxSampler::AudioChannel::ParameterIsMixChannel, LinuxSampler::AudioChannel::ParameterMixChannelDestination, LinuxSampler::AudioOutputDevice::ParameterActive, LinuxSampler::AudioOutputDevice::ParameterSampleRate, LinuxSampler::AudioOutputDevice::ParameterChannels, LinuxSampler::MidiInputDevice::ParameterActive, LinuxSampler::MidiInputDevice::ParameterPorts, and LinuxSampler::MidiInputPort::ParameterName.
Whether the parameter only allows to set one scalar value, or if true
is returned here, the parameter allows to manage a list of values instead.
A typical example of multiplicity parameter is i.e. a "ROUTING" parameter, that would allow a user to interconnect the sampler with other apps and devices with drivers that support such concepts (like JACK and ALSA MIDI do).
Implements LinuxSampler::DeviceRuntimeParameter.
Must be implemented be a driver's parameter class to react on the parameter value being set / altered.
f | - new parameter value set by the user |
Exception | - might be thrown by the driver in case it cannot handle the supplied parameter value for whatever reason |
The driver parameter might (optionally) return a list of possible values for this parameter, encoded as comma separated list.
For example an audio driver might return "44100,96000" for a "SAMPLERATE" parameter for a specific sound card.
You probably don't want to call this method directly, but instead cast this object to the respective deriving parameter class like DeviceRuntimeParameterInt, and use its PossibilitiesAsInt() method instead, which conveniently returns a vector in its value type. So you don't need to parse this return value here.
Implements LinuxSampler::DeviceRuntimeParameter.
|
pure virtual |
Must be implemented by descendant, returning a list of possible float values for the parameter.
If a list of possible values does not make sense, the implementation should return an empty vector.
The driver parameter might (optionally) return a maximum value for the parameter.
If some actual value is returned here, the sampler automatically performs bounds checking of parameter values to be set for such a parameter and a GUI frontend might display a spin box in such a case to the user, honoring the returned maximum value.
You probably don't want to call this method directly, but instead cast this object to the respective deriving parameter class like DeviceRuntimeParameterInt, and use its RangeMaxAsInt() method instead, which conveniently returns a value in its value type. So you don't need to parse this return value here.
Implements LinuxSampler::DeviceRuntimeParameter.
|
pure virtual |
Must be implemented by descendant, returning a maximum float value for the parameter.
If a maximum value does not make sense for the specific driver parameter, then the implementation should return optional<float>::nothing
.
The driver parameter might (optionally) return a minimum value for the parameter.
If some actual value is returned here, the sampler automatically performs bounds checking of parameter values to be set for such a parameter and a GUI frontend might display a spin box in such a case to the user, honoring the returned minimum value.
You probably don't want to call this method directly, but instead cast this object to the respective deriving parameter class like DeviceRuntimeParameterInt, and use its RangeMinAsInt() method instead, which conveniently returns a value in its value type. So you don't need to parse this return value here.
Implements LinuxSampler::DeviceRuntimeParameter.
|
pure virtual |
Must be implemented by descendant, returning a minimum float value for the parameter.
If a minimum value does not make sense for the specific driver parameter, then the implementation should return optional<float>::nothing
.
|
virtual |
|
virtual |
Alter the parameter with the value given by val.
The respective deriving parameter class automatically parses the String value supplied here, and converts it into its native value type like int, float or String vector ("Strings").
- | new parameter value encoded as string |
Exception | - if val is out of bounds, not encoded correctly in its string representation or any other reason the driver might not want to accept the given value. |
Implements LinuxSampler::DeviceRuntimeParameter.
Some name reflecting the parameter's value type, like "BOOL, "INT", "FLOAT", "STRING", "STRINGS".
Upon the value returned here, the object can be casted to the respective implementing parameter class.
Implements LinuxSampler::DeviceRuntimeParameter.
The current value of this parameter (encoded as String).
You might want to cast to the respective deriving parameter class like DeviceRuntimeParameterInt and use its method ValueAsInt() for not being forced to parse the String here.
Implements LinuxSampler::DeviceRuntimeParameter.
|
protected |
Definition at line 415 of file DeviceParameter.h.