|
|
This utility class provides you with more quantising capabilities than you ever dreamt possible.
The class is used by specifying the set of parameters to run the PowerQuantise with, and then providing a (tidied) PhraseEdit object containing the source MidiData to quantise. Once the PowerQuantiser is run, the PhraseEdit will contain tidied, (powerfully) quantised MidiData.
Some of the facilities provided by PowerQuantise are:
See also: PhraseEdit, PowerQuantise::Pattern
PowerQuantise ()
| PowerQuantise |
Creates a PowerQuantise object with a sensible default set-up.
Pattern (class) | Pattern |
This class represents the PowerQuantise pattern, or 'groove'. It is basically a set of Clock points which the PowerQuantise should snap events to.
See also: PowerQuantise
Pattern & pattern ()
| pattern |
int by ()
| by |
[const]
Returns the percentage by which events will be quantised towards a snap point. 100% will move the command exactly to the snap point. 50% will move it half way towards it. 110% will move the event just past the snap point.
This is a way of preventing the quantised MidiData from sounding too mechanised.
See also: setBy
void setBy (int by)
| setBy |
Sets the percentage shift value.
See also: by
int window ()
| window |
[const]
This is a percentage value that controls which MIDI events get quantised. At 0% no events will be quantised. As the value increases, events near to (and then further away from) snaps points begin to get quantised. At 100% all MIDI events will be quantised.
See also: setWindow
void setWindow (int window)
| setWindow |
Sets the window value.
See also: setWindow
bool onlySelected ()
| onlySelected |
[const]
If true, this parameter forces PowerQuantise to only alter selected events. (This uses the selected bit in a MidiCommand). If false, PowerQuantise alters all events (that pass other event filters).
See also: setOnlySelected
void setOnlySelected (bool s)
| setOnlySelected |
Sets the onlySelected value.
See also: onlySelected
bool onlyNotes ()
| onlyNotes |
[const]
If true, this parameter forces PowerQuantise to only alter note MIDI events. If false, PowerQuantise alters all events (that pass other event filters).
See also: setOnlyNotes
void setOnlyNotes (bool n)
| setOnlyNotes |
Sets the onlyNotes value.
See also: onlyNotes
bool spreadCtrl ()
| spreadCtrl |
[const]
This is a very powerful feature that prevents continuous MIDI controller events (pitch bend, pan, reverb, etc) being pulled toward snap points as most sequencers will do. This tends to remove the continuous nature of the pattern of these events.
Enabling this feature spreads the controllers between their surrounding note events after the quantisation. This spread will follow the same pattern that they originally were positoned in. This means that pitch bend slides, for example, will sound pretty much as they did prior to the quantise.
See also: setSpreadCtrl
void setSpreadCtrl (bool s)
| setSpreadCtrl |
Sets the spreadCtrl value.
See also: spreadCtrl
enum Direction { nearest, backwards, forwards } | Direction |
Direction direction ()
| direction |
[const]
This returns which snap point a MIDI event moves towards. This will normally be the nearest available snap point, but you can shoose to snap all events forwards or backwards.
See also: setDirection
void setDirection (Direction d)
| setDirection |
Sets the direction value.
See also: direction
enum Length { quantiseOffTime, quantiseLength } | Length |
Length length ()
| length |
[const]
This returns what PowerQuantise does with MidiCommand_NoteOffs. You can choose to either snap the length of a MidiCommand_NoteOn to MidiCommand_NoteOff to the pattern, or quantise the actual time of the MidiCommand_NoteOff.
You can also specify separate percentage shift and humanise values for note lengths.
See also: setDirection
void setLength (Length l)
| setLength |
Sets the length value.
See also: length
int lengthBy ()
| lengthBy |
[const]
Returns the percentage by which note lengths are moved towards their quantised value.
See also: by, setLengthBy
void setLengthBy (int by)
| setLengthBy |
Sets the percentage shift value.
See also: lengthBy
TSE3::Clock humanise ()
| humanise |
[const]
After an event is quantised, you can choose to have it moved by a random value (up to the a specified number of pulses which is returned by this function).
This is an alternative way of preventing the quantised MidiData sounding 'mechanised' by introducing slight human-like errors.
A value of zero will disable the humanise facility.
See also: setHumanise, lengthHumanzie
void setHumanise (TSE3::Clock h)
| setHumanise |
Sets the humanise value.
See also: humanise
TSE3::Clock lengthHumanise ()
| lengthHumanise |
[const]
This is a separate value of humanise which applies to MidiCommand_NoteOff MIDI events.
See also: humanise, setLengthHumanise
void setLengthHumanise (TSE3::Clock h)
| setLengthHumanise |
Sets the length humanise value.
See also: lengthHumanise
void go (TSE3::PhraseEdit *phraseEdit)
| go |
Do the PowerQuantise on the given PhraseEdit.