// static EffectManifest FilterEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Filter")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr("The filter changes the tone of the " "music by allowing only high or low " "frequencies to pass through.")); manifest.setEffectRampsFromDry(true); manifest.setIsForFilterKnob(true); EffectManifestParameter* lpf = manifest.addParameter(); lpf->setId("lpf"); lpf->setName(QObject::tr("LPF")); lpf->setDescription(QObject::tr("Corner frequency ratio of the low pass filter")); lpf->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); lpf->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); lpf->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); lpf->setDefaultLinkType(EffectManifestParameter::LINK_LINKED_LEFT); lpf->setNeutralPointOnScale(1); lpf->setDefault(kMaxCorner); lpf->setMinimum(kMinCorner); lpf->setMaximum(kMaxCorner); EffectManifestParameter* q = manifest.addParameter(); q->setId("q"); q->setName(QObject::tr("Q")); q->setDescription(QObject::tr("Resonance of the filters, default = Flat top")); q->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); q->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); q->setUnitsHint(EffectManifestParameter::UNITS_SAMPLERATE); q->setDefault(2.8); // 0.707106781 = Butterworth q->setMinimum(0.4); q->setMaximum(4.0); EffectManifestParameter* hpf = manifest.addParameter(); hpf->setId("hpf"); hpf->setName(QObject::tr("HPF")); hpf->setDescription(QObject::tr("Corner frequency ratio of the high pass filter")); hpf->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); hpf->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); hpf->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); hpf->setDefaultLinkType(EffectManifestParameter::LINK_LINKED_RIGHT); hpf->setNeutralPointOnScale(0.0); hpf->setDefault(kMinCorner); hpf->setMinimum(kMinCorner); hpf->setMaximum(kMaxCorner); return manifest; }
// static EffectManifest MoogLadder4FilterEffect::getManifest() { EffectManifest manifest; manifest.setId(getId()); manifest.setName(QObject::tr("Moog Ladder 4 Filter")); manifest.setAuthor("The Mixxx Team"); manifest.setVersion("1.0"); manifest.setDescription(QObject::tr( "A 4-pole Moog ladder filter, based on Antti Houvilainen's non linear digital implementation")); manifest.setEffectRampsFromDry(true); manifest.setIsForFilterKnob(true); EffectManifestParameter* lpf = manifest.addParameter(); lpf->setId("lpf"); lpf->setName(QObject::tr("LPF")); lpf->setDescription(QObject::tr("Corner frequency ratio of the low pass filter")); lpf->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); lpf->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); lpf->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); lpf->setDefaultLinkType(EffectManifestParameter::LINK_LINKED_LEFT); lpf->setNeutralPointOnScale(1); lpf->setDefault(kMaxCorner); lpf->setMinimum(kMinCorner); lpf->setMaximum(kMaxCorner); EffectManifestParameter* q = manifest.addParameter(); q->setId("resonance"); q->setName(QObject::tr("Resonance")); q->setDescription(QObject::tr("Resonance of the filters. 4 = self oscillating")); q->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); q->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); q->setUnitsHint(EffectManifestParameter::UNITS_SAMPLERATE); q->setDefault(0); q->setMinimum(0.0); q->setMaximum(4.0); EffectManifestParameter* hpf = manifest.addParameter(); hpf->setId("hpf"); hpf->setName(QObject::tr("HPF")); hpf->setDescription(QObject::tr("Corner frequency ratio of the high pass filter")); hpf->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC); hpf->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN); hpf->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN); hpf->setDefaultLinkType(EffectManifestParameter::LINK_LINKED_RIGHT); hpf->setNeutralPointOnScale(0.0); hpf->setDefault(kMinCorner); hpf->setMinimum(kMinCorner); hpf->setMaximum(kMaxCorner); return manifest; }