|
LMMS
|
#include <Controller.h>
Public Member Functions | |
| Controller (const SYNTH_T &synth, const AbsTime *time=nullptr) | |
| Controller & | operator= (const Controller &c) |
| ~Controller () | |
| void | resetall () |
| void | add2XML (XMLwrapper &xml) |
| void | defaults () |
| void | getfromXML (XMLwrapper &xml) |
| void | setpitchwheel (int value) |
| void | setexpression (int value) |
| void | setpanning (int value) |
| void | setfiltercutoff (int value) |
| void | setfilterq (int value) |
| void | setbandwidth (int value) |
| void | setmodwheel (int value) |
| void | setfmamp (int value) |
| void | setvolume (int value) |
| void | setsustain (int value) |
| void | setportamento (int value) |
| void | setresonancecenter (int value) |
| void | setresonancebw (int value) |
| void | setparameternumber (unsigned int type, int value) |
| int | getnrpn (int *parhi, int *parlo, int *valhi, int *vallo) |
| int | initportamento (float oldfreq, float newfreq, bool legatoflag) |
| void | updateportamento () |
Public Attributes | |
| struct { | |
| int data | |
| bool is_split | |
| short int bendrange | |
| short int bendrange_down | |
| float relfreq | |
| } | pitchwheel |
| struct { | |
| int data | |
| float relvolume | |
| unsigned char receive | |
| } | expression |
| struct { | |
| int data | |
| float pan | |
| unsigned char depth | |
| } | panning |
| struct { | |
| int data | |
| float relfreq | |
| unsigned char depth | |
| } | filtercutoff |
| struct { | |
| int data | |
| float relq | |
| unsigned char depth | |
| } | filterq |
| struct { | |
| int data | |
| float relbw | |
| unsigned char depth | |
| unsigned char exponential | |
| } | bandwidth |
| struct { | |
| int data | |
| float relmod | |
| unsigned char depth | |
| unsigned char exponential | |
| } | modwheel |
| struct { | |
| int data | |
| float relamp | |
| unsigned char receive | |
| } | fmamp |
| struct { | |
| int data | |
| float volume | |
| unsigned char receive | |
| } | volume |
| struct { | |
| int data | |
| int sustain | |
| unsigned char receive | |
| } | sustain |
| struct { | |
| int data | |
| unsigned char portamento | |
| unsigned char receive | |
| unsigned char time | |
| unsigned char proportional | |
| unsigned char propRate | |
| unsigned char propDepth | |
| unsigned char pitchthresh | |
| unsigned char pitchthreshtype | |
| unsigned char updowntimestretch | |
| float freqrap | |
| int noteusing | |
| int used | |
| float x | |
| float dx | |
| float origfreqrap | |
| } | portamento |
| struct { | |
| int data | |
| float relcenter | |
| unsigned char depth | |
| } | resonancecenter |
| struct { | |
| int data | |
| float relbw | |
| unsigned char depth | |
| } | resonancebandwidth |
| struct { | |
| int parhi | |
| int parlo | |
| int valhi | |
| int vallo | |
| unsigned char receive | |
| } | NRPN |
| const AbsTime * | time |
| int64_t | last_update_timestamp |
Static Public Attributes | |
| static const rtosc::Ports | ports |
Private Attributes | |
| const SYNTH_T & | synth |
(Midi) Controllers implementation
| Controller::~Controller | ( | ) |
| void Controller::add2XML | ( | XMLwrapper & | xml | ) |
| void Controller::defaults | ( | ) |
| void Controller::getfromXML | ( | XMLwrapper & | xml | ) |
| int Controller::initportamento | ( | float | oldfreq, |
| float | newfreq, | ||
| bool | legatoflag ) |
Initialize a portamento
| oldfreq | Starting frequency of the portamento (Hz) |
| newfreq | Ending frequency of the portamento (Hz) |
| legatoflag | true when legato is in progress, false otherwise |
| Controller & Controller::operator= | ( | const Controller & | c | ) |
| void Controller::resetall | ( | ) |
Enable or disable portamento
| value | 0-127 MIDI value (greater than 64 enables) |
| void Controller::updateportamento | ( | ) |
Update portamento's freqrap to next value based upon dx
| struct { ... } zyncarla::Controller::bandwidth |
| short int zyncarla::Controller::bendrange |
| short int zyncarla::Controller::bendrange_down |
| int zyncarla::Controller::data |
<Portamento
| unsigned char zyncarla::Controller::depth |
| float zyncarla::Controller::dx |
dx is the increment to x when updateportamento is called
| unsigned char zyncarla::Controller::exponential |
| struct { ... } zyncarla::Controller::expression |
| struct { ... } zyncarla::Controller::filtercutoff |
| struct { ... } zyncarla::Controller::filterq |
| struct { ... } zyncarla::Controller::fmamp |
| float zyncarla::Controller::freqrap |
this value is used to compute the actual portamento
This is a multiplyer to change the frequency of the newer frequency to fit the profile of the portamento. This will be linear with respect to x.
| bool zyncarla::Controller::is_split |
| int64_t zyncarla::Controller::last_update_timestamp |
| struct { ... } zyncarla::Controller::modwheel |
| int zyncarla::Controller::noteusing |
this is used by the Part for knowing which note uses the portamento
| struct { ... } zyncarla::Controller::NRPN |
RPN and NPRPN
| float zyncarla::Controller::origfreqrap |
this is used for computing oldfreq value from x
| float zyncarla::Controller::pan |
| struct { ... } zyncarla::Controller::panning |
| int zyncarla::Controller::parhi |
| int zyncarla::Controller::parlo |
| unsigned char zyncarla::Controller::pitchthresh |
pitchthresh is the threshold of enabling protamento
| unsigned char zyncarla::Controller::pitchthreshtype |
enable the portamento only below(0)/above(1) the threshold
| struct { ... } zyncarla::Controller::pitchwheel |
| struct { ... } zyncarla::Controller::portamento |
| unsigned char zyncarla::Controller::portamento |
|
static |
| unsigned char zyncarla::Controller::propDepth |
Depth of proportinal portamento
| unsigned char zyncarla::Controller::proportional |
If the portamento is proportinal to the distance spanned
0 - constant time(default) 1 - proportional
| unsigned char zyncarla::Controller::propRate |
Rate of proportinal portamento
| unsigned char zyncarla::Controller::receive |
Whether the portamento midi events are received or not
| float zyncarla::Controller::relamp |
| float zyncarla::Controller::relbw |
| float zyncarla::Controller::relcenter |
| float zyncarla::Controller::relfreq |
| float zyncarla::Controller::relmod |
| float zyncarla::Controller::relq |
| float zyncarla::Controller::relvolume |
| struct { ... } zyncarla::Controller::resonancebandwidth |
| struct { ... } zyncarla::Controller::resonancecenter |
| struct { ... } zyncarla::Controller::sustain |
| int zyncarla::Controller::sustain |
| unsigned char zyncarla::Controller::time |
The time that it takes for the portamento to complete
Translates in an expontal fashion to 0 Seconds to 1.93f Seconds of completion time
| unsigned char zyncarla::Controller::updowntimestretch |
this value represent how the portamento time is reduced 0 - for down portamento 1-63 - the up portamento's time is smaller than the down portamento 64 - the portamento time is always the same 64-126 - the down portamento's time is smaller than the up portamento 127 - for upper portamento 'up portamento' means when the frequency is rising (eg: the portamento is from 200Hz to 300 Hz) 'down portamento' means when the frequency is lowering (eg: the portamento is from 300Hz to 200 Hz)
| int zyncarla::Controller::valhi |
| int zyncarla::Controller::vallo |
| struct { ... } zyncarla::Controller::volume |
| float zyncarla::Controller::volume |
| float zyncarla::Controller::x |
x is from 0.0f (start portamento) to 1.0f (finished portamento)