Closed mogrifier closed 1 month ago
UI change made
Make the evol setting the change per repetition for a single mutation. What is a mutation? change to: space CV (pitch) gate
how about overall pattern parameter changes? why not mutate mod, skip, rev, oct? Could introduce as a by-product and at a lower mutation chance but still driven by evol setting.
Each mutation type will need its own range of values (+/-) that make sense for it. For example, small Gate changes do nothing, so a bigger range is needed.
Values should not be allowed to stray too far from the origin, so the original values must be saved for comparison's sake. Limits are easy, since Gate and Space (normally) range is 0..1. Voltage range is -3 to 6.
Space is a little trickier since time fit can make larger values- technically as high as 800%. Value mutation must take into account current value. However, space mutation throws of the rhythm.
changing space causes a pattern to become dirty. I think I need to click fit time if dirty automatically.
naive random evolution values are not great. Use constraints.
I have decided there is no reason to fit time when using evolution. Presumably the user wants the pattern to change, including rhythm and timing, so that's what this does.
Pattern length is not needed since accomplished using space. Set to zero to turn off a step- note my concept is keep it one bar always.
EVOL is evolution. % of random changes to each step in a pattern. More EVOL is not just higher chance but also greater change potential (wider range) when change occurs.
Two options 1) just keep changing from last set of values. Eventually pattern will be nothing like original and very random 2) change from fixed starting position (the original settings). This minimizes variation from the original.