// generated by lv2ttl2c from
// http://gareus.org/oss/lv2/fat1#scales

extern const LV2_Descriptor* lv2_descriptor(uint32_t index);
extern const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index);

static const RtkLv2Description _fat1_scales = {
	&lv2_descriptor,
	&lv2ui_descriptor
	, 2 // uint32_t dsp_descriptor_id
	, 0 // uint32_t gui_descriptor_id
	, "x42-Autotune (scales)" // const char *plugin_human_id
	, (const struct LV2Port[18])
	{
		{ "midiin", MIDI_IN, nan, nan, nan, "MIDI In"},
		{ "in", AUDIO_IN, nan, nan, nan, "Input"},
		{ "out", AUDIO_OUT, nan, nan, nan, "Output"},
		{ "mode", CONTROL_IN, 0.000000, 0.000000, 2.000000, "Mode"},
		{ "channelf", CONTROL_IN, 0.000000, 0.000000, 16.000000, "MIDI Channel (1..16) on which the filter is active; 0: any)."},
		{ "tuning", CONTROL_IN, 440.000000, 400.000000, 480.000000, "This sets the frequency corresponding to 'A' pitch, in other words the required tuning. This will be the default 440 Hz in most cases."},
		{ "bias", CONTROL_IN, 0.500000, 0.000000, 1.000000, "Normally the pitch estimator will select the enabled note closest to the measured pitch. The Bias control adds some preference for the current note - this allows it to go off-tune more than would be the case otherwise."},
		{ "filter", CONTROL_IN, 0.100000, 0.020000, 0.500000, "This sets the amount of smoothing on the pitch correction while the current note does not change. If it does change the filter is bypassed and the correction jumps immediately to the new value."},
		{ "corr", CONTROL_IN, 1.000000, 0.000000, 1.000000, "Determines how much of the estimated pitch error gets corrected. Full correction may remove expression or vibrato."},
		{ "offset", CONTROL_IN, 0.000000, -2.000000, 2.000000, "Adds an offset in the range of +/- two semitones to the pitch correction. With the Correction control set to zero the result is a constant pitch change."},
		{ "bendrange", CONTROL_IN, 2.000000, 0.000000, 7.000000, "Configures the effect range of MIDI pitch-bend messages. Pitch-bend is added to the pitch correction offset."},
		{ "fastmode", CONTROL_IN, 0.000000, 0.000000, 1.000000, "Reduces latency by allowing initially uncorrected signal. This can be useful in live situations."},
		{ "scale", CONTROL_IN, 0.000000, 0.000000, 24.000000, "Scale"},
		{ "nmask", CONTROL_OUT, nan, 0.000000, 4096.000000, "Note Mask"},
		{ "nset", CONTROL_OUT, nan, 0.000000, 4096.000000, "Note Set"},
		{ "bend", CONTROL_OUT, nan, -1.000000, 1.000000, "Pitch Bend"},
		{ "error", CONTROL_OUT, nan, -1.000000, 1.000000, "Pitch Error"},
		{ "latency", CONTROL_OUT, nan, 0.000000, 4096.000000, "latency"},
	}
	, 18 // uint32_t nports_total
	, 1 // uint32_t nports_audio_in
	, 1 // uint32_t nports_audio_out
	, 1 // uint32_t nports_midi_in
	, 0 // uint32_t nports_midi_out
	, 0 // uint32_t nports_atom_in
	, 0 // uint32_t nports_atom_out
	, 15 // uint32_t nports_ctrl
	, 10 // uint32_t nports_ctrl_in
	, 5 // uint32_t nports_ctrl_out
	, 8192 // uint32_t min_atom_bufsiz
	, false // bool send_time_info
	, 17 // uint32_t latency_ctrl_port
};
