Audio plugin host https://kx.studio/carla
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.

67 lines
1.5KB

  1. // SPDX-FileCopyrightText: 2011-2024 Filipe Coelho <falktx@falktx.com>
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #ifndef CARLA_ENGINE_INIT_HPP_INCLUDED
  4. #define CARLA_ENGINE_INIT_HPP_INCLUDED
  5. #include "CarlaEngine.hpp"
  6. CARLA_BACKEND_START_NAMESPACE
  7. // -------------------------------------------------------------------
  8. /*!
  9. * Native audio APIs.
  10. */
  11. enum AudioApi {
  12. AUDIO_API_NULL,
  13. // common
  14. AUDIO_API_JACK,
  15. AUDIO_API_OSS,
  16. // linux
  17. AUDIO_API_ALSA,
  18. AUDIO_API_PULSEAUDIO,
  19. // macos
  20. AUDIO_API_COREAUDIO,
  21. // windows
  22. AUDIO_API_ASIO,
  23. AUDIO_API_DIRECTSOUND,
  24. AUDIO_API_WASAPI
  25. };
  26. // -------------------------------------------------------------------
  27. // Engine initializers
  28. namespace EngineInit {
  29. // JACK
  30. CarlaEngine* newJack();
  31. // Dummy
  32. CarlaEngine* newDummy();
  33. // Bridge
  34. CarlaEngine* newBridge(const char* audioPoolBaseName,
  35. const char* rtClientBaseName,
  36. const char* nonRtClientBaseName,
  37. const char* nonRtServerBaseName);
  38. // RtAudio
  39. CarlaEngine* newRtAudio(AudioApi api);
  40. uint getRtAudioApiCount();
  41. const char* getRtAudioApiName(uint index);
  42. const char* const* getRtAudioApiDeviceNames(uint index);
  43. const EngineDriverDeviceInfo* getRtAudioDeviceInfo(uint index, const char* deviceName);
  44. // SDL
  45. CarlaEngine* newSDL();
  46. const char* const* getSDLDeviceNames();
  47. }
  48. // -----------------------------------------------------------------------
  49. CARLA_BACKEND_END_NAMESPACE
  50. #endif // CARLA_ENGINE_INIT_HPP_INCLUDED