surge-synthesizer / shortcircuit-xt

Will be a sampler when its done!
GNU General Public License v3.0
229 stars 26 forks source link

Mod Matrix Depth Scale #767

Open baconpaul opened 4 months ago

baconpaul commented 4 months ago

The mod matrix depth scale is a tricky problem. Ties closes with #766 which we will probably have to solve first.

In some cases you want the entire range available, in some you dont.

We had a longish discussion on discord with me and @mkruselj on morning of Feb 19 after @Andreya-Autumn and I tagged it as a problem the evening before. Here's our rough conclusion:

We want the depth slider to have two modes, which we will call "natural" and "extended". The intent is "natural" means modulation depths are "roughly what you want most of the time musically" and "extended" means "you can access the entire parameter range". Moreover those "natural" mode sliders may concentrate depth adjustment differently near zero than the edge.

So what we want to do is add a 'ui-side' curve to the depth slider. The backend calculation of modulation is still depth * rowcurve(source * (sourceVia || 1)) but the slider drag -> depth map should not necessarily be linear. And can have a pair of ranges.

So, for instance, slider depth -> mapping pitch offset could have a logarithmic offset and a range of an octave in normal mode, and could have a linear offset and a range of 127 notes in extended mode. That's not decided as the 'right' answer but it is the 'type' of thing we want to be able to do in the code.

But again, and especially because of matrix self-modulation, this is a curve applied on the UI edit gesture not on the backend.

mkruselj commented 4 months ago

With the addition that my firm stance is that the curvature in either of the two modes should be identical, for these reasons: simplicity, muscle memory, user end expectation.

baconpaul commented 4 months ago

I think that's probably right. But its easier to code it as two separate complete operators and make them the same than it is to do the opposite and realize we want it in some case.

mkruselj commented 4 months ago

Oh gotcha!

baconpaul commented 4 months ago

Also some poor sucker in SCXT 1.17 may decide to add '14 depth slider modes' to the RMB menu. We want to be nice to that person. Since it's probably you or me. LOL.

mkruselj commented 4 months ago

Yes let's not even think to go there as that would be UX suicide. :)