The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

155 lines
4.6KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library.
  4. Copyright (c) 2015 - ROLI Ltd.
  5. Permission is granted to use this software under the terms of either:
  6. a) the GPL v2 (or any later version)
  7. b) the Affero GPL v3
  8. Details of these licenses can be found at: www.gnu.org/licenses
  9. JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
  10. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  11. A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  12. ------------------------------------------------------------------------------
  13. To release a closed-source product which uses JUCE, commercial licenses are
  14. available: visit www.juce.com for more information.
  15. ==============================================================================
  16. */
  17. /*******************************************************************************
  18. The block below describes the properties of this module, and is read by
  19. the Projucer to automatically generate project code that uses it.
  20. For details about the syntax and how to create or use a module, see the
  21. JUCE Module Format.txt file.
  22. BEGIN_JUCE_MODULE_DECLARATION
  23. ID: juce_audio_devices
  24. vendor: juce
  25. version: 4.2.3
  26. name: JUCE audio and MIDI I/O device classes
  27. description: Classes to play and record from audio and MIDI I/O devices
  28. website: http://www.juce.com/juce
  29. license: GPL/Commercial
  30. dependencies: juce_audio_basics, juce_audio_formats, juce_events
  31. OSXFrameworks: CoreAudio CoreMIDI DiscRecording
  32. iOSFrameworks: CoreAudio CoreMIDI AudioToolbox AVFoundation
  33. linuxPackages: alsa
  34. mingwLibs: winmm
  35. END_JUCE_MODULE_DECLARATION
  36. *******************************************************************************/
  37. #ifndef JUCE_AUDIO_DEVICES_H_INCLUDED
  38. #define JUCE_AUDIO_DEVICES_H_INCLUDED
  39. #include <juce_events/juce_events.h>
  40. #include <juce_audio_basics/juce_audio_basics.h>
  41. #include <juce_audio_formats/juce_audio_formats.h>
  42. //==============================================================================
  43. /** Config: JUCE_ASIO
  44. Enables ASIO audio devices (MS Windows only).
  45. Turning this on means that you'll need to have the Steinberg ASIO SDK installed
  46. on your Windows build machine.
  47. See the comments in the ASIOAudioIODevice class's header file for more
  48. info about this.
  49. */
  50. #ifndef JUCE_ASIO
  51. #define JUCE_ASIO 0
  52. #endif
  53. /** Config: JUCE_WASAPI
  54. Enables WASAPI audio devices (Windows Vista and above). See also the
  55. JUCE_WASAPI_EXCLUSIVE flag.
  56. */
  57. #ifndef JUCE_WASAPI
  58. #define JUCE_WASAPI 1
  59. #endif
  60. /** Config: JUCE_WASAPI_EXCLUSIVE
  61. Enables WASAPI audio devices in exclusive mode (Windows Vista and above).
  62. */
  63. #ifndef JUCE_WASAPI_EXCLUSIVE
  64. #define JUCE_WASAPI_EXCLUSIVE 0
  65. #endif
  66. /** Config: JUCE_DIRECTSOUND
  67. Enables DirectSound audio (MS Windows only).
  68. */
  69. #ifndef JUCE_DIRECTSOUND
  70. #define JUCE_DIRECTSOUND 1
  71. #endif
  72. /** Config: JUCE_ALSA
  73. Enables ALSA audio devices (Linux only).
  74. */
  75. #ifndef JUCE_ALSA
  76. #define JUCE_ALSA 1
  77. #endif
  78. /** Config: JUCE_JACK
  79. Enables JACK audio devices (Linux only).
  80. */
  81. #ifndef JUCE_JACK
  82. #define JUCE_JACK 0
  83. #endif
  84. /** Config: JUCE_USE_ANDROID_OPENSLES
  85. Enables OpenSLES devices (Android only).
  86. */
  87. #ifndef JUCE_USE_ANDROID_OPENSLES
  88. #if JUCE_ANDROID_API_VERSION > 8
  89. #define JUCE_USE_ANDROID_OPENSLES 1
  90. #else
  91. #define JUCE_USE_ANDROID_OPENSLES 0
  92. #endif
  93. #endif
  94. //==============================================================================
  95. /** Config: JUCE_USE_CDREADER
  96. Enables the AudioCDReader class (on supported platforms).
  97. */
  98. #ifndef JUCE_USE_CDREADER
  99. #define JUCE_USE_CDREADER 0
  100. #endif
  101. /** Config: JUCE_USE_CDBURNER
  102. Enables the AudioCDBurner class (on supported platforms).
  103. */
  104. #ifndef JUCE_USE_CDBURNER
  105. #define JUCE_USE_CDBURNER 0
  106. #endif
  107. //==============================================================================
  108. namespace juce
  109. {
  110. #include "audio_io/juce_AudioIODevice.h"
  111. #include "audio_io/juce_AudioIODeviceType.h"
  112. #include "audio_io/juce_SystemAudioVolume.h"
  113. #include "midi_io/juce_MidiInput.h"
  114. #include "midi_io/juce_MidiMessageCollector.h"
  115. #include "midi_io/juce_MidiOutput.h"
  116. #include "sources/juce_AudioSourcePlayer.h"
  117. #include "sources/juce_AudioTransportSource.h"
  118. #include "audio_cd/juce_AudioCDBurner.h"
  119. #include "audio_cd/juce_AudioCDReader.h"
  120. #include "audio_io/juce_AudioDeviceManager.h"
  121. }
  122. #endif // JUCE_AUDIO_DEVICES_H_INCLUDED