Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to set BPM with Surge XT Standalone in Touchscreen Mode #7598

Open
RK11111111111 opened this issue Apr 6, 2024 · 11 comments
Open

How to set BPM with Surge XT Standalone in Touchscreen Mode #7598

RK11111111111 opened this issue Apr 6, 2024 · 11 comments

Comments

@RK11111111111
Copy link

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.

@baconpaul
Copy link
Collaborator

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

@RK11111111111
Copy link
Author

What about using Midi Time Codes?

@mkruselj
Copy link
Collaborator

mkruselj commented Apr 21, 2024

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.

@baconpaul
Copy link
Collaborator

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

@mkruselj
Copy link
Collaborator

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

@RK11111111111
Copy link
Author

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.

@baconpaul
Copy link
Collaborator

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
Copy link
Collaborator

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?

@mkruselj
Copy link
Collaborator

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).

@baconpaul
Copy link
Collaborator

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

@RK11111111111
Copy link
Author

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

@mkruselj mkruselj added this to the Surge XT 1.3.3 milestone May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants