JoepVanlier / JSFX

A bundle of JSFX and scripts for reaper.
MIT License
375 stars 19 forks source link

Squashman: some waveshaper modes process left and right channels differently #68

Closed sydonia86 closed 1 year ago

sydonia86 commented 1 year ago

Squashman v0.80

Here are the modes:

The last 3 ones are the worst offenders, producing obvious audible weirdness when sweeping a source between the channels. Of course it could be intended behavior for some of the modes.

I used this fx chain for verification: image

I expect the test tone to be completely nulled if both channels are processed identically. But maybe this method is flawed because of nonlinearities in some modes or something (I don't have a firm grasp of this stuff).

sydonia86 commented 1 year ago

I think I may have misunderstood what mid/side mode does, in which case it is probably only Bad connection and Ripple that are actually bugged.

JoepVanlier commented 1 year ago

@sydonia86 Thanks for the report! You were absolutely correct; the panning system was rather unconventional and probably a mistake on my part.

As you probably noticed, in the old panning system, squashman would pan the signal left or right before the distortion. Then instead of mixing back in the unprocessed signal after the waveshaper, the legacy mode would simply end up with just a panned signal. This is fixed now. The legacy mode is still available as an option to not break existing presets (Note the toggle near the over button). Any preset that has panning will enable this legacy mode by default to not break existing presets; but new ones should be made on the new system.

I did also notice a bug in Bad Connection; which should be fixed now.

JoepVanlier commented 1 year ago

Fixed in https://github.com/JoepVanlier/JSFX/commit/275db104e4c58ae6e21e4827d5e2dd4c2cf0e2b1 . Thanks for the report. Please let me know if there are further issues.