linuxsampler 2.3.1
|
Abstract base class for driver parameters of a String
list type.
More...
#include <DeviceParameter.h>
Public Member Functions | |
DeviceRuntimeParameterStrings (std::vector< String > vS) | |
Constructor for value type String . | |
virtual | ~DeviceRuntimeParameterStrings () |
Destructor. | |
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 std::vector< String > | ValueAsStrings () |
virtual void | SetValue (std::vector< String > vS) throw (Exception) |
virtual std::vector< String > | PossibilitiesAsString ()=0 |
Must be implemented by descendant, returning a list of possible String values for the parameter. | |
virtual void | OnSetValue (std::vector< String > vS)=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 | |
std::vector< String > | sVals |
Abstract base class for driver parameters of a String
list type.
Implements a "runtime" driver parameter for multiple values of type String
. A driver offering a parameter of a String
list type would derive its parameter class from this class and implement the abstract methods OnSetValue() and PossibilitiesAsString().
See DeviceCreationParameter and DeviceRuntimeParameter for a discussion about "runtime" parameters vs. "creation" parameters.
Definition at line 500 of file DeviceParameter.h.
LinuxSampler::DeviceRuntimeParameterStrings::DeviceRuntimeParameterStrings | ( | std::vector< String > | vS | ) |
Constructor for value type String
.
Sets an initial list of values for the parameter.
sVal | - initial String value |
|
inlinevirtual |
Destructor.
Definition at line 511 of file DeviceParameter.h.
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.
|
pure virtual |
Must be implemented be a driver's parameter class to react on the parameter value being set / altered.
vS | - new parameter values set by the user |
Exception | - might be thrown by the driver in case it cannot handle the supplied parameter values 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 String 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.
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.
|
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.
|
virtual |
|
protected |
Definition at line 555 of file DeviceParameter.h.