Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 26 additions & 28 deletions src/effects/native/autopaneffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,31 +26,6 @@ EffectManifest AutoPanEffect::getManifest() {
"A delay, inversed on each side, is added to increase the "
"spatial move and the period can be synced with the BPM."));

// Width : applied on the channel with gain reducing.
EffectManifestParameter* width = manifest.addParameter();
width->setId("width");
width->setName(QObject::tr("Width"));
width->setDescription("How far the signal goes on the left or on the right");
width->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
width->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
width->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
width->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
width->setMinimum(0.0);
width->setMaximum(1.0); // 0.02 * sampleRate => 20ms
width->setDefault(0.5);

// Period unit
EffectManifestParameter* periodUnit = manifest.addParameter();
periodUnit->setId("periodUnit");
periodUnit->setName(QObject::tr("Sync"));
periodUnit->setDescription(QObject::tr("Synchronizes the period with the BPM if it can be retrieved"));
periodUnit->setControlHint(EffectManifestParameter::CONTROL_TOGGLE_STEPPING);
periodUnit->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
periodUnit->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
periodUnit->setDefault(1);
periodUnit->setMinimum(0);
periodUnit->setMaximum(1);

// Period
// The maximum is at 128 + 1 allowing 128 as max value and
// enabling us to pause time when the parameter is above
Expand All @@ -62,8 +37,6 @@ EffectManifest AutoPanEffect::getManifest() {
period->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC);
period->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
period->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
period->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
period->setDefaultLinkInversion(EffectManifestParameter::LinkInversion::INVERTED);
period->setMinimum(0.0625); // 1 / 16
period->setMaximum(129.0); // 128 + 1
period->setDefault(3.0);
Expand All @@ -80,10 +53,35 @@ EffectManifest AutoPanEffect::getManifest() {
smoothing->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
smoothing->setMinimum(0.0);
smoothing->setMaximum(0.5); // there are two steps per period so max is half
smoothing->setDefault(0.25);
smoothing->setDefault(0.5);
// TODO(Ferran Pujol): when KnobComposedMaskedRing branch is merged to master,
// make the scaleStartParameter for this be 1.

// Width : applied on the channel with gain reducing.
EffectManifestParameter* width = manifest.addParameter();
width->setId("width");
width->setName(QObject::tr("Width"));
width->setDescription("How far the signal goes on the left or on the right");
width->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
width->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
width->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
width->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
width->setMinimum(0.0);
width->setMaximum(1.0); // 0.02 * sampleRate => 20ms
width->setDefault(0.5);

// Period unit
EffectManifestParameter* periodUnit = manifest.addParameter();
periodUnit->setId("periodUnit");
periodUnit->setName(QObject::tr("Sync"));
periodUnit->setDescription(QObject::tr("Synchronizes the period with the BPM if it can be retrieved"));
periodUnit->setControlHint(EffectManifestParameter::CONTROL_TOGGLE_STEPPING);
periodUnit->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
periodUnit->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
periodUnit->setDefault(1);
periodUnit->setMinimum(0);
periodUnit->setMaximum(1);

return manifest;
}

