OpenShot Audio Library | OpenShotAudio  0.6.0
juce_audio_devices.h
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 
23 
24 /*******************************************************************************
25  The block below describes the properties of this module, and is read by
26  the Projucer to automatically generate project code that uses it.
27  For details about the syntax and how to create or use a module, see the
28  JUCE Module Format.md file.
29 
30 
31  BEGIN_JUCE_MODULE_DECLARATION
32 
33  ID: juce_audio_devices
34  vendor: juce
35  version: 7.0.10
36  name: JUCE audio and MIDI I/O device classes
37  description: Classes to play and record from audio and MIDI I/O devices
38  website: http://www.juce.com/juce
39  license: ISC
40  minimumCppStandard: 17
41 
42  dependencies: juce_audio_basics, juce_events
43  OSXFrameworks: CoreAudio CoreMIDI AudioToolbox
44  iOSFrameworks: CoreAudio CoreMIDI AudioToolbox AVFoundation
45  linuxPackages: alsa
46  mingwLibs: winmm
47 
48  END_JUCE_MODULE_DECLARATION
49 
50 *******************************************************************************/
51 
52 
53 #pragma once
54 #define JUCE_AUDIO_DEVICES_H_INCLUDED
55 
56 #include <juce_events/juce_events.h>
57 #include <juce_audio_basics/juce_audio_basics.h>
58 
59 #if JUCE_MODULE_AVAILABLE_juce_graphics
60 #include <juce_graphics/juce_graphics.h>
61 #endif
62 
63 //==============================================================================
75 #ifndef JUCE_USE_WINRT_MIDI
76  #define JUCE_USE_WINRT_MIDI 0
77 #endif
78 
87 #ifndef JUCE_ASIO
88  #define JUCE_ASIO 0
89 #endif
90 
94 #ifndef JUCE_WASAPI
95  #define JUCE_WASAPI 1
96 #endif
97 
101 #ifndef JUCE_DIRECTSOUND
102  #define JUCE_DIRECTSOUND 1
103 #endif
104 
108 #ifndef JUCE_ALSA
109  #define JUCE_ALSA 1
110 #endif
111 
115 #ifndef JUCE_JACK
116  #define JUCE_JACK 0
117 #endif
118 
122 #ifndef JUCE_BELA
123  #define JUCE_BELA 0
124 #endif
125 
129 #ifndef JUCE_USE_ANDROID_OBOE
130  #define JUCE_USE_ANDROID_OBOE 1
131 #endif
132 
139 #ifndef JUCE_USE_ANDROID_OBOE_STABILIZED_CALLBACK
140  #define JUCE_USE_ANDROID_OBOE_STABILIZED_CALLBACK 0
141 #endif
142 
146 #ifndef JUCE_USE_ANDROID_OPENSLES
147  #if ! JUCE_USE_ANDROID_OBOE
148  #define JUCE_USE_ANDROID_OPENSLES 1
149  #else
150  #define JUCE_USE_ANDROID_OPENSLES 0
151  #endif
152 #endif
153 
158 #ifndef JUCE_DISABLE_AUDIO_MIXING_WITH_OTHER_APPS
159  #define JUCE_DISABLE_AUDIO_MIXING_WITH_OTHER_APPS 0
160 #endif
161 
162 //==============================================================================
163 #include "midi_io/juce_MidiDevices.h"
164 #include "midi_io/juce_MidiMessageCollector.h"
165 
166 namespace juce
167 {
173  enum class WASAPIDeviceMode
174  {
175  shared,
176  exclusive,
177  sharedLowLatency
178  };
179 }
180 
181 #include "audio_io/juce_AudioIODevice.h"
182 #include "audio_io/juce_AudioIODeviceType.h"
183 #include "audio_io/juce_SystemAudioVolume.h"
184 #include "sources/juce_AudioSourcePlayer.h"
185 #include "sources/juce_AudioTransportSource.h"
186 #include "audio_io/juce_AudioDeviceManager.h"
187 
188 #if JUCE_IOS
189  #include "native/juce_Audio_ios.h"
190 #endif