Zone objects contains data about how Sample objects should be acquired from a Sampler.
More...
#include <synthclone/zone.h>
Zone objects contains data about how Sample objects should be acquired from a Sampler.
After a Sample is acquired, a Zone object contains the acquired (dry) Sample. After effects are applied, a Zone object also contains the wet Sample.
◆ ControlMap
◆ Status
A zone's status indicates whether or not the zone is being used within the session.
If the zone's status is not STATUS_NORMAL, then attempts to modify or remove the zone from the session will fail.
- STATUS_NORMAL
- The Zone object is not being used by the application.
- STATUS_SAMPLER_JOB_QUEUE
- The Zone object is waiting in the SamplerJob queue. When the SamplerJob pertaining to the Zone is at the front of the queue, the Sampler will perform some operation using the Zone.
- STATUS_SAMPLER_PLAYING_DRY_SAMPLE
- The Zone object is being used by the Sampler. The Sampler is playing the dry Sample registered with the Zone.
- STATUS_SAMPLER_PLAYING_WET_SAMPLE
- The Zone object is being used by the Sampler. The Sampler is playing the wet Sample registered with the Zone.
- STATUS_SAMPLER_SAMPLING
- The Zone object is being used by the Sampler. The Sampler is sampling a note based on other information in the Zone.
- STATUS_EFFECT_JOB_QUEUE
- The Zone object is waiting in the EffectJob queue. When the EffectJob pertaining to the Zone is at the front of the queue, the registered Effect objects will be applied to the Zone object's dry sample, and the result will be set as the Zone object's wet sample.
- STATUS_EFFECTS
- The registered Effect objects are being applied to the Zone object's dry sample.
- STATUS_TARGETS
- The registered targets are using the Zone to create patches.
Enumerator |
---|
STATUS_NORMAL | |
STATUS_SAMPLER_JOB_QUEUE | |
STATUS_SAMPLER_PLAYING_DRY_SAMPLE | |
STATUS_SAMPLER_PLAYING_WET_SAMPLE | |
STATUS_SAMPLER_SAMPLING | |
STATUS_EFFECT_JOB_QUEUE | |
STATUS_EFFECTS | |
STATUS_TARGETS | |
◆ Zone()
synthclone::Zone::Zone |
( |
QObject * |
parent = 0 | ) |
|
|
explicitprotected |
Constructs a new Zone object.
This constructor cannot be accessed directly. To create new Zone objects, call Context::addZone().
- Parameters
-
parent | The parent object of the new Zone object. |
◆ ~Zone()
virtual synthclone::Zone::~Zone |
( |
| ) |
|
|
protectedvirtual |
Destroys a Zone object.
The memory of Zone objects is managed by the application.
◆ aftertouchChanged
Emitted when the MIDI polyphonic aftertouch value is changed.
- Parameters
-
aftertouch | The new MIDI polyphonic aftertouch value. |
◆ channelChanged
Emitted when the MIDI channel is changed.
- Parameters
-
channel | The new MIDI channel. |
◆ channelPressureChanged
Emitted when the MIDI channel pressure value is changed.
- Parameters
-
pressure | The new MIDI channel pressure value. |
◆ controlValueChanged
Emitted when a MIDI control value is changed.
- Parameters
-
control | The control index. |
value | The new control value. |
◆ drySampleChanged
Emitted when the dry Sample is changed.
Note that the dry Sample can be set to 0.
- Parameters
-
drySample | The new dry Sample (or lack thereof). |
◆ drySampleStaleChanged
void synthclone::Zone::drySampleStaleChanged |
( |
bool |
stale | ) |
|
|
signal |
Emitted when the dry Sample is (un)marked as stale.
- Parameters
-
stale | Whether or not the dry Sample is now stale. |
◆ getAftertouch()
virtual MIDIData synthclone::Zone::getAftertouch |
( |
| ) |
const |
|
pure virtual |
Gets the MIDI polyphonic aftertouch value.
If the polyphonic aftertouch isn't set, then the value will be MIDI_VALUE_NOT_SET. The polyphonic aftertouch value is used by the Sampler to send a MIDI polyphonic aftertouch message before sampling.
- Returns
- The aftertouch value.
◆ getChannel()
virtual MIDIData synthclone::Zone::getChannel |
( |
| ) |
const |
|
pure virtual |
Gets the MIDI channel.
The channel will be in the range [1, 16]. The channel is the MIDI channel that a Sampler uses when retrieving a Sample for this Zone.
- Returns
- The MIDI channel.
◆ getChannelPressure()
virtual MIDIData synthclone::Zone::getChannelPressure |
( |
| ) |
const |
|
pure virtual |
Gets the MIDI channel pressure value.
If the channel pressure isn't set, then the value will be MIDI_VALUE_NOT_SET. The channel pressure value is used by the Sampler to send a MIDI channel pressure message before sampling.
- Returns
- The pressure value.
◆ getControlMap()
virtual const ControlMap& synthclone::Zone::getControlMap |
( |
| ) |
const |
|
pure virtual |
Gets the internal control map containing all of the current control values.
- Returns
- The map.
◆ getControlValue()
Returns the MIDI value for a control.
If the control isn't set, then the value will be MIDI_VALUE_NOT_SET. Control values are used by the Sampler to send MIDI control messages before sampling.
- Parameters
-
control | The control index. |
- Returns
- The control value.
◆ getDrySample()
virtual const Sample* synthclone::Zone::getDrySample |
( |
| ) |
const |
|
pure virtual |
Gets the dry Sample object, which has been retrieved from a Sampler.
If a Sample object hasn't been retrieved, then this will be 0.
- Returns
- The Sample object.
◆ getNote()
virtual MIDIData synthclone::Zone::getNote |
( |
| ) |
const |
|
pure virtual |
Gets the MIDI note value.
The note value is used by the Sampler to send MIDI note messages during the sampling process.
- Returns
- The note value.
◆ getReleaseTime()
virtual SampleTime synthclone::Zone::getReleaseTime |
( |
| ) |
const |
|
pure virtual |
Gets the release time.
The release time is used by a Sampler to add space between the processing of SamplerJob objects in order to give a note the chance to fade away. If the release time is set too low, then a sampled note may overlap another sampled note.
- Returns
- The release time.
◆ getSampleTime()
virtual SampleTime synthclone::Zone::getSampleTime |
( |
| ) |
const |
|
pure virtual |
Gets the sample time.
The sample time is used by a Sampler to determine how long a note should be sampled.
- Returns
- The sample time.
◆ getStatus()
virtual Status synthclone::Zone::getStatus |
( |
| ) |
const |
|
pure virtual |
◆ getVelocity()
virtual MIDIData synthclone::Zone::getVelocity |
( |
| ) |
const |
|
pure virtual |
Gets the MIDI velocity.
The velocity is used by the Sampler to send MIDI note messages. Usually, the velocity is used to determine the volume of the note, though some creative synthesizers allow you to map the velocity to another parameter.
- Returns
- The MIDI velocity.
◆ getWetSample()
virtual const Sample* synthclone::Zone::getWetSample |
( |
| ) |
const |
|
pure virtual |
Gets the wet Sample object, which is the result of applying registered Effect objects to the dry sample.
If a Sample object hasn't been set, then this will be 0.
- Returns
- The Sample object.
◆ isDrySampleStale()
virtual bool synthclone::Zone::isDrySampleStale |
( |
| ) |
const |
|
pure virtual |
Gets a flag indicating whether or not this Zone object's dry Sample is stale.
If a dry Sample is stale, it means that the parameters used to get the dry Sample have changed, or that this Zone doesn't have a dry Sample.
- Returns
- A flag indicating the above.
◆ isWetSampleStale()
virtual bool synthclone::Zone::isWetSampleStale |
( |
| ) |
const |
|
pure virtual |
Gets a flag indicating whether or not the wet Sample is stale.
If a wet Sample is stale, it means that the parameters used to get the wet Sample (Effect parameters, for example) have changed, or that the dry Sample that was used to get the wet Sample has changed.
- Returns
- A flag indicating the above.
◆ noteChanged
Emitted when the MIDI note is changed.
- Parameters
-
◆ releaseTimeChanged
Emitted when the release time is changed.
- Parameters
-
releaseTime | The new release time. |
◆ sampleTimeChanged
Emitted when the sample time is changed.
- Parameters
-
sampleTime | The new sample time. |
◆ setAftertouch
Sets the MIDI polyphonic aftertouch value.
The MIDI polyphonic aftertouch value can be cleared by calling this method with MIDI_VALUE_NOT_SET.
- Parameters
-
aftertouch | The aftertouch value. |
- See also
- getAftertouch()
◆ setChannel
◆ setChannelPressure
Sets the MIDI channel pressure value.
The MIDI channel pressure value can be cleared by calling this method with MIDI_VALUE_NOT_SET.
- Parameters
-
pressure | The pressure value. |
- See also
- getChannelPressure()
◆ setControlValue
Sets a MIDI control value.
A control can be cleared by calling this method with the value set to MIDI_VALUE_NOT_SET.
- Parameters
-
control | The control index. |
value | The control value. |
- See also
- getControlValue()
◆ setDrySample
Sets the dry Sample.
The data in the Sample is copied to a new Sample object, which has its memory managed by this Zone. The dry Sample will be set as fresh (not stale).
- Parameters
-
sample | The sample to copy. |
- See also
- getDrySample()
◆ setNote
Sets the MIDI note.
- Parameters
-
- See also
- getNote()
◆ setReleaseTime
virtual void synthclone::Zone::setReleaseTime |
( |
SampleTime |
releaseTime | ) |
|
|
pure virtualslot |
Sets the release time.
- Parameters
-
releaseTime | The release time. |
- See also
- getReleaseTime()
◆ setSampleTime
virtual void synthclone::Zone::setSampleTime |
( |
SampleTime |
sampleTime | ) |
|
|
pure virtualslot |
Sets the sample time.
- Parameters
-
sampleTime | The sample time. |
- See also
- getSampleTime()
◆ setVelocity
Sets the MIDI velocity.
- Parameters
-
velocity | The MIDI velocity. |
- See also
- getVelocity()
◆ setWetSampleStale
virtual void synthclone::Zone::setWetSampleStale |
( |
| ) |
|
|
pure virtualslot |
◆ statusChanged
Emitted when a zone's status is changed.
- Parameters
-
◆ velocityChanged
Emitted when the MIDI velocity is changed.
- Parameters
-
velocity | The new MIDI velocity. |
◆ wetSampleChanged
Emitted when the wet Sample is changed.
Note that the wet Sample can be set to 0.
- Parameters
-
wetSample | The new wet Sample (or lack thereof). |
◆ wetSampleStaleChanged
void synthclone::Zone::wetSampleStaleChanged |
( |
bool |
stale | ) |
|
|
signal |
Emitted when the wet Sample is (un)marked as stale.
- Parameters
-
stale | Whether or not the wet Sample is now stale. |
The documentation for this class was generated from the following file: