One taper, one modifier law: extract param_taper, raise the stage ceiling to 10 s, and make the AHDSR schematic axis the taper itself
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
#include "core/instrument/map/sample_map.h" // SampleChoice / SampleRefs (sampleLabel)
|
||||
#include "core/instrument/ui/editor_geometry.h" // Rect (the shared sub-rect type)
|
||||
#include "core/instrument/ui/keyboard_strip.h" // noteName (the one note-naming source)
|
||||
#include "core/instrument/ui/param_taper.h" // DragModifiers (the shared interaction law)
|
||||
|
||||
#ifdef _WIN32
|
||||
#include "wdltypes.h"
|
||||
@@ -70,6 +71,15 @@ inline std::string sampleLabel(const std::vector<instrument::map::SampleChoice>&
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
// THE modifier read, for every drag surface and every gesture resolver. One helper so the editor
|
||||
// cannot grow a second modifier grammar. GetKeyState rather than WM_MOUSEMOVE's wParam because a
|
||||
// modifier can be pressed or released with the mouse standing still, and the re-anchor has to see
|
||||
// that on the next move it does get.
|
||||
inline instrument::ui::DragModifiers dragModifiers() {
|
||||
return instrument::ui::DragModifiers{(GetKeyState(VK_SHIFT) & 0x8000) != 0,
|
||||
(GetKeyState(VK_CONTROL) & 0x8000) != 0};
|
||||
}
|
||||
|
||||
// The editor's own sub-rect type is `Rect` (editor_geometry); the kit draws against
|
||||
// `KitBox` (component_geometry). This is the single boundary that bridges them so every
|
||||
// draw routes through the shared kit (theme roles + draw_kit).
|
||||
|
||||
Reference in New Issue
Block a user