25bd5d8adb
subrepo: subdir: "deps/juce" merged: "b13f9084e" upstream: origin: "https://github.com/essej/JUCE.git" branch: "sono6good" commit: "b13f9084e" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596"
84 lines
3.1 KiB
C++
84 lines
3.1 KiB
C++
/*
|
|
==============================================================================
|
|
|
|
This file is part of the JUCE library.
|
|
Copyright (c) 2020 - Raw Material Software Limited
|
|
|
|
JUCE is an open source library subject to commercial or open-source
|
|
licensing.
|
|
|
|
By using JUCE, you agree to the terms of both the JUCE 6 End-User License
|
|
Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
|
|
|
|
End User License Agreement: www.juce.com/juce-6-licence
|
|
Privacy Policy: www.juce.com/juce-privacy-policy
|
|
|
|
Or: You may also use this code under the terms of the GPL v3 (see
|
|
www.gnu.org/licenses).
|
|
|
|
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
|
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
|
DISCLAIMED.
|
|
|
|
==============================================================================
|
|
*/
|
|
|
|
namespace juce
|
|
{
|
|
|
|
//==============================================================================
|
|
/**
|
|
Opens a Bluetooth MIDI pairing dialogue that allows the user to view and
|
|
connect to Bluetooth MIDI devices that are currently found nearby.
|
|
|
|
The dialogue will ignore non-MIDI Bluetooth devices.
|
|
|
|
Only after a Bluetooth MIDI device has been paired will its MIDI ports
|
|
be available through JUCE's MidiInput and MidiOutput classes.
|
|
|
|
This dialogue is currently only available on macOS targetting versions 10.11+,
|
|
iOS and Android. When targeting older versions of macOS you should instead
|
|
pair Bluetooth MIDI devices using the "Audio MIDI Setup" app (located in
|
|
/Applications/Utilities). On Windows, you should use the system settings. On
|
|
Linux, Bluetooth MIDI devices are currently not supported.
|
|
|
|
@tags{Audio}
|
|
*/
|
|
class JUCE_API BluetoothMidiDevicePairingDialogue
|
|
{
|
|
public:
|
|
|
|
/** Opens the Bluetooth MIDI pairing dialogue, if it is available.
|
|
|
|
@param exitCallback A callback which will be called when the modal
|
|
bluetooth dialog is closed.
|
|
@param btWindowBounds The bounds of the bluetooth window that will
|
|
be opened. The dialog itself is opened by the OS so cannot
|
|
be customised by JUCE.
|
|
@return true if the dialogue was opened, false on error.
|
|
|
|
@see ModalComponentManager::Callback
|
|
*/
|
|
static bool open (ModalComponentManager::Callback* exitCallback = nullptr,
|
|
Rectangle<int>* btWindowBounds = nullptr);
|
|
|
|
/** Checks if a Bluetooth MIDI pairing dialogue is available on this
|
|
platform.
|
|
|
|
On iOS, this will be true for iOS versions 8.0 and higher.
|
|
|
|
On Android, this will be true only for Android SDK versions 23 and
|
|
higher, and additionally only if the device itself supports MIDI
|
|
over Bluetooth.
|
|
|
|
On desktop platforms, this will typically be false as the bluetooth
|
|
pairing is not done inside the app but by other means.
|
|
|
|
@return true if the Bluetooth MIDI pairing dialogue is available,
|
|
false otherwise.
|
|
*/
|
|
static bool isAvailable();
|
|
};
|
|
|
|
} // namespace juce
|