summaryrefslogtreecommitdiffstats
path: root/src/effects
AgeCommit message (Collapse)Author
2022-09-29Add Distortion effectFerran Pujol Camins
2022-09-21EffectsManager: clarify comment in readEffectsXml()ronso0
2022-09-19Effects: 'next/prev_chain_preset' reuse 'chain_preset_selector'ronso0
2022-09-19Effects: always keep '---' at the top of preset listsronso0
2022-09-19add EffectChainPreset::isReadOnlyronso0
2022-09-19Effects: allow clearing QuickEffect chains via '---' item in preset selectorsronso0
2022-09-03PitchShiftEffect: remove unuseful commentsDavid Chocholaty
The commit removes unuseful comments about retrieving data from RubberBand.
2022-09-03PitchShiftEffect: add semitones mode descriptionDavid Chocholaty
The commit adds the description of rounding to fraction to keep the resulting pitch value in the semitone chromatic scale.
2022-09-03PitchShiftEffect: add range parameter explanationDavid Chocholaty
The commit adds a closer explanation of how the resulting pitch value is changing based on the range value with a couple of real examples.
2022-09-02PitchShiftEffect: explain why the pow is requiredDavid Chocholaty
The commit changes the comment of the pitch value setting with a more detailed explanation of why the pow is needed, and the formula of the calculation is added.
2022-09-02PitchShiftEffect: remove unnecessary commentDavid Chocholaty
This commit removes the unnecessary comment of the setting the formant preserving for the RubberBand processing based on that it just repeats the code.
2022-09-02Effects: add/improve comments on chain presetsronso0
2022-09-02PitchShiftEffect: add description commentsDavid Chocholaty
This commit adds the comments, primarily for the usage of the RubberBand API, for the Pitch shift effect processing.
2022-08-26PitchShiftEffect: add id literals into a namespaceDavid Chocholaty
This commits creates literal constants in the anonymous namespace. The constants values are the same as the manifest parameter identifiers. The constants are created to avoid grammar bugs due to the value has to be used twice on the other code places. Due to the literal being used, the segmentation fault has occurred without previous warnings or errors if the entered identifier names for the specific parameter are not the same.
2022-08-26PitchShiftEffect: update versionDavid Chocholaty
The commit updates the version of the effect manifest from version 1.0 onto version 2.0.
2022-08-26PitchShiftEffect: fix segmentation faultDavid Chocholaty
The commit fixes the segmentation fault due to a bug in the name of the parameter value (the old id "formant" was used instead of the new one, which is "formatPreserving").
2022-08-25PitchShiftEffect: replace flip-floppingDavid Chocholaty
This commit replaces flip-flopping approach to the boolean value assignment with a cleaner value directly from the parameter. The init-statement is included in the if statement before the condition to reduce the variable scope (supported since C++17).
2022-08-25PitchShiftEffect: rename kSemitones constantDavid Chocholaty
This commit renames the kSemitones constant into the kSemitonesPerOctave name because of its more appropriate meaning.
2022-08-24Merge branch 'main' into extend_pitch_shift_effect_optionsSwiftb0y
2022-08-23PitchShiftEffect: formant into formant preservingDavid Chocholaty
The commit changes the formant parameter Id onto the formantPreserving name. Every dependent variable on this option is renamed in the same way.
2022-08-23PitchShiftEffect: extend formant descriptionDavid Chocholaty
The commit extends the description of the Formant option with a more exact version and with an easy-to-understand hint.
2022-08-22PitchShiftEffect: update semitones descriptionDavid Chocholaty
The commit updates the description of the semitones mode. To be more concrete, the word "smoothly" is replaced with "continuously" and some grammar updates are added too.
2022-08-22Pitch shift effect: add Range optionDavid Chocholaty
This commit adds the Range knob for the Pitch shift effect. The Range option changes the range of the Pitch knob. The Range knob works linearly and the Pitch knob range is from 0 to 2 octaves. The default Range knob position is in the middle, which means that the range of the Pitch knob is from -1 octave to +1 octave.
2022-08-22PitchShiftEffect: remove range mode and wide rangeDavid Chocholaty
This commit removes the Range Mode option and Wide Range option for the Pitch shift effect. These options should be replaced with only one option which will handle the Range of the Pitch knob.
2022-08-21PitchShiftEffect: replace formant descriptionDavid Chocholaty
This commit replaces the Formant toggle description with a more intuitive version.
2022-08-21PitchShiftEffect: semitones mode descriptionDavid Chocholaty
This commit replaces the Semitones Mode toggle description with a more intuitive version.
2022-08-21PitchShiftEffect: remove insignificant TODODavid Chocholaty
This commit removes the forgotten TODO for the Range Mode option description.
2022-08-21PitchShiftEffect: add a formant preserving optionDavid Chocholaty
This commit adds the Formant Preserving option for the Pitch shift effect. This option changes the settings of formant processing using the RubberBand library. The default option doesn't use any special formant processing. When the option is turned on, the handling of the formant shape is activated and the spectral envelope of the unshifted signal is preserved.
2022-08-20Effect chain: (re)load preset after saving with a new nameronso0
This will select the new preset in WEffectChainMenuButton and WEffectChainPresetSelector
2022-08-19PitchShiftEffect: add range mode optionDavid Chocholaty
This commit adds the Range option for the Pitch shift effect. This option changes the range of the pitch knob. There are three possible options based on the knob position. The neutral mode (knob in the default position) keeps the range from the lowest pitch to the highest pitch. The positive mode (knob in the maximum position) keeps the range from the default pitch to the highest pitch. The negative mode (knob in the minimum position) keeps the range from the default pitch to the lowest pitch. Every mode works correctly with set the Wide Range option too.
2022-08-19PitchShiftEffect: add semitones mode optionDavid Chocholaty
This commit adds the Semitones option for the Pitch shift effect. This option switches the pitch scale into the semitones mode in a musical approach known. So, turning the Pitch knob is moved along the chromatic scale.
2022-08-19PitchShiftEffect: add wide range optionDavid Chocholaty
This commit adds the Wide Range option for the Pitch shift effect. This option doubles the scale of the pitch knob, which means, that with the toggle on, the knob range is not in -1 octave and +1 octave, but in doubled range, so in range -2 octaves and +2 octaves. Based on the changes, the knob now works for both situations in the exponential scale of the power of 2.
2022-08-15Merge pull request #4810 from davidchocholaty/fix_pitch_shift_latencyDaniel Schürmann
EngineEffectsDelay: effects chain delay handling
2022-08-08PitchShiftEffect: remove delay reportingDavid Chocholaty
This commit removes the Pitch shift effect delay reporting based it needed a deeper investigation and will be implemented in the separated PR (branch).
2022-07-24Improve loop index typeDaniel Schürmann
2022-07-19Merge remote-tracking branch 'upstream/main' into effects_refactoring_3Daniel Schürmann
2022-07-08Merge remote-tracking branch 'upstream/main' into fix_pitch_shift_latencyDavid Chocholaty
2022-07-01PitchShiftEffect: move getter into the headerDavid Chocholaty
The commit moves the PitchShiftEffect::getGroupDelayFrames from the cpp file into the header file. The method is moved into the header for the reason that it is a basic getter.
2022-07-01EffectProcessor: fix audio signals documentationDavid Chocholaty
This commit fixes the documentation of the EffectProcessor::getGroupDelayFrames. The changes are, that the documentation describes dry and wet signals instead of working with audio buffers.
2022-06-28EngineEffectsDelay: frames instead of samplesDavid Chocholaty
The commit changes the type of a value which represents propagated delay. This commit changes the code to use frames for propagating delay instead of samples. The reason, why propagating frames is better than samples is that it doesn't depend on the number of channels. However, the inner EngineEffectsDelay structure uses samples for calculations still, so the number of samples is recalculated by propagated number of frames and a current number of channels. To clean up the workflow, the input buffer isn't used as the output buffer too and the temporary buffer replaces it. The size of the delay buffer is known in the compile time.
2022-06-26Merge pull request #4803 from Swiftb0y/cpp20Daniel Schürmann
C++20
2022-06-18EngineEffectsDelay: effects chain delay handlingDavid Chocholaty
This commit solves the delay issue for the effects chain. The solution is useful for the dry/wet or dry+wet mode. If the effects chain has a specific delay based on the effects processing latency, the dry signal is delayed to ensure dry and wet signals overlap. To delay the dry signal, the sum of all chain effects group delay is calculated.
2022-06-15fix: "implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20"Swiftb0y
2022-06-10Merge pull request #4775 from davidchocholaty/pitch_shift_effectDaniel Schürmann
PitchShiftEffect: add independent effect
2022-06-05Merge pull request #4784 from daschuer/debug_assert_clean_upUwe Klotz
Clean up some DEBUG_ASSERTS
2022-06-04Merge remote-tracking branch 'upstream/2.3' into mainDaniel Schürmann
2022-06-03Clean up some DEBUG_ASSERTSDaniel Schürmann
2022-06-03PitchShiftGroupState: remove duplicated resetDavid Chocholaty
The commit removes duplicated RubberBandStretcher::reset() call from the PitchShiftGroupState destructor. The functionality of the reset method is done by RubberBandStretcher on its own.
2022-06-02PitchShiftGroupState: change frames buffer sizeDavid Chocholaty
This commit changes m_pRubberBand stereo buffer size to the count of the frames per buffer for current engine parameters.
2022-06-02PitchShiftEffect: fix destructor errorDavid Chocholaty
This commit fixes destructor exception specification error and refactors code. The code changes are based on the discussion for the previous PitchShiftEffect commit. Major changes in this commit are: fix destructor explicit exception specification error, complex methods movement from the header file into the .cpp file for PitchShiftGroupState class, use lambda expression for the pitch value assignment, remove unnecessary casts, add the QStringLiteral to the getId method and the PitchShiftEffect the class was set as final.