surge icon indicating copy to clipboard operation
surge copied to clipboard

How to set BPM with Surge XT Standalone in Touchscreen Mode

Open RK11111111111 opened this issue 10 months ago • 11 comments

Is there any way to set the BPM in touchscreen mode? I found it next to the virtual keyboard, but when I click on the text box it needs to be edited with a PC keyboard. I was hoping to map it to a control on a midi keyboard or tap tempo ideally with a cc control.

RK11111111111 avatar Apr 06 '24 17:04 RK11111111111

There is no way to edit that without using a type in gesture currently

baconpaul avatar Apr 06 '24 17:04 baconpaul

What about using Midi Time Codes?

RK11111111111 avatar Apr 11 '24 14:04 RK11111111111

There is no way to edit that without using a type in gesture currently

I think the problem here is that the user is not presented with an on-screen virtual keyboard when attempting to type into the value edit field. This may be down to enabling something for the JUCE widget? Something like this?

EDIT: I can actually confirm this on my Surface. When focusing a text input field, a virtual keyboard should pop up automatically, which in our case it doesn't. For any of our text input fields.

mkruselj avatar Apr 21 '24 14:04 mkruselj

getKeyboardType is only used on iOS and android in JUCE. I think JUCE just doesn't support this in JUCE 7

baconpaul avatar Apr 21 '24 14:04 baconpaul

This discussion leads me to believe this should also work on Windows in tablet mode...

https://forum.juce.com/t/on-screen-keyboard-didnt-show-up-when-focus-on-input-component/20284/14

mkruselj avatar Apr 21 '24 14:04 mkruselj

In sway wayland(raspberry pi OS lite), I enabled lisgd and bound a two finger swipe left gesture to open/close the keyboard. Touch support is nominal in sway. Good enough for now. I am working towards having it sync with Mixxx, eventually... There is that bluez bit, but it should be possible to create a javascript that sends the mtc codes over midi.

I love jamming out on the acid patches to some good techno when it's all synced up.

RK11111111111 avatar Apr 21 '24 21:04 RK11111111111

This discussion leads me to believe this should also work on Windows in tablet mode...

https://forum.juce.com/t/on-screen-keyboard-didnt-show-up-when-focus-on-input-component/20284/14

that thread shows all sorts of stuff like 'run this helper' and none of the things there are in the juce 7 code base that i see. so not sure!

baconpaul avatar Apr 21 '24 22:04 baconpaul

A midi message for tempo makes the most sense to me if it exists; but it seems MTC and midi clock don't have that? But if theres a midi message we should parse we definitely could.

Or maybe an OSC message? @pkstone is there one of those already?

But also : can you use a mini host which has a transport support I wonder?

baconpaul avatar Apr 21 '24 22:04 baconpaul

MIDI Time Code is running constantly (like SMPTE) and is a form of frame-accurate sync. MIDI Clock messaages are also running constantly (usually 24 ticks per quarter note, which is how you can deduce BPM).

mkruselj avatar Apr 22 '24 12:04 mkruselj

yeah midi files have tempo but streams dont seem to. harumph.

baconpaul avatar Apr 22 '24 15:04 baconpaul

This is my target, but it is designed to be modified and scripted in JS.

https://github.com/mixxxdj/mixxx/wiki/MIDI%20clock%20output

Seems like I have seen other midi sync applications and keyboards with bpm knobs built in. Can't use a standard CC controller very well, because they aren't precise enough. DJ controller bpm sliders are very long.

Quarter Notes per time: http://midi.teragonaudio.com/tech/midifile/ppqn.htm

RK11111111111 avatar Apr 22 '24 19:04 RK11111111111