JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_AppleRemote.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
30#if JUCE_MAC || DOXYGEN
39class JUCE_API AppleRemoteDevice
40{
41public:
42 //==============================================================================
44 virtual ~AppleRemoteDevice();
45
46 //==============================================================================
64
65 //==============================================================================
74 virtual void buttonPressed (ButtonType buttonId, bool isDown) = 0;
75
76 //==============================================================================
86 bool start (bool inExclusiveMode);
87
91 void stop();
92
95 bool isActive() const;
96
99 int getRemoteId() const { return remoteId; }
100
101 //==============================================================================
103 void handleCallbackInternal();
104
105private:
106 void* device;
107 void* queue;
108 int remoteId;
109
110 bool open (bool openInExclusiveMode);
111
113};
114
115#endif
116
117} // namespace juce
Receives events from an Apple IR remote control device (Only available in OSX!).
int getRemoteId() const
Returns the ID number of the remote, if it has sent one.
virtual void buttonPressed(ButtonType buttonId, bool isDown)=0
Override this method to receive the callback about a button press.
void stop()
Stops the device running.
bool start(bool inExclusiveMode)
Starts the device running and responding to events.
ButtonType
The set of buttons that may be pressed.
@ rightButton
The right button (if it's held for a short time).
@ plusButton
The plus or volume-up button.
@ playButton
The play button.
@ leftButton
The left button (if it's held for a short time).
@ minusButton
The minus or volume-down button.
@ menuButton_Long
The menu button (if it's held for a long time).
@ leftButton_Long
The menu button (if it's held for a long time).
@ rightButton_Long
The right button (if it's held for a long time).
bool isActive() const
Returns true if the device has been started successfully.
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.
open