All the pull requests combined in one plus more stuff #86
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It got to the point where features in the pull request depend on features in other pull requests which haven't been merged yet. This Pull Request includes:
PR #81 for issue #80 - improve the "change sign" filter. The ability to flip a sample is required to turn the waves generated by the generators into useful envelopes for the modulation filters, so this is a prerequirement
PR #83 for issue #82 - improve the equalizer band configuration. Code changes in this branch depend on these fixes.
PR #85 (no issue created) - Introduce AM + FM modulation filters. This branch fixes a bug in the FM modulation filter. Also these filters are now moved to a new submenu.
This PullRequest introduces the following features on top:
Introduce a new Selective Equalizer filter.
This works like the 10 Band Equalizer, but the Equalizer is selectively applied based on the contents of the clipboard. The clipboard contains an envelope which is mapped over the entire selection (or to be filtered sample) the same way the MixPaste filter does, but instead of being simply added to the sample it instead controls the equalizer bands. A zero in the envelope means no filtering, a +1 means the equalizer is fully applied. A -1 means the equalizers filter result is substracted from the sample, so negative values have different semantics than positive. You would normally use only positive values.
Introduce a Phase Modulation filter.
This filter does what has been asked for in the forum here:
https://modarchive.org/forums/index.php?topic=3407.0
The current selection/sample is treated as an envelope, the clipboard is inserted (repeatedly if necessary) but distorted based on the envelope. A 0 value means the clipboard is inserted as is, values !=0 change the ratio of positive and negative halfwaves and as such change the waveform
New menu structure
All the extended "Paste" filters, including the MixPaste, FM-Paste AM-Paste, Phase modulation and the Selective Equalizer have been put into an "Ext Paste" Submenu to reduce clutter in the menu,
If this is merged, PR #81 #83 & #85 can in turn be rejected.