LMMS
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 //==============================================================================
43 AppleRemoteDevice();
44 virtual ~AppleRemoteDevice();
45
46 //==============================================================================
50 enum ButtonType
51 {
52 menuButton = 0,
53 playButton,
54 plusButton,
55 minusButton,
56 rightButton,
57 leftButton,
58 rightButton_Long,
59 leftButton_Long,
60 menuButton_Long,
61 playButtonSleepMode,
62 switched
63 };
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
virtual ASIOError stop()=0
virtual ASIOError start()=0
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31