// static EffectManifest LinkwitzRiley8EQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("LinkwitzRiley8 Isolator")); manifest.setShortName(QObject::tr("LR8 ISO")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "A Linkwitz-Riley 8th-order filter isolator (optimized crossover, constant phase shift, roll-off -48 dB/octave).") + " " + EqualizerUtil::adjustFrequencyShelvesTip()); manifest.setIsMixingEQ(true); EqualizerUtil::createCommonParameters(&manifest); return manifest; }
// static EffectManifest Bessel4LVMixEQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Bessel4 LV-Mix Isolator")); manifest.setShortName(QObject::tr("Bessel4 ISO")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "A Bessel 4th-order filter isolator with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -24 dB/octave).") + " " + EqualizerUtil::adjustFrequencyShelvesTip()); manifest.setIsMixingEQ(true); manifest.setEffectRampsFromDry(true); EqualizerUtil::createCommonParameters(&manifest); return manifest; }
// static EffectManifest BiquadFullKillEQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Biquad Full Kill Equalizer")); manifest.setShortName(QObject::tr("BQ EQ/ISO")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "A 3-band Equalizer that combines an Equalizer and an Isolator circuit to offer gentle slopes and full kill.") + " " + EqualizerUtil::adjustFrequencyShelvesTip()); manifest.setEffectRampsFromDry(true); manifest.setIsMixingEQ(true); EqualizerUtil::createCommonParameters(&manifest); return manifest; }
// static EffectManifest ThreeBandBiquadEQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Biquad Equalizer")); manifest.setShortName(QObject::tr("BQ EQ")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "A 3-band Equalizer with two biquad bell filters, a shelving high pass and kill switches.") + " " + EqualizerUtil::adjustFrequencyShelvesTip()); manifest.setEffectRampsFromDry(true); manifest.setIsMixingEQ(true); EqualizerUtil::createCommonParameters(&manifest); for (auto&& parameter : manifest.parameters()) { if (parameter.id() == "low" || parameter.id() == "mid" || parameter.id() == "high") { parameter.setControlHint(EffectManifestParameter::ControlHint::KNOB_LINEAR); parameter.setMaximum(2.0); } } return manifest; }
// static EffectManifest Bessel4LVMixEQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Bessel4 LV-Mix EQ")); manifest.setShortName(QObject::tr("Bessel4 EQ")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "A Bessel 4th order filter equalizer with Lipshitz and Vanderkooy mix (bit perfect unity, roll-off -24 db/Oct). " "To adjust frequency shelves see the Equalizer preferences.")); manifest.setIsMixingEQ(true); manifest.setEffectRampsFromDry(true); EffectManifestParameter* low = manifest.addParameter(); low->setId("low"); low->setName(QObject::tr("Low")); low->setDescription(QObject::tr("Gain for Low Filter")); low->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); low->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); low->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); low->setNeutralPointOnScale(0.5); low->setDefault(1.0); low->setMinimum(0); low->setMaximum(4.0); EffectManifestParameter* killLow = manifest.addParameter(); killLow->setId("killLow"); killLow->setName(QObject::tr("Kill Low")); killLow->setDescription(QObject::tr("Kill the Low Filter")); killLow->setControlHint(EffectManifestParameter::CONTROL_TOGGLE_STEPPING); killLow->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); killLow->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); killLow->setDefault(0); killLow->setMinimum(0); killLow->setMaximum(1); EffectManifestParameter* mid = manifest.addParameter(); mid->setId("mid"); mid->setName(QObject::tr("Mid")); mid->setDescription(QObject::tr("Gain for Band Filter")); mid->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); mid->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); mid->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); mid->setNeutralPointOnScale(0.5); mid->setDefault(1.0); mid->setMinimum(0); mid->setMaximum(4.0); EffectManifestParameter* killMid = manifest.addParameter(); killMid->setId("killMid"); killMid->setName(QObject::tr("Kill Mid")); killMid->setDescription(QObject::tr("Kill the Mid Filter")); killMid->setControlHint(EffectManifestParameter::CONTROL_TOGGLE_STEPPING); killMid->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); killMid->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); killMid->setDefault(0); killMid->setMinimum(0); killMid->setMaximum(1); EffectManifestParameter* high = manifest.addParameter(); high->setId("high"); high->setName(QObject::tr("High")); high->setDescription(QObject::tr("Gain for High Filter")); high->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); high->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); high->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); high->setNeutralPointOnScale(0.5); high->setDefault(1.0); high->setMinimum(0); high->setMaximum(4.0); EffectManifestParameter* killHigh = manifest.addParameter(); killHigh->setId("killHigh"); killHigh->setName(QObject::tr("Kill High")); killHigh->setDescription(QObject::tr("Kill the High Filter")); killHigh->setControlHint(EffectManifestParameter::CONTROL_TOGGLE_STEPPING); killHigh->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); killHigh->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); killHigh->setDefault(0); killHigh->setMinimum(0); killHigh->setMaximum(1); return manifest; }
// static EffectManifest FlangerEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Flanger")); manifest.setShortName(QObject::tr("Flanger")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "Mixes the input with a delayed, pitch modulated copy of itself to create comb filtering")); EffectManifestParameter* speed = manifest.addParameter(); speed->setId("speed"); speed->setName(QObject::tr("Speed")); speed->setShortName(QObject::tr("Speed")); speed->setDescription(QObject::tr( "Speed of the LFO (low frequency oscillator)\n" "32 - 1/4 beats rounded to 1/2 beat per LFO cycle if tempo is detected\n" "1/32 - 4 Hz if no tempo is detected")); speed->setControlHint(EffectManifestParameter::ControlHint::KNOB_LOGARITHMIC_INVERSE); speed->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); speed->setMinimum(kMinLfoBeats); speed->setMaximum(kMaxLfoBeats); speed->setDefault(8); EffectManifestParameter* width = manifest.addParameter(); width->setId("width"); width->setName(QObject::tr("Width")); width->setShortName(QObject::tr("Width")); width->setDescription(QObject::tr( "Delay amplitude of the LFO (low frequency oscillator)")); width->setControlHint(EffectManifestParameter::ControlHint::KNOB_LOGARITHMIC); width->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); width->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); width->setDefault(kMaxLfoWidthMs / 2); width->setMinimum(0.0); width->setMaximum(kMaxLfoWidthMs); EffectManifestParameter* manual = manifest.addParameter(); manual->setId("manual"); manual->setName(QObject::tr("Manual")); manual->setShortName(QObject::tr("Manual")); manual->setDescription(QObject::tr( "Delay offset of the LFO (low frequency oscillator).\n" "With width at zero, this allows for manually sweeping over the entire delay range.")); manual->setControlHint(EffectManifestParameter::ControlHint::KNOB_LOGARITHMIC); manual->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); manual->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); manual->setDefault(kCenterDelayMs); manual->setMinimum(kMinDelayMs); manual->setMaximum(kMaxDelayMs); EffectManifestParameter* regen = manifest.addParameter(); regen->setId("regen"); regen->setName(QObject::tr("Regeneration")); regen->setShortName(QObject::tr("Regen")); regen->setDescription(QObject::tr( "How much of the delay output is feed back into the input")); regen->setControlHint(EffectManifestParameter::ControlHint::KNOB_LINEAR); regen->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); regen->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); regen->setDefault(0.25); regen->setMinimum(0.0); regen->setMaximum(1.0); EffectManifestParameter* mix = manifest.addParameter(); mix->setId("mix"); mix->setName(QObject::tr("Mix")); mix->setShortName(QObject::tr("Mix")); mix->setDescription(QObject::tr( "Intensity of the effect")); mix->setControlHint(EffectManifestParameter::ControlHint::KNOB_LINEAR); mix->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); mix->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); mix->setDefaultLinkType(EffectManifestParameter::LinkType::LINKED); mix->setDefault(1.0); mix->setMinimum(0.0); mix->setMaximum(1.0); EffectManifestParameter* triplet = manifest.addParameter(); triplet->setId("triplet"); triplet->setName(QObject::tr("Triplets")); triplet->setShortName(QObject::tr("Triplets")); triplet->setDescription(QObject::tr( "Divide rounded 1/2 beats of the Period parameter by 3.")); triplet->setControlHint(EffectManifestParameter::ControlHint::TOGGLE_STEPPING); triplet->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); triplet->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); triplet->setDefault(0); triplet->setMinimum(0); triplet->setMaximum(1); return manifest; }
// static EffectManifest GraphicEQEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Graphic Equalizer")); manifest.setShortName(QObject::tr("Graphic EQ")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "An 8-band graphic equalizer based on biquad filters")); manifest.setEffectRampsFromDry(true); manifest.setIsMasterEQ(true); // Display rounded center frequencies for each filter float centerFrequencies[8] = {45, 100, 220, 500, 1100, 2500, 5500, 12000}; EffectManifestParameter* low = manifest.addParameter(); low->setId(QString("low")); low->setName(QString("%1 Hz").arg(centerFrequencies[0])); low->setDescription(QObject::tr("Gain for Low Filter")); low->setControlHint(EffectManifestParameter::ControlHint::KNOB_LINEAR); low->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); low->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); low->setNeutralPointOnScale(0.5); low->setDefault(0); low->setMinimum(-12); low->setMaximum(12); QString paramName; for (int i = 0; i < 6; i++) { if (centerFrequencies[i + 1] < 1000) { paramName = QString("%1 Hz").arg(centerFrequencies[i + 1]); } else { paramName = QString("%1 kHz").arg(centerFrequencies[i + 1] / 1000); } EffectManifestParameter* mid = manifest.addParameter(); mid->setId(QString("mid%1").arg(i)); mid->setName(paramName); mid->setDescription(QObject::tr("Gain for Band Filter %1").arg(i + 1)); mid->setControlHint(EffectManifestParameter::ControlHint::KNOB_LINEAR); mid->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); mid->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); mid->setNeutralPointOnScale(0.5); mid->setDefault(0); mid->setMinimum(-12); mid->setMaximum(12); } EffectManifestParameter* high = manifest.addParameter(); high->setId(QString("high")); high->setName(QString("%1 kHz").arg(centerFrequencies[7] / 1000)); high->setDescription(QObject::tr("Gain for High Filter")); high->setControlHint(EffectManifestParameter::ControlHint::KNOB_LINEAR); high->setSemanticHint(EffectManifestParameter::SemanticHint::UNKNOWN); high->setUnitsHint(EffectManifestParameter::UnitsHint::UNKNOWN); high->setDefault(0); high->setMinimum(-12); high->setMaximum(12); return manifest; }