VST3: fetch midi mappings all at once, use it for note/sound-off
[carla.git] / source / modules / juce_audio_formats / juce_audio_formats.h
blob6586d5c91614a781f279dd91b58b22867f8df66f
1 /*
2 ==============================================================================
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
23 ==============================================================================
27 /*******************************************************************************
28 The block below describes the properties of this module, and is read by
29 the Projucer to automatically generate project code that uses it.
30 For details about the syntax and how to create or use a module, see the
31 JUCE Module Format.md file.
34 BEGIN_JUCE_MODULE_DECLARATION
36 ID: juce_audio_formats
37 vendor: juce
38 version: 7.0.1
39 name: JUCE audio file format codecs
40 description: Classes for reading and writing various audio file formats.
41 website: http://www.juce.com/juce
42 license: GPL/Commercial
43 minimumCppStandard: 14
45 dependencies: juce_audio_basics
46 OSXFrameworks: CoreAudio CoreMIDI QuartzCore AudioToolbox
47 iOSFrameworks: AudioToolbox QuartzCore
49 END_JUCE_MODULE_DECLARATION
51 *******************************************************************************/
54 #pragma once
55 #define JUCE_AUDIO_FORMATS_H_INCLUDED
57 #include <juce_audio_basics/juce_audio_basics.h>
59 //==============================================================================
60 /** Config: JUCE_USE_FLAC
61 Enables the FLAC audio codec classes (available on all platforms).
62 If your app doesn't need to read FLAC files, you might want to disable this to
63 reduce the size of your codebase and build time.
65 #ifndef JUCE_USE_FLAC
66 #define JUCE_USE_FLAC 1
67 #endif
69 /** Config: JUCE_USE_OGGVORBIS
70 Enables the Ogg-Vorbis audio codec classes (available on all platforms).
71 If your app doesn't need to read Ogg-Vorbis files, you might want to disable this to
72 reduce the size of your codebase and build time.
74 #ifndef JUCE_USE_OGGVORBIS
75 #define JUCE_USE_OGGVORBIS 1
76 #endif
78 /** Config: JUCE_USE_MP3AUDIOFORMAT
79 Enables the software-based MP3AudioFormat class.
80 IMPORTANT DISCLAIMER: By choosing to enable the JUCE_USE_MP3AUDIOFORMAT flag and to compile
81 this MP3 code into your software, you do so AT YOUR OWN RISK! By doing so, you are agreeing
82 that Raw Material Software Limited is in no way responsible for any patent, copyright, or other
83 legal issues that you may suffer as a result.
85 The code in juce_MP3AudioFormat.cpp is NOT guaranteed to be free from infringements of 3rd-party
86 intellectual property. If you wish to use it, please seek your own independent advice about the
87 legality of doing so. If you are not willing to accept full responsibility for the consequences
88 of using this code, then do not enable this setting.
90 #ifndef JUCE_USE_MP3AUDIOFORMAT
91 #define JUCE_USE_MP3AUDIOFORMAT 0
92 #endif
94 /** Config: JUCE_USE_LAME_AUDIO_FORMAT
95 Enables the LameEncoderAudioFormat class.
97 #ifndef JUCE_USE_LAME_AUDIO_FORMAT
98 #define JUCE_USE_LAME_AUDIO_FORMAT 0
99 #endif
101 /** Config: JUCE_USE_WINDOWS_MEDIA_FORMAT
102 Enables the Windows Media SDK codecs.
104 #ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
105 #define JUCE_USE_WINDOWS_MEDIA_FORMAT 1
106 #endif
108 #if ! JUCE_WINDOWS || JUCE_MINGW
109 #undef JUCE_USE_WINDOWS_MEDIA_FORMAT
110 #define JUCE_USE_WINDOWS_MEDIA_FORMAT 0
111 #endif
113 //==============================================================================
114 #include "format/juce_AudioFormatReader.h"
115 #include "format/juce_AudioFormatWriter.h"
116 #include "format/juce_MemoryMappedAudioFormatReader.h"
117 #include "format/juce_AudioFormat.h"
118 #include "format/juce_AudioFormatManager.h"
119 #include "format/juce_AudioFormatReaderSource.h"
120 #include "format/juce_AudioSubsectionReader.h"
121 #include "format/juce_BufferingAudioFormatReader.h"
122 #include "codecs/juce_AiffAudioFormat.h"
123 #include "codecs/juce_CoreAudioFormat.h"
124 #include "codecs/juce_FlacAudioFormat.h"
125 #include "codecs/juce_LAMEEncoderAudioFormat.h"
126 #include "codecs/juce_MP3AudioFormat.h"
127 #include "codecs/juce_OggVorbisAudioFormat.h"
128 #include "codecs/juce_WavAudioFormat.h"
129 #include "codecs/juce_WindowsMediaAudioFormat.h"
130 #include "sampler/juce_Sampler.h"
132 #if JucePlugin_Enable_ARA
133 #include <juce_audio_processors/juce_audio_processors.h>
135 #include "format/juce_ARAAudioReaders.h"
136 #endif