From c159e963f4f4ba59c9cac723a21d7f651b162226 Mon Sep 17 00:00:00 2001 From: reuk Date: Thu, 10 Apr 2025 20:32:03 +0100 Subject: [PATCH] UmpDemo: Add new demo showing how to use the new UMP I/O types --- examples/Audio/UmpDemo.h | 1286 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 1286 insertions(+) create mode 100644 examples/Audio/UmpDemo.h diff --git a/examples/Audio/UmpDemo.h b/examples/Audio/UmpDemo.h new file mode 100644 index 0000000000..0ea4aaefd3 --- /dev/null +++ b/examples/Audio/UmpDemo.h @@ -0,0 +1,1286 @@ +/* + ============================================================================== + + This file is part of the JUCE framework examples. + Copyright (c) Raw Material Software Limited + + The code included in this file is provided under the terms of the ISC license + http://www.isc.org/downloads/software-support-policy/isc-license. Permission + to use, copy, modify, and/or distribute this software for any purpose with or + without fee is hereby granted provided that the above copyright notice and + this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + ============================================================================== +*/ + +/******************************************************************************* + The block below describes the properties of this PIP. A PIP is a short snippet + of code that can be read by the Projucer and used to generate a JUCE project. + + BEGIN_JUCE_PIP_METADATA + + name: UmpDemo + version: 1.0.0 + vendor: JUCE + website: http://juce.com + description: Demonstrates techniques for sending and receiving MIDI + messages in Universal MIDI Packet format. + + dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats, + juce_audio_processors, juce_audio_utils, juce_core, + juce_data_structures, juce_events, juce_graphics, + juce_gui_basics, juce_gui_extra + exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone + + moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 JUCE_USE_WINRT_MIDI=1 + + type: Component + mainClass: UmpDemo + + useLocalCopy: 1 + + END_JUCE_PIP_METADATA + +*******************************************************************************/ + +#pragma once + +static std::unique_ptr