Does JUCE support: gestures, Bluetooth?


#1

Hi everyone - been a while since I've worked with JUCE. Wanted to see what the current state of the union is wrt two features I'm interested in using - gestures and Bluetooth.

 

Does anyone know if either of these work in JUCE right now, and if so, for which platforms?

 

I was trying to search for this but I can't figure out how to use the search feature to organize by date.

 

Thank you!


#2

I can tell you gestures aren't currently implemented as far as I have seen - something I'd love to see implemented, or if/when I find the time try and implement myself. The main barrier I see is getting the gesture type mouse-events to not get consumed by GUI components, but shared so that both the containing component that might want to respond to a gesture and its child components can react to different types of mouse events.  


#3

I started on some classes for Bluetooth LE, but the cross-platform stuff was a bit of a headache for it. Especially on IOS where it seemed to not want to expose a whole bunch of information. Is it LE you want or full-fat bluetooth? 


#4

We are currently looking at Gesture support. Obviously, as a workaround, you can already get multitouch events (see the demo) and try to interpret them yourself.

You've already mentioned the main difficulties with implementing gesture support: 1) events may need to be "undone" once a gesture has been identified and 2) a gesture may occur "over" only a single sub component but multiple other components are generally interested in the event. We need to come up with a model that elegantly supports both and that remains compatible with the current code.


#5

Hey bazrush,

Do you plan to make your Bluetooth LE code available ?

Cheers


#6

Yes, conceptually, but it's not been a priority to get it sorted.  What features do you need?  And importantly, on what platforms?


#7

I would need basic features like getting the list of devices, connecting to one of them, and getting data from it.

The target are Mac and Windows platforms. Code and/or advice on where to start are welcome. Thanks


#8

I've just revisited where I got to. I'd written the state of a cross-platform framework but only starting in filling in the platform specific stuff for the Mac and IOS.  And I'd not looked into Windows in any detail at all.  So I'm not sure it's going to be a lot of use to you.  If you really want a look I'll show you it - but having re-read it I think you'd do a cleaner job without seeing the unnecessary complexity i tried to add :)

To do a neat implementation you'll need a common interface .mm objective C++ file for the Mac implementation and something in C/C++ for Windows.   There's some examples of how to do this neatly in the JUCE code.  See juce_core/native.  

The bluetooth documentation I was looking at for the Mac implementation is here:

https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/AboutCoreBluetooth/Introduction.html

 


#9

And - it looks like Windows has decided to isolate the application from the full details of the bluetooth LE stuff (as well as IOS): 

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/3b62bdbf-9a55-4c0f-becf-f4e91d4bc027/windows-8-bluetooth-le-and?forum=wdk

 


#10

Thanks for the tip bazrush !