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.

70 lines
2.2KB

  1. /*
  2. * DISTRHO Ildaeil Plugin
  3. * Copyright (C) 2021-2023 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. #include "extra/String.hpp"
  22. // generates a warning if this is defined as anything else
  23. #define CARLA_API
  24. START_NAMESPACE_DISTRHO
  25. // --------------------------------------------------------------------------------------------------------------------
  26. class IldaeilBasePlugin : public Plugin
  27. {
  28. public:
  29. static Mutex sPluginInfoLoadMutex;
  30. static const char* getPluginPath(PluginType ptype);
  31. const NativePluginDescriptor* fCarlaPluginDescriptor;
  32. NativePluginHandle fCarlaPluginHandle;
  33. NativeHostDescriptor fCarlaHostDescriptor;
  34. CarlaHostHandle fCarlaHostHandle;
  35. String fDiscoveryTool;
  36. void* fUI;
  37. IldaeilBasePlugin()
  38. : Plugin(0, 0, 1),
  39. fCarlaPluginDescriptor(nullptr),
  40. fCarlaPluginHandle(nullptr),
  41. fCarlaHostHandle(nullptr),
  42. fUI(nullptr)
  43. {
  44. memset(&fCarlaHostDescriptor, 0, sizeof(fCarlaHostDescriptor));
  45. }
  46. };
  47. // --------------------------------------------------------------------------------------------------------------------
  48. const char* ildaeilConfigDir();
  49. void ildaeilProjectLoadedFromDSP(void* ui);
  50. void ildaeilParameterChangeForUI(void* ui, uint32_t index, float value);
  51. void ildaeilCloseUI(void* ui);
  52. const char* ildaeilOpenFileForUI(void* ui, bool isDir, const char* title, const char* filter);
  53. // --------------------------------------------------------------------------------------------------------------------
  54. END_NAMESPACE_DISTRHO