23#ifdef JUCE_AUDIO_DEVICES_H_INCLUDED
29 #error "Incorrect use of JUCE cpp file"
32#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1
33#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1
34#define JUCE_CORE_INCLUDE_JNI_HELPERS 1
35#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1
36#define JUCE_EVENTS_INCLUDE_WIN32_MESSAGE_WINDOW 1
38#ifndef JUCE_USE_WINRT_MIDI
39 #define JUCE_USE_WINRT_MIDI 0
42#if JUCE_USE_WINRT_MIDI
43 #define JUCE_EVENTS_INCLUDE_WINRT_WRAPPER 1
52#if JUCE_MAC || JUCE_IOS
53 #include <juce_audio_basics/native/juce_CoreAudioTimeConversions_mac.h>
54 #include <juce_audio_basics/native/juce_AudioWorkgroup_mac.h>
57 #include "midi_io/ump/juce_UMPBytestreamInputHandler.h"
58 #include "midi_io/ump/juce_UMPU32InputHandler.h"
62 #define Point CarbonDummyPointName
63 #define Component CarbonDummyCompName
64 #import <CoreAudio/AudioHardware.h>
65 #import <CoreMIDI/MIDIServices.h>
66 #import <AudioToolbox/AudioServices.h>
70 #include "native/juce_CoreAudio_mac.cpp"
71 #include "native/juce_CoreMidi_mac.mm"
74 #import <AudioToolbox/AudioToolbox.h>
75 #import <AVFoundation/AVFoundation.h>
76 #import <CoreMIDI/MIDIServices.h>
78 #if TARGET_OS_SIMULATOR
79 #import <CoreMIDI/MIDINetworkSession.h>
82 #if JUCE_MODULE_AVAILABLE_juce_graphics
83 #include <juce_graphics/native/juce_CoreGraphicsHelpers_mac.h>
86 #include "native/juce_Audio_ios.cpp"
87 #include "native/juce_CoreMidi_mac.mm"
93 #include "native/juce_WASAPI_windows.cpp"
97 #include "native/juce_DirectSound_windows.cpp"
100 #if JUCE_USE_WINRT_MIDI && (JUCE_MSVC || JUCE_CLANG)
110 #include <windows.devices.h>
111 #include <windows.devices.midi.h>
112 #include <windows.devices.enumeration.h>
114 JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4265)
115 #include <wrl/event.h>
116 JUCE_END_IGNORE_WARNINGS_MSVC
118 JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4467)
119 #include <robuffer.h>
120 JUCE_END_IGNORE_WARNINGS_MSVC
124 #include "native/juce_Midi_windows.cpp"
146 #include <iasiodrv.h>
147 #include "native/juce_ASIO_windows.cpp"
151#elif JUCE_LINUX || JUCE_BSD
161 JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE (
"-Wzero-length-array")
162 #include <alsa/asoundlib.h>
163 JUCE_END_IGNORE_WARNINGS_GCC_LIKE
176 #include <jack/jack.h>
177 #include "native/juce_JackAudio_linux.cpp"
180 #if (JUCE_LINUX && JUCE_BELA)
188 #include "native/juce_Bela_linux.cpp"
207#include "native/juce_Audio_android.cpp"
210 #include "native/juce_Midi_android.cpp"
212 #if JUCE_USE_ANDROID_OPENSLES || JUCE_USE_ANDROID_OBOE
213 #include "native/juce_HighPerformanceAudioHelpers_android.h"
215 #if JUCE_USE_ANDROID_OPENSLES
216 #include <SLES/OpenSLES.h>
217 #include <SLES/OpenSLES_Android.h>
218 #include <SLES/OpenSLES_AndroidConfiguration.h>
219 #include "native/juce_OpenSL_android.cpp"
222 #if JUCE_USE_ANDROID_OBOE
223 #if JUCE_USE_ANDROID_OPENSLES
224 #error "Oboe cannot be enabled at the same time as openSL! Please disable JUCE_USE_ANDROID_OPENSLES"
227 JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE (
"-Wunused-parameter",
228 "-Wzero-as-null-pointer-constant",
229 "-Winconsistent-missing-destructor-override",
230 "-Wshadow-field-in-constructor",
234 #include <oboe/Oboe.h>
235 JUCE_END_IGNORE_WARNINGS_GCC_LIKE
237 #include "native/juce_Oboe_android.cpp"
249#if ! JUCE_SYSTEMAUDIOVOL_IMPLEMENTED
static bool JUCE_CALLTYPE setMuted(bool shouldBeMuted)
Attempts to mute the operating system's audio output.
static float JUCE_CALLTYPE getGain()
Returns the operating system's current volume level in the range 0 to 1.0.
static bool JUCE_CALLTYPE isMuted()
Returns true if the system's audio output is currently muted.
static bool JUCE_CALLTYPE setGain(float newGain)
Attempts to set the operating system's current volume level.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...