OpenShot Audio Library | OpenShotAudio 0.4.0
Loading...
Searching...
No Matches
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
166namespace 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