LMMS
Loading...
Searching...
No Matches
juce_MidiRPN.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 The code included in this file is provided under the terms of the ISC license
11 http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12 To use, copy, modify, and/or distribute this software for any purpose with or
13 without fee is hereby granted provided that the above copyright notice and
14 this permission notice appear in all copies.
15
16 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18 DISCLAIMED.
19
20 ==============================================================================
21*/
22
23namespace juce
24{
25
26//==============================================================================
33{
36
39
44 int value;
45
47 bool isNRPN;
48
53};
54
55//==============================================================================
68{
69public:
71 MidiRPNDetector() noexcept;
72
74 ~MidiRPNDetector() noexcept;
75
79 void reset() noexcept;
80
81 //==============================================================================
89 bool parseControllerMessage (int midiChannel,
90 int controllerNumber,
91 int controllerValue,
92 MidiRPNMessage& result) noexcept;
93
94private:
95 //==============================================================================
97 {
98 bool handleController (int channel, int controllerNumber,
99 int value, MidiRPNMessage&) noexcept;
100 void resetValue() noexcept;
101 bool sendIfReady (int channel, MidiRPNMessage&) noexcept;
102
103 uint8 parameterMSB = 0xff, parameterLSB = 0xff, valueMSB = 0xff, valueLSB = 0xff;
104 bool isNRPN = false;
105 };
106
107 //==============================================================================
109
111};
112
113//==============================================================================
123{
124public:
125 //==============================================================================
128
129 //==============================================================================
146 static MidiBuffer generate (int channel,
147 int parameterNumber,
148 int value,
149 bool isNRPN = false,
150 bool use14BitValue = true);
151};
152
153} // namespace juce
static void message(int level, const char *fmt,...)
Definition adplugdb.cpp:120
Definition juce_MidiBuffer.h:145
ChannelState states[16]
Definition juce_MidiRPN.h:108
MidiRPNDetector() noexcept
Definition juce_MidiRPN.cpp:26
bool parseControllerMessage(int midiChannel, int controllerNumber, int controllerValue, MidiRPNMessage &result) noexcept
Definition juce_MidiRPN.cpp:34
void reset() noexcept
Definition juce_MidiRPN.cpp:46
Definition juce_MidiRPN.h:123
static PuglViewHint int value
Definition pugl.h:1708
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition juce_LeakedObjectDetector.h:138
#define JUCE_API
Definition juce_StandardHeader.h:152
static int generate(SordWorld *world, SordModel *sord, size_t n_quads, SordNode *graph)
Definition sord_test.c:72
Definition carla_juce.cpp:31
unsigned char uint8
Definition juce_MathsFunctions.h:37
Definition juce_MidiRPN.h:97
bool handleController(int channel, int controllerNumber, int value, MidiRPNMessage &) noexcept
Definition juce_MidiRPN.cpp:58
bool isNRPN
Definition juce_MidiRPN.h:104
bool sendIfReady(int channel, MidiRPNMessage &) noexcept
Definition juce_MidiRPN.cpp:87
uint8 valueMSB
Definition juce_MidiRPN.h:103
void resetValue() noexcept
Definition juce_MidiRPN.cpp:80
uint8 parameterLSB
Definition juce_MidiRPN.h:103
uint8 valueLSB
Definition juce_MidiRPN.h:103
uint8 parameterMSB
Definition juce_MidiRPN.h:103
Definition juce_MidiRPN.h:33
bool isNRPN
Definition juce_MidiRPN.h:47
bool is14BitValue
Definition juce_MidiRPN.h:52
int channel
Definition juce_MidiRPN.h:35
int parameterNumber
Definition juce_MidiRPN.h:38
int value
Definition juce_MidiRPN.h:44
int result
Definition process.c:1455