Browse Source

Add some new c++ code

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.1-rc1
falkTX 4 years ago
parent
commit
a439962c96
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
30 changed files with 131685 additions and 0 deletions
  1. +200
    -0
      source/frontend/C++/Makefile
  2. +278
    -0
      source/frontend/C++/app.cpp
  3. +66
    -0
      source/frontend/C++/app.hpp
  4. +64
    -0
      source/frontend/C++/carla.cpp
  5. +1677
    -0
      source/frontend/C++/host.cpp
  6. +292
    -0
      source/frontend/C++/host.hpp
  7. +119633
    -0
      source/frontend/C++/resources_rc.hpp
  8. +549
    -0
      source/frontend/C++/shared.hpp
  9. +1031
    -0
      source/frontend/C++/ui_carla_about.hpp
  10. +135
    -0
      source/frontend/C++/ui_carla_about_juce.hpp
  11. +421
    -0
      source/frontend/C++/ui_carla_add_jack.hpp
  12. +748
    -0
      source/frontend/C++/ui_carla_database.hpp
  13. +644
    -0
      source/frontend/C++/ui_carla_edit.hpp
  14. +1067
    -0
      source/frontend/C++/ui_carla_host.hpp
  15. +215
    -0
      source/frontend/C++/ui_carla_osc_connect.hpp
  16. +97
    -0
      source/frontend/C++/ui_carla_parameter.hpp
  17. +285
    -0
      source/frontend/C++/ui_carla_plugin_calf.hpp
  18. +204
    -0
      source/frontend/C++/ui_carla_plugin_classic.hpp
  19. +225
    -0
      source/frontend/C++/ui_carla_plugin_compact.hpp
  20. +282
    -0
      source/frontend/C++/ui_carla_plugin_default.hpp
  21. +301
    -0
      source/frontend/C++/ui_carla_plugin_presets.hpp
  22. +436
    -0
      source/frontend/C++/ui_carla_refresh.hpp
  23. +2073
    -0
      source/frontend/C++/ui_carla_settings.hpp
  24. +222
    -0
      source/frontend/C++/ui_carla_settings_driver.hpp
  25. +94
    -0
      source/frontend/C++/ui_inputdialog_value.hpp
  26. +326
    -0
      source/frontend/C++/ui_midipattern.hpp
  27. +30
    -0
      source/frontend/C++/widgets/canvaspreviewframe.h
  28. +30
    -0
      source/frontend/C++/widgets/digitalpeakmeter.h
  29. +30
    -0
      source/frontend/C++/widgets/draggablegraphicsview.h
  30. +30
    -0
      source/frontend/C++/widgets/racklistwidget.h

+ 200
- 0
source/frontend/C++/Makefile View File

@@ -0,0 +1,200 @@
#!/usr/bin/make -f
# Makefile for carla-frontend #
# --------------------------- #
# Created by falkTX
#

CWD=../..
include $(CWD)/Makefile.mk

# ---------------------------------------------------------------------------------------------------------------------

BINDIR := $(CWD)/../bin
RESDIR := $(CWD)/../resources

ifeq ($(DEBUG),true)
OBJDIR := $(CWD)/../build/frontend/Debug
MODULEDIR := $(CWD)/../build/modules/Debug
else
OBJDIR := $(CWD)/../build/frontend/Release
MODULEDIR := $(CWD)/../build/modules/Release
endif

# ---------------------------------------------------------------------------------------------------------------------

BUILD_CXX_FLAGS += -I. -I$(CWD) -I$(CWD)/backend -I$(CWD)/includes -I$(CWD)/modules -I$(CWD)/utils
BUILD_CXX_FLAGS += -DCARLA_SKIP_HOST_COMMON
BUILD_CXX_FLAGS += $(FLUIDSYNTH_FLAGS)
BUILD_CXX_FLAGS += $(QT5_FLAGS)

# ---------------------------------------------------------------------------------------------------------------------

OBJS = \
$(OBJDIR)/carla.cpp.o \
$(OBJDIR)/app.cpp.o \
$(OBJDIR)/host.cpp.o \
$(OBJDIR)/moc_host.cpp.o \
$(OBJDIR)/Information.cpp.o \
$(OBJDIR)/CarlaStandalone.cpp.o \
$(OBJDIR)/CarlaStandaloneNSM.cpp.o

TARGETS = $(BINDIR)/carla

# ---------------------------------------------------------------------------------------------------------------------
# UI code

UIs = \
ui_carla_about.hpp \
ui_carla_about_juce.hpp \
ui_carla_add_jack.hpp \
ui_carla_database.hpp \
ui_carla_edit.hpp \
ui_carla_host.hpp \
ui_carla_osc_connect.hpp \
ui_carla_parameter.hpp \
ui_carla_plugin_calf.hpp \
ui_carla_plugin_classic.hpp \
ui_carla_plugin_compact.hpp \
ui_carla_plugin_default.hpp \
ui_carla_plugin_presets.hpp \
ui_carla_refresh.hpp \
ui_carla_settings.hpp \
ui_carla_settings_driver.hpp \
ui_inputdialog_value.hpp \
ui_midipattern.hpp

# ---------------------------------------------------------------------------------------------------------------------
# Resources

RES = \
resources_rc.hpp

# ---------------------------------------------------------------------------------------------------------------------

LIBS = $(MODULEDIR)/carla_engine.a
LIBS += $(MODULEDIR)/carla_plugin.a
LIBS += $(MODULEDIR)/jackbridge.a

LIBS += $(MODULEDIR)/audio_decoder.a
LIBS += $(MODULEDIR)/lilv.a
LIBS += $(MODULEDIR)/native-plugins.a
LIBS += $(MODULEDIR)/rtmempool.a
LIBS += $(MODULEDIR)/sfzero.a
LIBS += $(MODULEDIR)/water.a

ifeq ($(HAVE_DGL),true)
LIBS += $(MODULEDIR)/dgl.a
endif

ifeq ($(HAVE_HYLIA),true)
LIBS += $(MODULEDIR)/hylia.a
endif

ifeq ($(USING_JUCE),true)
LIBS += $(MODULEDIR)/juce_audio_basics.a
LIBS += $(MODULEDIR)/juce_audio_devices.a
LIBS += $(MODULEDIR)/juce_audio_processors.a
LIBS += $(MODULEDIR)/juce_core.a
LIBS += $(MODULEDIR)/juce_data_structures.a
LIBS += $(MODULEDIR)/juce_events.a
LIBS += $(MODULEDIR)/juce_graphics.a
LIBS += $(MODULEDIR)/juce_gui_basics.a
ifeq ($(MACOS),true)
LIBS += $(MODULEDIR)/juce_gui_extra.a
endif
else
LIBS += $(MODULEDIR)/rtaudio.a
LIBS += $(MODULEDIR)/rtmidi.a
endif

# ---------------------------------------------------------------------------------------------------------------------

LINK_FLAGS += $(QT5_LIBS)
LINK_FLAGS += $(HYLIA_LIBS)
LINK_FLAGS += $(JACKBRIDGE_LIBS)
LINK_FLAGS += $(LILV_LIBS)
LINK_FLAGS += $(NATIVE_PLUGINS_LIBS)
LINK_FLAGS += $(RTMEMPOOL_LIBS)
LINK_FLAGS += $(WATER_LIBS)

LINK_FLAGS += $(LIBLO_LIBS)
LINK_FLAGS += $(MAGIC_LIBS)
LINK_FLAGS += $(FLUIDSYNTH_LIBS)
LINK_FLAGS += $(X11_LIBS)

ifeq ($(USING_JUCE),true)
LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)
LINK_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS)
LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)
LINK_FLAGS += $(JUCE_CORE_LIBS)
LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
LINK_FLAGS += $(JUCE_EVENTS_LIBS)
LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
ifeq ($(MACOS),true)
LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS)
endif
else
LINK_FLAGS += $(RTAUDIO_LIBS)
LINK_FLAGS += $(RTMIDI_LIBS)
endif

ifeq ($(JACKBRIDGE_DIRECT),true)
LINK_FLAGS += $(JACK_LIBS)
endif

# ---------------------------------------------------------------------------------------------------------------------

all: $(TARGETS) $(UIs) $(RES)

# ---------------------------------------------------------------------------------------------------------------------

clean:
rm -f $(OBJS) $(UIs) $(TARGETS)

debug:
$(MAKE) DEBUG=true

# ---------------------------------------------------------------------------------------------------------------------

moc_%.cpp: %.hpp
$(MOC_QT5) $< -o $@

ui_%.hpp: $(RESDIR)/ui/%.ui
$(UIC_QT5) $< -o $@

resources_rc.hpp: $(RESDIR)/resources.qrc $(RESDIR)/*/*.png $(RESDIR)/*/*.svg
$(RCC_QT5) $< -o $@

# ---------------------------------------------------------------------------------------------------------------------

$(BINDIR)/carla: $(OBJS)
-@mkdir -p $(BINDIR)
@echo "Linking carla"
$(CXX) $(OBJS) $(LIBS_START) $(LIBS) $(LIBS_END) $(LINK_FLAGS) -o $@

# ---------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/%.cpp.o: %.cpp $(UIs) $(RES)
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(OBJDIR)/Information.cpp.o: $(CWD)/backend/utils/Information.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(OBJDIR)/CarlaStandalone.cpp.o: $(CWD)/backend/CarlaStandalone.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(OBJDIR)/CarlaStandaloneNSM.cpp.o: $(CWD)/backend/CarlaStandaloneNSM.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

-include $(OBJS:%.o=%.d)

# ---------------------------------------------------------------------------------------------------------------------

+ 278
- 0
source/frontend/C++/app.cpp View File

@@ -0,0 +1,278 @@
/*
* Carla plugin host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

//---------------------------------------------------------------------------------------------------------------------
// Imports (Global)

#include <QtCore/QCoreApplication>
#include <QtCore/QDir>

#include <QtGui/QIcon>
#include <QtGui/QPalette>

#include <QtWidgets/QApplication>

//---------------------------------------------------------------------------------------------------------------------
// Imports (Custom)

#include "app.hpp"
#include "shared.hpp"

//---------------------------------------------------------------------------------------------------------------------

CarlaApplication::CarlaApplication(const QString appName, int& argc, char* argv[])
: fApp(nullptr)
{
QCarlaString pathBinaries, pathResources;
/*
pathBinaries, pathResources = getPaths(libPrefix)

// Needed for MacOS and Windows
if (os.path.exists(CWD))
QApplication.addLibraryPath(CWD)

# Needed for local wine build
if WINDOWS and CWD.endswith(("frontend", "resources")) and os.getenv("CXFREEZE") is None:
if kIs64bit:
path = "H:\\builds\\msys2-x86_64\\mingw64\\share\\qt5\\plugins"
else:
path = "H:\\builds\\msys2-i686\\mingw32\\share\\qt5\\plugins"
QApplication.addLibraryPath(path)
*/

QCarlaString stylesDir;

// Use binary dir as library path
/*
if (QDir(pathBinaries).exists())
{
QApplication::addLibraryPath(pathBinaries);
stylesDir = pathBinaries;
}
*/

// base settings
const QSafeSettings settings("falkTX", appName);
#ifdef CARLA_OS_MAC
const bool useProTheme = true;
#else
const bool useProTheme = settings.valueBool(CARLA_KEY_MAIN_USE_PRO_THEME, CARLA_DEFAULT_MAIN_USE_PRO_THEME);
#endif

if (! useProTheme)
{
createApp(appName, argc, argv);
return;
}

// set style
QApplication::setStyle(stylesDir.isNotEmpty() ? "carla" : "fusion");

// create app
QApplication* const guiApp = createApp(appName, argc, argv);

if (guiApp == nullptr)
return;

guiApp->setStyle(stylesDir.isNotEmpty() ? "carla" : "fusion");

#ifdef MACOS
if (true)
#else
// set palette
const QString proThemeColor(settings.valueString(CARLA_KEY_MAIN_PRO_THEME_COLOR, CARLA_DEFAULT_MAIN_PRO_THEME_COLOR).toLower());

if (proThemeColor == "black")
#endif
{
QPalette palBlack;
palBlack.setColor(QPalette::Disabled, QPalette::Window, QColor(14, 14, 14));
palBlack.setColor(QPalette::Active, QPalette::Window, QColor(17, 17, 17));
palBlack.setColor(QPalette::Inactive, QPalette::Window, QColor(17, 17, 17));
palBlack.setColor(QPalette::Disabled, QPalette::WindowText, QColor(83, 83, 83));
palBlack.setColor(QPalette::Active, QPalette::WindowText, QColor(240, 240, 240));
palBlack.setColor(QPalette::Inactive, QPalette::WindowText, QColor(240, 240, 240));
palBlack.setColor(QPalette::Disabled, QPalette::Base, QColor(6, 6, 6));
palBlack.setColor(QPalette::Active, QPalette::Base, QColor(7, 7, 7));
palBlack.setColor(QPalette::Inactive, QPalette::Base, QColor(7, 7, 7));
palBlack.setColor(QPalette::Disabled, QPalette::AlternateBase, QColor(12, 12, 12));
palBlack.setColor(QPalette::Active, QPalette::AlternateBase, QColor(14, 14, 14));
palBlack.setColor(QPalette::Inactive, QPalette::AlternateBase, QColor(14, 14, 14));
palBlack.setColor(QPalette::Disabled, QPalette::ToolTipBase, QColor(4, 4, 4));
palBlack.setColor(QPalette::Active, QPalette::ToolTipBase, QColor(4, 4, 4));
palBlack.setColor(QPalette::Inactive, QPalette::ToolTipBase, QColor(4, 4, 4));
palBlack.setColor(QPalette::Disabled, QPalette::ToolTipText, QColor(230, 230, 230));
palBlack.setColor(QPalette::Active, QPalette::ToolTipText, QColor(230, 230, 230));
palBlack.setColor(QPalette::Inactive, QPalette::ToolTipText, QColor(230, 230, 230));
palBlack.setColor(QPalette::Disabled, QPalette::Text, QColor(74, 74, 74));
palBlack.setColor(QPalette::Active, QPalette::Text, QColor(230, 230, 230));
palBlack.setColor(QPalette::Inactive, QPalette::Text, QColor(230, 230, 230));
palBlack.setColor(QPalette::Disabled, QPalette::Button, QColor(24, 24, 24));
palBlack.setColor(QPalette::Active, QPalette::Button, QColor(28, 28, 28));
palBlack.setColor(QPalette::Inactive, QPalette::Button, QColor(28, 28, 28));
palBlack.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(90, 90, 90));
palBlack.setColor(QPalette::Active, QPalette::ButtonText, QColor(240, 240, 240));
palBlack.setColor(QPalette::Inactive, QPalette::ButtonText, QColor(240, 240, 240));
palBlack.setColor(QPalette::Disabled, QPalette::BrightText, QColor(255, 255, 255));
palBlack.setColor(QPalette::Active, QPalette::BrightText, QColor(255, 255, 255));
palBlack.setColor(QPalette::Inactive, QPalette::BrightText, QColor(255, 255, 255));
palBlack.setColor(QPalette::Disabled, QPalette::Light, QColor(191, 191, 191));
palBlack.setColor(QPalette::Active, QPalette::Light, QColor(191, 191, 191));
palBlack.setColor(QPalette::Inactive, QPalette::Light, QColor(191, 191, 191));
palBlack.setColor(QPalette::Disabled, QPalette::Midlight, QColor(155, 155, 155));
palBlack.setColor(QPalette::Active, QPalette::Midlight, QColor(155, 155, 155));
palBlack.setColor(QPalette::Inactive, QPalette::Midlight, QColor(155, 155, 155));
palBlack.setColor(QPalette::Disabled, QPalette::Dark, QColor(129, 129, 129));
palBlack.setColor(QPalette::Active, QPalette::Dark, QColor(129, 129, 129));
palBlack.setColor(QPalette::Inactive, QPalette::Dark, QColor(129, 129, 129));
palBlack.setColor(QPalette::Disabled, QPalette::Mid, QColor(94, 94, 94));
palBlack.setColor(QPalette::Active, QPalette::Mid, QColor(94, 94, 94));
palBlack.setColor(QPalette::Inactive, QPalette::Mid, QColor(94, 94, 94));
palBlack.setColor(QPalette::Disabled, QPalette::Shadow, QColor(155, 155, 155));
palBlack.setColor(QPalette::Active, QPalette::Shadow, QColor(155, 155, 155));
palBlack.setColor(QPalette::Inactive, QPalette::Shadow, QColor(155, 155, 155));
palBlack.setColor(QPalette::Disabled, QPalette::Highlight, QColor(14, 14, 14));
palBlack.setColor(QPalette::Active, QPalette::Highlight, QColor(60, 60, 60));
palBlack.setColor(QPalette::Inactive, QPalette::Highlight, QColor(34, 34, 34));
palBlack.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(83, 83, 83));
palBlack.setColor(QPalette::Active, QPalette::HighlightedText, QColor(255, 255, 255));
palBlack.setColor(QPalette::Inactive, QPalette::HighlightedText, QColor(240, 240, 240));
palBlack.setColor(QPalette::Disabled, QPalette::Link, QColor(34, 34, 74));
palBlack.setColor(QPalette::Active, QPalette::Link, QColor(100, 100, 230));
palBlack.setColor(QPalette::Inactive, QPalette::Link, QColor(100, 100, 230));
palBlack.setColor(QPalette::Disabled, QPalette::LinkVisited, QColor(74, 34, 74));
palBlack.setColor(QPalette::Active, QPalette::LinkVisited, QColor(230, 100, 230));
palBlack.setColor(QPalette::Inactive, QPalette::LinkVisited, QColor(230, 100, 230));
guiApp->setPalette(palBlack);
}

else if (proThemeColor == "blue")
{
QPalette palBlue;
palBlue.setColor(QPalette::Disabled, QPalette::Window, QColor(32, 35, 39));
palBlue.setColor(QPalette::Active, QPalette::Window, QColor(37, 40, 45));
palBlue.setColor(QPalette::Inactive, QPalette::Window, QColor(37, 40, 45));
palBlue.setColor(QPalette::Disabled, QPalette::WindowText, QColor(89, 95, 104));
palBlue.setColor(QPalette::Active, QPalette::WindowText, QColor(223, 237, 255));
palBlue.setColor(QPalette::Inactive, QPalette::WindowText, QColor(223, 237, 255));
palBlue.setColor(QPalette::Disabled, QPalette::Base, QColor(48, 53, 60));
palBlue.setColor(QPalette::Active, QPalette::Base, QColor(55, 61, 69));
palBlue.setColor(QPalette::Inactive, QPalette::Base, QColor(55, 61, 69));
palBlue.setColor(QPalette::Disabled, QPalette::AlternateBase, QColor(60, 64, 67));
palBlue.setColor(QPalette::Active, QPalette::AlternateBase, QColor(69, 73, 77));
palBlue.setColor(QPalette::Inactive, QPalette::AlternateBase, QColor(69, 73, 77));
palBlue.setColor(QPalette::Disabled, QPalette::ToolTipBase, QColor(182, 193, 208));
palBlue.setColor(QPalette::Active, QPalette::ToolTipBase, QColor(182, 193, 208));
palBlue.setColor(QPalette::Inactive, QPalette::ToolTipBase, QColor(182, 193, 208));
palBlue.setColor(QPalette::Disabled, QPalette::ToolTipText, QColor(42, 44, 48));
palBlue.setColor(QPalette::Active, QPalette::ToolTipText, QColor(42, 44, 48));
palBlue.setColor(QPalette::Inactive, QPalette::ToolTipText, QColor(42, 44, 48));
palBlue.setColor(QPalette::Disabled, QPalette::Text, QColor(96, 103, 113));
palBlue.setColor(QPalette::Active, QPalette::Text, QColor(210, 222, 240));
palBlue.setColor(QPalette::Inactive, QPalette::Text, QColor(210, 222, 240));
palBlue.setColor(QPalette::Disabled, QPalette::Button, QColor(51, 55, 62));
palBlue.setColor(QPalette::Active, QPalette::Button, QColor(59, 63, 71));
palBlue.setColor(QPalette::Inactive, QPalette::Button, QColor(59, 63, 71));
palBlue.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(98, 104, 114));
palBlue.setColor(QPalette::Active, QPalette::ButtonText, QColor(210, 222, 240));
palBlue.setColor(QPalette::Inactive, QPalette::ButtonText, QColor(210, 222, 240));
palBlue.setColor(QPalette::Disabled, QPalette::BrightText, QColor(255, 255, 255));
palBlue.setColor(QPalette::Active, QPalette::BrightText, QColor(255, 255, 255));
palBlue.setColor(QPalette::Inactive, QPalette::BrightText, QColor(255, 255, 255));
palBlue.setColor(QPalette::Disabled, QPalette::Light, QColor(59, 64, 72));
palBlue.setColor(QPalette::Active, QPalette::Light, QColor(63, 68, 76));
palBlue.setColor(QPalette::Inactive, QPalette::Light, QColor(63, 68, 76));
palBlue.setColor(QPalette::Disabled, QPalette::Midlight, QColor(48, 52, 59));
palBlue.setColor(QPalette::Active, QPalette::Midlight, QColor(51, 56, 63));
palBlue.setColor(QPalette::Inactive, QPalette::Midlight, QColor(51, 56, 63));
palBlue.setColor(QPalette::Disabled, QPalette::Dark, QColor(18, 19, 22));
palBlue.setColor(QPalette::Active, QPalette::Dark, QColor(20, 22, 25));
palBlue.setColor(QPalette::Inactive, QPalette::Dark, QColor(20, 22, 25));
palBlue.setColor(QPalette::Disabled, QPalette::Mid, QColor(28, 30, 34));
palBlue.setColor(QPalette::Active, QPalette::Mid, QColor(32, 35, 39));
palBlue.setColor(QPalette::Inactive, QPalette::Mid, QColor(32, 35, 39));
palBlue.setColor(QPalette::Disabled, QPalette::Shadow, QColor(13, 14, 16));
palBlue.setColor(QPalette::Active, QPalette::Shadow, QColor(15, 16, 18));
palBlue.setColor(QPalette::Inactive, QPalette::Shadow, QColor(15, 16, 18));
palBlue.setColor(QPalette::Disabled, QPalette::Highlight, QColor(32, 35, 39));
palBlue.setColor(QPalette::Active, QPalette::Highlight, QColor(14, 14, 17));
palBlue.setColor(QPalette::Inactive, QPalette::Highlight, QColor(27, 28, 33));
palBlue.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(89, 95, 104));
palBlue.setColor(QPalette::Active, QPalette::HighlightedText, QColor(217, 234, 253));
palBlue.setColor(QPalette::Inactive, QPalette::HighlightedText, QColor(223, 237, 255));
palBlue.setColor(QPalette::Disabled, QPalette::Link, QColor(79, 100, 118));
palBlue.setColor(QPalette::Active, QPalette::Link, QColor(156, 212, 255));
palBlue.setColor(QPalette::Inactive, QPalette::Link, QColor(156, 212, 255));
palBlue.setColor(QPalette::Disabled, QPalette::LinkVisited, QColor(51, 74, 118));
palBlue.setColor(QPalette::Active, QPalette::LinkVisited, QColor(64, 128, 255));
palBlue.setColor(QPalette::Inactive, QPalette::LinkVisited, QColor(64, 128, 255));
guiApp->setPalette(palBlue);
}
}

QApplication* CarlaApplication::createApp(const QString& appName, int& argc, char* argv[])
{
#ifdef CARLA_OS_LINUX
QApplication::setAttribute(Qt::AA_X11InitThreads);
#endif

#ifdef CARLA_OS_MAC
QApplication::setAttribute(Qt::AA_DontShowIconsInMenus);
#endif

#if QT_VERSION >= 0x50600
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif

/*
// TODO
args = sys.argv[:]

if WINDOWS:
args += ["-platform", "windows:fontengine=freetype"]
*/
fApp = gCarla.nogui ? new QCoreApplication(argc, argv) : new QApplication(argc, argv);
fApp->setApplicationName(appName);
fApp->setApplicationVersion(CARLA_VERSION_STRING);
fApp->setOrganizationName("falkTX");

if (gCarla.nogui)
return nullptr;

QApplication* const guiApp = dynamic_cast<QApplication*>(fApp);
CARLA_SAFE_ASSERT_RETURN(guiApp != nullptr, nullptr);

if (appName.toLower() == "carla-control")
{
#if QT_VERSION >= 0x50700
guiApp->setDesktopFileName("carla-control");
#endif
guiApp->setWindowIcon(QIcon(":/scalable/carla-control.svg"));
}
else
{
#if QT_VERSION >= 0x50700
guiApp->setDesktopFileName("carla");
#endif
guiApp->setWindowIcon(QIcon(":/scalable/carla.svg"));
}

return guiApp;
}

//---------------------------------------------------------------------------------------------------------------------

+ 66
- 0
source/frontend/C++/app.hpp View File

