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.

87 lines
2.0KB

  1. /*
  2. * DISTRHO Cardinal 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 3 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. #include <string>
  18. #pragma once
  19. #ifdef HAVE_LIBLO
  20. // # define REMOTE_HOST "localhost"
  21. # define REMOTE_HOST "192.168.51.1"
  22. # define REMOTE_HOST_PORT "2228"
  23. #endif
  24. #ifdef DISTRHO_OS_WASM
  25. # define CARDINAL_IMPORTED_TEMPLATE_FILENAME "/imported.vcv"
  26. #endif
  27. extern const std::string CARDINAL_VERSION;
  28. namespace rack {
  29. namespace settings {
  30. extern int rateLimit;
  31. }
  32. namespace ui {
  33. struct Menu;
  34. }
  35. namespace window {
  36. void generateScreenshot();
  37. }
  38. bool isStandalone();
  39. #ifdef ARCH_WIN
  40. enum SpecialPath {
  41. kSpecialPathUserProfile,
  42. kSpecialPathCommonProgramFiles,
  43. kSpecialPathProgramFiles,
  44. kSpecialPathAppData,
  45. };
  46. std::string getSpecialPath(SpecialPath type);
  47. #endif
  48. #ifdef DISTRHO_OS_WASM
  49. extern char* patchStorageSlug;
  50. #endif
  51. } // namespace rack
  52. namespace patchUtils {
  53. void loadDialog();
  54. void loadPathDialog(const std::string& path, bool asTemplate = false);
  55. void loadSelectionDialog();
  56. void loadTemplateDialog();
  57. void revertDialog();
  58. void saveDialog(const std::string& path);
  59. void saveAsDialog();
  60. void saveAsDialogUncompressed();
  61. void appendSelectionContextMenu(rack::ui::Menu* menu);
  62. void openBrowser(const std::string& url);
  63. bool connectToRemote();
  64. bool isRemoteConnected();
  65. bool isRemoteAutoDeployed();
  66. void setRemoteAutoDeploy(bool autoDeploy);
  67. void deployToRemote();
  68. void sendScreenshotToRemote(const char* screenshot);
  69. } // namespace patchUtils