surge-synthesizer / shortcircuit-xt

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

Mapping Editor header explained #1015

Open mkruselj opened 1 month ago

mkruselj commented 1 month ago

image

This is the current design. Here's what's what:

image AUTO-MAP Opens a dialog/overlay for automapping selected zones based on tokens from their filenames. Design of this overlay TBD.

image MIDI SELECT If enabled, selects the zone matching the MIDI input note+velocity. Only takes into account visible zones (selected/focused groups). If more than one zone matches, we have three options to decide from (might put them on right-click of this button): select first/last/all matching.

image MIDI LEARN KEY RANGE For selected zone (possibly even all selected zones, but this might be weird), the next two pressed keys don't produce voices, instead they modify the min/max key of the zone(s). If second key is lower than first obviously these should flip so that min-max is respected. By default this shuold be a one-time thing so after two keys are played this button should turn itself off. But it could also be useful if it were latched/sticky, so that it is always active until the user disables it (could be a context menu to enable this option on right click). This way the user could quickly map things by just selecting zone by zone and playing the keys.

image MIDI LEARN VELOCITY RANGE Same as above but for velocity.

image FIX OVERLAPS Works only on selected zones. If any zones are partially overlapping, this is fixed by adjusting the key/vel ranges down the middle. If zones are fully overlapping, this option does nothing (that wouldn't make any sense anyways).

image FADE OVERLAPS Works only on selected zones. Overlaps are solved with key/vel crossfades instead of modifying the ranges. If zones are fully overlapping, this option does nothing. Unsure what should happen if more than two zones are partially overlapping the same area. Put your answers in the comment section below! 😛

image ZONE SOLO This will restrict playback to only the selected zones, even if they are not visible (for example when selecting another group - in this case the zone should remain selected and should show up with dashed border on top of whatever other groups have mapped in them). Group mute states have to be respected, though.

image LOCK MAPPING This is a global option for the whole part, regardless of which zone or group is selected. Locks the mapping so that any move/modify/add/delete mouse operations inside the mapping area are forbidden. You can only select zones. This is to prevent tampering with the patch accidentally, especially if you deploy/share them with the world.

image FILE MINI-NAVIGATOR This applies only to the leader zone. Shows the filename (and only the filename) of the sample loaded into the zone. Shows the full path to sample in a popup on hover. If the zone is a silent zone, we say so (<Blank Zone>, or something). Prev-next arrows navigate through all the samples in the parent folder of the sample, with wraparound when last/first file is reached (please use natural file sort here). Clicking on the area with the filename opens a context menu which lists the whole folder structure from the path of that sample downwards. If the zone has variants, the context menu lists all the variant's filenames first, then each gets a submenu to navigate through the folder structure from that path downward. Just clicking on first level entry in this case (when variants are listed) focuses this zone to that variant, so prev-next arrows work on that variant from that point onward. We could denote this with [1], [2] etc after the filename extension, to know which variant is selected. Variant select could even be a separate widget that is right-aligned within the filename area (just a down arrow of sorts? design TBD), then mousewheeling over that widget could focus a different variant. Mousewheeling over the filename itself could change which sample is loaded (from the ones in the folder), but that might be risky behavior.

baconpaul commented 1 month ago

Thank you. Very useful