@@ -0,0 +1,66 @@
/*
* Carla plugin host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef CARLA_APP_HPP_INCLUDED
#define CARLA_APP_HPP_INCLUDED

//---------------------------------------------------------------------------------------------------------------------
// Imports (Global)

#include <QtCore/QCoreApplication>
#include <QtCore/QString>

class QApplication;

//---------------------------------------------------------------------------------------------------------------------
// Imports (Custom)

#include "../../utils/CarlaJuceUtils.hpp"

//---------------------------------------------------------------------------------------------------------------------

class CarlaApplication
{
public:
CarlaApplication(const QString appName, int& argc, char* argv[]);

int exec() const
{
return fApp->exec();
}

void quit() const
{
fApp->quit();
}

QCoreApplication* getApp() const noexcept
{
return fApp;
}

private:
QCoreApplication* fApp;

QApplication* createApp(const QString& appName, int& argc, char* argv[]);

CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaApplication)
};

//---------------------------------------------------------------------------------------------------------------------

#endif // CARLA_APP_HPP_INCLUDED

+ 64
- 0
source/frontend/C++/carla.cpp View File

@@ -0,0 +1,64 @@
/*
* Carla plugin host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

//---------------------------------------------------------------------------------------------------------------------

#include "app.hpp"
#include "host.hpp"
#include "resources_rc.hpp"

// --------------------------------------------------------------------------------------------------------------------
// Main

int main(int argc, char* argv[])
{
// ----------------------------------------------------------------------------------------------------------------
// Read CLI args

const QString initName(handleInitialCommandLineArguments(argc, argv));

// ----------------------------------------------------------------------------------------------------------------
// App initialization

const CarlaApplication app("Carla2", argc, argv);

// ----------------------------------------------------------------------------------------------------------------
// Set-up custom signal handling

setUpSignals();

// ----------------------------------------------------------------------------------------------------------------
// Init host backend

Host& host = initHost(initName, false, false, true);
loadHostSettings(host);

// ----------------------------------------------------------------------------------------------------------------
// Create GUI

CarlaHostWindow gui(host, true);

// ----------------------------------------------------------------------------------------------------------------
// Show GUI

gui.show();

// ----------------------------------------------------------------------------------------------------------------
// App-Loop

return app.exec();
}

+ 1677
- 0
source/frontend/C++/host.cpp
File diff suppressed because it is too large
View File


+ 292
- 0
source/frontend/C++/host.hpp View File

@@ -0,0 +1,292 @@
/*
* Carla plugin host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef CARLA_HOST_HPP_INCLUDED
#define CARLA_HOST_HPP_INCLUDED

//---------------------------------------------------------------------------------------------------------------------
// Imports (Global)

#include <QtWidgets/QMainWindow>

//---------------------------------------------------------------------------------------------------------------------
// Imports (Custom)

#include "shared.hpp"

#include "../../backend/CarlaBackend.h"
#include "../../utils/CarlaJuceUtils.hpp"

CARLA_BACKEND_USE_NAMESPACE;

//---------------------------------------------------------------------------------------------------------------------

struct Host : public QObject
{
// info about this host object
bool isControl;
bool isPlugin;
bool isRemote;
bool nsmOK;

// settings
EngineProcessMode processMode;
EngineTransportMode transportMode;
QString transportExtra;
EngineProcessMode nextProcessMode;
bool processModeForced;
QString audioDriverForced;

// settings
bool experimental;
bool exportLV2;
bool forceStereo;
bool manageUIs;
uint maxParameters;
bool preferPluginBridges;
bool preferUIBridges;
bool preventBadBehaviour;
bool showLogs;
bool showPluginBridges;
bool showWineBridges;
bool uiBridgesTimeout;
bool uisAlwaysOnTop;

// settings
QString pathBinaries;
QString pathResources;

Host();

// Qt Stuff
Q_SIGNAL void EngineStartedCallback(uint, int, int, int, float, QString);
Q_SIGNAL void EngineStoppedCallback();
Q_OBJECT
};

//---------------------------------------------------------------------------------------------------------------------
// Host Window

class CarlaHostWindow : public QMainWindow
{
Q_OBJECT

// signals
Q_SIGNAL void SIGTERM();
Q_SIGNAL void SIGUSR1();

enum CustomActions {
CUSTOM_ACTION_NONE,
CUSTOM_ACTION_APP_CLOSE,
CUSTOM_ACTION_PROJECT_LOAD
};

public:
//-----------------------------------------------------------------------------------------------------------------

CarlaHostWindow(Host& host, const bool withCanvas, QWidget* const parent = nullptr);
~CarlaHostWindow() override;

private:
Host& host;
struct PrivateData;
PrivateData* const self;

//-----------------------------------------------------------------------------------------------------------------
// Setup

void compactPlugin(uint pluginId);
void changePluginColor(uint pluginId, QString color, QString colorStr);
void changePluginSkin(uint pluginId, QString skin);
void switchPlugins(uint pluginIdA, uint pluginIdB);
void setLoadRDFsNeeded() noexcept;
void setProperWindowTitle();
void updateBufferSize(uint newBufferSize);
void updateSampleRate(double newSampleRate);

//-----------------------------------------------------------------------------------------------------------------
// Files

//-----------------------------------------------------------------------------------------------------------------
// Files (menu actions)

//-----------------------------------------------------------------------------------------------------------------
// Engine (menu actions)

Q_SLOT void slot_engineStart();
Q_SLOT bool slot_engineStop(bool forced = false);
Q_SLOT void slot_engineConfig();
Q_SLOT bool slot_engineStopTryAgain();
void engineStopFinal();

//-----------------------------------------------------------------------------------------------------------------
// Engine (host callbacks)

Q_SLOT void slot_handleEngineStartedCallback(uint pluginCount, int processMode, int transportMode, int bufferSize, float sampleRate, QString driverName);
Q_SLOT void slot_handleEngineStoppedCallback();

//-----------------------------------------------------------------------------------------------------------------
// Plugins

//-----------------------------------------------------------------------------------------------------------------
// Plugins (menu actions)

//-----------------------------------------------------------------------------------------------------------------
// Plugins (macros)

//-----------------------------------------------------------------------------------------------------------------
// Plugins (host callbacks)

//-----------------------------------------------------------------------------------------------------------------
// Canvas

//-----------------------------------------------------------------------------------------------------------------
// Canvas (menu actions)

//-----------------------------------------------------------------------------------------------------------------
// Canvas (canvas callbacks)

//-----------------------------------------------------------------------------------------------------------------
// Canvas (host callbacks)

//-----------------------------------------------------------------------------------------------------------------
// Settings

void saveSettings();
void loadSettings(bool firstTime);

//-----------------------------------------------------------------------------------------------------------------
// Settings (helpers)

//-----------------------------------------------------------------------------------------------------------------
// Settings (menu actions)

Q_SLOT void slot_showSidePanel(bool yesNo);
Q_SLOT void slot_showToolbar(bool yesNo);
Q_SLOT void slot_showCanvasMeters(bool yesNo);
Q_SLOT void slot_showCanvasKeyboard(bool yesNo);
Q_SLOT void slot_configureCarla();

//-----------------------------------------------------------------------------------------------------------------
// About (menu actions)

//-----------------------------------------------------------------------------------------------------------------
// Disk (menu actions)

//-----------------------------------------------------------------------------------------------------------------
// Transport

void refreshTransport(bool forced = false);

//-----------------------------------------------------------------------------------------------------------------
// Transport (menu actions)

Q_SLOT void slot_transportPlayPause(bool toggled);
Q_SLOT void slot_transportStop();
Q_SLOT void slot_transportBackwards();
Q_SLOT void slot_transportBpmChanged(qreal newValue);
Q_SLOT void slot_transportForwards();
Q_SLOT void slot_transportJackEnabled(bool clicked);
Q_SLOT void slot_transportLinkEnabled(bool clicked);

//-----------------------------------------------------------------------------------------------------------------
// Other

Q_SLOT void slot_xrunClear();

//-----------------------------------------------------------------------------------------------------------------
// Canvas scrollbars

//-----------------------------------------------------------------------------------------------------------------
// Canvas keyboard

//-----------------------------------------------------------------------------------------------------------------
// Canvas keyboard (host callbacks)

//-----------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------
// MiniCanvas stuff

//-----------------------------------------------------------------------------------------------------------------
// Timers

void startTimers();
void restartTimersIfNeeded();
void killTimers();

//-----------------------------------------------------------------------------------------------------------------
// Misc

//-----------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------
// Internal stuff

//-----------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------
// show/hide event

//-----------------------------------------------------------------------------------------------------------------
// resize event

//-----------------------------------------------------------------------------------------------------------------
// timer event

void refreshRuntimeInfo(float load, int xruns);
void getAndRefreshRuntimeInfo();
void idleFast();
void idleSlow();
void timerEvent(QTimerEvent* event);

//-----------------------------------------------------------------------------------------------------------------
// color/style change event

void changeEvent(QEvent* event) override;
void updateStyle();

//-----------------------------------------------------------------------------------------------------------------
// close event

bool shouldIgnoreClose();
void closeEvent(QCloseEvent* event) override;

//-----------------------------------------------------------------------------------------------------------------

// CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaHostWindow)
};

//---------------------------------------------------------------------------------------------------------------------
// Init host

Host& initHost(const QString initName, const bool isControl, const bool isPlugin, const bool failError);

//---------------------------------------------------------------------------------------------------------------------
// Load host settings

void loadHostSettings(Host& host);

//---------------------------------------------------------------------------------------------------------------------

#endif // CARLA_HOST_HPP_INCLUDED

+ 119633
- 0
source/frontend/C++/resources_rc.hpp
File diff suppressed because it is too large
View File


+ 549
- 0
source/frontend/C++/shared.hpp View File

@@ -0,0 +1,549 @@
/*
* Common Carla code
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef CARLA_SHARED_HPP_INCLUDED
#define CARLA_SHARED_HPP_INCLUDED

#include "../../utils/CarlaUtils.hpp"

//---------------------------------------------------------------------------------------------------------------------

#include <QtCore/QSettings>
#include <QtCore/QStringList>

#include <QtGui/QFontMetrics>

class QMainWindow;

//---------------------------------------------------------------------------------------------------------------------
// Static MIDI CC list

static const char* const* const MIDI_CC_LIST = {
"0x01 Modulation",
"0x02 Breath",
"0x03 (Undefined)",
"0x04 Foot",
"0x05 Portamento",
"0x07 Volume",
"0x08 Balance",
"0x09 (Undefined)",
"0x0A Pan",
"0x0B Expression",
"0x0C FX Control 1",
"0x0D FX Control 2",
"0x0E (Undefined)",
"0x0F (Undefined)",
"0x10 General Purpose 1",
"0x11 General Purpose 2",
"0x12 General Purpose 3",
"0x13 General Purpose 4",
"0x14 (Undefined)",
"0x15 (Undefined)",
"0x16 (Undefined)",
"0x17 (Undefined)",
"0x18 (Undefined)",
"0x19 (Undefined)",
"0x1A (Undefined)",
"0x1B (Undefined)",
"0x1C (Undefined)",
"0x1D (Undefined)",
"0x1E (Undefined)",
"0x1F (Undefined)",
"0x46 Control 1 [Variation]",
"0x47 Control 2 [Timbre]",
"0x48 Control 3 [Release]",
"0x49 Control 4 [Attack]",
"0x4A Control 5 [Brightness]",
"0x4B Control 6 [Decay]",
"0x4C Control 7 [Vib Rate]",
"0x4D Control 8 [Vib Depth]",
"0x4E Control 9 [Vib Delay]",
"0x4F Control 10 [Undefined]",
"0x50 General Purpose 5",
"0x51 General Purpose 6",
"0x52 General Purpose 7",
"0x53 General Purpose 8",
"0x54 Portamento Control",
"0x5B FX 1 Depth [Reverb]",
"0x5C FX 2 Depth [Tremolo]",
"0x5D FX 3 Depth [Chorus]",
"0x5E FX 4 Depth [Detune]",
"0x5F FX 5 Depth [Phaser]",
nullptr
};

//---------------------------------------------------------------------------------------------------------------------
// Carla Settings keys

#define CARLA_KEY_MAIN_PROJECT_FOLDER "Main/ProjectFolder" /* str */
#define CARLA_KEY_MAIN_USE_PRO_THEME "Main/UseProTheme" /* bool */
#define CARLA_KEY_MAIN_PRO_THEME_COLOR "Main/ProThemeColor" /* str */
#define CARLA_KEY_MAIN_REFRESH_INTERVAL "Main/RefreshInterval" /* int */
#define CARLA_KEY_MAIN_CONFIRM_EXIT "Main/ConfirmExit" /* bool */
#define CARLA_KEY_MAIN_SHOW_LOGS "Main/ShowLogs" /* bool */
#define CARLA_KEY_MAIN_EXPERIMENTAL "Main/Experimental" /* bool */

#define CARLA_KEY_CANVAS_THEME "Canvas/Theme" /* str */
#define CARLA_KEY_CANVAS_SIZE "Canvas/Size" /* str "NxN" */
#define CARLA_KEY_CANVAS_USE_BEZIER_LINES "Canvas/UseBezierLines" /* bool */
#define CARLA_KEY_CANVAS_AUTO_HIDE_GROUPS "Canvas/AutoHideGroups" /* bool */
#define CARLA_KEY_CANVAS_AUTO_SELECT_ITEMS "Canvas/AutoSelectItems" /* bool */
#define CARLA_KEY_CANVAS_EYE_CANDY "Canvas/EyeCandy2" /* bool */
#define CARLA_KEY_CANVAS_FANCY_EYE_CANDY "Canvas/FancyEyeCandy" /* bool */
#define CARLA_KEY_CANVAS_USE_OPENGL "Canvas/UseOpenGL" /* bool */
#define CARLA_KEY_CANVAS_ANTIALIASING "Canvas/Antialiasing" /* enum */
#define CARLA_KEY_CANVAS_HQ_ANTIALIASING "Canvas/HQAntialiasing" /* bool */
#define CARLA_KEY_CANVAS_INLINE_DISPLAYS "Canvas/InlineDisplays" /* bool */
#define CARLA_KEY_CANVAS_FULL_REPAINTS "Canvas/FullRepaints" /* bool */

#define CARLA_KEY_ENGINE_DRIVER_PREFIX "Engine/Driver-"
#define CARLA_KEY_ENGINE_AUDIO_DRIVER "Engine/AudioDriver" /* str */
#define CARLA_KEY_ENGINE_PROCESS_MODE "Engine/ProcessMode" /* enum */
#define CARLA_KEY_ENGINE_TRANSPORT_MODE "Engine/TransportMode" /* enum */
#define CARLA_KEY_ENGINE_TRANSPORT_EXTRA "Engine/TransportExtra" /* str */
#define CARLA_KEY_ENGINE_FORCE_STEREO "Engine/ForceStereo" /* bool */
#define CARLA_KEY_ENGINE_PREFER_PLUGIN_BRIDGES "Engine/PreferPluginBridges" /* bool */
#define CARLA_KEY_ENGINE_PREFER_UI_BRIDGES "Engine/PreferUiBridges" /* bool */
#define CARLA_KEY_ENGINE_MANAGE_UIS "Engine/ManageUIs" /* bool */
#define CARLA_KEY_ENGINE_UIS_ALWAYS_ON_TOP "Engine/UIsAlwaysOnTop" /* bool */
#define CARLA_KEY_ENGINE_MAX_PARAMETERS "Engine/MaxParameters" /* int */
#define CARLA_KEY_ENGINE_UI_BRIDGES_TIMEOUT "Engine/UiBridgesTimeout" /* int */

#define CARLA_KEY_OSC_ENABLED "OSC/Enabled"
#define CARLA_KEY_OSC_TCP_PORT_ENABLED "OSC/TCPEnabled"
#define CARLA_KEY_OSC_TCP_PORT_NUMBER "OSC/TCPNumber"
#define CARLA_KEY_OSC_TCP_PORT_RANDOM "OSC/TCPRandom"
#define CARLA_KEY_OSC_UDP_PORT_ENABLED "OSC/UDPEnabled"
#define CARLA_KEY_OSC_UDP_PORT_NUMBER "OSC/UDPNumber"
#define CARLA_KEY_OSC_UDP_PORT_RANDOM "OSC/UDPRandom"

#define CARLA_KEY_PATHS_AUDIO "Paths/Audio"
#define CARLA_KEY_PATHS_MIDI "Paths/MIDI"

#define CARLA_KEY_PATHS_LADSPA "Paths/LADSPA"
#define CARLA_KEY_PATHS_DSSI "Paths/DSSI"
#define CARLA_KEY_PATHS_LV2 "Paths/LV2"
#define CARLA_KEY_PATHS_VST2 "Paths/VST2"
#define CARLA_KEY_PATHS_VST3 "Paths/VST3"
#define CARLA_KEY_PATHS_SF2 "Paths/SF2"
#define CARLA_KEY_PATHS_SFZ "Paths/SFZ"

#define CARLA_KEY_WINE_EXECUTABLE "Wine/Executable" /* str */
#define CARLA_KEY_WINE_AUTO_PREFIX "Wine/AutoPrefix" /* bool */
#define CARLA_KEY_WINE_FALLBACK_PREFIX "Wine/FallbackPrefix" /* str */
#define CARLA_KEY_WINE_RT_PRIO_ENABLED "Wine/RtPrioEnabled" /* bool */
#define CARLA_KEY_WINE_BASE_RT_PRIO "Wine/BaseRtPrio" /* int */
#define CARLA_KEY_WINE_SERVER_RT_PRIO "Wine/ServerRtPrio" /* int */

#define CARLA_KEY_EXPERIMENTAL_PLUGIN_BRIDGES "Experimental/PluginBridges" /* bool */
#define CARLA_KEY_EXPERIMENTAL_WINE_BRIDGES "Experimental/WineBridges" /* bool */
#define CARLA_KEY_EXPERIMENTAL_JACK_APPS "Experimental/JackApplications" /* bool */
#define CARLA_KEY_EXPERIMENTAL_EXPORT_LV2 "Experimental/ExportLV2" /* bool */
#define CARLA_KEY_EXPERIMENTAL_PREVENT_BAD_BEHAVIOUR "Experimental/PreventBadBehaviour" /* bool */
#define CARLA_KEY_EXPERIMENTAL_LOAD_LIB_GLOBAL "Experimental/LoadLibGlobal" /* bool */

// if pro theme is on and color is black
#define CARLA_KEY_CUSTOM_PAINTING "UseCustomPainting" /* bool */

//---------------------------------------------------------------------------------------------------------------------
// Carla Settings defaults

// Main
#define CARLA_DEFAULT_MAIN_PROJECT_FOLDER HOME
#define CARLA_DEFAULT_MAIN_USE_PRO_THEME true
#define CARLA_DEFAULT_MAIN_PRO_THEME_COLOR "Black"
#define CARLA_DEFAULT_MAIN_REFRESH_INTERVAL 20
#define CARLA_DEFAULT_MAIN_CONFIRM_EXIT true
#define CARLA_DEFAULT_MAIN_SHOW_LOGS bool(not WINDOWS)
#define CARLA_DEFAULT_MAIN_EXPERIMENTAL false

// Canvas
#define CARLA_DEFAULT_CANVAS_THEME "Modern Dark"
#define CARLA_DEFAULT_CANVAS_SIZE "3100x2400"
#define CARLA_DEFAULT_CANVAS_SIZE_WIDTH 3100
#define CARLA_DEFAULT_CANVAS_SIZE_HEIGHT 2400
#define CARLA_DEFAULT_CANVAS_USE_BEZIER_LINES true
#define CARLA_DEFAULT_CANVAS_AUTO_HIDE_GROUPS true
#define CARLA_DEFAULT_CANVAS_AUTO_SELECT_ITEMS false
#define CARLA_DEFAULT_CANVAS_EYE_CANDY true
#define CARLA_DEFAULT_CANVAS_FANCY_EYE_CANDY false
#define CARLA_DEFAULT_CANVAS_USE_OPENGL false
#define CARLA_DEFAULT_CANVAS_ANTIALIASING CANVAS_ANTIALIASING_SMALL
#define CARLA_DEFAULT_CANVAS_HQ_ANTIALIASING false
#define CARLA_DEFAULT_CANVAS_INLINE_DISPLAYS false
#define CARLA_DEFAULT_CANVAS_FULL_REPAINTS false

// Engine
#define CARLA_DEFAULT_FORCE_STEREO false
#define CARLA_DEFAULT_PREFER_PLUGIN_BRIDGES false
#define CARLA_DEFAULT_PREFER_UI_BRIDGES true
#define CARLA_DEFAULT_MANAGE_UIS true
#define CARLA_DEFAULT_UIS_ALWAYS_ON_TOP false
#define CARLA_DEFAULT_MAX_PARAMETERS MAX_DEFAULT_PARAMETERS
#define CARLA_DEFAULT_UI_BRIDGES_TIMEOUT 4000

#define CARLA_DEFAULT_AUDIO_BUFFER_SIZE 512
#define CARLA_DEFAULT_AUDIO_SAMPLE_RATE 44100
#define CARLA_DEFAULT_AUDIO_TRIPLE_BUFFER false

#if defined(CARLA_OS_WIN)
# define CARLA_DEFAULT_AUDIO_DRIVER "DirectSound"
#elif defined(CARLA_OS_MAC)
# define CARLA_DEFAULT_AUDIO_DRIVER "CoreAudio"
#else
// if os.path.exists("/usr/bin/jackd") or os.path.exists("/usr/bin/jackdbus"):
# define CARLA_DEFAULT_AUDIO_DRIVER "JACK"
// # define CARLA_DEFAULT_AUDIO_DRIVER "PulseAudio"
#endif

// #if CARLA_DEFAULT_AUDIO_DRIVER == "JACK"
// # define CARLA_DEFAULT_PROCESS_MODE ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS
// # define CARLA_DEFAULT_TRANSPORT_MODE ENGINE_TRANSPORT_MODE_JACK
// #else
# define CARLA_DEFAULT_PROCESS_MODE ENGINE_PROCESS_MODE_PATCHBAY
# define CARLA_DEFAULT_TRANSPORT_MODE ENGINE_TRANSPORT_MODE_INTERNAL
// #endif

// OSC
#define CARLA_DEFAULT_OSC_ENABLED !(not WINDOWS)
#define CARLA_DEFAULT_OSC_TCP_PORT_ENABLED true
#define CARLA_DEFAULT_OSC_TCP_PORT_NUMBER 22752
#define CARLA_DEFAULT_OSC_TCP_PORT_RANDOM false
#define CARLA_DEFAULT_OSC_UDP_PORT_ENABLED true
#define CARLA_DEFAULT_OSC_UDP_PORT_NUMBER 22752
#define CARLA_DEFAULT_OSC_UDP_PORT_RANDOM false

// Wine
#define CARLA_DEFAULT_WINE_EXECUTABLE "wine"
#define CARLA_DEFAULT_WINE_AUTO_PREFIX true
#define CARLA_DEFAULT_WINE_FALLBACK_PREFIX os.path.expanduser("~/.wine")
#define CARLA_DEFAULT_WINE_RT_PRIO_ENABLED true
#define CARLA_DEFAULT_WINE_BASE_RT_PRIO 15
#define CARLA_DEFAULT_WINE_SERVER_RT_PRIO 10

// Experimental
#define CARLA_DEFAULT_EXPERIMENTAL_PLUGIN_BRIDGES false
#define CARLA_DEFAULT_EXPERIMENTAL_WINE_BRIDGES false
#define CARLA_DEFAULT_EXPERIMENTAL_JACK_APPS false
#define CARLA_DEFAULT_EXPERIMENTAL_LV2_EXPORT false
#define CARLA_DEFAULT_EXPERIMENTAL_PREVENT_BAD_BEHAVIOUR false
#define CARLA_DEFAULT_EXPERIMENTAL_LOAD_LIB_GLOBAL false

//---------------------------------------------------------------------------------------------------------------------
// Global Carla object

struct CarlaObject {
QMainWindow* gui; // Host Window
bool nogui; // Skip UI
bool term; // Terminated by OS signal

CarlaObject()
: gui(nullptr),
nogui(false),
term(false) {}
};

extern CarlaObject gCarla;

//---------------------------------------------------------------------------------------------------------------------
// Signal handler

/*
void signalHandler(const int sig)
{
if (sig == SIGINT || sig == SIGTERM)
{
gCarla.term = true;
if (gCarla.gui != nullptr)
gCarla.gui.SIGTERM.emit();
}
else if (sig == SIGUSR1)
{
if (gCarla.gui != nullptr)
gCarla.gui.SIGUSR1.emit();
}
}
*/

inline void setUpSignals()
{
/*
signal(SIGINT, signalHandler);
signal(SIGTERM, signalHandler);
signal(SIGUSR1, signalHandler);
*/
}

//---------------------------------------------------------------------------------------------------------------------
// Handle some basic command-line arguments shared between all carla variants

inline
QString handleInitialCommandLineArguments(const int argc, char* argv[])
{
static const QStringList listArgsNoGUI = { "-n", "--n", "-no-gui", "--no-gui", "-nogui", "--nogui" };
static const QStringList listArgsHelp = { "-h", "--h", "-help", "--help" };
static const QStringList listArgsVersion = { "-v", "--v", "-version", "--version" };

QString initName(argv[0]); // = os.path.basename(file) if (file is not None and os.path.dirname(file) in PATH) else sys.argv[0]
// libPrefix = None

for (int i=1; i<argc; ++i)
{
const QString arg(argv[i]);

if (arg.startsWith("--with-appname="))
{
// initName = os.path.basename(arg.replace("--with-appname=", ""));
}
else if (arg.startsWith("--with-libprefix=") || arg == "--gdb")
{
pass();
}
else if (listArgsNoGUI.contains(arg))
{
gCarla.nogui = true;
}
else if (listArgsHelp.contains(arg))
{
carla_stdout("Usage: %s [OPTION]... [FILE|URL]", initName);
carla_stdout("");
carla_stdout(" where FILE can be a Carla project or preset file to be loaded, or URL if using Carla-Control");
carla_stdout("");
carla_stdout(" and OPTION can be one or more of the following:");
carla_stdout("");
carla_stdout(" --gdb \t Run Carla inside gdb.");
carla_stdout(" -n,--no-gui \t Run Carla headless, don't show UI.");
carla_stdout("");
carla_stdout(" -h,--help \t Print this help text and exit.");
carla_stdout(" -v,--version\t Print version information and exit.");
carla_stdout("");

std::exit(0);
}
else if (listArgsVersion.contains(arg))
{
/*
QString pathBinaries, pathResources = getPaths();
*/

carla_stdout("Using Carla version %s", CARLA_VERSION_STRING);
/*
carla_stdout(" Qt version: %s", QT_VERSION_STR);
carla_stdout(" Binary dir: %s", pathBinaries.toUtf8());
carla_stdout(" Resources dir: %s", pathResources.toUtf8());
*/

std::exit(0);
}
}

return initName;
}

#if 0
//---------------------------------------------------------------------------------------------------------------------
// Get Icon from user theme, using our own as backup (Oxygen)

def getIcon(icon, size = 16):
return QIcon.fromTheme(icon, QIcon(":/%ix%i/%s.png" % (size, size, icon)))

//---------------------------------------------------------------------------------------------------------------------
// QLineEdit and QPushButton combo

def getAndSetPath(parent, lineEdit):
newPath = QFileDialog.getExistingDirectory(parent, parent.tr("Set Path"), lineEdit.text(), QFileDialog.ShowDirsOnly)
if newPath:
lineEdit.setText(newPath)
return newPath
#endif

//---------------------------------------------------------------------------------------------------------------------
// Check if a string array contains a string

static inline
bool stringArrayContainsString(const char* const* const stringArray, const char* const string) noexcept
{
for (uint i=0; stringArray[i] != nullptr; ++i)
{
if (std::strcmp(stringArray[i], string) == 0)
return true;
}

return false;
}

static inline
void fillQStringListFromStringArray(QStringList& list, const char* const* const stringArray)
{
uint count = 0;

// count number of strings first
for (; stringArray[count] != nullptr; ++count) {}

// allocate list
list.reserve(count);

// fill in strings
for (count = 0; stringArray[count] != nullptr; ++count)
list.replace(count, stringArray[count]);
}

//---------------------------------------------------------------------------------------------------------------------
// Backwards-compatible horizontalAdvance/width call, depending on qt version

static inline
int fontMetricsHorizontalAdvance(const QFontMetrics& fm, const QString& s)
{
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
return fm.horizontalAdvance(s);
#else
return fm.width(s);
#endif
}

//---------------------------------------------------------------------------------------------------------------------
// Custom QString class with a few extra methods

class QCarlaString : public QString
{
public:
QCarlaString()
: QString() {}

QCarlaString(const char* const ch)
: QString(ch) {}

QCarlaString(const QString& s)
: QString(s) {}

inline bool isNotEmpty() const
{
return !isEmpty();
}

inline QCarlaString& operator=(const char* const ch)
{
return (*this = fromUtf8(ch));
}
};

#if 0
//---------------------------------------------------------------------------------------------------------------------
// Custom QMessageBox which resizes itself to fit text

class QMessageBoxWithBetterWidth(QMessageBox):
def __init__(self, parent):
QMessageBox.__init__(self, parent)

def showEvent(self, event):
fontMetrics = self.fontMetrics()

lines = self.text().strip().split("\n") + self.informativeText().strip().split("\n")

if len(lines) > 0:
width = 0

for line in lines:
width = max(fontMetrics.width(line), width)

self.layout().setColumnMinimumWidth(2, width + 12)

QMessageBox.showEvent(self, event)
#endif

//---------------------------------------------------------------------------------------------------------------------
// Safer QSettings class, which does not throw if type mismatches

class QSafeSettings : public QSettings
{
public:
QSafeSettings()
: QSettings() {}

QSafeSettings(const QString organizationName, const QString applicationName)
: QSettings(organizationName, applicationName) {}

bool valueBool(const QString key, const bool defaultValue) const
{
QVariant var(value(key, defaultValue));
CARLA_SAFE_ASSERT_RETURN(var.convert(QVariant::Bool), defaultValue);

return var.isValid() ? var.toBool() : defaultValue;
}

uint valueUInt(const QString key, const uint defaultValue) const
{
QVariant var(value(key, defaultValue));
CARLA_SAFE_ASSERT_RETURN(var.convert(QVariant::UInt), defaultValue);

return var.isValid() ? var.toUInt() : defaultValue;
}

double valueDouble(const QString key, const double defaultValue) const
{
QVariant var(value(key, defaultValue));
CARLA_SAFE_ASSERT_RETURN(var.convert(QVariant::Double), defaultValue);

return var.isValid() ? var.toDouble() : defaultValue;
}

QString valueString(const QString key, const QString defaultValue) const
{
QVariant var(value(key, defaultValue));
CARLA_SAFE_ASSERT_RETURN(var.convert(QVariant::String), defaultValue);

return var.isValid() ? var.toString() : defaultValue;
}

QByteArray valueByteArray(const QString key, const QByteArray defaultValue = QByteArray()) const
{
QVariant var(value(key, defaultValue));
CARLA_SAFE_ASSERT_RETURN(var.convert(QVariant::ByteArray), defaultValue);

return var.isValid() ? var.toByteArray() : defaultValue;
}

QStringList valueStringList(const QString key, const QStringList defaultValue = QStringList()) const
{
QVariant var(value(key, defaultValue));
CARLA_SAFE_ASSERT_RETURN(var.convert(QVariant::StringList), defaultValue);

return var.isValid() ? var.toStringList() : defaultValue;
}
};

#if 0
//---------------------------------------------------------------------------------------------------------------------
// Custom MessageBox

