Matrix Modulation Feedback
-
@DanH no it's unfortunately not an easy change because this component was designed with the hover state behavior in mind:
- it's exclusive so it will only show a single component (when you hover over another slider it will hide the previous one)
- there's no logic to check for collision
- since it is built / destroyed at hover / exit I don't need to care about it being synchronized to the data model to react on connection changes etc.
For a persistent UI component that shows the matrix connections of a single UI knob you might be able to use the matrix floating tile - if you set its ProcessorId to the ID of the matrix modulator you're targeting, it will only show the connections that match the target and with some CSSing you can shovel away all the things you don't want to show.
-
For a persistent UI component that shows the matrix connections of a single UI knob you might be able to use the matrix floating tile - if you set its ProcessorId to the ID of the matrix modulator you're targeting, it will only show the connections that match the target and with some CSSing you can shovel away all the things you don't want to show.
I guess this would negate the benefit of the source selection callback, to show only the selected modulation dragers?
-
@Christoph-Hart With the Source Select callback the default selection seems to be the first modulator in the list. Is there a way to script this to a different one?
-
@DanH I don't understand - what's got the selection callback have to do with it?
-
@Christoph-Hart well for example I'm showing the relevant tabs depending on which source is selected but when I reopen the project it defaults to the first in the list and displays that tab and that button is highlighted.
or are you referring to my other question?
-
@DanH yes I meant the previous question.
With the Source Select callback the default selection seems to be the first modulator in the list. Is there a way to script this to a different one?
Can't you just call
ScriptModulationMatrix.setCurrentlySelectedSource(String sourceId)
with an empty string?
-
@Christoph-Hart Thanks, will try. (worked great
)
So for the persistent UI modulation dragger - The source selection callback can show only the draggers relevant to the selection. If we create permanent ui controls we'd lose the current system of showing / hiding the draggers depending on the selection.
-
If we create permanent ui controls we'd lose the current system of showing / hiding the draggers depending on the selection.
Can't you use the callback to hide the controls?
-
@Christoph-Hart yeah. I dunno, If I have 100 controls that can be a target do I then need to make (100 x each source) draggers and show / hide them with the callback? Apologies if I'm being dumb about this!
-
A suggestion: would it make sense to switch the mouse cursor to up / down arrows when hovering on a modulation dragger?
-
@Christoph-Hart so is it not possible to have a monophonic MatrixModule? Something we could use at the container level in it's fx chain? If we can have global time variant modulators I don't see why we can't have a Matrixmod...
-
@DanH
Christoph told me in this thread that the modulation is monophonic if you only use the āmatrixTargetIdā from the Properties Editor and don't use a matrixModulatorModule. Maybe that's what you want.Matrix Modulator - Advantages?
@Christoph-Hart @Orvillain Thanks, guys, that's very interesting and helpfu! :-)
Forum (forum.hise.audio)
-
@DanH the problem is that containers also donāt split up the buffer for midi messages and process them so this would be a little too much overhead for all projects to change this, but Iāll see what I can do.
-
@Oli-Ullmann yup but also want sample accurate modulation.
-
@Christoph-Hart awesome thank you
-
@Christoph-Hart said in Matrix Modulation Feedback:
@DanH the problem is that containers also donāt split up the buffer for midi messages and process them so this would be a little too much overhead for all projects to change this, but Iāll see what I can do.
Did this get anywhere in the end?
-
@Christoph-Hart quick question about modulation ranges: let's say I have a hardcoded synth with a pitch knob of +/- 24 but on my UI I have a pitch knob to control it of only +/- 12.... If I connect a modulator which range is it going to be using?
-
@DanH you set the input / output ranges of the matrix modulator to match the pitch modulation range - the knob on your UI must exactly match the input range, and the output range must be the correct range representing the input range in the modulation domain.
There are two presets for +-12 and +-24 semitones that you can directly use.
HiseSnippet 1500.3oc6Y0saaaCElJIrsI8Grt0KFFv.zE6hzshBaGG2DrKpabh67ZRsQTZ1v1EELRT1BQhTihJMYC6YXuB8l8br9HrGk9FrcnnrrjiqiiqaZZQ8EFl+bH+NGd94izcDbaZTDWfLVZuSBoHiafsNgI60nGwigZsIx3V3cHQRpvT20FmDRhhnNHCi4erpCiEW.k740ObChOgYSGzEBsO2yltsWfmbPucp+DOe+lDG5ddA4lc05sr4rFbedLfm4wkPgD6CIcoOknl1bXzOPh5gL9V7pUVwtpyCbpTY00qYSpQW2k35VdEmpUqs15kWYcR00pQKsJx3Ja43I4BKIQRifEcCtyIV83ufo2f88h7NvmpZTFYA6rtaTidd9Nc5abhPHiq1YfoZdso5N3c7b7x5efI6yRFvbfD4MZFyMNHU9b.IibPZAMjtM1xV3EJGLhBOWG2hAmftD3rIOTzyEY7JbCNLAl79AjCoMEPiLAVtVoR2yD95teuaLyV5wYlb1S4RZa1x2co+XoEW5OWxb3gbcG4XpsQv88ohQNrxcPLNAWlEGb.UbOyiH9wzrIBpeQa5UlLapsVqyMQNqEyS1Njl1tI22QYqT+9zm.nTyFbVLWJBgoJSNItU5IgkumCUf7fE4p3mv3GTFk.97AInIV3JiP3m0ZShjn7GRgC.wPpP5orDFaROBh.0dGKh2jFcnjGlf2fPNSAdiqelH93rM7kt0OAYfM9a32R5wJowsYz11RxQTTP97AK+p.xw4ZVOruoqkiJFISrNdR6dPrt.ByAutVIa79I5Ij3Izx62AzgwkueITTrqq2wpVlQRkcahUhJJk.a7iFHThB7xLE3F38dAWijnhZvZE0f0FVCxja50fSGBCIO3Nw9DYwLJpbsoC.gDEBiUwprHO4I4yEeNRyTZroYlTHdabhUXzXbtQfQUTy6.Lllb9l3sbco1xA.bAbyedZyDO4a+0za+WgerO+.h+.CEDaBHgpyH+0oCalMtY1DJOlZr+6jViMbhqwNbtyoudzBuGJQNa7c+hScbDcAFgUnP9s0vDi2tY6TKE7qA.q7YCrM7B49DgZ7lB5uESY14F+Z0UdEsF3TU+up+SPNLWtHHsLQ1JsMsKrm46YOJjwEXHZm2AzJfyk87XcK5qcm5ay4gawHfUvI+hzoGIRwQHhJKrLvxtGWy1rgO29v7C1pKiKnZdG46uQbjjGzWARXIZAobSJIZ7q3ZUuO7w86TeudC3qUZOaZilc73lah8RUdBYG4JehKg0AznLyw6RJJGa0p4+3tZ0t7XIDrtCQJRXh7z3.KnbfME1cFi5Go3GMmJ1R2tjpcR.Jk4jz3+fOoCVV01Hcvx8GDoWbMwz756sz560wVPotjaZlns2PwFzLkE4EZ4O8dtmfvhB4QEVXKZf2d.8xn7c9rHpx2dWkSSg7PbhXjC85G1DT0QJiEQFKR79dT.OlUHYnw7EOtWXxRuTjlXt4eQVudgIy07Ltb0kepwEJbuXeLZ4ED5S2hcD0GtGVBF+b3hWtjXeY+dKVEeGNiG1iy7JTUcWJDB0sKUjG6iTgdjTRxWs7N02k5SI48l+l5aCdgDAXmnSos37+ZDi775KwZ3ZphLMeaN2tPcylAELlI3sfcdo9u5iNcaFrSCLF5F14uO14vkKGcxQdrnYfotyKv8Z+gedh2.2vV0GNA2T64o2ycIrtTkMuEKLVpaYfG+CRzBhFER8I3f6ommr6wR3ZYISRjTzBpHHSpHfZGKeS6yq+mB6iJncb6SRMEH6ZGNXYU0Bh9EpfqNjlMDElMgIWDjFNadB2T8lKl8erlOQT3CbhBuyo4+AI4fJehbvaO4fOpuA44gDvPOR8T5Z8QCIfS8l9uiHAfJtOn5ueIAb490BtH1i.hsf+ba8+zlJF5ZI8.5MK4uWdQH9AZaNh+et.nh1yssKtTmRvJSqfqLsBVcZEb0oUvZSqfOXZEbsyVPEgiGECoezogQnc5rk98eMxd7Yi4Q+O.W0HpI
-
@Christoph-Hart cool, very straightforward :)
-
@Christoph-Hart I've recently had a few seemingly random crashes of Hise. Just moving my mouse and boom... Seems it could be something to do with mouse hover and the new mod system? Or maybe I've messed something up in my configuration. Would you mind looking at the crashed thread?
Thread 0 Crashed:: JUCE Message Thread Dispatch queue: com.apple.main-thread 0 HISE-5 0x104b6e4e4 hise::MatrixIds::Helpers::IntensityTextConverter::IntensityTextConverter(hise::MatrixIds::Helpers::IntensityTextConverter::ConstructData const&) + 80 1 HISE-5 0x10497ff64 hise::HiSlider::HoverPopup::rebuild() + 1652 2 HISE-5 0x10497f108 hise::HiSlider::showModHoverPopup(bool, bool) + 4380 3 HISE-5 0x10497be78 hise::HiSlider::mouseEnter(juce::MouseEvent const&) + 24 4 HISE-5 0x105f9522c juce::Component::internalMouseEnter(juce::MouseInputSource, juce::Point<float>, juce::Time) + 280 5 HISE-5 0x105f5a438 juce::MouseInputSourceInternal::setComponentUnderMouse(juce::Component*, juce::Point<float>, juce::Time) + 684 6 HISE-5 0x105f597a0 juce::MouseInputSourceInternal::setScreenPos(juce::Point<float>, juce::Time, bool) + 108 7 HISE-5 0x105f84834 juce::JuceNSViewClass::mouseMoved(objc_object*, objc_selector*, NSEvent*) + 216 8 AppKit 0x197152098 -[NSTrackingArea mouseMoved:] + 116 9 AppKit 0x1977d7bcc -[_NSTrackingAreaAKManager _mouseMoved:] + 440 10 AppKit 0x197b06220 _routeMouseMovedEvent + 224 11 AppKit 0x197067d20 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 556 12 AppKit 0x19706792c -[NSWindow(NSEventRouting) sendEvent:] + 288 13 AppKit 0x1978df780 routeMouseMovedEvent + 148 14 AppKit 0x1978def5c -[NSApplication(NSEventRouting) sendEvent:] + 1192 15 AppKit 0x1974de4a4 -[NSApplication _handleEvent:] + 60 16 AppKit 0x196f34c8c -[NSApplication run] + 520 17 HISE-5 0x10472a5a8 main + 296 18 dyld 0x192e66b4c start + 6000