Nornec / Midinous-Issues

2 stars 0 forks source link

Feature Request: Proportional Scaling #44

Open Sir-Fancy opened 1 year ago

Sir-Fancy commented 1 year ago

As seen in the screenshot below, it would be nice to be able to select a group of Points, drag a corner, and scale it to a different size like the same way you would with a photo. In Midinous, this would effectively increase or decrease the length of all paths equally within the selection. Therefore, I would easily be able to keep the same pattern but make it twice as slow. Ideally, this feature could work with or without snapping on. That way I could also disable snapping, scale it down slightly, and now I've made a polyrhythm.

mspaint_2023-07-06_18-58-42

andrew-aaron commented 1 year ago

Was thinking about this feature as well. It might be good to include expansion/contraction on the x and y axes separately. Just another way to get musical variation. I think snapping can be on for finer scaling (I think this problem was implied by your last statement).. it's just a matter of deciding what to do with points that don't immediately fit the target scaling's scheme. Maybe it can be like: if snapping is on, the scaling is still proportional behind-the-scenes, then the points are snapped to the closest rhythmic subdivision. If two points overlap, one is destroyed. (Actually, my example image is probably wrong. In the 7/8 cases the 2nd point would probably be "rounded down" to the third grid step) scaling

Nornec commented 12 months ago

I'm going to work on this -- I think the only real barrier is how to see if, when the sequence section scales, any of the destinations of the points are invalid and what to do about it. I've got lots of function keys to work with so I may tie this to both the selection context menu (scale up, scale down) and F5/F6 respectively.