def CustomMessageBox(parent, icon, title, text,
extraText="",
buttons=QMessageBox.Yes|QMessageBox.No,
defButton=QMessageBox.No):
msgBox = QMessageBoxWithBetterWidth(parent)
msgBox.setIcon(icon)
msgBox.setWindowTitle(title)
msgBox.setText(text)
msgBox.setInformativeText(extraText)
msgBox.setStandardButtons(buttons)
msgBox.setDefaultButton(defButton)
return msgBox.exec_()
#endif

//---------------------------------------------------------------------------------------------------------------------

#endif // CARLA_SHARED_HPP_INCLUDED

+ 1031
- 0
source/frontend/C++/ui_carla_about.hpp
File diff suppressed because it is too large
View File


+ 135
- 0
source/frontend/C++/ui_carla_about_juce.hpp View File

@@ -0,0 +1,135 @@
/********************************************************************************
** Form generated from reading UI file 'carla_about_juce.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_ABOUT_JUCE_H
#define UI_CARLA_ABOUT_JUCE_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>

QT_BEGIN_NAMESPACE

class Ui_JuceAboutW
{
public:
QGridLayout *gridLayout;
QVBoxLayout *verticalLayout;
QLabel *icon;
QSpacerItem *verticalSpacer;
QVBoxLayout *verticalLayout_2;
QLabel *l_text1;
QSpacerItem *verticalSpacer_3;
QLabel *l_text2;
QSpacerItem *verticalSpacer_4;
QLabel *l_text3;
QSpacerItem *verticalSpacer_2;
QDialogButtonBox *buttonBox;

void setupUi(QDialog *JuceAboutW)
{
if (JuceAboutW->objectName().isEmpty())
JuceAboutW->setObjectName(QString::fromUtf8("JuceAboutW"));
JuceAboutW->resize(463, 244);
gridLayout = new QGridLayout(JuceAboutW);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
verticalLayout = new QVBoxLayout();
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
icon = new QLabel(JuceAboutW);
icon->setObjectName(QString::fromUtf8("icon"));
icon->setMinimumSize(QSize(48, 48));
icon->setMaximumSize(QSize(48, 48));
icon->setPixmap(QPixmap(QString::fromUtf8(":/48x48/juce.png")));

verticalLayout->addWidget(icon);

verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout->addItem(verticalSpacer);


gridLayout->addLayout(verticalLayout, 0, 0, 1, 1);

verticalLayout_2 = new QVBoxLayout();
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
l_text1 = new QLabel(JuceAboutW);
l_text1->setObjectName(QString::fromUtf8("l_text1"));

verticalLayout_2->addWidget(l_text1);

verticalSpacer_3 = new QSpacerItem(10, 10, QSizePolicy::Minimum, QSizePolicy::Fixed);

verticalLayout_2->addItem(verticalSpacer_3);

l_text2 = new QLabel(JuceAboutW);
l_text2->setObjectName(QString::fromUtf8("l_text2"));

verticalLayout_2->addWidget(l_text2);

verticalSpacer_4 = new QSpacerItem(10, 10, QSizePolicy::Minimum, QSizePolicy::Fixed);

verticalLayout_2->addItem(verticalSpacer_4);

l_text3 = new QLabel(JuceAboutW);
l_text3->setObjectName(QString::fromUtf8("l_text3"));
l_text3->setWordWrap(true);

verticalLayout_2->addWidget(l_text3);

verticalSpacer_2 = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout_2->addItem(verticalSpacer_2);


gridLayout->addLayout(verticalLayout_2, 0, 1, 1, 1);

buttonBox = new QDialogButtonBox(JuceAboutW);
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Ok);

gridLayout->addWidget(buttonBox, 1, 0, 1, 2);


retranslateUi(JuceAboutW);
QObject::connect(buttonBox, SIGNAL(accepted()), JuceAboutW, SLOT(accept()));
QObject::connect(buttonBox, SIGNAL(rejected()), JuceAboutW, SLOT(reject()));

QMetaObject::connectSlotsByName(JuceAboutW);
} // setupUi

void retranslateUi(QDialog *JuceAboutW)
{
JuceAboutW->setWindowTitle(QCoreApplication::translate("JuceAboutW", "About JUCE", nullptr));
icon->setText(QString());
l_text1->setText(QCoreApplication::translate("JuceAboutW", "<b>About JUCE</b>", nullptr));
l_text2->setText(QCoreApplication::translate("JuceAboutW", "This program uses JUCE version 3.x.x.", nullptr));
l_text3->setText(QCoreApplication::translate("JuceAboutW", "JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software.\n"
"\n"
"It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound.\n"
"\n"
"JUCE is licensed under the GNU Public Licence version 2.0.\n"
"One module (juce_core) is permissively licensed under the ISC.\n"
"\n"
"Copyright (C) 2017 ROLI Ltd.", nullptr));
} // retranslateUi

};

namespace Ui {
class JuceAboutW: public Ui_JuceAboutW {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_ABOUT_JUCE_H

+ 421
- 0
source/frontend/C++/ui_carla_add_jack.hpp View File

@@ -0,0 +1,421 @@
/********************************************************************************
** Form generated from reading UI file 'carla_add_jack.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_ADD_JACK_H
#define UI_CARLA_ADD_JACK_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QFrame>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QRadioButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QStackedWidget>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>

QT_BEGIN_NAMESPACE

class Ui_Dialog
{
public:
QVBoxLayout *verticalLayout;
QLabel *label_9;
QGroupBox *group_command;
QGridLayout *gridLayout;
QSpacerItem *horizontalSpacer_4;
QLabel *label_10;
QLineEdit *le_name;
QSpacerItem *horizontalSpacer_3;
QLabel *label_5;
QRadioButton *rb_template;
QRadioButton *rb_custom;
QStackedWidget *stackedWidget;
QWidget *page_template;
QHBoxLayout *horizontalLayout_2;
QLabel *l_template;
QComboBox *cb_template;
QWidget *page_command;
QHBoxLayout *horizontalLayout_3;
QLabel *l_command;
QLineEdit *le_command;
QGroupBox *group_setup;
QGridLayout *gridLayout_2;
QSpacerItem *horizontalSpacer_5;
QHBoxLayout *horizontalLayout;
QSpacerItem *horizontalSpacer_10;
QLabel *label_6;
QComboBox *cb_session_mgr;
QSpacerItem *horizontalSpacer_9;
QLabel *label_3;
QSpinBox *sb_audio_ins;
QSpacerItem *horizontalSpacer_7;
QFrame *line;
QSpacerItem *horizontalSpacer_13;
QLabel *label_7;
QSpinBox *sb_midi_ins;
QSpacerItem *horizontalSpacer_15;
QSpacerItem *horizontalSpacer_6;
QLabel *label_4;
QSpinBox *sb_audio_outs;
QSpacerItem *horizontalSpacer_8;
QSpacerItem *horizontalSpacer_14;
QLabel *label_8;
QSpinBox *sb_midi_outs;
QSpacerItem *horizontalSpacer_16;
QCheckBox *cb_manage_window;
QGroupBox *groupBox;
QGridLayout *gridLayout_3;
QCheckBox *cb_external_start;
QCheckBox *cb_capture_first_window;
QSpacerItem *horizontalSpacer;
QSpacerItem *horizontalSpacer_2;
QCheckBox *cb_buffers_addition_mode;
QCheckBox *cb_out_midi_mixdown;
QDialogButtonBox *buttonBox;

void setupUi(QDialog *Dialog)
{
if (Dialog->objectName().isEmpty())
Dialog->setObjectName(QString::fromUtf8("Dialog"));
Dialog->resize(487, 572);
verticalLayout = new QVBoxLayout(Dialog);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
label_9 = new QLabel(Dialog);
label_9->setObjectName(QString::fromUtf8("label_9"));

verticalLayout->addWidget(label_9);

group_command = new QGroupBox(Dialog);
group_command->setObjectName(QString::fromUtf8("group_command"));
gridLayout = new QGridLayout(group_command);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
horizontalSpacer_4 = new QSpacerItem(20, 60, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer_4, 0, 0, 3, 1);

label_10 = new QLabel(group_command);
label_10->setObjectName(QString::fromUtf8("label_10"));
label_10->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_10, 0, 1, 1, 1);

le_name = new QLineEdit(group_command);
le_name->setObjectName(QString::fromUtf8("le_name"));

gridLayout->addWidget(le_name, 0, 2, 1, 2);

horizontalSpacer_3 = new QSpacerItem(20, 60, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer_3, 0, 4, 3, 1);

label_5 = new QLabel(group_command);
label_5->setObjectName(QString::fromUtf8("label_5"));
label_5->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_5, 1, 1, 1, 1);

rb_template = new QRadioButton(group_command);
rb_template->setObjectName(QString::fromUtf8("rb_template"));
rb_template->setEnabled(false);
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(rb_template->sizePolicy().hasHeightForWidth());
rb_template->setSizePolicy(sizePolicy);

gridLayout->addWidget(rb_template, 1, 2, 1, 1);

rb_custom = new QRadioButton(group_command);
rb_custom->setObjectName(QString::fromUtf8("rb_custom"));
sizePolicy.setHeightForWidth(rb_custom->sizePolicy().hasHeightForWidth());
rb_custom->setSizePolicy(sizePolicy);
rb_custom->setChecked(true);

gridLayout->addWidget(rb_custom, 1, 3, 1, 1);

stackedWidget = new QStackedWidget(group_command);
stackedWidget->setObjectName(QString::fromUtf8("stackedWidget"));
page_template = new QWidget();
page_template->setObjectName(QString::fromUtf8("page_template"));
horizontalLayout_2 = new QHBoxLayout(page_template);
horizontalLayout_2->setContentsMargins(0, 0, 0, 0);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
l_template = new QLabel(page_template);
l_template->setObjectName(QString::fromUtf8("l_template"));
l_template->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

horizontalLayout_2->addWidget(l_template);

cb_template = new QComboBox(page_template);
cb_template->setObjectName(QString::fromUtf8("cb_template"));
sizePolicy.setHeightForWidth(cb_template->sizePolicy().hasHeightForWidth());
cb_template->setSizePolicy(sizePolicy);
cb_template->setEditable(false);

horizontalLayout_2->addWidget(cb_template);

stackedWidget->addWidget(page_template);
page_command = new QWidget();
page_command->setObjectName(QString::fromUtf8("page_command"));
horizontalLayout_3 = new QHBoxLayout(page_command);
horizontalLayout_3->setContentsMargins(0, 0, 0, 0);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
l_command = new QLabel(page_command);
l_command->setObjectName(QString::fromUtf8("l_command"));
l_command->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

horizontalLayout_3->addWidget(l_command);

le_command = new QLineEdit(page_command);
le_command->setObjectName(QString::fromUtf8("le_command"));

horizontalLayout_3->addWidget(le_command);

stackedWidget->addWidget(page_command);

gridLayout->addWidget(stackedWidget, 2, 1, 1, 3);


verticalLayout->addWidget(group_command);

group_setup = new QGroupBox(Dialog);
group_setup->setObjectName(QString::fromUtf8("group_setup"));
gridLayout_2 = new QGridLayout(group_setup);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
horizontalSpacer_5 = new QSpacerItem(20, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_5, 2, 0, 1, 1);

horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalSpacer_10 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer_10);

label_6 = new QLabel(group_setup);
label_6->setObjectName(QString::fromUtf8("label_6"));
label_6->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

horizontalLayout->addWidget(label_6);

cb_session_mgr = new QComboBox(group_setup);
cb_session_mgr->addItem(QString());
cb_session_mgr->addItem(QString::fromUtf8("LADISH (SIGUSR1)"));
cb_session_mgr->addItem(QString::fromUtf8("NSM"));
cb_session_mgr->setObjectName(QString::fromUtf8("cb_session_mgr"));

horizontalLayout->addWidget(cb_session_mgr);

horizontalSpacer_9 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer_9);


gridLayout_2->addLayout(horizontalLayout, 0, 1, 1, 8);

label_3 = new QLabel(group_setup);
label_3->setObjectName(QString::fromUtf8("label_3"));
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Preferred);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(label_3->sizePolicy().hasHeightForWidth());
label_3->setSizePolicy(sizePolicy1);
label_3->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_3, 2, 1, 1, 1);

sb_audio_ins = new QSpinBox(group_setup);
sb_audio_ins->setObjectName(QString::fromUtf8("sb_audio_ins"));
sb_audio_ins->setMaximum(64);

gridLayout_2->addWidget(sb_audio_ins, 2, 2, 1, 1);

horizontalSpacer_7 = new QSpacerItem(20, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_7, 2, 3, 1, 1);

line = new QFrame(group_setup);
line->setObjectName(QString::fromUtf8("line"));
line->setLineWidth(0);
line->setMidLineWidth(1);
line->setFrameShape(QFrame::VLine);
line->setFrameShadow(QFrame::Sunken);

gridLayout_2->addWidget(line, 2, 4, 2, 1);

horizontalSpacer_13 = new QSpacerItem(20, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_13, 2, 5, 1, 1);

label_7 = new QLabel(group_setup);
label_7->setObjectName(QString::fromUtf8("label_7"));
label_7->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_7, 2, 6, 1, 1);

sb_midi_ins = new QSpinBox(group_setup);
sb_midi_ins->setObjectName(QString::fromUtf8("sb_midi_ins"));
sb_midi_ins->setMaximum(1);

gridLayout_2->addWidget(sb_midi_ins, 2, 7, 1, 1);

horizontalSpacer_15 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_15, 2, 8, 1, 1);

horizontalSpacer_6 = new QSpacerItem(20, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_6, 3, 0, 1, 1);

label_4 = new QLabel(group_setup);
label_4->setObjectName(QString::fromUtf8("label_4"));
sizePolicy1.setHeightForWidth(label_4->sizePolicy().hasHeightForWidth());
label_4->setSizePolicy(sizePolicy1);
label_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_4, 3, 1, 1, 1);

sb_audio_outs = new QSpinBox(group_setup);
sb_audio_outs->setObjectName(QString::fromUtf8("sb_audio_outs"));
sb_audio_outs->setMaximum(64);

gridLayout_2->addWidget(sb_audio_outs, 3, 2, 1, 1);

horizontalSpacer_8 = new QSpacerItem(20, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_8, 3, 3, 1, 1);

horizontalSpacer_14 = new QSpacerItem(20, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_14, 3, 5, 1, 1);

label_8 = new QLabel(group_setup);
label_8->setObjectName(QString::fromUtf8("label_8"));
label_8->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_8, 3, 6, 1, 1);

sb_midi_outs = new QSpinBox(group_setup);
sb_midi_outs->setObjectName(QString::fromUtf8("sb_midi_outs"));
sb_midi_outs->setMaximum(1);

gridLayout_2->addWidget(sb_midi_outs, 3, 7, 1, 1);

horizontalSpacer_16 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_16, 3, 8, 1, 1);

cb_manage_window = new QCheckBox(group_setup);
cb_manage_window->setObjectName(QString::fromUtf8("cb_manage_window"));

gridLayout_2->addWidget(cb_manage_window, 1, 2, 1, 7);


verticalLayout->addWidget(group_setup);

groupBox = new QGroupBox(Dialog);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
gridLayout_3 = new QGridLayout(groupBox);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
cb_external_start = new QCheckBox(groupBox);
cb_external_start->setObjectName(QString::fromUtf8("cb_external_start"));

gridLayout_3->addWidget(cb_external_start, 4, 1, 1, 1);

cb_capture_first_window = new QCheckBox(groupBox);
cb_capture_first_window->setObjectName(QString::fromUtf8("cb_capture_first_window"));
cb_capture_first_window->setEnabled(false);

gridLayout_3->addWidget(cb_capture_first_window, 0, 1, 1, 1);

horizontalSpacer = new QSpacerItem(20, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_3->addItem(horizontalSpacer, 0, 0, 1, 1);

horizontalSpacer_2 = new QSpacerItem(135, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

gridLayout_3->addItem(horizontalSpacer_2, 0, 2, 1, 1);

cb_buffers_addition_mode = new QCheckBox(groupBox);
cb_buffers_addition_mode->setObjectName(QString::fromUtf8("cb_buffers_addition_mode"));

gridLayout_3->addWidget(cb_buffers_addition_mode, 2, 1, 1, 1);

cb_out_midi_mixdown = new QCheckBox(groupBox);
cb_out_midi_mixdown->setObjectName(QString::fromUtf8("cb_out_midi_mixdown"));

gridLayout_3->addWidget(cb_out_midi_mixdown, 1, 1, 1, 1);


verticalLayout->addWidget(groupBox);

buttonBox = new QDialogButtonBox(Dialog);
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);

verticalLayout->addWidget(buttonBox);


retranslateUi(Dialog);
QObject::connect(buttonBox, SIGNAL(accepted()), Dialog, SLOT(accept()));
QObject::connect(buttonBox, SIGNAL(rejected()), Dialog, SLOT(reject()));

stackedWidget->setCurrentIndex(1);
cb_session_mgr->setCurrentIndex(0);


QMetaObject::connectSlotsByName(Dialog);
} // setupUi

void retranslateUi(QDialog *Dialog)
{
Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Add JACK Application", nullptr));
label_9->setText(QCoreApplication::translate("Dialog", "Note: Features not implemented yet are greyed out", nullptr));
group_command->setTitle(QCoreApplication::translate("Dialog", "Application", nullptr));
label_10->setText(QCoreApplication::translate("Dialog", "Name:", nullptr));
label_5->setText(QCoreApplication::translate("Dialog", "Application:", nullptr));
rb_template->setText(QCoreApplication::translate("Dialog", "From template", nullptr));
rb_custom->setText(QCoreApplication::translate("Dialog", "Custom", nullptr));
l_template->setText(QCoreApplication::translate("Dialog", "Template:", nullptr));
l_command->setText(QCoreApplication::translate("Dialog", "Command:", nullptr));
group_setup->setTitle(QCoreApplication::translate("Dialog", "Setup", nullptr));
label_6->setText(QCoreApplication::translate("Dialog", "Session Manager:", nullptr));
cb_session_mgr->setItemText(0, QCoreApplication::translate("Dialog", "None", nullptr));

label_3->setText(QCoreApplication::translate("Dialog", "Audio inputs:", nullptr));
label_7->setText(QCoreApplication::translate("Dialog", "MIDI inputs:", nullptr));
label_4->setText(QCoreApplication::translate("Dialog", "Audio outputs:", nullptr));
label_8->setText(QCoreApplication::translate("Dialog", "MIDI outputs:", nullptr));
cb_manage_window->setText(QCoreApplication::translate("Dialog", "Take control of main application window", nullptr));
groupBox->setTitle(QCoreApplication::translate("Dialog", "Workarounds", nullptr));
cb_external_start->setText(QCoreApplication::translate("Dialog", "Wait for external application start (Advanced, for Debug only)", nullptr));
cb_capture_first_window->setText(QCoreApplication::translate("Dialog", "Capture only the first X11 Window", nullptr));
cb_buffers_addition_mode->setText(QCoreApplication::translate("Dialog", "Use previous client output buffer as input for the next client", nullptr));
cb_out_midi_mixdown->setText(QCoreApplication::translate("Dialog", "Simulate 16 JACK MIDI outputs, with MIDI channel as port index", nullptr));
} // retranslateUi

};

namespace Ui {
class Dialog: public Ui_Dialog {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_ADD_JACK_H

+ 748
- 0
source/frontend/C++/ui_carla_database.hpp View File

@@ -0,0 +1,748 @@
/********************************************************************************
** Form generated from reading UI file 'carla_database.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_DATABASE_H
#define UI_CARLA_DATABASE_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QDialog>
#include <QtWidgets/QFrame>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QTableWidget>
#include <QtWidgets/QToolBox>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>

QT_BEGIN_NAMESPACE

class Ui_PluginDatabaseW
{
public:
QAction *act_focus_search;
QGridLayout *gridLayout_3;
QToolBox *toolBox;
QWidget *p_format;
QVBoxLayout *verticalLayout;
QCheckBox *ch_internal;
QCheckBox *ch_ladspa;
QCheckBox *ch_dssi;
QCheckBox *ch_lv2;
QCheckBox *ch_vst;
QCheckBox *ch_vst3;
QCheckBox *ch_au;
QCheckBox *ch_kits;
QSpacerItem *verticalSpacer_5;
QWidget *p_type;
QVBoxLayout *verticalLayout_2;
QCheckBox *ch_effects;
QCheckBox *ch_instruments;
QCheckBox *ch_midi;
QCheckBox *ch_other;
QSpacerItem *verticalSpacer_3;
QWidget *p_arch;
QVBoxLayout *verticalLayout_3;
QCheckBox *ch_native;
QCheckBox *ch_bridged;
QCheckBox *ch_bridged_wine;
QSpacerItem *verticalSpacer_4;
QSpacerItem *verticalSpacer_6;
QTabWidget *tab_reqs;
QWidget *tw_reqs;
QGridLayout *gridLayout;
QLabel *l_reqs;
QCheckBox *ch_gui;
QCheckBox *ch_cv;
QCheckBox *ch_rtsafe;
QCheckBox *ch_stereo;
QCheckBox *ch_inline_display;
QCheckBox *ch_favorites;
QHBoxLayout *horizontalLayout_2;
QLabel *label;
QSpacerItem *horizontalSpacer;
QPushButton *b_add;
QPushButton *b_cancel;
QHBoxLayout *horizontalLayout;
QLineEdit *lineEdit;
QPushButton *b_refresh;
QPushButton *b_clear_filters;
QTabWidget *tab_info;
QWidget *tw_info;
QGridLayout *gridLayout_2;
QSpacerItem *verticalSpacer_2;
QLabel *l_format;
QLabel *label_2;
QLabel *label_4;
QLabel *l_arch;
QLabel *label_6;
QLabel *l_type;
QSpacerItem *verticalSpacer;
QLabel *label_12;
QLabel *label_8;
QLabel *label_11;
QLabel *label_13;
QLabel *label_14;
QLabel *label_15;
QLabel *label_9;
QLabel *label_10;
QLabel *la_id;
QLabel *label_18;
QLabel *label_17;
QLabel *label_19;
QLabel *label_20;
QLabel *l_aouts;
QLabel *l_id;
QLabel *l_ains;
QLabel *l_synth;
QLabel *l_pins;
QLabel *l_cvins;
QLabel *l_pouts;
QLabel *l_mouts;
QLabel *l_mins;
QLabel *l_bridged;
QLabel *l_idisp;
QLabel *l_gui;
QLabel *l_cvouts;
QLabel *label_3;
QFrame *line_2;
QFrame *line;
QTableWidget *tableWidget;

void setupUi(QDialog *PluginDatabaseW)
{
if (PluginDatabaseW->objectName().isEmpty())
PluginDatabaseW->setObjectName(QString::fromUtf8("PluginDatabaseW"));
PluginDatabaseW->resize(1100, 683);
act_focus_search = new QAction(PluginDatabaseW);
act_focus_search->setObjectName(QString::fromUtf8("act_focus_search"));
gridLayout_3 = new QGridLayout(PluginDatabaseW);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
toolBox = new QToolBox(PluginDatabaseW);
toolBox->setObjectName(QString::fromUtf8("toolBox"));
p_format = new QWidget();
p_format->setObjectName(QString::fromUtf8("p_format"));
p_format->setGeometry(QRect(0, 0, 164, 254));
verticalLayout = new QVBoxLayout(p_format);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
ch_internal = new QCheckBox(p_format);
ch_internal->setObjectName(QString::fromUtf8("ch_internal"));

verticalLayout->addWidget(ch_internal);

ch_ladspa = new QCheckBox(p_format);
ch_ladspa->setObjectName(QString::fromUtf8("ch_ladspa"));

verticalLayout->addWidget(ch_ladspa);

ch_dssi = new QCheckBox(p_format);
ch_dssi->setObjectName(QString::fromUtf8("ch_dssi"));

verticalLayout->addWidget(ch_dssi);

ch_lv2 = new QCheckBox(p_format);
ch_lv2->setObjectName(QString::fromUtf8("ch_lv2"));

verticalLayout->addWidget(ch_lv2);

ch_vst = new QCheckBox(p_format);
ch_vst->setObjectName(QString::fromUtf8("ch_vst"));

verticalLayout->addWidget(ch_vst);

ch_vst3 = new QCheckBox(p_format);
ch_vst3->setObjectName(QString::fromUtf8("ch_vst3"));

verticalLayout->addWidget(ch_vst3);

ch_au = new QCheckBox(p_format);
ch_au->setObjectName(QString::fromUtf8("ch_au"));

verticalLayout->addWidget(ch_au);

ch_kits = new QCheckBox(p_format);
ch_kits->setObjectName(QString::fromUtf8("ch_kits"));

verticalLayout->addWidget(ch_kits);

verticalSpacer_5 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout->addItem(verticalSpacer_5);

toolBox->addItem(p_format, QString::fromUtf8("Format"));
p_type = new QWidget();
p_type->setObjectName(QString::fromUtf8("p_type"));
p_type->setGeometry(QRect(0, 0, 164, 164));
verticalLayout_2 = new QVBoxLayout(p_type);
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
ch_effects = new QCheckBox(p_type);
ch_effects->setObjectName(QString::fromUtf8("ch_effects"));

verticalLayout_2->addWidget(ch_effects);

ch_instruments = new QCheckBox(p_type);
ch_instruments->setObjectName(QString::fromUtf8("ch_instruments"));

verticalLayout_2->addWidget(ch_instruments);

ch_midi = new QCheckBox(p_type);
ch_midi->setObjectName(QString::fromUtf8("ch_midi"));

verticalLayout_2->addWidget(ch_midi);

ch_other = new QCheckBox(p_type);
ch_other->setObjectName(QString::fromUtf8("ch_other"));

verticalLayout_2->addWidget(ch_other);

verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout_2->addItem(verticalSpacer_3);

toolBox->addItem(p_type, QString::fromUtf8("Type"));
p_arch = new QWidget();
p_arch->setObjectName(QString::fromUtf8("p_arch"));
p_arch->setGeometry(QRect(0, 0, 164, 136));
verticalLayout_3 = new QVBoxLayout(p_arch);
verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
ch_native = new QCheckBox(p_arch);
ch_native->setObjectName(QString::fromUtf8("ch_native"));

verticalLayout_3->addWidget(ch_native);

ch_bridged = new QCheckBox(p_arch);
ch_bridged->setObjectName(QString::fromUtf8("ch_bridged"));

verticalLayout_3->addWidget(ch_bridged);

ch_bridged_wine = new QCheckBox(p_arch);
ch_bridged_wine->setObjectName(QString::fromUtf8("ch_bridged_wine"));

verticalLayout_3->addWidget(ch_bridged_wine);

verticalSpacer_4 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout_3->addItem(verticalSpacer_4);

toolBox->addItem(p_arch, QString::fromUtf8("Architecture"));

gridLayout_3->addWidget(toolBox, 1, 0, 1, 1);

verticalSpacer_6 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

gridLayout_3->addItem(verticalSpacer_6, 2, 0, 1, 1);

tab_reqs = new QTabWidget(PluginDatabaseW);
tab_reqs->setObjectName(QString::fromUtf8("tab_reqs"));
QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(tab_reqs->sizePolicy().hasHeightForWidth());
tab_reqs->setSizePolicy(sizePolicy);
tab_reqs->setTabBarAutoHide(true);
tw_reqs = new QWidget();
tw_reqs->setObjectName(QString::fromUtf8("tw_reqs"));
gridLayout = new QGridLayout(tw_reqs);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
l_reqs = new QLabel(tw_reqs);
l_reqs->setObjectName(QString::fromUtf8("l_reqs"));
QFont font;
font.setBold(true);
font.setWeight(75);
l_reqs->setFont(font);

gridLayout->addWidget(l_reqs, 0, 1, 1, 1);

ch_gui = new QCheckBox(tw_reqs);
ch_gui->setObjectName(QString::fromUtf8("ch_gui"));

gridLayout->addWidget(ch_gui, 5, 1, 1, 1);

ch_cv = new QCheckBox(tw_reqs);
ch_cv->setObjectName(QString::fromUtf8("ch_cv"));

gridLayout->addWidget(ch_cv, 4, 1, 1, 1);

ch_rtsafe = new QCheckBox(tw_reqs);
ch_rtsafe->setObjectName(QString::fromUtf8("ch_rtsafe"));

gridLayout->addWidget(ch_rtsafe, 2, 1, 1, 1);

ch_stereo = new QCheckBox(tw_reqs);
ch_stereo->setObjectName(QString::fromUtf8("ch_stereo"));

gridLayout->addWidget(ch_stereo, 3, 1, 1, 1);

ch_inline_display = new QCheckBox(tw_reqs);
ch_inline_display->setObjectName(QString::fromUtf8("ch_inline_display"));

gridLayout->addWidget(ch_inline_display, 6, 1, 1, 1);

ch_favorites = new QCheckBox(tw_reqs);
ch_favorites->setObjectName(QString::fromUtf8("ch_favorites"));

gridLayout->addWidget(ch_favorites, 1, 1, 1, 1);

tab_reqs->addTab(tw_reqs, QString());

gridLayout_3->addWidget(tab_reqs, 3, 0, 1, 1);

horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
label = new QLabel(PluginDatabaseW);
label->setObjectName(QString::fromUtf8("label"));
label->setTextInteractionFlags(Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse);

horizontalLayout_2->addWidget(label);

horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_2->addItem(horizontalSpacer);

b_add = new QPushButton(PluginDatabaseW);
b_add->setObjectName(QString::fromUtf8("b_add"));
QIcon icon;
icon.addFile(QString::fromUtf8(":/16x16/list-add.svgz"), QSize(), QIcon::Normal, QIcon::Off);
b_add->setIcon(icon);

horizontalLayout_2->addWidget(b_add);

b_cancel = new QPushButton(PluginDatabaseW);
b_cancel->setObjectName(QString::fromUtf8("b_cancel"));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/16x16/dialog-cancel.svgz"), QSize(), QIcon::Normal, QIcon::Off);
b_cancel->setIcon(icon1);

horizontalLayout_2->addWidget(b_cancel);


gridLayout_3->addLayout(horizontalLayout_2, 4, 0, 1, 3);

horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
lineEdit = new QLineEdit(PluginDatabaseW);
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
lineEdit->setClearButtonEnabled(true);

horizontalLayout->addWidget(lineEdit);

b_refresh = new QPushButton(PluginDatabaseW);
b_refresh->setObjectName(QString::fromUtf8("b_refresh"));
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/16x16/view-refresh.svgz"), QSize(), QIcon::Normal, QIcon::Off);
b_refresh->setIcon(icon2);

horizontalLayout->addWidget(b_refresh);

b_clear_filters = new QPushButton(PluginDatabaseW);
b_clear_filters->setObjectName(QString::fromUtf8("b_clear_filters"));
QIcon icon3;
icon3.addFile(QString::fromUtf8(":/16x16/edit-clear.svgz"), QSize(), QIcon::Normal, QIcon::Off);
b_clear_filters->setIcon(icon3);

horizontalLayout->addWidget(b_clear_filters);


gridLayout_3->addLayout(horizontalLayout, 0, 0, 1, 3);

tab_info = new QTabWidget(PluginDatabaseW);
tab_info->setObjectName(QString::fromUtf8("tab_info"));
tab_info->setTabBarAutoHide(true);
tw_info = new QWidget();
tw_info->setObjectName(QString::fromUtf8("tw_info"));
gridLayout_2 = new QGridLayout(tw_info);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

gridLayout_2->addItem(verticalSpacer_2, 19, 0, 1, 1);

l_format = new QLabel(tw_info);
l_format->setObjectName(QString::fromUtf8("l_format"));

gridLayout_2->addWidget(l_format, 1, 1, 1, 1);

label_2 = new QLabel(tw_info);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_2, 1, 0, 1, 1);

label_4 = new QLabel(tw_info);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_4, 3, 0, 1, 1);

l_arch = new QLabel(tw_info);
l_arch->setObjectName(QString::fromUtf8("l_arch"));

gridLayout_2->addWidget(l_arch, 3, 1, 1, 1);

label_6 = new QLabel(tw_info);
label_6->setObjectName(QString::fromUtf8("label_6"));
label_6->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_6, 2, 0, 1, 1);

l_type = new QLabel(tw_info);
l_type->setObjectName(QString::fromUtf8("l_type"));

gridLayout_2->addWidget(l_type, 2, 1, 1, 1);

verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

gridLayout_2->addItem(verticalSpacer, 19, 1, 1, 1);

label_12 = new QLabel(tw_info);
label_12->setObjectName(QString::fromUtf8("label_12"));
label_12->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_12, 10, 0, 1, 1);

label_8 = new QLabel(tw_info);
label_8->setObjectName(QString::fromUtf8("label_8"));
label_8->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_8, 6, 0, 1, 1);

label_11 = new QLabel(tw_info);
label_11->setObjectName(QString::fromUtf8("label_11"));
label_11->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_11, 9, 0, 1, 1);

label_13 = new QLabel(tw_info);
label_13->setObjectName(QString::fromUtf8("label_13"));
label_13->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_13, 11, 0, 1, 1);

label_14 = new QLabel(tw_info);
label_14->setObjectName(QString::fromUtf8("label_14"));
label_14->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_14, 12, 0, 1, 1);

label_15 = new QLabel(tw_info);
label_15->setObjectName(QString::fromUtf8("label_15"));
label_15->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_15, 13, 0, 1, 1);

label_9 = new QLabel(tw_info);
label_9->setObjectName(QString::fromUtf8("label_9"));
label_9->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_9, 7, 0, 1, 1);

label_10 = new QLabel(tw_info);
label_10->setObjectName(QString::fromUtf8("label_10"));
label_10->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_10, 8, 0, 1, 1);

la_id = new QLabel(tw_info);
la_id->setObjectName(QString::fromUtf8("la_id"));
la_id->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(la_id, 4, 0, 1, 1);

label_18 = new QLabel(tw_info);
label_18->setObjectName(QString::fromUtf8("label_18"));
label_18->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_18, 16, 0, 1, 1);

label_17 = new QLabel(tw_info);
label_17->setObjectName(QString::fromUtf8("label_17"));
label_17->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_17, 15, 0, 1, 1);

label_19 = new QLabel(tw_info);
label_19->setObjectName(QString::fromUtf8("label_19"));
label_19->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_19, 18, 0, 1, 1);

label_20 = new QLabel(tw_info);
label_20->setObjectName(QString::fromUtf8("label_20"));
label_20->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_2->addWidget(label_20, 17, 0, 1, 1);

l_aouts = new QLabel(tw_info);
l_aouts->setObjectName(QString::fromUtf8("l_aouts"));

gridLayout_2->addWidget(l_aouts, 7, 1, 1, 1);

l_id = new QLabel(tw_info);
l_id->setObjectName(QString::fromUtf8("l_id"));

gridLayout_2->addWidget(l_id, 4, 1, 1, 1);

l_ains = new QLabel(tw_info);
l_ains->setObjectName(QString::fromUtf8("l_ains"));

gridLayout_2->addWidget(l_ains, 6, 1, 1, 1);

l_synth = new QLabel(tw_info);
l_synth->setObjectName(QString::fromUtf8("l_synth"));

gridLayout_2->addWidget(l_synth, 18, 1, 1, 1);

l_pins = new QLabel(tw_info);
l_pins->setObjectName(QString::fromUtf8("l_pins"));

gridLayout_2->addWidget(l_pins, 12, 1, 1, 1);

l_cvins = new QLabel(tw_info);
l_cvins->setObjectName(QString::fromUtf8("l_cvins"));

gridLayout_2->addWidget(l_cvins, 8, 1, 1, 1);

l_pouts = new QLabel(tw_info);
l_pouts->setObjectName(QString::fromUtf8("l_pouts"));

gridLayout_2->addWidget(l_pouts, 13, 1, 1, 1);

l_mouts = new QLabel(tw_info);
l_mouts->setObjectName(QString::fromUtf8("l_mouts"));

gridLayout_2->addWidget(l_mouts, 11, 1, 1, 1);

l_mins = new QLabel(tw_info);
l_mins->setObjectName(QString::fromUtf8("l_mins"));

gridLayout_2->addWidget(l_mins, 10, 1, 1, 1);

l_bridged = new QLabel(tw_info);
l_bridged->setObjectName(QString::fromUtf8("l_bridged"));

gridLayout_2->addWidget(l_bridged, 17, 1, 1, 1);

l_idisp = new QLabel(tw_info);
l_idisp->setObjectName(QString::fromUtf8("l_idisp"));

gridLayout_2->addWidget(l_idisp, 16, 1, 1, 1);

l_gui = new QLabel(tw_info);
l_gui->setObjectName(QString::fromUtf8("l_gui"));

gridLayout_2->addWidget(l_gui, 15, 1, 1, 1);

l_cvouts = new QLabel(tw_info);
l_cvouts->setObjectName(QString::fromUtf8("l_cvouts"));

gridLayout_2->addWidget(l_cvouts, 9, 1, 1, 1);

label_3 = new QLabel(tw_info);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setFont(font);

gridLayout_2->addWidget(label_3, 0, 0, 1, 2);

line_2 = new QFrame(tw_info);
line_2->setObjectName(QString::fromUtf8("line_2"));
line_2->setLineWidth(0);
line_2->setMidLineWidth(1);
line_2->setFrameShape(QFrame::HLine);
line_2->setFrameShadow(QFrame::Sunken);

gridLayout_2->addWidget(line_2, 14, 0, 1, 2);

line = new QFrame(tw_info);
line->setObjectName(QString::fromUtf8("line"));
line->setLineWidth(0);
line->setMidLineWidth(1);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);

gridLayout_2->addWidget(line, 5, 0, 1, 2);

tab_info->addTab(tw_info, QString());

gridLayout_3->addWidget(tab_info, 1, 2, 3, 1);

tableWidget = new QTableWidget(PluginDatabaseW);
if (tableWidget->columnCount() < 5)
tableWidget->setColumnCount(5);
QIcon icon4;
icon4.addFile(QString::fromUtf8(":/16x16/bookmarks.svgz"), QSize(), QIcon::Normal, QIcon::Off);
QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem();
__qtablewidgetitem->setIcon(icon4);
tableWidget->setHorizontalHeaderItem(0, __qtablewidgetitem);
QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem();
tableWidget->setHorizontalHeaderItem(1, __qtablewidgetitem1);
QTableWidgetItem *__qtablewidgetitem2 = new QTableWidgetItem();
tableWidget->setHorizontalHeaderItem(2, __qtablewidgetitem2);
QTableWidgetItem *__qtablewidgetitem3 = new QTableWidgetItem();
tableWidget->setHorizontalHeaderItem(3, __qtablewidgetitem3);
QTableWidgetItem *__qtablewidgetitem4 = new QTableWidgetItem();
tableWidget->setHorizontalHeaderItem(4, __qtablewidgetitem4);
tableWidget->setObjectName(QString::fromUtf8("tableWidget"));
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy1.setHorizontalStretch(1);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(tableWidget->sizePolicy().hasHeightForWidth());
tableWidget->setSizePolicy(sizePolicy1);
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
tableWidget->setProperty("showDropIndicator", QVariant(false));
tableWidget->setDragDropOverwriteMode(false);
tableWidget->setAlternatingRowColors(true);
tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
tableWidget->setShowGrid(false);
tableWidget->setGridStyle(Qt::NoPen);
tableWidget->setSortingEnabled(true);
tableWidget->setWordWrap(false);
tableWidget->horizontalHeader()->setMinimumSectionSize(24);
tableWidget->horizontalHeader()->setStretchLastSection(true);
tableWidget->verticalHeader()->setVisible(false);
tableWidget->verticalHeader()->setMinimumSectionSize(12);
tableWidget->verticalHeader()->setDefaultSectionSize(22);

gridLayout_3->addWidget(tableWidget, 1, 1, 3, 1);

QWidget::setTabOrder(lineEdit, tableWidget);
QWidget::setTabOrder(tableWidget, b_add);
QWidget::setTabOrder(b_add, b_cancel);
QWidget::setTabOrder(b_cancel, b_refresh);
QWidget::setTabOrder(b_refresh, b_clear_filters);
QWidget::setTabOrder(b_clear_filters, ch_internal);
QWidget::setTabOrder(ch_internal, ch_ladspa);
QWidget::setTabOrder(ch_ladspa, ch_dssi);
QWidget::setTabOrder(ch_dssi, ch_lv2);
QWidget::setTabOrder(ch_lv2, ch_vst);
QWidget::setTabOrder(ch_vst, ch_vst3);
QWidget::setTabOrder(ch_vst3, ch_au);
QWidget::setTabOrder(ch_au, ch_kits);
QWidget::setTabOrder(ch_kits, ch_effects);
QWidget::setTabOrder(ch_effects, ch_instruments);
QWidget::setTabOrder(ch_instruments, ch_midi);
QWidget::setTabOrder(ch_midi, ch_other);
QWidget::setTabOrder(ch_other, ch_native);
QWidget::setTabOrder(ch_native, ch_bridged);
QWidget::setTabOrder(ch_bridged, ch_bridged_wine);
QWidget::setTabOrder(ch_bridged_wine, ch_inline_display);
QWidget::setTabOrder(ch_inline_display, ch_stereo);
QWidget::setTabOrder(ch_stereo, ch_rtsafe);
QWidget::setTabOrder(ch_rtsafe, ch_gui);
QWidget::setTabOrder(ch_gui, ch_cv);
QWidget::setTabOrder(ch_cv, tab_reqs);
QWidget::setTabOrder(tab_reqs, tab_info);

retranslateUi(PluginDatabaseW);
QObject::connect(act_focus_search, SIGNAL(triggered()), lineEdit, SLOT(setFocus()));

toolBox->setCurrentIndex(0);


QMetaObject::connectSlotsByName(PluginDatabaseW);
} // setupUi

void retranslateUi(QDialog *PluginDatabaseW)
{
PluginDatabaseW->setWindowTitle(QCoreApplication::translate("PluginDatabaseW", "Carla - Add New", nullptr));
act_focus_search->setText(QCoreApplication::translate("PluginDatabaseW", "Focus Text Search", nullptr));
#if QT_CONFIG(shortcut)
act_focus_search->setShortcut(QCoreApplication::translate("PluginDatabaseW", "Ctrl+F", nullptr));
#endif // QT_CONFIG(shortcut)
ch_internal->setText(QCoreApplication::translate("PluginDatabaseW", "Internal", nullptr));
ch_ladspa->setText(QCoreApplication::translate("PluginDatabaseW", "LADSPA", nullptr));
ch_dssi->setText(QCoreApplication::translate("PluginDatabaseW", "DSSI", nullptr));
ch_lv2->setText(QCoreApplication::translate("PluginDatabaseW", "LV2", nullptr));
ch_vst->setText(QCoreApplication::translate("PluginDatabaseW", "VST2", nullptr));
ch_vst3->setText(QCoreApplication::translate("PluginDatabaseW", "VST3", nullptr));
ch_au->setText(QCoreApplication::translate("PluginDatabaseW", "AU", nullptr));
ch_kits->setText(QCoreApplication::translate("PluginDatabaseW", "Sound Kits", nullptr));
toolBox->setItemText(toolBox->indexOf(p_format), QCoreApplication::translate("PluginDatabaseW", "Format", nullptr));
ch_effects->setText(QCoreApplication::translate("PluginDatabaseW", "Effects", nullptr));
ch_instruments->setText(QCoreApplication::translate("PluginDatabaseW", "Instruments", nullptr));
ch_midi->setText(QCoreApplication::translate("PluginDatabaseW", "MIDI Plugins", nullptr));
ch_other->setText(QCoreApplication::translate("PluginDatabaseW", "Other/Misc", nullptr));
toolBox->setItemText(toolBox->indexOf(p_type), QCoreApplication::translate("PluginDatabaseW", "Type", nullptr));
ch_native->setText(QCoreApplication::translate("PluginDatabaseW", "Native", nullptr));
ch_bridged->setText(QCoreApplication::translate("PluginDatabaseW", "Bridged", nullptr));
ch_bridged_wine->setText(QCoreApplication::translate("PluginDatabaseW", "Bridged (Wine)", nullptr));
toolBox->setItemText(toolBox->indexOf(p_arch), QCoreApplication::translate("PluginDatabaseW", "Architecture", nullptr));
l_reqs->setText(QCoreApplication::translate("PluginDatabaseW", "Requirements", nullptr));
ch_gui->setText(QCoreApplication::translate("PluginDatabaseW", "With Custom GUI ", nullptr));
ch_cv->setText(QCoreApplication::translate("PluginDatabaseW", "With CV Ports", nullptr));
ch_rtsafe->setText(QCoreApplication::translate("PluginDatabaseW", "Real-time safe only", nullptr));
ch_stereo->setText(QCoreApplication::translate("PluginDatabaseW", "Stereo only", nullptr));
ch_inline_display->setText(QCoreApplication::translate("PluginDatabaseW", "With Inline Display", nullptr));
ch_favorites->setText(QCoreApplication::translate("PluginDatabaseW", "Favorites only", nullptr));
tab_reqs->setTabText(tab_reqs->indexOf(tw_reqs), QString());
label->setText(QCoreApplication::translate("PluginDatabaseW", "(Number of Plugins go here)", nullptr));
b_add->setText(QCoreApplication::translate("PluginDatabaseW", "&Add Plugin", nullptr));
b_cancel->setText(QCoreApplication::translate("PluginDatabaseW", "Cancel", nullptr));
b_refresh->setText(QCoreApplication::translate("PluginDatabaseW", "Refresh", nullptr));
b_clear_filters->setText(QCoreApplication::translate("PluginDatabaseW", "Reset filters", nullptr));
l_format->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
label_2->setText(QCoreApplication::translate("PluginDatabaseW", "Format:", nullptr));
label_4->setText(QCoreApplication::translate("PluginDatabaseW", "Architecture:", nullptr));
l_arch->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
label_6->setText(QCoreApplication::translate("PluginDatabaseW", "Type:", nullptr));
l_type->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
label_12->setText(QCoreApplication::translate("PluginDatabaseW", "MIDI Ins:", nullptr));
label_8->setText(QCoreApplication::translate("PluginDatabaseW", "Audio Ins:", nullptr));
label_11->setText(QCoreApplication::translate("PluginDatabaseW", "CV Outs:", nullptr));
label_13->setText(QCoreApplication::translate("PluginDatabaseW", "MIDI Outs:", nullptr));
label_14->setText(QCoreApplication::translate("PluginDatabaseW", "Parameter Ins:", nullptr));
label_15->setText(QCoreApplication::translate("PluginDatabaseW", "Parameter Outs:", nullptr));
label_9->setText(QCoreApplication::translate("PluginDatabaseW", "Audio Outs:", nullptr));
label_10->setText(QCoreApplication::translate("PluginDatabaseW", "CV Ins:", nullptr));
la_id->setText(QCoreApplication::translate("PluginDatabaseW", "UniqueID:", nullptr));
label_18->setText(QCoreApplication::translate("PluginDatabaseW", "Has Inline Display:", nullptr));
label_17->setText(QCoreApplication::translate("PluginDatabaseW", "Has Custom GUI:", nullptr));
label_19->setText(QCoreApplication::translate("PluginDatabaseW", "Is Synth:", nullptr));
label_20->setText(QCoreApplication::translate("PluginDatabaseW", "Is Bridged:", nullptr));
l_aouts->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_id->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_ains->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_synth->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_pins->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_cvins->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_pouts->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_mouts->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_mins->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_bridged->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_idisp->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_gui->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
l_cvouts->setText(QCoreApplication::translate("PluginDatabaseW", "TextLabel", nullptr));
label_3->setText(QCoreApplication::translate("PluginDatabaseW", "Information", nullptr));
tab_info->setTabText(tab_info->indexOf(tw_info), QString());
QTableWidgetItem *___qtablewidgetitem = tableWidget->horizontalHeaderItem(1);
___qtablewidgetitem->setText(QCoreApplication::translate("PluginDatabaseW", "Name", nullptr));
QTableWidgetItem *___qtablewidgetitem1 = tableWidget->horizontalHeaderItem(2);
___qtablewidgetitem1->setText(QCoreApplication::translate("PluginDatabaseW", "Label/URI", nullptr));
QTableWidgetItem *___qtablewidgetitem2 = tableWidget->horizontalHeaderItem(3);
___qtablewidgetitem2->setText(QCoreApplication::translate("PluginDatabaseW", "Maker", nullptr));
QTableWidgetItem *___qtablewidgetitem3 = tableWidget->horizontalHeaderItem(4);
___qtablewidgetitem3->setText(QCoreApplication::translate("PluginDatabaseW", "Binary/Filename", nullptr));
} // retranslateUi

};

namespace Ui {
class PluginDatabaseW: public Ui_PluginDatabaseW {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_DATABASE_H

+ 644
- 0
source/frontend/C++/ui_carla_edit.hpp View File

@@ -0,0 +1,644 @@
/********************************************************************************
** Form generated from reading UI file 'carla_edit.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_EDIT_H
#define UI_CARLA_EDIT_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QDialog>
#include <QtWidgets/QFrame>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QRadioButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QStackedWidget>
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include "widgets/pixmapdial.h"

QT_BEGIN_NAMESPACE

class Ui_PluginEdit
{
public:
QVBoxLayout *verticalLayout;
QTabWidget *tabWidget;
QWidget *tabEdit;
QGridLayout *gridLayout_2;
QGroupBox *groupBox_3;
QVBoxLayout *verticalLayout_5;
QHBoxLayout *horizontalLayout_5;
QSpacerItem *horizontalSpacer_5;
QLabel *label_ctrl_channel;
QSpinBox *sb_ctrl_channel;
QSpacerItem *horizontalSpacer_3;
QHBoxLayout *horizontalLayout_8;
QSpacerItem *horizontalSpacer_6;
PixmapDial *dial_drywet;
PixmapDial *dial_vol;
QStackedWidget *stackedWidget;
QWidget *page_bal;
QHBoxLayout *horizontalLayout_6;
PixmapDial *dial_b_left;
PixmapDial *dial_b_right;
QWidget *page_pan;
QHBoxLayout *horizontalLayout_7;
PixmapDial *dial_pan;
QVBoxLayout *verticalLayout_2;
QRadioButton *rb_balance;
QRadioButton *rb_pan;
QSpacerItem *horizontalSpacer_4;
QGroupBox *groupBox;
QVBoxLayout *verticalLayout_4;
QCheckBox *ch_use_chunks;
QFrame *line_2;
QLabel *label;
QCheckBox *ch_fixed_buffer;
QCheckBox *ch_force_stereo;
QFrame *line;
QLabel *label_2;
QCheckBox *ch_map_program_changes;
QCheckBox *ch_send_program_changes;
QCheckBox *ch_send_control_changes;
QCheckBox *ch_send_channel_pressure;
QCheckBox *ch_send_note_aftertouch;
QCheckBox *ch_send_pitchbend;
QCheckBox *ch_send_all_sound_off;
QHBoxLayout *horizontalLayout;
QSpacerItem *horizontalSpacer;
QLabel *label_plugin;
QSpacerItem *horizontalSpacer_2;
QGridLayout *gridLayout;
QStackedWidget *sw_programs;
QWidget *sww_programs;
QHBoxLayout *horizontalLayout_3;
QSpacerItem *horizontalSpacer_8;
QLabel *label_programs;
QComboBox *cb_programs;
QWidget *sww_midiPrograms;
QHBoxLayout *horizontalLayout_4;
QSpacerItem *horizontalSpacer_7;
QLabel *label_midi_programs;
QComboBox *cb_midi_programs;
QPushButton *b_save_state;
QPushButton *b_load_state;
QSpacerItem *horizontalSpacer_9;
QGroupBox *groupBox_2;
QVBoxLayout *verticalLayout_3;
QGridLayout *gridLayout_3;
QLineEdit *le_maker;
QLabel *label_label;
QLabel *label_name;
QLineEdit *le_name;
QLineEdit *le_type;
QLineEdit *le_copyright;
QLineEdit *le_unique_id;
QLabel *label_type;
QLabel *label_maker;
QLabel *label_copyright;
QLabel *label_unique_id;
QLineEdit *le_label;
QSpacerItem *verticalSpacer;

void setupUi(QDialog *PluginEdit)
{
if (PluginEdit->objectName().isEmpty())
PluginEdit->setObjectName(QString::fromUtf8("PluginEdit"));
PluginEdit->resize(537, 535);
verticalLayout = new QVBoxLayout(PluginEdit);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
tabWidget = new QTabWidget(PluginEdit);
tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
tabWidget->setTabPosition(QTabWidget::South);
tabEdit = new QWidget();
tabEdit->setObjectName(QString::fromUtf8("tabEdit"));
gridLayout_2 = new QGridLayout(tabEdit);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
groupBox_3 = new QGroupBox(tabEdit);
groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
verticalLayout_5 = new QVBoxLayout(groupBox_3);
verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
horizontalLayout_5 = new QHBoxLayout();
horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_5->addItem(horizontalSpacer_5);

label_ctrl_channel = new QLabel(groupBox_3);
label_ctrl_channel->setObjectName(QString::fromUtf8("label_ctrl_channel"));

horizontalLayout_5->addWidget(label_ctrl_channel);

sb_ctrl_channel = new QSpinBox(groupBox_3);
sb_ctrl_channel->setObjectName(QString::fromUtf8("sb_ctrl_channel"));
sb_ctrl_channel->setContextMenuPolicy(Qt::CustomContextMenu);
sb_ctrl_channel->setAlignment(Qt::AlignCenter);
sb_ctrl_channel->setMinimum(0);
sb_ctrl_channel->setMaximum(16);
sb_ctrl_channel->setValue(0);

horizontalLayout_5->addWidget(sb_ctrl_channel);

horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_5->addItem(horizontalSpacer_3);


verticalLayout_5->addLayout(horizontalLayout_5);

horizontalLayout_8 = new QHBoxLayout();
horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8"));
horizontalSpacer_6 = new QSpacerItem(10, 10, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_8->addItem(horizontalSpacer_6);

dial_drywet = new PixmapDial(groupBox_3);
dial_drywet->setObjectName(QString::fromUtf8("dial_drywet"));
dial_drywet->setMinimumSize(QSize(34, 34));
dial_drywet->setMaximumSize(QSize(34, 34));
dial_drywet->setContextMenuPolicy(Qt::CustomContextMenu);

horizontalLayout_8->addWidget(dial_drywet);

dial_vol = new PixmapDial(groupBox_3);
dial_vol->setObjectName(QString::fromUtf8("dial_vol"));
dial_vol->setMinimumSize(QSize(34, 34));
dial_vol->setMaximumSize(QSize(34, 34));
dial_vol->setContextMenuPolicy(Qt::CustomContextMenu);

horizontalLayout_8->addWidget(dial_vol);

stackedWidget = new QStackedWidget(groupBox_3);
stackedWidget->setObjectName(QString::fromUtf8("stackedWidget"));
stackedWidget->setMaximumSize(QSize(16777215, 42));
stackedWidget->setLineWidth(0);
page_bal = new QWidget();
page_bal->setObjectName(QString::fromUtf8("page_bal"));
horizontalLayout_6 = new QHBoxLayout(page_bal);
horizontalLayout_6->setSpacing(0);
horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6"));
horizontalLayout_6->setContentsMargins(0, 0, 0, 0);
dial_b_left = new PixmapDial(page_bal);
dial_b_left->setObjectName(QString::fromUtf8("dial_b_left"));
dial_b_left->setMinimumSize(QSize(26, 26));
dial_b_left->setMaximumSize(QSize(26, 26));
dial_b_left->setContextMenuPolicy(Qt::CustomContextMenu);

horizontalLayout_6->addWidget(dial_b_left);

dial_b_right = new PixmapDial(page_bal);
dial_b_right->setObjectName(QString::fromUtf8("dial_b_right"));
dial_b_right->setMinimumSize(QSize(26, 26));
dial_b_right->setMaximumSize(QSize(26, 26));
dial_b_right->setContextMenuPolicy(Qt::CustomContextMenu);

horizontalLayout_6->addWidget(dial_b_right);

stackedWidget->addWidget(page_bal);
page_pan = new QWidget();
page_pan->setObjectName(QString::fromUtf8("page_pan"));
horizontalLayout_7 = new QHBoxLayout(page_pan);
horizontalLayout_7->setSpacing(0);
horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
horizontalLayout_7->setContentsMargins(0, 0, 0, 0);
dial_pan = new PixmapDial(page_pan);
dial_pan->setObjectName(QString::fromUtf8("dial_pan"));
dial_pan->setMinimumSize(QSize(26, 26));
dial_pan->setMaximumSize(QSize(26, 26));
dial_pan->setContextMenuPolicy(Qt::CustomContextMenu);

horizontalLayout_7->addWidget(dial_pan);

stackedWidget->addWidget(page_pan);

horizontalLayout_8->addWidget(stackedWidget);

verticalLayout_2 = new QVBoxLayout();
verticalLayout_2->setSpacing(0);
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
rb_balance = new QRadioButton(groupBox_3);
rb_balance->setObjectName(QString::fromUtf8("rb_balance"));
rb_balance->setChecked(true);

verticalLayout_2->addWidget(rb_balance);

rb_pan = new QRadioButton(groupBox_3);
rb_pan->setObjectName(QString::fromUtf8("rb_pan"));

verticalLayout_2->addWidget(rb_pan);


horizontalLayout_8->addLayout(verticalLayout_2);

horizontalSpacer_4 = new QSpacerItem(10, 10, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_8->addItem(horizontalSpacer_4);


verticalLayout_5->addLayout(horizontalLayout_8);


gridLayout_2->addWidget(groupBox_3, 2, 0, 1, 1);

groupBox = new QGroupBox(tabEdit);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(groupBox->sizePolicy().hasHeightForWidth());
groupBox->setSizePolicy(sizePolicy);
verticalLayout_4 = new QVBoxLayout(groupBox);
verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
ch_use_chunks = new QCheckBox(groupBox);
ch_use_chunks->setObjectName(QString::fromUtf8("ch_use_chunks"));

verticalLayout_4->addWidget(ch_use_chunks);

line_2 = new QFrame(groupBox);
line_2->setObjectName(QString::fromUtf8("line_2"));
line_2->setLineWidth(0);
line_2->setMidLineWidth(1);
line_2->setFrameShape(QFrame::HLine);
line_2->setFrameShadow(QFrame::Sunken);

verticalLayout_4->addWidget(line_2);

label = new QLabel(groupBox);
label->setObjectName(QString::fromUtf8("label"));
QFont font;
font.setBold(true);
font.setWeight(75);
label->setFont(font);

verticalLayout_4->addWidget(label);

ch_fixed_buffer = new QCheckBox(groupBox);
ch_fixed_buffer->setObjectName(QString::fromUtf8("ch_fixed_buffer"));

verticalLayout_4->addWidget(ch_fixed_buffer);

ch_force_stereo = new QCheckBox(groupBox);
ch_force_stereo->setObjectName(QString::fromUtf8("ch_force_stereo"));

verticalLayout_4->addWidget(ch_force_stereo);

line = new QFrame(groupBox);
line->setObjectName(QString::fromUtf8("line"));
line->setLineWidth(0);
line->setMidLineWidth(1);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);

verticalLayout_4->addWidget(line);

label_2 = new QLabel(groupBox);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setFont(font);

verticalLayout_4->addWidget(label_2);

ch_map_program_changes = new QCheckBox(groupBox);
ch_map_program_changes->setObjectName(QString::fromUtf8("ch_map_program_changes"));

verticalLayout_4->addWidget(ch_map_program_changes);

ch_send_program_changes = new QCheckBox(groupBox);
ch_send_program_changes->setObjectName(QString::fromUtf8("ch_send_program_changes"));

verticalLayout_4->addWidget(ch_send_program_changes);

ch_send_control_changes = new QCheckBox(groupBox);
ch_send_control_changes->setObjectName(QString::fromUtf8("ch_send_control_changes"));

verticalLayout_4->addWidget(ch_send_control_changes);

ch_send_channel_pressure = new QCheckBox(groupBox);
ch_send_channel_pressure->setObjectName(QString::fromUtf8("ch_send_channel_pressure"));

verticalLayout_4->addWidget(ch_send_channel_pressure);

ch_send_note_aftertouch = new QCheckBox(groupBox);
ch_send_note_aftertouch->setObjectName(QString::fromUtf8("ch_send_note_aftertouch"));

verticalLayout_4->addWidget(ch_send_note_aftertouch);

ch_send_pitchbend = new QCheckBox(groupBox);
ch_send_pitchbend->setObjectName(QString::fromUtf8("ch_send_pitchbend"));

verticalLayout_4->addWidget(ch_send_pitchbend);

ch_send_all_sound_off = new QCheckBox(groupBox);
ch_send_all_sound_off->setObjectName(QString::fromUtf8("ch_send_all_sound_off"));

verticalLayout_4->addWidget(ch_send_all_sound_off);


gridLayout_2->addWidget(groupBox, 1, 1, 2, 1);

horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalSpacer = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer);

label_plugin = new QLabel(tabEdit);
label_plugin->setObjectName(QString::fromUtf8("label_plugin"));
label_plugin->setAlignment(Qt::AlignCenter);
label_plugin->setWordWrap(true);

horizontalLayout->addWidget(label_plugin);

horizontalSpacer_2 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer_2);

gridLayout = new QGridLayout();
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
sw_programs = new QStackedWidget(tabEdit);
sw_programs->setObjectName(QString::fromUtf8("sw_programs"));
QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(sw_programs->sizePolicy().hasHeightForWidth());
sw_programs->setSizePolicy(sizePolicy1);
sw_programs->setLineWidth(0);
sww_programs = new QWidget();
sww_programs->setObjectName(QString::fromUtf8("sww_programs"));
horizontalLayout_3 = new QHBoxLayout(sww_programs);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
horizontalLayout_3->setContentsMargins(2, 2, 2, 2);
horizontalSpacer_8 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_3->addItem(horizontalSpacer_8);

label_programs = new QLabel(sww_programs);
label_programs->setObjectName(QString::fromUtf8("label_programs"));
QSizePolicy sizePolicy2(QSizePolicy::Fixed, QSizePolicy::Preferred);
sizePolicy2.setHorizontalStretch(0);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(label_programs->sizePolicy().hasHeightForWidth());
label_programs->setSizePolicy(sizePolicy2);

horizontalLayout_3->addWidget(label_programs);

cb_programs = new QComboBox(sww_programs);
cb_programs->setObjectName(QString::fromUtf8("cb_programs"));
cb_programs->setMinimumSize(QSize(150, 0));

horizontalLayout_3->addWidget(cb_programs);

sw_programs->addWidget(sww_programs);
sww_midiPrograms = new QWidget();
sww_midiPrograms->setObjectName(QString::fromUtf8("sww_midiPrograms"));
horizontalLayout_4 = new QHBoxLayout(sww_midiPrograms);
horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
horizontalLayout_4->setContentsMargins(2, 2, 2, 2);
horizontalSpacer_7 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_4->addItem(horizontalSpacer_7);

label_midi_programs = new QLabel(sww_midiPrograms);
label_midi_programs->setObjectName(QString::fromUtf8("label_midi_programs"));
sizePolicy2.setHeightForWidth(label_midi_programs->sizePolicy().hasHeightForWidth());
label_midi_programs->setSizePolicy(sizePolicy2);

horizontalLayout_4->addWidget(label_midi_programs);

cb_midi_programs = new QComboBox(sww_midiPrograms);
cb_midi_programs->setObjectName(QString::fromUtf8("cb_midi_programs"));
cb_midi_programs->setMinimumSize(QSize(150, 0));

horizontalLayout_4->addWidget(cb_midi_programs);

sw_programs->addWidget(sww_midiPrograms);

gridLayout->addWidget(sw_programs, 0, 1, 1, 2);

b_save_state = new QPushButton(tabEdit);
b_save_state->setObjectName(QString::fromUtf8("b_save_state"));
b_save_state->setFocusPolicy(Qt::NoFocus);
QIcon icon;
icon.addFile(QString::fromUtf8(":/16x16/document-save.png"), QSize(), QIcon::Normal, QIcon::Off);
b_save_state->setIcon(icon);

gridLayout->addWidget(b_save_state, 1, 1, 1, 1);

b_load_state = new QPushButton(tabEdit);
b_load_state->setObjectName(QString::fromUtf8("b_load_state"));
b_load_state->setFocusPolicy(Qt::NoFocus);
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/16x16/document-open.png"), QSize(), QIcon::Normal, QIcon::Off);
b_load_state->setIcon(icon1);

gridLayout->addWidget(b_load_state, 1, 2, 1, 1);

horizontalSpacer_9 = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer_9, 1, 0, 1, 1);


horizontalLayout->addLayout(gridLayout);


gridLayout_2->addLayout(horizontalLayout, 0, 0, 1, 2);

groupBox_2 = new QGroupBox(tabEdit);
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
sizePolicy.setHeightForWidth(groupBox_2->sizePolicy().hasHeightForWidth());
groupBox_2->setSizePolicy(sizePolicy);
verticalLayout_3 = new QVBoxLayout(groupBox_2);
verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
gridLayout_3 = new QGridLayout();
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
le_maker = new QLineEdit(groupBox_2);
le_maker->setObjectName(QString::fromUtf8("le_maker"));
le_maker->setInputMask(QString::fromUtf8(""));
le_maker->setText(QString::fromUtf8(""));
le_maker->setFrame(false);
le_maker->setReadOnly(true);

gridLayout_3->addWidget(le_maker, 3, 1, 1, 1);

label_label = new QLabel(groupBox_2);
label_label->setObjectName(QString::fromUtf8("label_label"));
label_label->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_3->addWidget(label_label, 2, 0, 1, 1);

label_name = new QLabel(groupBox_2);
label_name->setObjectName(QString::fromUtf8("label_name"));
label_name->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_3->addWidget(label_name, 1, 0, 1, 1);

le_name = new QLineEdit(groupBox_2);
le_name->setObjectName(QString::fromUtf8("le_name"));
le_name->setInputMask(QString::fromUtf8(""));
le_name->setText(QString::fromUtf8(""));
le_name->setFrame(false);
le_name->setReadOnly(true);

gridLayout_3->addWidget(le_name, 1, 1, 1, 1);

le_type = new QLineEdit(groupBox_2);
le_type->setObjectName(QString::fromUtf8("le_type"));
le_type->setInputMask(QString::fromUtf8(""));
le_type->setText(QString::fromUtf8(""));
le_type->setFrame(false);
le_type->setReadOnly(true);

gridLayout_3->addWidget(le_type, 0, 1, 1, 1);

le_copyright = new QLineEdit(groupBox_2);
le_copyright->setObjectName(QString::fromUtf8("le_copyright"));
le_copyright->setInputMask(QString::fromUtf8(""));
le_copyright->setText(QString::fromUtf8(""));
le_copyright->setFrame(false);
le_copyright->setReadOnly(true);

gridLayout_3->addWidget(le_copyright, 4, 1, 1, 1);

le_unique_id = new QLineEdit(groupBox_2);
le_unique_id->setObjectName(QString::fromUtf8("le_unique_id"));
le_unique_id->setInputMask(QString::fromUtf8(""));
le_unique_id->setText(QString::fromUtf8(""));
le_unique_id->setFrame(false);
le_unique_id->setReadOnly(true);

gridLayout_3->addWidget(le_unique_id, 5, 1, 1, 1);

label_type = new QLabel(groupBox_2);
label_type->setObjectName(QString::fromUtf8("label_type"));
label_type->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_3->addWidget(label_type, 0, 0, 1, 1);

label_maker = new QLabel(groupBox_2);
label_maker->setObjectName(QString::fromUtf8("label_maker"));
label_maker->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_3->addWidget(label_maker, 3, 0, 1, 1);

label_copyright = new QLabel(groupBox_2);
label_copyright->setObjectName(QString::fromUtf8("label_copyright"));
label_copyright->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_3->addWidget(label_copyright, 4, 0, 1, 1);

label_unique_id = new QLabel(groupBox_2);
label_unique_id->setObjectName(QString::fromUtf8("label_unique_id"));
label_unique_id->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout_3->addWidget(label_unique_id, 5, 0, 1, 1);

le_label = new QLineEdit(groupBox_2);
le_label->setObjectName(QString::fromUtf8("le_label"));
le_label->setInputMask(QString::fromUtf8(""));
le_label->setText(QString::fromUtf8(""));
le_label->setFrame(false);
le_label->setReadOnly(true);

gridLayout_3->addWidget(le_label, 2, 1, 1, 1);


verticalLayout_3->addLayout(gridLayout_3);


gridLayout_2->addWidget(groupBox_2, 1, 0, 1, 1);

verticalSpacer = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding);

gridLayout_2->addItem(verticalSpacer, 3, 0, 1, 2);

tabWidget->addTab(tabEdit, QString());

verticalLayout->addWidget(tabWidget);


retranslateUi(PluginEdit);

tabWidget->setCurrentIndex(0);
stackedWidget->setCurrentIndex(0);
sw_programs->setCurrentIndex(1);


QMetaObject::connectSlotsByName(PluginEdit);
} // setupUi

void retranslateUi(QDialog *PluginEdit)
{
PluginEdit->setWindowTitle(QCoreApplication::translate("PluginEdit", "Plugin Editor", nullptr));
groupBox_3->setTitle(QCoreApplication::translate("PluginEdit", "Control", nullptr));
label_ctrl_channel->setText(QCoreApplication::translate("PluginEdit", "MIDI Control Channel:", nullptr));
sb_ctrl_channel->setSpecialValueText(QCoreApplication::translate("PluginEdit", "N", nullptr));
#if QT_CONFIG(statustip)
dial_drywet->setStatusTip(QCoreApplication::translate("PluginEdit", "Output dry/wet (100%)", nullptr));
#endif // QT_CONFIG(statustip)
#if QT_CONFIG(statustip)
dial_vol->setStatusTip(QCoreApplication::translate("PluginEdit", "Output volume (100%)", nullptr));
#endif // QT_CONFIG(statustip)
#if QT_CONFIG(statustip)
dial_b_left->setStatusTip(QCoreApplication::translate("PluginEdit", "Balance Left (0%)", nullptr));
#endif // QT_CONFIG(statustip)
#if QT_CONFIG(statustip)
dial_b_right->setStatusTip(QCoreApplication::translate("PluginEdit", "Balance Right (0%)", nullptr));
#endif // QT_CONFIG(statustip)
#if QT_CONFIG(statustip)
dial_pan->setStatusTip(QCoreApplication::translate("PluginEdit", "Balance Right (0%)", nullptr));
#endif // QT_CONFIG(statustip)
rb_balance->setText(QCoreApplication::translate("PluginEdit", "Use Balance", nullptr));
rb_pan->setText(QCoreApplication::translate("PluginEdit", "Use Panning", nullptr));
groupBox->setTitle(QCoreApplication::translate("PluginEdit", "Settings", nullptr));
ch_use_chunks->setText(QCoreApplication::translate("PluginEdit", "Use Chunks", nullptr));
label->setText(QCoreApplication::translate("PluginEdit", " Audio:", nullptr));
ch_fixed_buffer->setText(QCoreApplication::translate("PluginEdit", "Fixed-Size Buffer", nullptr));
ch_force_stereo->setText(QCoreApplication::translate("PluginEdit", "Force Stereo (needs reload)", nullptr));
label_2->setText(QCoreApplication::translate("PluginEdit", " MIDI:", nullptr));
ch_map_program_changes->setText(QCoreApplication::translate("PluginEdit", "Map Program Changes", nullptr));
ch_send_program_changes->setText(QCoreApplication::translate("PluginEdit", "Send Bank/Program Changes", nullptr));
ch_send_control_changes->setText(QCoreApplication::translate("PluginEdit", "Send Control Changes", nullptr));
ch_send_channel_pressure->setText(QCoreApplication::translate("PluginEdit", "Send Channel Pressure", nullptr));
ch_send_note_aftertouch->setText(QCoreApplication::translate("PluginEdit", "Send Note Aftertouch", nullptr));
ch_send_pitchbend->setText(QCoreApplication::translate("PluginEdit", "Send Pitchbend", nullptr));
ch_send_all_sound_off->setText(QCoreApplication::translate("PluginEdit", "Send All Sound/Notes Off", nullptr));
label_plugin->setText(QCoreApplication::translate("PluginEdit", "\n"
"Plugin Name\n"
"", nullptr));
label_programs->setText(QCoreApplication::translate("PluginEdit", "Program:", nullptr));
label_midi_programs->setText(QCoreApplication::translate("PluginEdit", "MIDI Program:", nullptr));
b_save_state->setText(QCoreApplication::translate("PluginEdit", "Save State", nullptr));
b_load_state->setText(QCoreApplication::translate("PluginEdit", "Load State", nullptr));
groupBox_2->setTitle(QCoreApplication::translate("PluginEdit", "Information", nullptr));
label_label->setText(QCoreApplication::translate("PluginEdit", "Label/URI:", nullptr));
label_name->setText(QCoreApplication::translate("PluginEdit", "Name:", nullptr));
label_type->setText(QCoreApplication::translate("PluginEdit", "Type:", nullptr));
label_maker->setText(QCoreApplication::translate("PluginEdit", "Maker:", nullptr));
label_copyright->setText(QCoreApplication::translate("PluginEdit", "Copyright:", nullptr));
label_unique_id->setText(QCoreApplication::translate("PluginEdit", "Unique ID:", nullptr));
tabWidget->setTabText(tabWidget->indexOf(tabEdit), QCoreApplication::translate("PluginEdit", "Edit", nullptr));
} // retranslateUi

};

namespace Ui {
class PluginEdit: public Ui_PluginEdit {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_EDIT_H

+ 1067
- 0
source/frontend/C++/ui_carla_host.hpp
File diff suppressed because it is too large
View File


+ 215
- 0
source/frontend/C++/ui_carla_osc_connect.hpp View File

@@ -0,0 +1,215 @@
/********************************************************************************
** Form generated from reading UI file 'carla_osc_connect.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_OSC_CONNECT_H
#define UI_CARLA_OSC_CONNECT_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPlainTextEdit>
#include <QtWidgets/QRadioButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QVBoxLayout>

QT_BEGIN_NAMESPACE

class Ui_Dialog
{
public:
QVBoxLayout *verticalLayout;
QGroupBox *group_remote_setup;
QGridLayout *gridLayout;
QLabel *label_4;
QLabel *label_10;
QSpinBox *sb_udp_port;
QSpinBox *sb_tcp_port;
QLabel *label_3;
QSpacerItem *horizontalSpacer_4;
QLineEdit *le_host;
QSpacerItem *horizontalSpacer_3;
QGroupBox *group_reported_host;
QGridLayout *gridLayout_2;
QSpacerItem *horizontalSpacer_10;
QRadioButton *rb_reported_auto;
QSpacerItem *horizontalSpacer_9;
QRadioButton *rb_reported_custom;
QLineEdit *le_reported_host;
QHBoxLayout *horizontalLayout;
QSpacerItem *horizontalSpacer;
QPlainTextEdit *te_reported_hint;
QSpacerItem *horizontalSpacer_2;
QDialogButtonBox *buttonBox;

void setupUi(QDialog *Dialog)
{
if (Dialog->objectName().isEmpty())
Dialog->setObjectName(QString::fromUtf8("Dialog"));
Dialog->resize(443, 281);
verticalLayout = new QVBoxLayout(Dialog);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
group_remote_setup = new QGroupBox(Dialog);
group_remote_setup->setObjectName(QString::fromUtf8("group_remote_setup"));
gridLayout = new QGridLayout(group_remote_setup);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
label_4 = new QLabel(group_remote_setup);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_4, 4, 1, 1, 1);

label_10 = new QLabel(group_remote_setup);
label_10->setObjectName(QString::fromUtf8("label_10"));
label_10->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_10, 0, 1, 1, 1);

sb_udp_port = new QSpinBox(group_remote_setup);
sb_udp_port->setObjectName(QString::fromUtf8("sb_udp_port"));
sb_udp_port->setMinimum(1024);
sb_udp_port->setMaximum(32767);

gridLayout->addWidget(sb_udp_port, 4, 2, 1, 1);

sb_tcp_port = new QSpinBox(group_remote_setup);
sb_tcp_port->setObjectName(QString::fromUtf8("sb_tcp_port"));
sb_tcp_port->setMinimum(1024);
sb_tcp_port->setMaximum(32767);

gridLayout->addWidget(sb_tcp_port, 2, 2, 1, 1);

label_3 = new QLabel(group_remote_setup);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_3, 2, 1, 1, 1);

horizontalSpacer_4 = new QSpacerItem(20, 60, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer_4, 0, 0, 6, 1);

le_host = new QLineEdit(group_remote_setup);
le_host->setObjectName(QString::fromUtf8("le_host"));

gridLayout->addWidget(le_host, 0, 2, 1, 2);

horizontalSpacer_3 = new QSpacerItem(20, 60, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer_3, 0, 4, 6, 1);


verticalLayout->addWidget(group_remote_setup);

group_reported_host = new QGroupBox(Dialog);
group_reported_host->setObjectName(QString::fromUtf8("group_reported_host"));
gridLayout_2 = new QGridLayout(group_reported_host);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
horizontalSpacer_10 = new QSpacerItem(92, 38, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_10, 0, 0, 2, 1);

rb_reported_auto = new QRadioButton(group_reported_host);
rb_reported_auto->setObjectName(QString::fromUtf8("rb_reported_auto"));
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(rb_reported_auto->sizePolicy().hasHeightForWidth());
rb_reported_auto->setSizePolicy(sizePolicy);

gridLayout_2->addWidget(rb_reported_auto, 0, 1, 1, 2);

horizontalSpacer_9 = new QSpacerItem(92, 38, QSizePolicy::Fixed, QSizePolicy::Minimum);

gridLayout_2->addItem(horizontalSpacer_9, 0, 3, 2, 1);

rb_reported_custom = new QRadioButton(group_reported_host);
rb_reported_custom->setObjectName(QString::fromUtf8("rb_reported_custom"));
sizePolicy.setHeightForWidth(rb_reported_custom->sizePolicy().hasHeightForWidth());
rb_reported_custom->setSizePolicy(sizePolicy);

gridLayout_2->addWidget(rb_reported_custom, 1, 1, 1, 1);

le_reported_host = new QLineEdit(group_reported_host);
le_reported_host->setObjectName(QString::fromUtf8("le_reported_host"));

gridLayout_2->addWidget(le_reported_host, 1, 2, 1, 1);

horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalSpacer = new QSpacerItem(10, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer);

te_reported_hint = new QPlainTextEdit(group_reported_host);
te_reported_hint->setObjectName(QString::fromUtf8("te_reported_hint"));
te_reported_hint->setFrameShape(QFrame::NoFrame);
te_reported_hint->setFrameShadow(QFrame::Plain);
te_reported_hint->setLineWidth(0);
te_reported_hint->setMidLineWidth(1);
te_reported_hint->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
te_reported_hint->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
te_reported_hint->setUndoRedoEnabled(false);
te_reported_hint->setTextInteractionFlags(Qt::NoTextInteraction);

horizontalLayout->addWidget(te_reported_hint);

horizontalSpacer_2 = new QSpacerItem(10, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer_2);


gridLayout_2->addLayout(horizontalLayout, 2, 0, 1, 4);


verticalLayout->addWidget(group_reported_host);

buttonBox = new QDialogButtonBox(Dialog);
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);

verticalLayout->addWidget(buttonBox);


retranslateUi(Dialog);
QObject::connect(buttonBox, SIGNAL(accepted()), Dialog, SLOT(accept()));
QObject::connect(buttonBox, SIGNAL(rejected()), Dialog, SLOT(reject()));

QMetaObject::connectSlotsByName(Dialog);
} // setupUi

void retranslateUi(QDialog *Dialog)
{
Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Carla Control - Connect", nullptr));
group_remote_setup->setTitle(QCoreApplication::translate("Dialog", "Remote setup", nullptr));
label_4->setText(QCoreApplication::translate("Dialog", "UDP Port:", nullptr));
label_10->setText(QCoreApplication::translate("Dialog", "Remote host:", nullptr));
label_3->setText(QCoreApplication::translate("Dialog", "TCP Port:", nullptr));
group_reported_host->setTitle(QCoreApplication::translate("Dialog", "Reported host", nullptr));
rb_reported_auto->setText(QCoreApplication::translate("Dialog", "Automatic", nullptr));
rb_reported_custom->setText(QCoreApplication::translate("Dialog", "Custom:", nullptr));
te_reported_hint->setPlainText(QCoreApplication::translate("Dialog", "In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to.\n"
"If you are unsure, leave it as 'Automatic'.", nullptr));
} // retranslateUi

};

namespace Ui {
class Dialog: public Ui_Dialog {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_OSC_CONNECT_H

+ 97
- 0
source/frontend/C++/ui_carla_parameter.hpp View File

@@ -0,0 +1,97 @@
/********************************************************************************
** Form generated from reading UI file 'carla_parameter.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_PARAMETER_H
#define UI_CARLA_PARAMETER_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QWidget>
#include "widgets/paramspinbox.h"

QT_BEGIN_NAMESPACE

class Ui_PluginParameter
{
public:
QHBoxLayout *horizontalLayout;
QLabel *label;
ParamSpinBox *widget;
QSpinBox *sb_control;
QSpinBox *sb_channel;

void setupUi(QWidget *PluginParameter)
{
if (PluginParameter->objectName().isEmpty())
PluginParameter->setObjectName(QString::fromUtf8("PluginParameter"));
PluginParameter->resize(369, 22);
horizontalLayout = new QHBoxLayout(PluginParameter);
horizontalLayout->setContentsMargins(0, 0, 0, 0);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
label = new QLabel(PluginParameter);
label->setObjectName(QString::fromUtf8("label"));
label->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

horizontalLayout->addWidget(label);

widget = new ParamSpinBox(PluginParameter);
widget->setObjectName(QString::fromUtf8("widget"));
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(widget->sizePolicy().hasHeightForWidth());
widget->setSizePolicy(sizePolicy);
widget->setContextMenuPolicy(Qt::CustomContextMenu);

horizontalLayout->addWidget(widget);

sb_control = new QSpinBox(PluginParameter);
sb_control->setObjectName(QString::fromUtf8("sb_control"));
sb_control->setContextMenuPolicy(Qt::CustomContextMenu);
sb_control->setMinimum(-1);
sb_control->setMaximum(119);
sb_control->setValue(-1);

horizontalLayout->addWidget(sb_control);

sb_channel = new QSpinBox(PluginParameter);
sb_channel->setObjectName(QString::fromUtf8("sb_channel"));
sb_channel->setContextMenuPolicy(Qt::CustomContextMenu);
sb_channel->setMinimum(1);
sb_channel->setMaximum(16);
sb_channel->setValue(1);

horizontalLayout->addWidget(sb_channel);


retranslateUi(PluginParameter);

QMetaObject::connectSlotsByName(PluginParameter);
} // setupUi

void retranslateUi(QWidget *PluginParameter)
{
PluginParameter->setWindowTitle(QCoreApplication::translate("PluginParameter", "Form", nullptr));
label->setText(QCoreApplication::translate("PluginParameter", "Parameter Name", nullptr));
sb_control->setSpecialValueText(QCoreApplication::translate("PluginParameter", "(none)", nullptr));
sb_control->setPrefix(QCoreApplication::translate("PluginParameter", "cc #", nullptr));
sb_channel->setPrefix(QCoreApplication::translate("PluginParameter", "ch ", nullptr));
} // retranslateUi

};

namespace Ui {
class PluginParameter: public Ui_PluginParameter {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_PARAMETER_H

+ 285
- 0
source/frontend/C++/ui_carla_plugin_calf.hpp View File

@@ -0,0 +1,285 @@
/********************************************************************************
** Form generated from reading UI file 'carla_plugin_calf.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_PLUGIN_CALF_H
#define UI_CARLA_PLUGIN_CALF_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QFrame>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include "widgets/digitalpeakmeter.h"
#include "widgets/ledbutton.h"
#include "widgets/pixmapbutton.h"

QT_BEGIN_NAMESPACE

class Ui_PluginWidget
{
public:
QVBoxLayout *verticalLayout;
QHBoxLayout *layout_top;
QWidget *w_buttons;
QHBoxLayout *horizontalLayout_5;
PixmapButton *b_enable;
QLabel *label_active;
QSpacerItem *spacer_namesep1;
QFrame *line_sep;
QSpacerItem *spacer_namesep2;
QLabel *label_name;
QSpacerItem *spacer_namesep3;
QVBoxLayout *layout_midi;
QLabel *label_midi;
LEDButton *led_midi;
QVBoxLayout *layout_peak_in;
QLabel *label_audio_in;
DigitalPeakMeter *peak_in;
QVBoxLayout *layout_peak_out;
QLabel *label_audio_out;
DigitalPeakMeter *peak_out;
QFrame *line;
QHBoxLayout *layout_bottom;
QHBoxLayout *w_buttons2;
PixmapButton *b_gui;
PixmapButton *b_edit;
PixmapButton *b_remove;
QSpacerItem *spacer_knobs;
QWidget *w_knobs;
QHBoxLayout *horizontalLayout_4;
QLabel *label_logo;

void setupUi(QFrame *PluginWidget)
{
if (PluginWidget->objectName().isEmpty())
PluginWidget->setObjectName(QString::fromUtf8("PluginWidget"));
PluginWidget->resize(622, 90);
PluginWidget->setContextMenuPolicy(Qt::CustomContextMenu);
verticalLayout = new QVBoxLayout(PluginWidget);
verticalLayout->setSpacing(0);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(4, 3, 6, 3);
layout_top = new QHBoxLayout();
layout_top->setSpacing(1);
layout_top->setObjectName(QString::fromUtf8("layout_top"));
w_buttons = new QWidget(PluginWidget);
w_buttons->setObjectName(QString::fromUtf8("w_buttons"));
w_buttons->setMinimumSize(QSize(72, 0));
w_buttons->setMaximumSize(QSize(72, 16777215));
horizontalLayout_5 = new QHBoxLayout(w_buttons);
horizontalLayout_5->setSpacing(2);
horizontalLayout_5->setContentsMargins(0, 0, 0, 0);
horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
b_enable = new PixmapButton(w_buttons);
b_enable->setObjectName(QString::fromUtf8("b_enable"));
b_enable->setCheckable(true);

horizontalLayout_5->addWidget(b_enable);

label_active = new QLabel(w_buttons);
label_active->setObjectName(QString::fromUtf8("label_active"));

horizontalLayout_5->addWidget(label_active);


layout_top->addWidget(w_buttons);

spacer_namesep1 = new QSpacerItem(6, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep1);

line_sep = new QFrame(PluginWidget);
line_sep->setObjectName(QString::fromUtf8("line_sep"));
line_sep->setMinimumSize(QSize(0, 20));
line_sep->setMaximumSize(QSize(16777215, 20));
line_sep->setLineWidth(0);
line_sep->setMidLineWidth(1);
line_sep->setFrameShape(QFrame::VLine);
line_sep->setFrameShadow(QFrame::Sunken);

layout_top->addWidget(line_sep);

spacer_namesep2 = new QSpacerItem(8, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep2);

label_name = new QLabel(PluginWidget);
label_name->setObjectName(QString::fromUtf8("label_name"));
QFont font;
font.setBold(true);
font.setWeight(75);
label_name->setFont(font);
label_name->setAlignment(Qt::AlignCenter);

layout_top->addWidget(label_name);

spacer_namesep3 = new QSpacerItem(20, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep3);

layout_midi = new QVBoxLayout();
layout_midi->setSpacing(0);
layout_midi->setObjectName(QString::fromUtf8("layout_midi"));
layout_midi->setContentsMargins(-1, -1, 4, -1);
label_midi = new QLabel(PluginWidget);
label_midi->setObjectName(QString::fromUtf8("label_midi"));
label_midi->setAlignment(Qt::AlignBottom|Qt::AlignHCenter);

layout_midi->addWidget(label_midi);

led_midi = new LEDButton(PluginWidget);
led_midi->setObjectName(QString::fromUtf8("led_midi"));
led_midi->setMinimumSize(QSize(25, 25));
led_midi->setMaximumSize(QSize(25, 25));
led_midi->setIconSize(QSize(25, 25));
led_midi->setCheckable(true);

layout_midi->addWidget(led_midi);


layout_top->addLayout(layout_midi);

layout_peak_in = new QVBoxLayout();
layout_peak_in->setSpacing(0);
layout_peak_in->setObjectName(QString::fromUtf8("layout_peak_in"));
label_audio_in = new QLabel(PluginWidget);
label_audio_in->setObjectName(QString::fromUtf8("label_audio_in"));
label_audio_in->setAlignment(Qt::AlignBottom|Qt::AlignHCenter);

layout_peak_in->addWidget(label_audio_in);

peak_in = new DigitalPeakMeter(PluginWidget);
peak_in->setObjectName(QString::fromUtf8("peak_in"));
peak_in->setMinimumSize(QSize(150, 0));

layout_peak_in->addWidget(peak_in);


layout_top->addLayout(layout_peak_in);

layout_peak_out = new QVBoxLayout();
layout_peak_out->setSpacing(0);
layout_peak_out->setObjectName(QString::fromUtf8("layout_peak_out"));
label_audio_out = new QLabel(PluginWidget);
label_audio_out->setObjectName(QString::fromUtf8("label_audio_out"));
label_audio_out->setAlignment(Qt::AlignBottom|Qt::AlignHCenter);

layout_peak_out->addWidget(label_audio_out);

peak_out = new DigitalPeakMeter(PluginWidget);
peak_out->setObjectName(QString::fromUtf8("peak_out"));
peak_out->setMinimumSize(QSize(150, 0));

layout_peak_out->addWidget(peak_out);


layout_top->addLayout(layout_peak_out);


verticalLayout->addLayout(layout_top);

line = new QFrame(PluginWidget);
line->setObjectName(QString::fromUtf8("line"));
line->setLineWidth(0);
line->setMidLineWidth(1);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);

verticalLayout->addWidget(line);

layout_bottom = new QHBoxLayout();
layout_bottom->setSpacing(1);
layout_bottom->setObjectName(QString::fromUtf8("layout_bottom"));
layout_bottom->setContentsMargins(6, 4, 4, -1);
w_buttons2 = new QHBoxLayout();
w_buttons2->setSpacing(3);
w_buttons2->setObjectName(QString::fromUtf8("w_buttons2"));
b_gui = new PixmapButton(PluginWidget);
b_gui->setObjectName(QString::fromUtf8("b_gui"));
b_gui->setCheckable(true);

w_buttons2->addWidget(b_gui);

b_edit = new PixmapButton(PluginWidget);
b_edit->setObjectName(QString::fromUtf8("b_edit"));
b_edit->setCheckable(true);

w_buttons2->addWidget(b_edit);

b_remove = new PixmapButton(PluginWidget);
b_remove->setObjectName(QString::fromUtf8("b_remove"));

w_buttons2->addWidget(b_remove);


layout_bottom->addLayout(w_buttons2);

spacer_knobs = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_bottom->addItem(spacer_knobs);

w_knobs = new QWidget(PluginWidget);
w_knobs->setObjectName(QString::fromUtf8("w_knobs"));
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(w_knobs->sizePolicy().hasHeightForWidth());
w_knobs->setSizePolicy(sizePolicy);
horizontalLayout_4 = new QHBoxLayout(w_knobs);
horizontalLayout_4->setSpacing(2);
horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
horizontalLayout_4->setContentsMargins(4, 0, 4, 0);

layout_bottom->addWidget(w_knobs);

label_logo = new QLabel(PluginWidget);
label_logo->setObjectName(QString::fromUtf8("label_logo"));
label_logo->setMinimumSize(QSize(71, 30));
label_logo->setMaximumSize(QSize(71, 30));
label_logo->setPixmap(QPixmap(QString::fromUtf8(":/bitmaps/logo_calf.png")));
label_logo->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

layout_bottom->addWidget(label_logo);


verticalLayout->addLayout(layout_bottom);


retranslateUi(PluginWidget);

QMetaObject::connectSlotsByName(PluginWidget);
} // setupUi

void retranslateUi(QFrame *PluginWidget)
{
PluginWidget->setWindowTitle(QCoreApplication::translate("PluginWidget", "Frame", nullptr));
b_enable->setText(QCoreApplication::translate("PluginWidget", "Enable", nullptr));
label_active->setText(QCoreApplication::translate("PluginWidget", "On/Off", nullptr));
label_name->setText(QCoreApplication::translate("PluginWidget", "PluginName", nullptr));
label_midi->setText(QCoreApplication::translate("PluginWidget", "MIDI", nullptr));
led_midi->setText(QString());
label_audio_in->setText(QCoreApplication::translate("PluginWidget", "AUDIO IN", nullptr));
label_audio_out->setText(QCoreApplication::translate("PluginWidget", "AUDIO OUT", nullptr));
b_gui->setText(QCoreApplication::translate("PluginWidget", "GUI", nullptr));
b_edit->setText(QCoreApplication::translate("PluginWidget", "Edit", nullptr));
b_remove->setText(QCoreApplication::translate("PluginWidget", "Remove", nullptr));
label_logo->setText(QString());
} // retranslateUi

};

namespace Ui {
class PluginWidget: public Ui_PluginWidget {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_PLUGIN_CALF_H

+ 204
- 0
source/frontend/C++/ui_carla_plugin_classic.hpp View File

@@ -0,0 +1,204 @@
/********************************************************************************
** Form generated from reading UI file 'carla_plugin_classic.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_PLUGIN_CLASSIC_H
#define UI_CARLA_PLUGIN_CLASSIC_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QFrame>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include "widgets/digitalpeakmeter.h"
#include "widgets/ledbutton.h"
#include "widgets/pixmapbutton.h"

QT_BEGIN_NAMESPACE

class Ui_PluginWidget
{
public:
QHBoxLayout *horizontalLayout;
QWidget *area_left;
QHBoxLayout *horizontalLayout_3;
PixmapButton *b_enable;
PixmapButton *b_gui;
PixmapButton *b_edit;
QLabel *label_name;
QSpacerItem *horizontalSpacer;
QWidget *area_right;
QHBoxLayout *horizontalLayout_2;
LEDButton *led_control;
LEDButton *led_midi;
LEDButton *led_audio_in;
LEDButton *led_audio_out;
QVBoxLayout *verticalLayout_2;
DigitalPeakMeter *peak_in;
DigitalPeakMeter *peak_out;

void setupUi(QFrame *PluginWidget)
{
if (PluginWidget->objectName().isEmpty())
PluginWidget->setObjectName(QString::fromUtf8("PluginWidget"));
PluginWidget->resize(497, 37);
PluginWidget->setContextMenuPolicy(Qt::CustomContextMenu);
PluginWidget->setLineWidth(0);
horizontalLayout = new QHBoxLayout(PluginWidget);
horizontalLayout->setSpacing(2);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalLayout->setContentsMargins(4, 2, 4, 2);
area_left = new QWidget(PluginWidget);
area_left->setObjectName(QString::fromUtf8("area_left"));
horizontalLayout_3 = new QHBoxLayout(area_left);
horizontalLayout_3->setSpacing(1);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
horizontalLayout_3->setContentsMargins(0, 1, 0, 4);
b_enable = new PixmapButton(area_left);
b_enable->setObjectName(QString::fromUtf8("b_enable"));
b_enable->setMinimumSize(QSize(24, 24));
b_enable->setMaximumSize(QSize(24, 24));
QIcon icon;
icon.addFile(QString::fromUtf8(":/bitmaps/button_off.png"), QSize(), QIcon::Normal, QIcon::Off);
b_enable->setIcon(icon);
b_enable->setIconSize(QSize(24, 24));
b_enable->setCheckable(true);
b_enable->setFlat(true);

horizontalLayout_3->addWidget(b_enable);

b_gui = new PixmapButton(area_left);
b_gui->setObjectName(QString::fromUtf8("b_gui"));
b_gui->setMinimumSize(QSize(24, 24));
b_gui->setMaximumSize(QSize(24, 24));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/bitmaps/button_gui.png"), QSize(), QIcon::Normal, QIcon::Off);
b_gui->setIcon(icon1);
b_gui->setIconSize(QSize(24, 24));
b_gui->setCheckable(true);
b_gui->setFlat(true);

horizontalLayout_3->addWidget(b_gui);

b_edit = new PixmapButton(area_left);
b_edit->setObjectName(QString::fromUtf8("b_edit"));
b_edit->setMinimumSize(QSize(24, 24));
b_edit->setMaximumSize(QSize(24, 24));
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/bitmaps/button_edit.png"), QSize(), QIcon::Normal, QIcon::Off);
b_edit->setIcon(icon2);
b_edit->setIconSize(QSize(24, 24));
b_edit->setCheckable(true);
b_edit->setFlat(true);

horizontalLayout_3->addWidget(b_edit);

label_name = new QLabel(area_left);
label_name->setObjectName(QString::fromUtf8("label_name"));

horizontalLayout_3->addWidget(label_name);


horizontalLayout->addWidget(area_left);

horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer);

area_right = new QWidget(PluginWidget);
area_right->setObjectName(QString::fromUtf8("area_right"));
horizontalLayout_2 = new QHBoxLayout(area_right);
horizontalLayout_2->setSpacing(1);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalLayout_2->setContentsMargins(4, 4, 0, 1);
led_control = new LEDButton(area_right);
led_control->setObjectName(QString::fromUtf8("led_control"));
led_control->setMinimumSize(QSize(14, 14));
led_control->setMaximumSize(QSize(14, 14));
led_control->setCheckable(true);

horizontalLayout_2->addWidget(led_control);

led_midi = new LEDButton(area_right);
led_midi->setObjectName(QString::fromUtf8("led_midi"));
led_midi->setMinimumSize(QSize(14, 14));
led_midi->setMaximumSize(QSize(14, 14));
led_midi->setCheckable(true);

horizontalLayout_2->addWidget(led_midi);

led_audio_in = new LEDButton(area_right);
led_audio_in->setObjectName(QString::fromUtf8("led_audio_in"));
led_audio_in->setMinimumSize(QSize(14, 14));
led_audio_in->setMaximumSize(QSize(14, 14));
led_audio_in->setCheckable(true);

horizontalLayout_2->addWidget(led_audio_in);

led_audio_out = new LEDButton(area_right);
led_audio_out->setObjectName(QString::fromUtf8("led_audio_out"));
led_audio_out->setMinimumSize(QSize(14, 14));
led_audio_out->setMaximumSize(QSize(14, 14));
led_audio_out->setCheckable(true);

horizontalLayout_2->addWidget(led_audio_out);

verticalLayout_2 = new QVBoxLayout();
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
verticalLayout_2->setContentsMargins(6, -1, -1, -1);
peak_in = new DigitalPeakMeter(area_right);
peak_in->setObjectName(QString::fromUtf8("peak_in"));
peak_in->setMinimumSize(QSize(150, 0));
peak_in->setMaximumSize(QSize(150, 16777215));

verticalLayout_2->addWidget(peak_in);

peak_out = new DigitalPeakMeter(area_right);
peak_out->setObjectName(QString::fromUtf8("peak_out"));
peak_out->setMinimumSize(QSize(150, 0));
peak_out->setMaximumSize(QSize(150, 16777215));

verticalLayout_2->addWidget(peak_out);


horizontalLayout_2->addLayout(verticalLayout_2);


horizontalLayout->addWidget(area_right);


retranslateUi(PluginWidget);

QMetaObject::connectSlotsByName(PluginWidget);
} // setupUi

void retranslateUi(QFrame *PluginWidget)
{
PluginWidget->setWindowTitle(QCoreApplication::translate("PluginWidget", "Frame", nullptr));
b_enable->setText(QString());
b_gui->setText(QString());
b_edit->setText(QString());
label_name->setText(QCoreApplication::translate("PluginWidget", "Plugin Name", nullptr));
led_control->setText(QString());
led_midi->setText(QString());
led_audio_in->setText(QString());
led_audio_out->setText(QString());
} // retranslateUi

};

namespace Ui {
class PluginWidget: public Ui_PluginWidget {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_PLUGIN_CLASSIC_H

+ 225
- 0
source/frontend/C++/ui_carla_plugin_compact.hpp View File

@@ -0,0 +1,225 @@
/********************************************************************************
** Form generated from reading UI file 'carla_plugin_compact.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_PLUGIN_COMPACT_H
#define UI_CARLA_PLUGIN_COMPACT_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QFrame>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QWidget>
#include "widgets/digitalpeakmeter.h"
#include "widgets/ledbutton.h"
#include "widgets/pixmapbutton.h"

QT_BEGIN_NAMESPACE

class Ui_PluginWidget
{
public:
QHBoxLayout *horizontalLayout_2;
QWidget *w_buttons;
QHBoxLayout *horizontalLayout;
PixmapButton *b_enable;
PixmapButton *b_gui;
PixmapButton *b_edit;
QSpacerItem *spacer_namesep1;
QFrame *line_name_sep;
QSpacerItem *spacer_namesep2;
QLabel *label_name;
QSpacerItem *spacer_namesep3;
QHBoxLayout *layout_peaks;
DigitalPeakMeter *peak_in;
DigitalPeakMeter *peak_out;
QHBoxLayout *layout_leds;
LEDButton *led_control;
LEDButton *led_midi;
LEDButton *led_audio_in;
LEDButton *led_audio_out;

void setupUi(QFrame *PluginWidget)
{
if (PluginWidget->objectName().isEmpty())
PluginWidget->setObjectName(QString::fromUtf8("PluginWidget"));
PluginWidget->resize(446, 30);
PluginWidget->setContextMenuPolicy(Qt::CustomContextMenu);
PluginWidget->setLineWidth(0);
horizontalLayout_2 = new QHBoxLayout(PluginWidget);
horizontalLayout_2->setSpacing(1);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalLayout_2->setContentsMargins(4, 3, 6, 3);
w_buttons = new QWidget(PluginWidget);
w_buttons->setObjectName(QString::fromUtf8("w_buttons"));
w_buttons->setMinimumSize(QSize(72, 24));
w_buttons->setMaximumSize(QSize(72, 24));
horizontalLayout = new QHBoxLayout(w_buttons);
horizontalLayout->setSpacing(0);
horizontalLayout->setContentsMargins(0, 0, 0, 0);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
b_enable = new PixmapButton(w_buttons);
b_enable->setObjectName(QString::fromUtf8("b_enable"));
b_enable->setMinimumSize(QSize(24, 24));
b_enable->setMaximumSize(QSize(24, 24));
QIcon icon;
icon.addFile(QString::fromUtf8(":/bitmaps/button_off.png"), QSize(), QIcon::Normal, QIcon::Off);
b_enable->setIcon(icon);
b_enable->setIconSize(QSize(24, 24));
b_enable->setCheckable(true);
b_enable->setFlat(true);

horizontalLayout->addWidget(b_enable);

b_gui = new PixmapButton(w_buttons);
b_gui->setObjectName(QString::fromUtf8("b_gui"));
b_gui->setMinimumSize(QSize(24, 24));
b_gui->setMaximumSize(QSize(24, 24));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/bitmaps/button_gui.png"), QSize(), QIcon::Normal, QIcon::Off);
b_gui->setIcon(icon1);
b_gui->setIconSize(QSize(24, 24));
b_gui->setCheckable(true);
b_gui->setFlat(true);

horizontalLayout->addWidget(b_gui);

b_edit = new PixmapButton(w_buttons);
b_edit->setObjectName(QString::fromUtf8("b_edit"));
b_edit->setMinimumSize(QSize(24, 24));
b_edit->setMaximumSize(QSize(24, 24));
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/bitmaps/button_edit.png"), QSize(), QIcon::Normal, QIcon::Off);
b_edit->setIcon(icon2);
b_edit->setIconSize(QSize(24, 24));
b_edit->setCheckable(true);
b_edit->setFlat(true);

horizontalLayout->addWidget(b_edit);


horizontalLayout_2->addWidget(w_buttons);

spacer_namesep1 = new QSpacerItem(6, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout_2->addItem(spacer_namesep1);

line_name_sep = new QFrame(PluginWidget);
line_name_sep->setObjectName(QString::fromUtf8("line_name_sep"));
line_name_sep->setMinimumSize(QSize(0, 20));
line_name_sep->setMaximumSize(QSize(16777215, 20));
line_name_sep->setLineWidth(0);
line_name_sep->setMidLineWidth(1);
line_name_sep->setFrameShape(QFrame::VLine);
line_name_sep->setFrameShadow(QFrame::Sunken);

horizontalLayout_2->addWidget(line_name_sep);

spacer_namesep2 = new QSpacerItem(8, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout_2->addItem(spacer_namesep2);

label_name = new QLabel(PluginWidget);
label_name->setObjectName(QString::fromUtf8("label_name"));
label_name->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);

horizontalLayout_2->addWidget(label_name);

spacer_namesep3 = new QSpacerItem(19, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

horizontalLayout_2->addItem(spacer_namesep3);

layout_peaks = new QHBoxLayout();
layout_peaks->setSpacing(4);
layout_peaks->setObjectName(QString::fromUtf8("layout_peaks"));
layout_peaks->setContentsMargins(4, 2, 4, 2);
peak_in = new DigitalPeakMeter(PluginWidget);
peak_in->setObjectName(QString::fromUtf8("peak_in"));
peak_in->setMinimumSize(QSize(100, 0));
peak_in->setMaximumSize(QSize(100, 16777215));

layout_peaks->addWidget(peak_in);

peak_out = new DigitalPeakMeter(PluginWidget);
peak_out->setObjectName(QString::fromUtf8("peak_out"));
peak_out->setMinimumSize(QSize(100, 0));
peak_out->setMaximumSize(QSize(100, 16777215));

layout_peaks->addWidget(peak_out);


horizontalLayout_2->addLayout(layout_peaks);

layout_leds = new QHBoxLayout();
layout_leds->setSpacing(1);
layout_leds->setObjectName(QString::fromUtf8("layout_leds"));
led_control = new LEDButton(PluginWidget);
led_control->setObjectName(QString::fromUtf8("led_control"));
led_control->setMinimumSize(QSize(14, 14));
led_control->setMaximumSize(QSize(14, 14));
led_control->setCheckable(true);

layout_leds->addWidget(led_control);

led_midi = new LEDButton(PluginWidget);
led_midi->setObjectName(QString::fromUtf8("led_midi"));
led_midi->setMinimumSize(QSize(14, 14));
led_midi->setMaximumSize(QSize(14, 14));
led_midi->setCheckable(true);

layout_leds->addWidget(led_midi);

led_audio_in = new LEDButton(PluginWidget);
led_audio_in->setObjectName(QString::fromUtf8("led_audio_in"));
led_audio_in->setMinimumSize(QSize(14, 14));
led_audio_in->setMaximumSize(QSize(14, 14));
led_audio_in->setCheckable(true);

layout_leds->addWidget(led_audio_in);

led_audio_out = new LEDButton(PluginWidget);
led_audio_out->setObjectName(QString::fromUtf8("led_audio_out"));
led_audio_out->setMinimumSize(QSize(14, 14));
led_audio_out->setMaximumSize(QSize(14, 14));
led_audio_out->setCheckable(true);

layout_leds->addWidget(led_audio_out);


horizontalLayout_2->addLayout(layout_leds);


retranslateUi(PluginWidget);

QMetaObject::connectSlotsByName(PluginWidget);
} // setupUi

void retranslateUi(QFrame *PluginWidget)
{
PluginWidget->setWindowTitle(QCoreApplication::translate("PluginWidget", "Frame", nullptr));
b_enable->setText(QString());
b_gui->setText(QString());
b_edit->setText(QString());
label_name->setText(QCoreApplication::translate("PluginWidget", "PluginName", nullptr));
led_control->setText(QString());
led_midi->setText(QString());
led_audio_in->setText(QString());
led_audio_out->setText(QString());
} // retranslateUi

};

namespace Ui {
class PluginWidget: public Ui_PluginWidget {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_PLUGIN_COMPACT_H

+ 282
- 0
source/frontend/C++/ui_carla_plugin_default.hpp View File

@@ -0,0 +1,282 @@
/********************************************************************************
** Form generated from reading UI file 'carla_plugin_default.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_PLUGIN_DEFAULT_H
#define UI_CARLA_PLUGIN_DEFAULT_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QFrame>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include "widgets/digitalpeakmeter.h"
#include "widgets/ledbutton.h"
#include "widgets/pixmapbutton.h"

QT_BEGIN_NAMESPACE

class Ui_PluginWidget
{
public:
QVBoxLayout *verticalLayout;
QHBoxLayout *layout_top;
QWidget *w_buttons;
QHBoxLayout *horizontalLayout;
PixmapButton *b_enable;
PixmapButton *b_gui;
PixmapButton *b_edit;
QSpacerItem *spacer_namesep1;
QFrame *line_sep;
QSpacerItem *spacer_namesep2;
QLabel *label_name;
QSpacerItem *spacer_namesep3;
QHBoxLayout *layout_peaks;
DigitalPeakMeter *peak_in;
DigitalPeakMeter *peak_out;
QHBoxLayout *layout_leds;
LEDButton *led_control;
LEDButton *led_midi;
LEDButton *led_audio_in;
LEDButton *led_audio_out;
QFrame *line;
QHBoxLayout *layout_bottom;
QWidget *w_knobs_left;
QHBoxLayout *horizontalLayout_3;
QSpacerItem *spacer_knobs;
QWidget *w_knobs_right;
QHBoxLayout *horizontalLayout_2;

void setupUi(QFrame *PluginWidget)
{
if (PluginWidget->objectName().isEmpty())
PluginWidget->setObjectName(QString::fromUtf8("PluginWidget"));
PluginWidget->resize(552, 60);
PluginWidget->setContextMenuPolicy(Qt::CustomContextMenu);
PluginWidget->setLineWidth(0);
verticalLayout = new QVBoxLayout(PluginWidget);
verticalLayout->setSpacing(0);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(4, 3, 6, 3);
layout_top = new QHBoxLayout();
layout_top->setSpacing(1);
layout_top->setObjectName(QString::fromUtf8("layout_top"));
w_buttons = new QWidget(PluginWidget);
w_buttons->setObjectName(QString::fromUtf8("w_buttons"));
w_buttons->setMinimumSize(QSize(72, 24));
w_buttons->setMaximumSize(QSize(72, 24));
horizontalLayout = new QHBoxLayout(w_buttons);
horizontalLayout->setSpacing(0);
horizontalLayout->setContentsMargins(0, 0, 0, 0);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
b_enable = new PixmapButton(w_buttons);
b_enable->setObjectName(QString::fromUtf8("b_enable"));
b_enable->setMinimumSize(QSize(24, 24));
b_enable->setMaximumSize(QSize(24, 24));
QIcon icon;
icon.addFile(QString::fromUtf8(":/bitmaps/button_off.png"), QSize(), QIcon::Normal, QIcon::Off);
b_enable->setIcon(icon);
b_enable->setIconSize(QSize(24, 24));
b_enable->setCheckable(true);
b_enable->setFlat(true);

horizontalLayout->addWidget(b_enable);

b_gui = new PixmapButton(w_buttons);
b_gui->setObjectName(QString::fromUtf8("b_gui"));
b_gui->setMinimumSize(QSize(24, 24));
b_gui->setMaximumSize(QSize(24, 24));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/bitmaps/button_gui.png"), QSize(), QIcon::Normal, QIcon::Off);
b_gui->setIcon(icon1);
b_gui->setIconSize(QSize(24, 24));
b_gui->setCheckable(true);
b_gui->setFlat(true);

horizontalLayout->addWidget(b_gui);

b_edit = new PixmapButton(w_buttons);
b_edit->setObjectName(QString::fromUtf8("b_edit"));
b_edit->setMinimumSize(QSize(24, 24));
b_edit->setMaximumSize(QSize(24, 24));
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/bitmaps/button_edit.png"), QSize(), QIcon::Normal, QIcon::Off);
b_edit->setIcon(icon2);
b_edit->setIconSize(QSize(24, 24));
b_edit->setCheckable(true);
b_edit->setFlat(true);

horizontalLayout->addWidget(b_edit);


layout_top->addWidget(w_buttons);

spacer_namesep1 = new QSpacerItem(6, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep1);

line_sep = new QFrame(PluginWidget);
line_sep->setObjectName(QString::fromUtf8("line_sep"));
line_sep->setMinimumSize(QSize(0, 20));
line_sep->setMaximumSize(QSize(16777215, 20));
line_sep->setLineWidth(0);
line_sep->setMidLineWidth(1);
line_sep->setFrameShape(QFrame::VLine);
line_sep->setFrameShadow(QFrame::Sunken);

layout_top->addWidget(line_sep);

spacer_namesep2 = new QSpacerItem(8, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep2);

label_name = new QLabel(PluginWidget);
label_name->setObjectName(QString::fromUtf8("label_name"));
label_name->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);

layout_top->addWidget(label_name);

spacer_namesep3 = new QSpacerItem(20, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep3);

layout_peaks = new QHBoxLayout();
layout_peaks->setSpacing(4);
layout_peaks->setObjectName(QString::fromUtf8("layout_peaks"));
layout_peaks->setContentsMargins(4, 2, 4, 2);
peak_in = new DigitalPeakMeter(PluginWidget);
peak_in->setObjectName(QString::fromUtf8("peak_in"));
peak_in->setMinimumSize(QSize(100, 0));
peak_in->setMaximumSize(QSize(100, 16777215));

layout_peaks->addWidget(peak_in);

peak_out = new DigitalPeakMeter(PluginWidget);
peak_out->setObjectName(QString::fromUtf8("peak_out"));
peak_out->setMinimumSize(QSize(100, 0));
peak_out->setMaximumSize(QSize(100, 16777215));

layout_peaks->addWidget(peak_out);


layout_top->addLayout(layout_peaks);

layout_leds = new QHBoxLayout();
layout_leds->setSpacing(1);
layout_leds->setObjectName(QString::fromUtf8("layout_leds"));
led_control = new LEDButton(PluginWidget);
led_control->setObjectName(QString::fromUtf8("led_control"));
led_control->setMinimumSize(QSize(14, 14));
led_control->setMaximumSize(QSize(14, 14));
led_control->setCheckable(true);

layout_leds->addWidget(led_control);

led_midi = new LEDButton(PluginWidget);
led_midi->setObjectName(QString::fromUtf8("led_midi"));
led_midi->setMinimumSize(QSize(14, 14));
led_midi->setMaximumSize(QSize(14, 14));
led_midi->setCheckable(true);

layout_leds->addWidget(led_midi);

led_audio_in = new LEDButton(PluginWidget);
led_audio_in->setObjectName(QString::fromUtf8("led_audio_in"));
led_audio_in->setMinimumSize(QSize(14, 14));
led_audio_in->setMaximumSize(QSize(14, 14));
led_audio_in->setCheckable(true);

layout_leds->addWidget(led_audio_in);

led_audio_out = new LEDButton(PluginWidget);
led_audio_out->setObjectName(QString::fromUtf8("led_audio_out"));
led_audio_out->setMinimumSize(QSize(14, 14));
led_audio_out->setMaximumSize(QSize(14, 14));
led_audio_out->setCheckable(true);

layout_leds->addWidget(led_audio_out);


layout_top->addLayout(layout_leds);


verticalLayout->addLayout(layout_top);

line = new QFrame(PluginWidget);
line->setObjectName(QString::fromUtf8("line"));
line->setLineWidth(0);
line->setMidLineWidth(1);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);

verticalLayout->addWidget(line);

layout_bottom = new QHBoxLayout();
layout_bottom->setSpacing(1);
layout_bottom->setObjectName(QString::fromUtf8("layout_bottom"));
layout_bottom->setContentsMargins(12, 4, 12, -1);
w_knobs_left = new QWidget(PluginWidget);
w_knobs_left->setObjectName(QString::fromUtf8("w_knobs_left"));
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(w_knobs_left->sizePolicy().hasHeightForWidth());
w_knobs_left->setSizePolicy(sizePolicy);
horizontalLayout_3 = new QHBoxLayout(w_knobs_left);
horizontalLayout_3->setContentsMargins(0, 0, 0, 0);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));

layout_bottom->addWidget(w_knobs_left);

spacer_knobs = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_bottom->addItem(spacer_knobs);

w_knobs_right = new QWidget(PluginWidget);
w_knobs_right->setObjectName(QString::fromUtf8("w_knobs_right"));
horizontalLayout_2 = new QHBoxLayout(w_knobs_right);
horizontalLayout_2->setSpacing(0);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalLayout_2->setContentsMargins(12, 0, 0, 0);

layout_bottom->addWidget(w_knobs_right);


verticalLayout->addLayout(layout_bottom);


retranslateUi(PluginWidget);

QMetaObject::connectSlotsByName(PluginWidget);
} // setupUi

void retranslateUi(QFrame *PluginWidget)
{
PluginWidget->setWindowTitle(QCoreApplication::translate("PluginWidget", "Frame", nullptr));
b_enable->setText(QString());
b_gui->setText(QString());
b_edit->setText(QString());
label_name->setText(QCoreApplication::translate("PluginWidget", "PluginName", nullptr));
led_control->setText(QString());
led_midi->setText(QString());
led_audio_in->setText(QString());
led_audio_out->setText(QString());
} // retranslateUi

};

namespace Ui {
class PluginWidget: public Ui_PluginWidget {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_PLUGIN_DEFAULT_H

+ 301
- 0
source/frontend/C++/ui_carla_plugin_presets.hpp View File

@@ -0,0 +1,301 @@
/********************************************************************************
** Form generated from reading UI file 'carla_plugin_presets.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_PLUGIN_PRESETS_H
#define UI_CARLA_PLUGIN_PRESETS_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QFrame>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include "widgets/digitalpeakmeter.h"
#include "widgets/ledbutton.h"
#include "widgets/pixmapbutton.h"

QT_BEGIN_NAMESPACE

class Ui_PluginWidget
{
public:
QVBoxLayout *verticalLayout;
QHBoxLayout *layout_top;
QWidget *w_buttons;
QHBoxLayout *horizontalLayout;
PixmapButton *b_enable;
PixmapButton *b_gui;
PixmapButton *b_edit;
QSpacerItem *spacer_namesep1;
QFrame *line_2;
QSpacerItem *spacer_namesep2;
QLabel *label_name;
QSpacerItem *spacer_namesep3;
QHBoxLayout *layout_presets;
QLabel *label_presets;
QComboBox *cb_presets;
QHBoxLayout *layout_leds;
LEDButton *led_control;
LEDButton *led_midi;
LEDButton *led_audio_in;
LEDButton *led_audio_out;
QFrame *line;
QHBoxLayout *layout_bottom;
QWidget *w_knobs_left;
QHBoxLayout *horizontalLayout_4;
QSpacerItem *horizontalSpacer;
QWidget *w_knobs_right;
QHBoxLayout *horizontalLayout_3;
QVBoxLayout *layout_peaks;
DigitalPeakMeter *peak_in;
DigitalPeakMeter *peak_out;

void setupUi(QFrame *PluginWidget)
{
if (PluginWidget->objectName().isEmpty())
PluginWidget->setObjectName(QString::fromUtf8("PluginWidget"));
PluginWidget->resize(484, 65);
PluginWidget->setContextMenuPolicy(Qt::CustomContextMenu);
verticalLayout = new QVBoxLayout(PluginWidget);
verticalLayout->setSpacing(0);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(4, 3, 6, 3);
layout_top = new QHBoxLayout();
layout_top->setSpacing(1);
layout_top->setObjectName(QString::fromUtf8("layout_top"));
w_buttons = new QWidget(PluginWidget);
w_buttons->setObjectName(QString::fromUtf8("w_buttons"));
w_buttons->setMinimumSize(QSize(72, 24));
w_buttons->setMaximumSize(QSize(72, 24));
horizontalLayout = new QHBoxLayout(w_buttons);
horizontalLayout->setSpacing(0);
horizontalLayout->setContentsMargins(0, 0, 0, 0);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
b_enable = new PixmapButton(w_buttons);
b_enable->setObjectName(QString::fromUtf8("b_enable"));
b_enable->setMinimumSize(QSize(24, 24));
b_enable->setMaximumSize(QSize(24, 24));
QIcon icon;
icon.addFile(QString::fromUtf8(":/bitmaps/button_off.png"), QSize(), QIcon::Normal, QIcon::Off);
b_enable->setIcon(icon);
b_enable->setIconSize(QSize(24, 24));
b_enable->setCheckable(true);
b_enable->setFlat(true);

horizontalLayout->addWidget(b_enable);

b_gui = new PixmapButton(w_buttons);
b_gui->setObjectName(QString::fromUtf8("b_gui"));
b_gui->setMinimumSize(QSize(24, 24));
b_gui->setMaximumSize(QSize(24, 24));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/bitmaps/button_gui.png"), QSize(), QIcon::Normal, QIcon::Off);
b_gui->setIcon(icon1);
b_gui->setIconSize(QSize(24, 24));
b_gui->setCheckable(true);
b_gui->setFlat(true);

horizontalLayout->addWidget(b_gui);

b_edit = new PixmapButton(w_buttons);
b_edit->setObjectName(QString::fromUtf8("b_edit"));
b_edit->setMinimumSize(QSize(24, 24));
b_edit->setMaximumSize(QSize(24, 24));
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/bitmaps/button_edit.png"), QSize(), QIcon::Normal, QIcon::Off);
b_edit->setIcon(icon2);
b_edit->setIconSize(QSize(24, 24));
b_edit->setCheckable(true);
b_edit->setFlat(true);

horizontalLayout->addWidget(b_edit);


layout_top->addWidget(w_buttons);

spacer_namesep1 = new QSpacerItem(6, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep1);

line_2 = new QFrame(PluginWidget);
line_2->setObjectName(QString::fromUtf8("line_2"));
line_2->setMinimumSize(QSize(0, 20));
line_2->setMaximumSize(QSize(16777215, 20));
line_2->setLineWidth(0);
line_2->setMidLineWidth(1);
line_2->setFrameShape(QFrame::VLine);
line_2->setFrameShadow(QFrame::Sunken);

layout_top->addWidget(line_2);

spacer_namesep2 = new QSpacerItem(8, 1, QSizePolicy::Fixed, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep2);

label_name = new QLabel(PluginWidget);
label_name->setObjectName(QString::fromUtf8("label_name"));
label_name->setTextFormat(Qt::PlainText);
label_name->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

layout_top->addWidget(label_name);

spacer_namesep3 = new QSpacerItem(20, 1, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_top->addItem(spacer_namesep3);

layout_presets = new QHBoxLayout();
layout_presets->setSpacing(4);
layout_presets->setObjectName(QString::fromUtf8("layout_presets"));
layout_presets->setContentsMargins(4, -1, 4, -1);
label_presets = new QLabel(PluginWidget);
label_presets->setObjectName(QString::fromUtf8("label_presets"));
label_presets->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

layout_presets->addWidget(label_presets);

cb_presets = new QComboBox(PluginWidget);
cb_presets->setObjectName(QString::fromUtf8("cb_presets"));
cb_presets->setMinimumSize(QSize(125, 0));

layout_presets->addWidget(cb_presets);


layout_top->addLayout(layout_presets);

layout_leds = new QHBoxLayout();
layout_leds->setSpacing(1);
layout_leds->setObjectName(QString::fromUtf8("layout_leds"));
led_control = new LEDButton(PluginWidget);
led_control->setObjectName(QString::fromUtf8("led_control"));
led_control->setMinimumSize(QSize(14, 14));
led_control->setMaximumSize(QSize(14, 14));
led_control->setCheckable(true);

layout_leds->addWidget(led_control);

led_midi = new LEDButton(PluginWidget);
led_midi->setObjectName(QString::fromUtf8("led_midi"));
led_midi->setMinimumSize(QSize(14, 14));
led_midi->setMaximumSize(QSize(14, 14));
led_midi->setCheckable(true);

layout_leds->addWidget(led_midi);

led_audio_in = new LEDButton(PluginWidget);
led_audio_in->setObjectName(QString::fromUtf8("led_audio_in"));
led_audio_in->setMinimumSize(QSize(14, 14));
led_audio_in->setMaximumSize(QSize(14, 14));
led_audio_in->setCheckable(true);

layout_leds->addWidget(led_audio_in);

led_audio_out = new LEDButton(PluginWidget);
led_audio_out->setObjectName(QString::fromUtf8("led_audio_out"));
led_audio_out->setMinimumSize(QSize(14, 14));
led_audio_out->setMaximumSize(QSize(14, 14));
led_audio_out->setCheckable(true);

layout_leds->addWidget(led_audio_out);


layout_top->addLayout(layout_leds);


verticalLayout->addLayout(layout_top);

line = new QFrame(PluginWidget);
line->setObjectName(QString::fromUtf8("line"));
line->setLineWidth(0);
line->setMidLineWidth(1);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);

verticalLayout->addWidget(line);

layout_bottom = new QHBoxLayout();
layout_bottom->setSpacing(1);
layout_bottom->setObjectName(QString::fromUtf8("layout_bottom"));
layout_bottom->setContentsMargins(12, 4, 12, -1);
w_knobs_left = new QWidget(PluginWidget);
w_knobs_left->setObjectName(QString::fromUtf8("w_knobs_left"));
horizontalLayout_4 = new QHBoxLayout(w_knobs_left);
horizontalLayout_4->setContentsMargins(0, 0, 0, 0);
horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));

layout_bottom->addWidget(w_knobs_left);

horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_bottom->addItem(horizontalSpacer);

w_knobs_right = new QWidget(PluginWidget);
w_knobs_right->setObjectName(QString::fromUtf8("w_knobs_right"));
horizontalLayout_3 = new QHBoxLayout(w_knobs_right);
horizontalLayout_3->setSpacing(0);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
horizontalLayout_3->setContentsMargins(12, 0, 0, 0);

layout_bottom->addWidget(w_knobs_right);

layout_peaks = new QVBoxLayout();
layout_peaks->setSpacing(4);
layout_peaks->setObjectName(QString::fromUtf8("layout_peaks"));
layout_peaks->setContentsMargins(4, 0, 4, 2);
peak_in = new DigitalPeakMeter(PluginWidget);
peak_in->setObjectName(QString::fromUtf8("peak_in"));
peak_in->setMinimumSize(QSize(150, 0));
peak_in->setMaximumSize(QSize(150, 16777215));

layout_peaks->addWidget(peak_in);

peak_out = new DigitalPeakMeter(PluginWidget);
peak_out->setObjectName(QString::fromUtf8("peak_out"));
peak_out->setMinimumSize(QSize(150, 0));
peak_out->setMaximumSize(QSize(150, 16777215));

layout_peaks->addWidget(peak_out);


layout_bottom->addLayout(layout_peaks);


verticalLayout->addLayout(layout_bottom);


retranslateUi(PluginWidget);

QMetaObject::connectSlotsByName(PluginWidget);
} // setupUi

void retranslateUi(QFrame *PluginWidget)
{
PluginWidget->setWindowTitle(QCoreApplication::translate("PluginWidget", "Frame", nullptr));
b_enable->setText(QString());
b_gui->setText(QString());
b_edit->setText(QString());
label_name->setText(QCoreApplication::translate("PluginWidget", "PluginName", nullptr));
label_presets->setText(QCoreApplication::translate("PluginWidget", "Preset:", nullptr));
led_control->setText(QString());
led_midi->setText(QString());
led_audio_in->setText(QString());
led_audio_out->setText(QString());
} // retranslateUi

};

namespace Ui {
class PluginWidget: public Ui_PluginWidget {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_PLUGIN_PRESETS_H

+ 436
- 0
source/frontend/C++/ui_carla_refresh.hpp View File

@@ -0,0 +1,436 @@
/********************************************************************************
** Form generated from reading UI file 'carla_refresh.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_REFRESH_H
#define UI_CARLA_REFRESH_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QDialog>
#include <QtWidgets/QFrame>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QProgressBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>

QT_BEGIN_NAMESPACE

class Ui_PluginRefreshW
{
public:
QVBoxLayout *verticalLayout_5;
QHBoxLayout *horizontalLayout_3;
QSpacerItem *horizontalSpacer;
QGroupBox *group_types;
QHBoxLayout *horizontalLayout_2;
QVBoxLayout *verticalLayout;
QCheckBox *ch_ladspa;
QCheckBox *ch_dssi;
QCheckBox *ch_lv2;
QCheckBox *ch_vst;
QCheckBox *ch_vst3;
QCheckBox *ch_au;
QFrame *line_3;
QCheckBox *ch_sf2;
QCheckBox *ch_sfz;
QSpacerItem *horizontalSpacer_4;
QSpacerItem *verticalSpacer_3;
QFrame *sep_format;
QVBoxLayout *verticalLayout_2;
QCheckBox *ch_native;
QCheckBox *ch_posix32;
QCheckBox *ch_posix64;
QCheckBox *ch_win32;
QCheckBox *ch_win64;
QSpacerItem *verticalSpacer_2;
QSpacerItem *horizontalSpacer_3;
QVBoxLayout *verticalLayout_3;
QGroupBox *group_tools;
QGridLayout *gridLayout;
QLabel *ico_native;
QLabel *ico_posix32;
QLabel *label_rdflib;
QLabel *label_win64;
QLabel *label_native;
QLabel *ico_posix64;
QLabel *ico_rdflib;
QLabel *label_posix32;
QLabel *ico_win32;
QLabel *ico_win64;
QLabel *label_posix64;
QLabel *label_win32;
QSpacerItem *verticalSpacer_5;
QGroupBox *group_options;
QVBoxLayout *verticalLayout_4;
QCheckBox *ch_do_checks;
QSpacerItem *verticalSpacer_4;
QSpacerItem *horizontalSpacer_2;
QSpacerItem *verticalSpacer;
QHBoxLayout *horizontalLayout;
QProgressBar *progressBar;
QPushButton *b_start;
QPushButton *b_skip;
QPushButton *b_close;

void setupUi(QDialog *PluginRefreshW)
{
if (PluginRefreshW->objectName().isEmpty())
PluginRefreshW->setObjectName(QString::fromUtf8("PluginRefreshW"));
PluginRefreshW->resize(686, 330);
verticalLayout_5 = new QVBoxLayout(PluginRefreshW);
verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
horizontalLayout_3 = new QHBoxLayout();
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
horizontalSpacer = new QSpacerItem(30, 20, QSizePolicy::Preferred, QSizePolicy::Minimum);

horizontalLayout_3->addItem(horizontalSpacer);

group_types = new QGroupBox(PluginRefreshW);
group_types->setObjectName(QString::fromUtf8("group_types"));
group_types->setAlignment(Qt::AlignCenter);
horizontalLayout_2 = new QHBoxLayout(group_types);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
verticalLayout = new QVBoxLayout();
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
ch_ladspa = new QCheckBox(group_types);
ch_ladspa->setObjectName(QString::fromUtf8("ch_ladspa"));

verticalLayout->addWidget(ch_ladspa);

ch_dssi = new QCheckBox(group_types);
ch_dssi->setObjectName(QString::fromUtf8("ch_dssi"));

verticalLayout->addWidget(ch_dssi);

ch_lv2 = new QCheckBox(group_types);
ch_lv2->setObjectName(QString::fromUtf8("ch_lv2"));

verticalLayout->addWidget(ch_lv2);

ch_vst = new QCheckBox(group_types);
ch_vst->setObjectName(QString::fromUtf8("ch_vst"));

verticalLayout->addWidget(ch_vst);

ch_vst3 = new QCheckBox(group_types);
ch_vst3->setObjectName(QString::fromUtf8("ch_vst3"));

verticalLayout->addWidget(ch_vst3);

ch_au = new QCheckBox(group_types);
ch_au->setObjectName(QString::fromUtf8("ch_au"));

verticalLayout->addWidget(ch_au);

line_3 = new QFrame(group_types);
line_3->setObjectName(QString::fromUtf8("line_3"));
line_3->setLineWidth(0);
line_3->setMidLineWidth(1);
line_3->setFrameShape(QFrame::HLine);
line_3->setFrameShadow(QFrame::Sunken);

verticalLayout->addWidget(line_3);

ch_sf2 = new QCheckBox(group_types);
ch_sf2->setObjectName(QString::fromUtf8("ch_sf2"));

verticalLayout->addWidget(ch_sf2);

ch_sfz = new QCheckBox(group_types);
ch_sfz->setObjectName(QString::fromUtf8("ch_sfz"));

verticalLayout->addWidget(ch_sfz);

horizontalSpacer_4 = new QSpacerItem(40, 5, QSizePolicy::Expanding, QSizePolicy::Minimum);

verticalLayout->addItem(horizontalSpacer_4);

verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout->addItem(verticalSpacer_3);


horizontalLayout_2->addLayout(verticalLayout);

sep_format = new QFrame(group_types);
sep_format->setObjectName(QString::fromUtf8("sep_format"));
sep_format->setLineWidth(0);
sep_format->setMidLineWidth(1);
sep_format->setFrameShape(QFrame::VLine);
sep_format->setFrameShadow(QFrame::Sunken);

horizontalLayout_2->addWidget(sep_format);

verticalLayout_2 = new QVBoxLayout();
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
ch_native = new QCheckBox(group_types);
ch_native->setObjectName(QString::fromUtf8("ch_native"));

verticalLayout_2->addWidget(ch_native);

ch_posix32 = new QCheckBox(group_types);
ch_posix32->setObjectName(QString::fromUtf8("ch_posix32"));

verticalLayout_2->addWidget(ch_posix32);

ch_posix64 = new QCheckBox(group_types);
ch_posix64->setObjectName(QString::fromUtf8("ch_posix64"));

verticalLayout_2->addWidget(ch_posix64);

ch_win32 = new QCheckBox(group_types);
ch_win32->setObjectName(QString::fromUtf8("ch_win32"));

verticalLayout_2->addWidget(ch_win32);

ch_win64 = new QCheckBox(group_types);
ch_win64->setObjectName(QString::fromUtf8("ch_win64"));

verticalLayout_2->addWidget(ch_win64);

verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout_2->addItem(verticalSpacer_2);


horizontalLayout_2->addLayout(verticalLayout_2);


horizontalLayout_3->addWidget(group_types);

horizontalSpacer_3 = new QSpacerItem(20, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout_3->addItem(horizontalSpacer_3);

verticalLayout_3 = new QVBoxLayout();
verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
group_tools = new QGroupBox(PluginRefreshW);
group_tools->setObjectName(QString::fromUtf8("group_tools"));
group_tools->setAlignment(Qt::AlignCenter);
group_tools->setFlat(true);
gridLayout = new QGridLayout(group_tools);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
ico_native = new QLabel(group_tools);
ico_native->setObjectName(QString::fromUtf8("ico_native"));
ico_native->setMaximumSize(QSize(16, 16));
ico_native->setPixmap(QPixmap(QString::fromUtf8(":/16x16/dialog-ok-apply.svgz")));
ico_native->setScaledContents(true);

gridLayout->addWidget(ico_native, 0, 0, 1, 1);

ico_posix32 = new QLabel(group_tools);
ico_posix32->setObjectName(QString::fromUtf8("ico_posix32"));
ico_posix32->setMaximumSize(QSize(16, 16));
ico_posix32->setPixmap(QPixmap(QString::fromUtf8(":/16x16/dialog-ok-apply.svgz")));
ico_posix32->setScaledContents(true);

gridLayout->addWidget(ico_posix32, 1, 0, 1, 1);

label_rdflib = new QLabel(group_tools);
label_rdflib->setObjectName(QString::fromUtf8("label_rdflib"));

gridLayout->addWidget(label_rdflib, 5, 1, 1, 1);

label_win64 = new QLabel(group_tools);
label_win64->setObjectName(QString::fromUtf8("label_win64"));

gridLayout->addWidget(label_win64, 4, 1, 1, 1);

label_native = new QLabel(group_tools);
label_native->setObjectName(QString::fromUtf8("label_native"));

gridLayout->addWidget(label_native, 0, 1, 1, 1);

ico_posix64 = new QLabel(group_tools);
ico_posix64->setObjectName(QString::fromUtf8("ico_posix64"));
ico_posix64->setMaximumSize(QSize(16, 16));
ico_posix64->setPixmap(QPixmap(QString::fromUtf8(":/16x16/dialog-ok-apply.svgz")));
ico_posix64->setScaledContents(true);

gridLayout->addWidget(ico_posix64, 2, 0, 1, 1);

ico_rdflib = new QLabel(group_tools);
ico_rdflib->setObjectName(QString::fromUtf8("ico_rdflib"));
ico_rdflib->setMaximumSize(QSize(16, 16));
ico_rdflib->setPixmap(QPixmap(QString::fromUtf8(":/16x16/dialog-ok-apply.svgz")));
ico_rdflib->setScaledContents(true);

gridLayout->addWidget(ico_rdflib, 5, 0, 1, 1);

label_posix32 = new QLabel(group_tools);
label_posix32->setObjectName(QString::fromUtf8("label_posix32"));

gridLayout->addWidget(label_posix32, 1, 1, 1, 1);

ico_win32 = new QLabel(group_tools);
ico_win32->setObjectName(QString::fromUtf8("ico_win32"));
ico_win32->setMaximumSize(QSize(16, 16));
ico_win32->setPixmap(QPixmap(QString::fromUtf8(":/16x16/dialog-ok-apply.svgz")));
ico_win32->setScaledContents(true);

gridLayout->addWidget(ico_win32, 3, 0, 1, 1);

ico_win64 = new QLabel(group_tools);
ico_win64->setObjectName(QString::fromUtf8("ico_win64"));
ico_win64->setMaximumSize(QSize(16, 16));
ico_win64->setPixmap(QPixmap(QString::fromUtf8(":/16x16/dialog-ok-apply.svgz")));
ico_win64->setScaledContents(true);

gridLayout->addWidget(ico_win64, 4, 0, 1, 1);

label_posix64 = new QLabel(group_tools);
label_posix64->setObjectName(QString::fromUtf8("label_posix64"));

gridLayout->addWidget(label_posix64, 2, 1, 1, 1);

label_win32 = new QLabel(group_tools);
label_win32->setObjectName(QString::fromUtf8("label_win32"));

gridLayout->addWidget(label_win32, 3, 1, 1, 1);


verticalLayout_3->addWidget(group_tools);

verticalSpacer_5 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout_3->addItem(verticalSpacer_5);

group_options = new QGroupBox(PluginRefreshW);
group_options->setObjectName(QString::fromUtf8("group_options"));
group_options->setAlignment(Qt::AlignCenter);
group_options->setFlat(true);
verticalLayout_4 = new QVBoxLayout(group_options);
verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
ch_do_checks = new QCheckBox(group_options);
ch_do_checks->setObjectName(QString::fromUtf8("ch_do_checks"));

verticalLayout_4->addWidget(ch_do_checks);


verticalLayout_3->addWidget(group_options);

verticalSpacer_4 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout_3->addItem(verticalSpacer_4);


horizontalLayout_3->addLayout(verticalLayout_3);

horizontalSpacer_2 = new QSpacerItem(30, 20, QSizePolicy::Preferred, QSizePolicy::Minimum);

horizontalLayout_3->addItem(horizontalSpacer_2);


verticalLayout_5->addLayout(horizontalLayout_3);

verticalSpacer = new QSpacerItem(20, 6, QSizePolicy::Minimum, QSizePolicy::Expanding);

verticalLayout_5->addItem(verticalSpacer);

horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
progressBar = new QProgressBar(PluginRefreshW);
progressBar->setObjectName(QString::fromUtf8("progressBar"));
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(progressBar->sizePolicy().hasHeightForWidth());
progressBar->setSizePolicy(sizePolicy);
progressBar->setMaximum(100);
progressBar->setValue(0);

horizontalLayout->addWidget(progressBar);

b_start = new QPushButton(PluginRefreshW);
b_start->setObjectName(QString::fromUtf8("b_start"));
QIcon icon;
icon.addFile(QString::fromUtf8(":/16x16/arrow-right.svgz"), QSize(), QIcon::Normal, QIcon::Off);
b_start->setIcon(icon);

horizontalLayout->addWidget(b_start);

b_skip = new QPushButton(PluginRefreshW);
b_skip->setObjectName(QString::fromUtf8("b_skip"));

horizontalLayout->addWidget(b_skip);

b_close = new QPushButton(PluginRefreshW);
b_close->setObjectName(QString::fromUtf8("b_close"));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/16x16/window-close.svgz"), QSize(), QIcon::Normal, QIcon::Off);
b_close->setIcon(icon1);

horizontalLayout->addWidget(b_close);


verticalLayout_5->addLayout(horizontalLayout);


retranslateUi(PluginRefreshW);
QObject::connect(b_close, SIGNAL(clicked()), PluginRefreshW, SLOT(close()));

QMetaObject::connectSlotsByName(PluginRefreshW);
} // setupUi

void retranslateUi(QDialog *PluginRefreshW)
{
PluginRefreshW->setWindowTitle(QCoreApplication::translate("PluginRefreshW", "Carla - Refresh", nullptr));
group_types->setTitle(QCoreApplication::translate("PluginRefreshW", "Search for new...", nullptr));
ch_ladspa->setText(QCoreApplication::translate("PluginRefreshW", "LADSPA", nullptr));
ch_dssi->setText(QCoreApplication::translate("PluginRefreshW", "DSSI", nullptr));
ch_lv2->setText(QCoreApplication::translate("PluginRefreshW", "LV2", nullptr));
ch_vst->setText(QCoreApplication::translate("PluginRefreshW", "VST2", nullptr));
ch_vst3->setText(QCoreApplication::translate("PluginRefreshW", "VST3", nullptr));
ch_au->setText(QCoreApplication::translate("PluginRefreshW", "AU", nullptr));
ch_sf2->setText(QCoreApplication::translate("PluginRefreshW", "SF2/3", nullptr));
ch_sfz->setText(QCoreApplication::translate("PluginRefreshW", "SFZ", nullptr));
ch_native->setText(QCoreApplication::translate("PluginRefreshW", "Native", nullptr));
ch_posix32->setText(QCoreApplication::translate("PluginRefreshW", "POSIX 32bit", nullptr));
ch_posix64->setText(QCoreApplication::translate("PluginRefreshW", "POSIX 64bit", nullptr));
ch_win32->setText(QCoreApplication::translate("PluginRefreshW", "Windows 32bit", nullptr));
ch_win64->setText(QCoreApplication::translate("PluginRefreshW", "Windows 64bit", nullptr));
group_tools->setTitle(QCoreApplication::translate("PluginRefreshW", "Available tools:", nullptr));
ico_native->setText(QString());
ico_posix32->setText(QString());
label_rdflib->setText(QCoreApplication::translate("PluginRefreshW", "python3-rdflib (LADSPA-RDF support)", nullptr));
label_win64->setText(QCoreApplication::translate("PluginRefreshW", "carla-discovery-win64", nullptr));
label_native->setText(QCoreApplication::translate("PluginRefreshW", "carla-discovery-native", nullptr));
ico_posix64->setText(QString());
ico_rdflib->setText(QString());
label_posix32->setText(QCoreApplication::translate("PluginRefreshW", "carla-discovery-posix32", nullptr));
ico_win32->setText(QString());
ico_win64->setText(QString());
label_posix64->setText(QCoreApplication::translate("PluginRefreshW", "carla-discovery-posix64", nullptr));
label_win32->setText(QCoreApplication::translate("PluginRefreshW", "carla-discovery-win32", nullptr));
group_options->setTitle(QCoreApplication::translate("PluginRefreshW", "Options:", nullptr));
#if QT_CONFIG(tooltip)
ch_do_checks->setToolTip(QCoreApplication::translate("PluginRefreshW", "Carla will run small processing checks when scanning the plugins (to make sure they won't crash).\n"
"You can disable these checks to get a faster scanning time (at your own risk).", nullptr));
#endif // QT_CONFIG(tooltip)
ch_do_checks->setText(QCoreApplication::translate("PluginRefreshW", "Run processing checks while scanning", nullptr));
progressBar->setFormat(QCoreApplication::translate("PluginRefreshW", "Press 'Scan' to begin the search", nullptr));
b_start->setText(QCoreApplication::translate("PluginRefreshW", "Scan", nullptr));
b_skip->setText(QCoreApplication::translate("PluginRefreshW", ">> Skip", nullptr));
b_close->setText(QCoreApplication::translate("PluginRefreshW", "Close", nullptr));
} // retranslateUi

};

namespace Ui {
class PluginRefreshW: public Ui_PluginRefreshW {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_REFRESH_H

+ 2073
- 0
source/frontend/C++/ui_carla_settings.hpp
File diff suppressed because it is too large
View File


+ 222
- 0
source/frontend/C++/ui_carla_settings_driver.hpp View File

@@ -0,0 +1,222 @@
/********************************************************************************
** Form generated from reading UI file 'carla_settings_driver.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CARLA_SETTINGS_DRIVER_H
#define UI_CARLA_SETTINGS_DRIVER_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QVBoxLayout>

QT_BEGIN_NAMESPACE

class Ui_DriverSettingsW
{
public:
QVBoxLayout *verticalLayout;
QGridLayout *gridLayout;
QComboBox *cb_samplerate;
QSpacerItem *horizontalSpacer;
QSpacerItem *horizontalSpacer_2;
QComboBox *cb_device;
QSpacerItem *horizontalSpacer_4;
QLabel *label_device;
QLabel *label_buffersize;
QComboBox *cb_buffersize;
QLabel *label_samplerate;
QHBoxLayout *layout_triple_buffer;
QSpacerItem *horizontalSpacer_5;
QCheckBox *cb_triple_buffer;
QSpacerItem *horizontalSpacer_6;
QHBoxLayout *horizontalLayout_2;
QSpacerItem *horizontalSpacer_3;
QPushButton *b_panel;
QSpacerItem *horizontalSpacer_7;
QHBoxLayout *layout_restart;
QSpacerItem *spacer_1;
QLabel *ico_restart;
QLabel *label_restart;
QSpacerItem *spacer_2;
QDialogButtonBox *buttonBox;

void setupUi(QDialog *DriverSettingsW)
{
if (DriverSettingsW->objectName().isEmpty())
DriverSettingsW->setObjectName(QString::fromUtf8("DriverSettingsW"));
DriverSettingsW->resize(350, 264);
DriverSettingsW->setMinimumSize(QSize(350, 0));
verticalLayout = new QVBoxLayout(DriverSettingsW);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
gridLayout = new QGridLayout();
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
cb_samplerate = new QComboBox(DriverSettingsW);
cb_samplerate->setObjectName(QString::fromUtf8("cb_samplerate"));

gridLayout->addWidget(cb_samplerate, 2, 1, 1, 1);

horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer, 0, 2, 1, 1);

horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer_2, 1, 2, 1, 1);

cb_device = new QComboBox(DriverSettingsW);
cb_device->setObjectName(QString::fromUtf8("cb_device"));

gridLayout->addWidget(cb_device, 0, 1, 1, 1);

horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

gridLayout->addItem(horizontalSpacer_4, 2, 2, 1, 1);

label_device = new QLabel(DriverSettingsW);
label_device->setObjectName(QString::fromUtf8("label_device"));
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(label_device->sizePolicy().hasHeightForWidth());
label_device->setSizePolicy(sizePolicy);
label_device->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_device, 0, 0, 1, 1);

label_buffersize = new QLabel(DriverSettingsW);
label_buffersize->setObjectName(QString::fromUtf8("label_buffersize"));
sizePolicy.setHeightForWidth(label_buffersize->sizePolicy().hasHeightForWidth());
label_buffersize->setSizePolicy(sizePolicy);
label_buffersize->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_buffersize, 1, 0, 1, 1);

cb_buffersize = new QComboBox(DriverSettingsW);
cb_buffersize->setObjectName(QString::fromUtf8("cb_buffersize"));

gridLayout->addWidget(cb_buffersize, 1, 1, 1, 1);

label_samplerate = new QLabel(DriverSettingsW);
label_samplerate->setObjectName(QString::fromUtf8("label_samplerate"));
sizePolicy.setHeightForWidth(label_samplerate->sizePolicy().hasHeightForWidth());
label_samplerate->setSizePolicy(sizePolicy);
label_samplerate->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

gridLayout->addWidget(label_samplerate, 2, 0, 1, 1);


verticalLayout->addLayout(gridLayout);

layout_triple_buffer = new QHBoxLayout();
layout_triple_buffer->setObjectName(QString::fromUtf8("layout_triple_buffer"));
horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_triple_buffer->addItem(horizontalSpacer_5);

cb_triple_buffer = new QCheckBox(DriverSettingsW);
cb_triple_buffer->setObjectName(QString::fromUtf8("cb_triple_buffer"));

layout_triple_buffer->addWidget(cb_triple_buffer);

horizontalSpacer_6 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_triple_buffer->addItem(horizontalSpacer_6);


verticalLayout->addLayout(layout_triple_buffer);

horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Preferred, QSizePolicy::Minimum);

horizontalLayout_2->addItem(horizontalSpacer_3);

b_panel = new QPushButton(DriverSettingsW);
b_panel->setObjectName(QString::fromUtf8("b_panel"));
b_panel->setMinimumSize(QSize(32, 0));

horizontalLayout_2->addWidget(b_panel);

horizontalSpacer_7 = new QSpacerItem(40, 20, QSizePolicy::Preferred, QSizePolicy::Minimum);

horizontalLayout_2->addItem(horizontalSpacer_7);


verticalLayout->addLayout(horizontalLayout_2);

layout_restart = new QHBoxLayout();
layout_restart->setObjectName(QString::fromUtf8("layout_restart"));
spacer_1 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_restart->addItem(spacer_1);

ico_restart = new QLabel(DriverSettingsW);
ico_restart->setObjectName(QString::fromUtf8("ico_restart"));
ico_restart->setMaximumSize(QSize(22, 22));
ico_restart->setPixmap(QPixmap(QString::fromUtf8(":/16x16/dialog-information.svgz")));
ico_restart->setScaledContents(true);
ico_restart->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

layout_restart->addWidget(ico_restart);

label_restart = new QLabel(DriverSettingsW);
label_restart->setObjectName(QString::fromUtf8("label_restart"));

layout_restart->addWidget(label_restart);

spacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

layout_restart->addItem(spacer_2);


verticalLayout->addLayout(layout_restart);

buttonBox = new QDialogButtonBox(DriverSettingsW);
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);

verticalLayout->addWidget(buttonBox);


retranslateUi(DriverSettingsW);
QObject::connect(buttonBox, SIGNAL(accepted()), DriverSettingsW, SLOT(accept()));
QObject::connect(buttonBox, SIGNAL(rejected()), DriverSettingsW, SLOT(reject()));

QMetaObject::connectSlotsByName(DriverSettingsW);
} // setupUi

void retranslateUi(QDialog *DriverSettingsW)
{
DriverSettingsW->setWindowTitle(QCoreApplication::translate("DriverSettingsW", "Driver Settings", nullptr));
label_device->setText(QCoreApplication::translate("DriverSettingsW", "Device:", nullptr));
label_buffersize->setText(QCoreApplication::translate("DriverSettingsW", "Buffer size:", nullptr));
label_samplerate->setText(QCoreApplication::translate("DriverSettingsW", "Sample rate:", nullptr));
cb_triple_buffer->setText(QCoreApplication::translate("DriverSettingsW", "Triple buffer", nullptr));
b_panel->setText(QCoreApplication::translate("DriverSettingsW", "Show Driver Control Panel", nullptr));
ico_restart->setText(QString());
label_restart->setText(QCoreApplication::translate("DriverSettingsW", "Restart the engine to load the new settings", nullptr));
} // retranslateUi

};

namespace Ui {
class DriverSettingsW: public Ui_DriverSettingsW {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_CARLA_SETTINGS_DRIVER_H

+ 94
- 0
source/frontend/C++/ui_inputdialog_value.hpp View File

@@ -0,0 +1,94 @@
/********************************************************************************
** Form generated from reading UI file 'inputdialog_value.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_INPUTDIALOG_VALUE_H
#define UI_INPUTDIALOG_VALUE_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QDoubleSpinBox>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QLabel>
#include <QtWidgets/QTextBrowser>
#include <QtWidgets/QVBoxLayout>

QT_BEGIN_NAMESPACE

class Ui_Dialog
{
public:
QVBoxLayout *verticalLayout_2;
QLabel *label;
QDoubleSpinBox *doubleSpinBox;
QGroupBox *groupBox;
QVBoxLayout *verticalLayout;
QTextBrowser *textBrowser;
QDialogButtonBox *buttonBox;

void setupUi(QDialog *Dialog)
{
if (Dialog->objectName().isEmpty())
Dialog->setObjectName(QString::fromUtf8("Dialog"));
Dialog->resize(269, 183);
verticalLayout_2 = new QVBoxLayout(Dialog);
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
label = new QLabel(Dialog);
label->setObjectName(QString::fromUtf8("label"));

verticalLayout_2->addWidget(label);

doubleSpinBox = new QDoubleSpinBox(Dialog);
doubleSpinBox->setObjectName(QString::fromUtf8("doubleSpinBox"));

verticalLayout_2->addWidget(doubleSpinBox);

groupBox = new QGroupBox(Dialog);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
verticalLayout = new QVBoxLayout(groupBox);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
textBrowser = new QTextBrowser(groupBox);
textBrowser->setObjectName(QString::fromUtf8("textBrowser"));

verticalLayout->addWidget(textBrowser);


verticalLayout_2->addWidget(groupBox);

buttonBox = new QDialogButtonBox(Dialog);
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);

verticalLayout_2->addWidget(buttonBox);


retranslateUi(Dialog);
QObject::connect(buttonBox, SIGNAL(accepted()), Dialog, SLOT(accept()));
QObject::connect(buttonBox, SIGNAL(rejected()), Dialog, SLOT(reject()));

QMetaObject::connectSlotsByName(Dialog);
} // setupUi

void retranslateUi(QDialog *Dialog)
{
Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Set value", nullptr));
label->setText(QCoreApplication::translate("Dialog", "TextLabel", nullptr));
groupBox->setTitle(QCoreApplication::translate("Dialog", "Scale Points", nullptr));
} // retranslateUi

};

namespace Ui {
class Dialog: public Ui_Dialog {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_INPUTDIALOG_VALUE_H

+ 326
- 0
source/frontend/C++/ui_midipattern.hpp View File

@@ -0,0 +1,326 @@
/********************************************************************************
** Form generated from reading UI file 'midipattern.ui'
**
** Created by: Qt User Interface Compiler version 5.13.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_MIDIPATTERN_H
#define UI_MIDIPATTERN_H

#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenu>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QSlider>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include "widgets/pianoroll.h"

QT_BEGIN_NAMESPACE

class Ui_MidiPatternW
{
public:
QAction *act_file_quit;
QAction *act_edit_insert;
QAction *act_edit_velocity;
QAction *act_edit_select_all;
QWidget *centralwidget;
QVBoxLayout *verticalLayout;
QHBoxLayout *horizontalLayout;
ModeIndicator *modeIndicator;
QLabel *timeSigLabel;
QComboBox *timeSigBox;
QSpacerItem *horizontalSpacer;
QLabel *measureLabel;
QComboBox *measureBox;
QSpacerItem *horizontalSpacer_2;
QLabel *defaultLengthLabel;
QComboBox *defaultLengthBox;
QSpacerItem *horizontalSpacer_3;
QLabel *quantizeLabel;
QComboBox *quantizeBox;
QSpacerItem *horizontalSpacer_4;
QSlider *hSlider;
QHBoxLayout *horizontalLayout_2;
QSlider *vSlider;
PianoRollView *graphicsView;
QMenuBar *menubar;
QMenu *menu_File;
QMenu *menu_Edit;
QStatusBar *statusbar;

void setupUi(QMainWindow *MidiPatternW)
{
if (MidiPatternW->objectName().isEmpty())
MidiPatternW->setObjectName(QString::fromUtf8("MidiPatternW"));
MidiPatternW->resize(755, 436);
act_file_quit = new QAction(MidiPatternW);
act_file_quit->setObjectName(QString::fromUtf8("act_file_quit"));
act_edit_insert = new QAction(MidiPatternW);
act_edit_insert->setObjectName(QString::fromUtf8("act_edit_insert"));
act_edit_insert->setCheckable(true);
act_edit_velocity = new QAction(MidiPatternW);
act_edit_velocity->setObjectName(QString::fromUtf8("act_edit_velocity"));
act_edit_velocity->setCheckable(true);
act_edit_select_all = new QAction(MidiPatternW);
act_edit_select_all->setObjectName(QString::fromUtf8("act_edit_select_all"));
centralwidget = new QWidget(MidiPatternW);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
verticalLayout = new QVBoxLayout(centralwidget);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
modeIndicator = new ModeIndicator(centralwidget);
modeIndicator->setObjectName(QString::fromUtf8("modeIndicator"));
modeIndicator->setMinimumSize(QSize(30, 20));
modeIndicator->setMaximumSize(QSize(30, 20));

horizontalLayout->addWidget(modeIndicator);

timeSigLabel = new QLabel(centralwidget);
timeSigLabel->setObjectName(QString::fromUtf8("timeSigLabel"));
timeSigLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

horizontalLayout->addWidget(timeSigLabel);

timeSigBox = new QComboBox(centralwidget);
timeSigBox->addItem(QString());
timeSigBox->addItem(QString());
timeSigBox->addItem(QString());
timeSigBox->addItem(QString());
timeSigBox->addItem(QString());
timeSigBox->addItem(QString());
timeSigBox->setObjectName(QString::fromUtf8("timeSigBox"));
timeSigBox->setEditable(true);

horizontalLayout->addWidget(timeSigBox);

horizontalSpacer = new QSpacerItem(5, 5, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer);

measureLabel = new QLabel(centralwidget);
measureLabel->setObjectName(QString::fromUtf8("measureLabel"));
measureLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);

horizontalLayout->addWidget(measureLabel);

measureBox = new QComboBox(centralwidget);
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->addItem(QString());
measureBox->setObjectName(QString::fromUtf8("measureBox"));

horizontalLayout->addWidget(measureBox);

horizontalSpacer_2 = new QSpacerItem(5, 5, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer_2);

defaultLengthLabel = new QLabel(centralwidget);
defaultLengthLabel->setObjectName(QString::fromUtf8("defaultLengthLabel"));

horizontalLayout->addWidget(defaultLengthLabel);

defaultLengthBox = new QComboBox(centralwidget);
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->addItem(QString());
defaultLengthBox->setObjectName(QString::fromUtf8("defaultLengthBox"));

horizontalLayout->addWidget(defaultLengthBox);

horizontalSpacer_3 = new QSpacerItem(5, 5, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer_3);

quantizeLabel = new QLabel(centralwidget);
quantizeLabel->setObjectName(QString::fromUtf8("quantizeLabel"));

horizontalLayout->addWidget(quantizeLabel);

quantizeBox = new QComboBox(centralwidget);
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->addItem(QString());
quantizeBox->setObjectName(QString::fromUtf8("quantizeBox"));

horizontalLayout->addWidget(quantizeBox);

horizontalSpacer_4 = new QSpacerItem(5, 5, QSizePolicy::Fixed, QSizePolicy::Minimum);

horizontalLayout->addItem(horizontalSpacer_4);

hSlider = new QSlider(centralwidget);
hSlider->setObjectName(QString::fromUtf8("hSlider"));
hSlider->setOrientation(Qt::Horizontal);

horizontalLayout->addWidget(hSlider);


verticalLayout->addLayout(horizontalLayout);

horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
vSlider = new QSlider(centralwidget);
vSlider->setObjectName(QString::fromUtf8("vSlider"));
vSlider->setOrientation(Qt::Vertical);

horizontalLayout_2->addWidget(vSlider);

graphicsView = new PianoRollView(centralwidget);
graphicsView->setObjectName(QString::fromUtf8("graphicsView"));

horizontalLayout_2->addWidget(graphicsView);


verticalLayout->addLayout(horizontalLayout_2);

MidiPatternW->setCentralWidget(centralwidget);
menubar = new QMenuBar(MidiPatternW);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 755, 20));
menu_File = new QMenu(menubar);
menu_File->setObjectName(QString::fromUtf8("menu_File"));
menu_Edit = new QMenu(menubar);
menu_Edit->setObjectName(QString::fromUtf8("menu_Edit"));
MidiPatternW->setMenuBar(menubar);
statusbar = new QStatusBar(MidiPatternW);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MidiPatternW->setStatusBar(statusbar);

menubar->addAction(menu_File->menuAction());
menubar->addAction(menu_Edit->menuAction());
menu_File->addAction(act_file_quit);
menu_Edit->addAction(act_edit_insert);
menu_Edit->addAction(act_edit_velocity);
menu_Edit->addAction(act_edit_select_all);

retranslateUi(MidiPatternW);
QObject::connect(act_file_quit, SIGNAL(triggered()), MidiPatternW, SLOT(close()));

timeSigBox->setCurrentIndex(0);
measureBox->setCurrentIndex(3);
defaultLengthBox->setCurrentIndex(4);
quantizeBox->setCurrentIndex(4);


QMetaObject::connectSlotsByName(MidiPatternW);
} // setupUi

void retranslateUi(QMainWindow *MidiPatternW)
{
MidiPatternW->setWindowTitle(QCoreApplication::translate("MidiPatternW", "MIDI Pattern", nullptr));
act_file_quit->setText(QCoreApplication::translate("MidiPatternW", "&Quit", nullptr));
act_edit_insert->setText(QCoreApplication::translate("MidiPatternW", "&Insert Mode", nullptr));
#if QT_CONFIG(shortcut)
act_edit_insert->setShortcut(QCoreApplication::translate("MidiPatternW", "F", nullptr));
#endif // QT_CONFIG(shortcut)
act_edit_velocity->setText(QCoreApplication::translate("MidiPatternW", "&Velocity Mode", nullptr));
#if QT_CONFIG(shortcut)
act_edit_velocity->setShortcut(QCoreApplication::translate("MidiPatternW", "D", nullptr));
#endif // QT_CONFIG(shortcut)
act_edit_select_all->setText(QCoreApplication::translate("MidiPatternW", "Select All", nullptr));
#if QT_CONFIG(shortcut)
act_edit_select_all->setShortcut(QCoreApplication::translate("MidiPatternW", "A", nullptr));
#endif // QT_CONFIG(shortcut)
timeSigLabel->setText(QCoreApplication::translate("MidiPatternW", "Time Signature:", nullptr));
timeSigBox->setItemText(0, QCoreApplication::translate("MidiPatternW", "1/4", nullptr));
timeSigBox->setItemText(1, QCoreApplication::translate("MidiPatternW", "2/4", nullptr));
timeSigBox->setItemText(2, QCoreApplication::translate("MidiPatternW", "3/4", nullptr));
timeSigBox->setItemText(3, QCoreApplication::translate("MidiPatternW", "4/4", nullptr));
timeSigBox->setItemText(4, QCoreApplication::translate("MidiPatternW", "5/4", nullptr));
timeSigBox->setItemText(5, QCoreApplication::translate("MidiPatternW", "6/4", nullptr));

measureLabel->setText(QCoreApplication::translate("MidiPatternW", "Measures:", nullptr));
measureBox->setItemText(0, QCoreApplication::translate("MidiPatternW", "1", nullptr));
measureBox->setItemText(1, QCoreApplication::translate("MidiPatternW", "2", nullptr));
measureBox->setItemText(2, QCoreApplication::translate("MidiPatternW", "3", nullptr));
measureBox->setItemText(3, QCoreApplication::translate("MidiPatternW", "4", nullptr));
measureBox->setItemText(4, QCoreApplication::translate("MidiPatternW", "5", nullptr));
measureBox->setItemText(5, QCoreApplication::translate("MidiPatternW", "6", nullptr));
measureBox->setItemText(6, QCoreApplication::translate("MidiPatternW", "7", nullptr));
measureBox->setItemText(7, QCoreApplication::translate("MidiPatternW", "8", nullptr));
measureBox->setItemText(8, QCoreApplication::translate("MidiPatternW", "9", nullptr));
measureBox->setItemText(9, QCoreApplication::translate("MidiPatternW", "10", nullptr));
measureBox->setItemText(10, QCoreApplication::translate("MidiPatternW", "11", nullptr));
measureBox->setItemText(11, QCoreApplication::translate("MidiPatternW", "12", nullptr));
measureBox->setItemText(12, QCoreApplication::translate("MidiPatternW", "13", nullptr));
measureBox->setItemText(13, QCoreApplication::translate("MidiPatternW", "14", nullptr));
measureBox->setItemText(14, QCoreApplication::translate("MidiPatternW", "15", nullptr));
measureBox->setItemText(15, QCoreApplication::translate("MidiPatternW", "16", nullptr));

defaultLengthLabel->setText(QCoreApplication::translate("MidiPatternW", "Default Length:", nullptr));
defaultLengthBox->setItemText(0, QCoreApplication::translate("MidiPatternW", "1/16", nullptr));
defaultLengthBox->setItemText(1, QCoreApplication::translate("MidiPatternW", "1/15", nullptr));
defaultLengthBox->setItemText(2, QCoreApplication::translate("MidiPatternW", "1/12", nullptr));
defaultLengthBox->setItemText(3, QCoreApplication::translate("MidiPatternW", "1/9", nullptr));
defaultLengthBox->setItemText(4, QCoreApplication::translate("MidiPatternW", "1/8", nullptr));
defaultLengthBox->setItemText(5, QCoreApplication::translate("MidiPatternW", "1/6", nullptr));
defaultLengthBox->setItemText(6, QCoreApplication::translate("MidiPatternW", "1/4", nullptr));
defaultLengthBox->setItemText(7, QCoreApplication::translate("MidiPatternW", "1/3", nullptr));
defaultLengthBox->setItemText(8, QCoreApplication::translate("MidiPatternW", "1/2", nullptr));
defaultLengthBox->setItemText(9, QCoreApplication::translate("MidiPatternW", "1", nullptr));

quantizeLabel->setText(QCoreApplication::translate("MidiPatternW", "Quantize:", nullptr));
quantizeBox->setItemText(0, QCoreApplication::translate("MidiPatternW", "1/16", nullptr));
quantizeBox->setItemText(1, QCoreApplication::translate("MidiPatternW", "1/15", nullptr));
quantizeBox->setItemText(2, QCoreApplication::translate("MidiPatternW", "1/12", nullptr));
quantizeBox->setItemText(3, QCoreApplication::translate("MidiPatternW", "1/9", nullptr));
quantizeBox->setItemText(4, QCoreApplication::translate("MidiPatternW", "1/8", nullptr));
quantizeBox->setItemText(5, QCoreApplication::translate("MidiPatternW", "1/6", nullptr));
quantizeBox->setItemText(6, QCoreApplication::translate("MidiPatternW", "1/4", nullptr));
quantizeBox->setItemText(7, QCoreApplication::translate("MidiPatternW", "1/3", nullptr));
quantizeBox->setItemText(8, QCoreApplication::translate("MidiPatternW", "1/2", nullptr));
quantizeBox->setItemText(9, QCoreApplication::translate("MidiPatternW", "1", nullptr));

menu_File->setTitle(QCoreApplication::translate("MidiPatternW", "&File", nullptr));
menu_Edit->setTitle(QCoreApplication::translate("MidiPatternW", "&Edit", nullptr));
} // retranslateUi

};

namespace Ui {
class MidiPatternW: public Ui_MidiPatternW {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_MIDIPATTERN_H

+ 30
- 0
source/frontend/C++/widgets/canvaspreviewframe.h View File

@@ -0,0 +1,30 @@
/*
* Custom Mini Canvas Preview, a custom Qt widget
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef CANVASPREVIEWFRAME_H_INCLUDED
#define CANVASPREVIEWFRAME_H_INCLUDED

#include <QtWidgets/QFrame>

class CanvasPreviewFrame : public QFrame
{
public:
CanvasPreviewFrame(QWidget* const parent)
: QFrame(parent) {}
};

#endif // CANVASPREVIEWFRAME_H_INCLUDED

+ 30
- 0
source/frontend/C++/widgets/digitalpeakmeter.h View File

@@ -0,0 +1,30 @@
/*
* Digital Peak Meter, a custom Qt widget
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef DIGITALPEAKMETER_H_INCLUDED
#define DIGITALPEAKMETER_H_INCLUDED

#include <QtWidgets/QWidget>

class DigitalPeakMeter : public QWidget
{
public:
DigitalPeakMeter(QWidget* const parent)
: QWidget(parent) {}
};

#endif // DIGITALPEAKMETER_H_INCLUDED

+ 30
- 0
source/frontend/C++/widgets/draggablegraphicsview.h View File

@@ -0,0 +1,30 @@
/*
* Middle-click draggable QGraphicsView
* Copyright (C) 2016-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef DRAGGABLEGRAPHICSVIEW_H_INCLUDED
#define DRAGGABLEGRAPHICSVIEW_H_INCLUDED

#include <QtWidgets/QGraphicsView>

class DraggableGraphicsView : public QGraphicsView
{
public:
DraggableGraphicsView(QWidget* const parent)
: QGraphicsView(parent) {}
};

#endif // DRAGGABLEGRAPHICSVIEW_H_INCLUDED

+ 30
- 0
source/frontend/C++/widgets/racklistwidget.h View File

@@ -0,0 +1,30 @@
/*
* Rack List Widget, a custom Qt widget
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef RACKLISTWIDGET_H_INCLUDED
#define RACKLISTWIDGET_H_INCLUDED

#include <QtWidgets/QListWidget>

class RackListWidget : public QListWidget
{
public:
RackListWidget(QWidget* const parent)
: QListWidget(parent) {}
};

#endif // RACKLISTWIDGET_H_INCLUDED

Loading…
Cancel
Save