Expand Down
30 changes: 15 additions & 15 deletions src/effects/native/echoeffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,6 @@ EffectManifest EchoEffect::getManifest() {
manifest.setVersion("1.0");
manifest.setDescription(QObject::tr("Simple Echo with pingpong"));

EffectManifestParameter* send = manifest.addParameter();
send->setId("send_amount");
send->setName(QObject::tr("Send"));
send->setDescription(
QObject::tr("How much of the signal to send into the delay buffer"));
send->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
send->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
send->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
send->setMinimum(0.0);
send->setDefault(1.0);
send->setMaximum(1.0);

EffectManifestParameter* delay = manifest.addParameter();
delay->setId("delay_time");
delay->setName(QObject::tr("Delay"));
Expand All @@ -44,7 +32,7 @@ EffectManifest EchoEffect::getManifest() {
delay->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
delay->setUnitsHint(EffectManifestParameter::UNITS_TIME);
delay->setMinimum(0.1);
delay->setDefault(0.5);
delay->setDefault(1.0);
delay->setMaximum(EchoGroupState::kMaxDelaySeconds);

EffectManifestParameter* feedback = manifest.addParameter();
Expand All @@ -55,9 +43,8 @@ EffectManifest EchoEffect::getManifest() {
feedback->setControlHint(EffectManifestParameter::CONTROL_KNOB_LOGARITHMIC);
feedback->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
feedback->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
feedback->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
feedback->setMinimum(0.00);
feedback->setDefault(0.40);
feedback->setDefault(0.5);
feedback->setMaximum(1.0);

EffectManifestParameter* pingpong = manifest.addParameter();
Expand All @@ -74,6 +61,19 @@ EffectManifest EchoEffect::getManifest() {
pingpong->setDefault(0.0);
pingpong->setMaximum(1.0);

EffectManifestParameter* send = manifest.addParameter();
send->setId("send_amount");
send->setName(QObject::tr("Send"));
send->setDescription(
QObject::tr("How much of the signal to send into the delay buffer"));
send->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
send->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
send->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
send->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
send->setMinimum(0.0);
send->setDefault(1.0);
send->setMaximum(1.0);

return manifest;
}

Expand Down
25 changes: 13 additions & 12 deletions src/effects/native/flangereffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,6 @@ EffectManifest FlangerEffect::getManifest() {
"A simple modulation effect, created by taking the input signal "
"and mixing it with a delayed, pitch modulated copy of itself."));

EffectManifestParameter* depth = manifest.addParameter();
depth->setId("depth");
depth->setName(QObject::tr("Depth"));
depth->setDescription(QObject::tr("Controls the intensity of the effect."));
depth->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
depth->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
depth->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
depth->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
depth->setDefault(0.0);
depth->setMinimum(0.0);
depth->setMaximum(1.0);

EffectManifestParameter* delay = manifest.addParameter();
delay->setId("delay");
delay->setName(QObject::tr("Delay"));
Expand All @@ -58,6 +46,19 @@ EffectManifest FlangerEffect::getManifest() {
period->setMinimum(50000.0);
period->setMaximum(2000000.0);

EffectManifestParameter* depth = manifest.addParameter();
depth->setId("depth");
depth->setName(QObject::tr("Depth"));
depth->setDescription(QObject::tr("Controls the intensity of the effect."));
depth->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
depth->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
depth->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
depth->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
depth->setDefault(0.0);
depth->setMinimum(0.0);
depth->setMaximum(1.0);


return manifest;
}

Expand Down
3 changes: 1 addition & 2 deletions src/effects/native/moogladder4filtereffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ EffectManifest MoogLadder4FilterEffect::getManifest() {
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);
q->setDefault(1.0);

EffectManifestParameter* hpf = manifest.addParameter();
hpf->setId("hpf");
Expand Down Expand Up @@ -104,7 +104,6 @@ void MoogLadder4FilterEffect::processChannel(
const GroupFeatureState& groupFeatures) {
Q_UNUSED(handle);
Q_UNUSED(groupFeatures);
Q_UNUSED(sampleRate);


double resonance = m_pResonance->value();
Expand Down
71 changes: 35 additions & 36 deletions src/effects/native/phasereffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,16 @@ EffectManifest PhaserEffect::getManifest() {
" with a copy passed through a series of all-pass filters."));
manifest.setEffectRampsFromDry(true);

EffectManifestParameter* depth = manifest.addParameter();
depth->setId("depth");
depth->setName(QObject::tr("Depth"));
depth->setDescription("Controls the intensity of the effect.");
depth->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
depth->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
depth->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
depth->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
depth->setDefault(0.0);
depth->setMinimum(0.0);
depth->setMaximum(1.0);
EffectManifestParameter* frequency = manifest.addParameter();
frequency->setId("lfo_frequency");
frequency->setName(QObject::tr("Rate"));
frequency->setDescription(QObject::tr("Controls the speed of the low frequency oscilator."));
frequency->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
frequency->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
frequency->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
frequency->setMinimum(0.0);
frequency->setMaximum(5.0);
frequency->setDefault(2.5);

EffectManifestParameter* range = manifest.addParameter();
range->setId("range");
Expand All @@ -42,21 +41,9 @@ EffectManifest PhaserEffect::getManifest() {
range->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
range->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
range->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
range->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
range->setDefault(0.5);
range->setMinimum(0.05);
range->setMaximum(0.95);

EffectManifestParameter* fb = manifest.addParameter();
fb->setId("feedback");
fb->setName(QObject::tr("Feedback"));
fb->setDescription(QObject::tr("Controls how much of the output signal is looped"));
fb->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
fb->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
fb->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
fb->setDefault(0.0);
fb->setMinimum(-0.95);
fb->setMaximum(0.95);
range->setDefault(0.05);

EffectManifestParameter* stages = manifest.addParameter();
stages->setId("stages");
Expand All @@ -65,20 +52,32 @@ EffectManifest PhaserEffect::getManifest() {
stages->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
stages->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
stages->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
stages->setDefault(3.5);
stages->setMinimum(1.0);
stages->setMaximum(6.0);
stages->setDefault(3.5);

EffectManifestParameter* frequency = manifest.addParameter();
frequency->setId("lfo_frequency");
frequency->setName(QObject::tr("Rate"));
frequency->setDescription(QObject::tr("Controls the speed of the low frequency oscilator."));
frequency->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
frequency->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
frequency->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
frequency->setDefault(0.5);
frequency->setMinimum(0.0);
frequency->setMaximum(5.0);
EffectManifestParameter* fb = manifest.addParameter();
fb->setId("feedback");
fb->setName(QObject::tr("Feedback"));
fb->setDescription(QObject::tr("Controls how much of the output signal is looped"));
fb->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
fb->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
fb->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
fb->setMinimum(-0.95);
fb->setMaximum(0.95);
fb->setDefault(0.0);

EffectManifestParameter* depth = manifest.addParameter();
depth->setId("depth");
depth->setName(QObject::tr("Depth"));
depth->setDescription("Controls the intensity of the effect.");
depth->setControlHint(EffectManifestParameter::CONTROL_KNOB_LINEAR);
depth->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
depth->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
depth->setDefaultLinkType(EffectManifestParameter::LINK_LINKED);
depth->setMinimum(0.5);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can hear a difference with the phaser (with the rest of parameters at their defaults) starting at around 0.2. Did you change this because you find it unnoticeable until 0.5?

Copy link
Copy Markdown
Contributor Author

@Be-ing Be-ing Jan 23, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Listening closer, I do hear an effect at lower values, but it is really subtle. I changed it because I don't think it's good to have to turn up the metaknob half way to really start noticing an effect. Maybe this parameter should have a logarithmic scale?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried changing it to logarithmic and that did not solve the issue.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any other ideas?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope -- I think what you have is fine. I agree it's really subtle when the parameter is that low.

depth->setMaximum(1.0);
depth->setDefault(0.0);

EffectManifestParameter* stereo = manifest.addParameter();
stereo->setId("stereo");
Expand All @@ -87,9 +86,9 @@ EffectManifest PhaserEffect::getManifest() {
stereo->setControlHint(EffectManifestParameter::CONTROL_TOGGLE_STEPPING);
stereo->setSemanticHint(EffectManifestParameter::SEMANTIC_UNKNOWN);
stereo->setUnitsHint(EffectManifestParameter::UNITS_UNKNOWN);
stereo->setDefault(0);
stereo->setMinimum(0);
stereo->setMaximum(1);
stereo->setDefault(0);

return manifest;
}
Expand Down