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.

93 lines
3.0KB

  1. /*
  2. * Carla plugin host
  3. * Copyright (C) 2011-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 doc/GPL.txt file.
  16. */
  17. #ifdef __clang__
  18. # pragma clang diagnostic push
  19. # pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
  20. # pragma clang diagnostic ignored "-Wdeprecated-register"
  21. #elif defined(__GNUC__) && __GNUC__ >= 8
  22. # pragma GCC diagnostic push
  23. # pragma GCC diagnostic ignored "-Wclass-memaccess"
  24. # pragma GCC diagnostic ignored "-Wdeprecated-copy"
  25. #endif
  26. #include <QtWidgets/QDialog>
  27. #ifdef __clang__
  28. # pragma clang diagnostic pop
  29. #elif defined(__GNUC__) && __GNUC__ >= 8
  30. # pragma GCC diagnostic pop
  31. #endif
  32. #include "qcarlastring.hpp"
  33. // --------------------------------------------------------------------------------------------------------------------
  34. // Jack Application Dialog
  35. class JackApplicationW : public QDialog
  36. {
  37. struct Self;
  38. Self& self;
  39. // ----------------------------------------------------------------------------------------------------------------
  40. public:
  41. explicit JackApplicationW(QWidget* parent, const char* projectFilename);
  42. ~JackApplicationW() override;
  43. // ----------------------------------------------------------------------------------------------------------------
  44. // public methods
  45. struct CommandAndFlags {
  46. QString command;
  47. QString name;
  48. QString labelSetup;
  49. };
  50. CommandAndFlags getCommandAndFlags() const;
  51. // ----------------------------------------------------------------------------------------------------------------
  52. // private methods
  53. private:
  54. void checkIfButtonBoxShouldBeEnabled(int index, const QCarlaString& text);
  55. void loadSettings();
  56. // ----------------------------------------------------------------------------------------------------------------
  57. // private slots
  58. private slots:
  59. void slot_commandChanged(const QString& command);
  60. void slot_sessionManagerChanged(int);
  61. void slot_saveSettings();
  62. };
  63. // --------------------------------------------------------------------------------------------------------------------
  64. extern "C" {
  65. struct JackApplicationDialogResults {
  66. const char* command;
  67. const char* name;
  68. const char* labelSetup;
  69. };
  70. CARLA_API JackApplicationDialogResults* carla_frontend_createAndExecJackApplicationW(void* parent, const char* projectFilename);
  71. }
  72. // --------------------------------------------------------------------------------------------------------------------