Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom effect example #1284

Closed

Conversation

squarewavesbelow
Copy link

This is a very simple utility effect, with a gain knob and a mute switch for input channels. Purpose of this PR is to reference it in a basic wiki tutorial/guide on effects development for mixxx.

@Be-ing
Copy link
Contributor

Be-ing commented Jun 19, 2017

Do you want to have this merged or leave it as an unmerged pull request that can be referenced from a tutorial? I think we could merge it if the lines registering this effect in src/effects/native/nativebackend.cpp and builds/depends.py are commented out. I think "Example Effect" would be a better name than "Custom DSP Effect".

@squarewavesbelow
Copy link
Author

I just wrote it to be referenced in the wiki article of a mixxx effect development guide. To be honest I found it quite useful as a quick and dirty utility effect to mute the effect chain I am working on, and if there is interest in such a utility effect (or a set of utility effects i.e mute/dc/gain/panning/phase) it would be meaningful to be further developed and merged.
Either way I do also believe that example effect is a more suitable name, so I will change naming and commit back.

@Be-ing
Copy link
Contributor

Be-ing commented Jun 20, 2017

I think it will be helpful to merge it. If it is left out of the upstream code base it will likely not get updated as changes are made to the effects system.

@daschuer
Copy link
Member

I don't think we need it in this stage in the code base. We have already other simple effects like bit rushed, that can be treated as an example. If you think we have a use case for a gain effect, we can include it. But this requires a popper naming here and ramping to avoid crackling.
I can also think of other one liner effects that could be usefull for learning effects, for example a tanh limiter, or other transpose effects.

@@ -6,6 +6,7 @@
#include "effects/native/bessel4lvmixeqeffect.h"
#include "effects/native/bessel8lvmixeqeffect.h"
#include "effects/native/bitcrushereffect.h"
#include "../effects/native/utilityeffect.h"
Copy link
Member

Choose a reason for hiding this comment

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

please use includes relative to the src directory, without ../

EffectManifest manifest;
manifest.setId(getId());
manifest.setName(QObject::tr("Utility"));
manifest.setAuthor("sqrwvzblw");
Copy link
Member

Choose a reason for hiding this comment

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

hää? I think we use "The Mixxx Team" in the other effects.



const int kChannels = 2;
for (unsigned int i = 0; i < numSamples; i += kChannels) {
Copy link
Member

Choose a reason for hiding this comment

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

we have vectorized functions for this case. SampleUtil::copyWithRampingGain() or similar. Pleas try to make use of this.

@daschuer
Copy link
Member

Why is it now called Utility and not just Gain?

@Be-ing
Copy link
Contributor

Be-ing commented Apr 18, 2018

This has not been updated in a long time and it is not clear that this is something that should be merged into the Mixxx code, so I am closing this PR.

@Be-ing Be-ing closed this Apr 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants