1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00
Commit graph

192 commits

Author SHA1 Message Date
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
reuk
ba7593df26
MIDI: Add support for MIDI 2.0 I/O using Universal MIDI Packets
Includes support for communication with USB and Bluetooth devices, as well as virtual devices.
2025-09-17 12:50:07 +01:00
reuk
7001ed0a89
UMPStringUtils: Add new header with utilities for printing MIDI packet info 2025-09-17 12:50:06 +01:00
reuk
2e0175cc28
UMPReceiver: Remove unused header 2025-09-17 12:50:06 +01:00
reuk
444eb0c85e
GenericUMPConverter: Implement using variant 2025-09-17 12:50:06 +01:00
reuk
7dc906fa1b
MIDI: Update UMPDispatcher to allow dispatching on a specific group 2025-09-17 12:50:06 +01:00
reuk
fa1f8ed54e
MIDI: Switch BytestreamMidiView for BytesOnGroup in a few places 2025-09-17 12:50:06 +01:00
reuk
2dd69dd0ad
Midi1ToMidi2DefaultTranslator: Use std::byte in implementation 2025-09-17 12:50:06 +01:00
reuk
dd3d555bb9
UMPMidi1ToBytestreamTranslator: Refactor to separate responsibilities between translator and extractor 2025-09-17 12:50:06 +01:00
reuk
835216c581
MIDI: Use Spans instead of pointer pairs in more places 2025-09-17 12:50:06 +01:00
reuk
fb4f04e4d1
MIDI: Add span getters for MidiMessage and MidiMessageMetadata 2025-09-17 12:50:06 +01:00
reuk
85191fa50a
UMPIterator: Fix misleading variable naming 2025-09-17 12:50:06 +01:00
reuk
8799a73d6a
UMPFactory: Use new stronger types 2025-09-17 12:50:05 +01:00
reuk
6d58bf637b
MIDI: Add stronger MessageKind type in UMPUtils.h 2025-09-17 12:50:05 +01:00
Anthony Nicholls
36d07a6ce3 Docs: Replace doxygen preprocessor conditionals with @cond and @endconds 2025-07-21 18:11:43 +02:00
Anthony Nicholls
5e803ded5f Deprecations: Add ignore deprecation warning macros 2024-11-27 11:07:04 +00:00
reuk
281c56f2f9
MidiFile: Fix invalid comparator argument to stable_sort
Previously, stable_sort was used to reorder note-ons and note-offs, with
the intention that note-offs would always be ordered before note-ons
with the same time stamp. However, stable_sort requires the comparator
to be a strict-weak ordering, which was not the case for the previous
implementation.

Additionally, the old implementation could unnecessarily reorder events.
Note ons and offs only need to be reordered if the note numbers and
channels match. It's fine for a note-on to be ordered before a note-off
if the note itself is different.

The new implementation only uses stable_sort to order events by
time-stamp. Then, for each range of events with matching timestamps, the
first note-on event will be swapped with the last following note-off
event with matching channel/number.
2024-07-31 19:36:51 +01:00
reuk
9112911122
MinGW: Remove support 2024-06-27 18:10:21 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
Oliver James
627d01b9a2 UMP Tests: Remove checked iterator macro 2023-12-12 16:24:26 +00:00
reuk
8ebbc20311
MIDI-CI: Add module 2023-10-31 11:46:49 +00:00
reuk
94ee60041f
Enumerate: Replace some non-ranged loops 2023-10-31 10:57:43 +00:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Anthony Nicholls
158220ddfa Formatting: Use nested namespace definitions 2023-10-09 14:49:18 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
Tom Poole
7d45d498b9 Removed some superfluous consts from definitions 2023-09-20 16:31:10 +01:00
reuk
e1da55ccc7
MidiRPN: Adjust MSB and LSB order for improved conformance to the MIDI 1.0 spec 2023-04-19 19:59:49 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
reuk
fd69d347b4
CoreMidi: Never convert messages to MIDI 2.0 protocol 2023-03-02 12:03:33 +00:00
reuk
d5ad26a162
AUv2 Client: Add support for new MIDIEventList APIs on supported platforms 2023-02-15 22:23:56 +00:00
reuk
78a12d2f57 UMP: Migrate to std::byte 2023-02-14 22:29:01 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]] 2022-12-01 11:41:50 +00:00
reuk
7d2a11e222
Fix typo in docstring 2022-09-27 15:18:21 +01:00
reuk
7c14c1fcd7
Use more concise stdlib type aliases 2022-09-26 18:03:47 +01:00
Tom Poole
e984395b1d GCC: Fix some compiler warnings in GCC 11 2022-04-26 15:30:54 +01:00
reuk
5d096b46d7
Add simple Optional type 2022-04-22 14:18:48 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
b710a248bd
UnitTests: Rename UMPTests file for consistency 2022-03-23 16:51:39 +00:00
reuk
75981dd4b3
MidiFile: Fix typo 2022-02-18 16:43:25 +00:00
Tom Poole
c072b1bc8e Fix some typos 2022-01-25 11:48:46 +00:00
reuk
d5099ecf4d Documentation: Add doxygen guards to UMP namespace 2021-12-08 15:26:07 +00:00
ed
fc0f6b1f2f Tidy up 2021-12-02 09:24:55 +00:00
reuk
f269f1d6c9
UMP: Make documentation private until APIs become public 2021-12-01 15:44:07 +00:00
ed
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
reuk
485699020a
UMP: Fix warning about missing braces 2021-09-28 11:31:50 +01:00
reuk
20bcee5047
MidiMessageSequence: Add tests for createControllerUpdatesForTime 2021-09-28 11:31:49 +01:00
Tom Poole
f1fecfdc88 Add some missing Doxygen tags 2021-09-20 11:36:56 +01:00
ed
cffb544941 UMP: Remove juce_audio_devices dependency 2021-07-27 12:32:22 +01:00
reuk
1fb2203517 MidiFile: Allow reporting the type of parsed files 2021-07-05 12:21:36 +01:00
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00