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
46#include "juce_audio_devices.h"
50 #define Point CarbonDummyPointName
51 #define Component CarbonDummyCompName
52 #import <CoreAudio/AudioHardware.h>
53 #import <CoreMIDI/MIDIServices.h>
54 #import <AudioToolbox/AudioServices.h>
59 #import <AudioToolbox/AudioToolbox.h>
60 #import <AVFoundation/AVFoundation.h>
61 #import <CoreMIDI/MIDIServices.h>
63 #if TARGET_OS_SIMULATOR
64 #import <CoreMIDI/MIDINetworkSession.h>
73 #if JUCE_USE_WINRT_MIDI && JUCE_MSVC
83 #include <windows.devices.h>
84 #include <windows.devices.midi.h>
85 #include <windows.devices.enumeration.h>
87 #pragma warning (push)
88 #pragma warning (disable: 4265)
89 #include <wrl/event.h>
92 #pragma warning (push)
93 #pragma warning (disable: 4467)
118 #include <iasiodrv.h>
132 #include <alsa/asoundlib.h>
144 #include <jack/jack.h>
162 #if JUCE_USE_ANDROID_OPENSLES
163 #include <SLES/OpenSLES.h>
164 #include <SLES/OpenSLES_Android.h>
165 #include <SLES/OpenSLES_AndroidConfiguration.h>
168 #if JUCE_USE_ANDROID_OBOE
169 #if JUCE_USE_ANDROID_OPENSLES
170 #error "Oboe cannot be enabled at the same time as openSL! Please disable JUCE_USE_ANDROID_OPENSLES"
173 #include <oboe/Oboe.h>
178#include "audio_io/juce_AudioDeviceManager.cpp"
179#include "audio_io/juce_AudioIODevice.cpp"
180#include "audio_io/juce_AudioIODeviceType.cpp"
181#include "midi_io/juce_MidiMessageCollector.cpp"
182#include "midi_io/juce_MidiOutput.cpp"
183#include "sources/juce_AudioSourcePlayer.cpp"
184#include "sources/juce_AudioTransportSource.cpp"
185#include "native/juce_MidiDataConcatenator.h"
189 #include "native/juce_mac_CoreAudio.cpp"
190 #include "native/juce_mac_CoreMidi.cpp"
194 #include "native/juce_ios_Audio.cpp"
195 #include "native/juce_mac_CoreMidi.cpp"
201 #include "native/juce_win32_WASAPI.cpp"
205 #include "native/juce_win32_DirectSound.cpp"
208 #include "native/juce_win32_Midi.cpp"
211 #include "native/juce_win32_ASIO.cpp"
217 #include "native/juce_linux_ALSA.cpp"
221 #include "native/juce_linux_JackAudio.cpp"
225 #include "native/juce_linux_Bela.cpp"
227 #include "native/juce_linux_Midi.cpp"
232 #include "native/juce_android_Audio.cpp"
233 #include "native/juce_android_Midi.cpp"
235 #if JUCE_USE_ANDROID_OPENSLES
236 #include "native/juce_android_OpenSL.cpp"
239 #if JUCE_USE_ANDROID_OBOE
240 #include "native/juce_android_Oboe.cpp"
244#if ! JUCE_SYSTEMAUDIOVOL_IMPLEMENTED
static float JUCE_CALLTYPE getGain()
Returns the operating system's current volume level in the range 0 to 1.0.
static bool JUCE_CALLTYPE setMuted(bool shouldBeMuted)
Attempts to mute the operating system's audio output.
static bool JUCE_CALLTYPE setGain(float newGain)
Attempts to set the operating system's current volume level.
static bool JUCE_CALLTYPE isMuted()
Returns true if the system's audio output is currently muted.