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.

66 lines
2.1KB

  1. /*
  2. * DISTRHO Ildaeil Plugin
  3. * Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License as
  7. * published by the Free Software Foundation; either version 2 of
  8. * the License, or any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * For a full copy of the GNU General Public License see the LICENSE file.
  16. */
  17. #pragma once
  18. #include "CarlaNativePlugin.h"
  19. #include "DistrhoPlugin.hpp"
  20. #include "extra/Mutex.hpp"
  21. // generates a warning if this is defined as anything else
  22. #define CARLA_API
  23. START_NAMESPACE_DISTRHO
  24. // --------------------------------------------------------------------------------------------------------------------
  25. class IldaeilBasePlugin : public Plugin
  26. {
  27. public:
  28. static Mutex sPluginInfoLoadMutex;
  29. static const char* getPathForJSFX();
  30. const NativePluginDescriptor* fCarlaPluginDescriptor;
  31. NativePluginHandle fCarlaPluginHandle;
  32. NativeHostDescriptor fCarlaHostDescriptor;
  33. CarlaHostHandle fCarlaHostHandle;
  34. void* fUI;
  35. IldaeilBasePlugin()
  36. : Plugin(0, 0, 1),
  37. fCarlaPluginDescriptor(nullptr),
  38. fCarlaPluginHandle(nullptr),
  39. fCarlaHostHandle(nullptr),
  40. fUI(nullptr)
  41. {
  42. memset(&fCarlaHostDescriptor, 0, sizeof(fCarlaHostDescriptor));
  43. }
  44. };
  45. // --------------------------------------------------------------------------------------------------------------------
  46. void ildaeilProjectLoadedFromDSP(void* ui);
  47. void ildaeilParameterChangeForUI(void* ui, uint32_t index, float value);
  48. void ildaeilCloseUI(void* ui);
  49. const char* ildaeilOpenFileForUI(void* ui, bool isDir, const char* title, const char* filter);
  50. // --------------------------------------------------------------------------------------------------------------------
  51. END_NAMESPACE_DISTRHO