|
- // SPDX-FileCopyrightText: 2011-2025 Filipe Coelho <falktx@falktx.com>
- // SPDX-License-Identifier: GPL-2.0-or-later
-
- #include "aboutdialog.hpp"
-
- #ifdef __clang__
- # pragma clang diagnostic push
- # pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
- # pragma clang diagnostic ignored "-Wdeprecated-register"
- #elif defined(__GNUC__) && __GNUC__ >= 8
- # pragma GCC diagnostic push
- # pragma GCC diagnostic ignored "-Wclass-memaccess"
- # pragma GCC diagnostic ignored "-Wdeprecated-copy"
- #endif
-
- // #include <QtCore/QFileInfo>
- // #include <QtCore/QVector>
- // #include <QtWidgets/QPushButton>
-
- #ifdef __clang__
- # pragma clang diagnostic pop
- #elif defined(__GNUC__) && __GNUC__ >= 8
- # pragma GCC diagnostic pop
- #endif
-
- #include "CarlaHost.h"
-
- // --------------------------------------------------------------------------------------------------------------------
- // About Dialog
-
- AboutDialog::AboutDialog(QWidget* const parent,
- const CarlaHostHandle hostHandle,
- const bool isControl,
- const bool isPlugin)
- : QDialog(parent)
- {
- ui.setupUi(this);
-
- QString extraInfo;
- if (isControl)
- extraInfo = QString(" - <b>%1</b>").arg(tr("OSC Bridge Version"));
- else if (isPlugin)
- extraInfo = QString(" - <b>%1</b>").arg(tr("Plugin Version"));
-
- ui.l_about->setText(tr(""
- "<br>Version %1"
- "<br>Carla is a fully-featured audio plugin host%2.<br>"
- "<br>Copyright (C) 2011-2025 falkTX<br>"
- "").arg(CARLA_VERSION_STRING).arg(extraInfo));
-
- if (ui.about->palette().color(QPalette::Background).blackF() < 0.5)
- {
- ui.l_icons->setPixmap(QPixmap(":/bitmaps/carla_about_black.png"));
- ui.ico_example_edit->setPixmap(QPixmap(":/bitmaps/button_file-black.png"));
- ui.ico_example_file->setPixmap(QPixmap(":/scalable/button_edit-black.svg"));
- ui.ico_example_gui->setPixmap(QPixmap(":/bitmaps/button_gui-black.png"));
- }
-
- if (isControl || isPlugin)
- {
- ui.l_extended->hide();
- ui.tabWidget->removeTab(3);
- ui.tabWidget->removeTab(2);
- }
- else if (carla_is_engine_running(hostHandle))
- {
- ui.le_osc_url_tcp->setText(carla_get_host_osc_url_tcp(hostHandle));
- ui.le_osc_url_udp->setText(carla_get_host_osc_url_udp(hostHandle));
- }
- else
- {
- ui.le_osc_url_tcp->setText(tr("(Engine not running)"));
- ui.le_osc_url_udp->setText(tr("(Engine not running)"));
- }
-
- ui.l_extended->setText(carla_get_complete_license_text());
-
- ui.l_osc_cmds->setText("<table>"
- "<tr><td>" "/set_active" " </td><td><i-value></td></tr>"
- "<tr><td>" "/set_drywet" " </td><td><f-value></td></tr>"
- "<tr><td>" "/set_volume" " </td><td><f-value></td></tr>"
- "<tr><td>" "/set_balance_left" " </td><td><f-value></td></tr>"
- "<tr><td>" "/set_balance_right" " </td><td><f-value></td></tr>"
- "<tr><td>" "/set_panning" " </td><td><f-value></td></tr>"
- "<tr><td>" "/set_parameter_value" " </td><td><i-index> <f-value></td></tr>"
- "<tr><td>" "/set_parameter_midi_cc" " </td><td><i-index> <i-cc></td></tr>"
- "<tr><td>" "/set_parameter_midi_channel" " </td><td><i-index> <i-channel></td></tr>"
- "<tr><td>" "/set_program" " </td><td><i-index></td></tr>"
- "<tr><td>" "/set_midi_program" " </td><td><i-index></td></tr>"
- "<tr><td>" "/note_on" " </td><td><i-channel> <i-note> <i-velo></td></tr>"
- "<tr><td>" "/note_off" " </td><td><i-channel> <i-note</td></tr>"
- "</table>");
-
- ui.l_example->setText("/Carla/2/set_parameter_value 5 1.0");
- ui.l_example_help->setText("<i>(as in this example, \"2\" is the plugin number and \"5\" the parameter)</i>");
-
- ui.l_ladspa->setText(tr("Everything! (Including LRDF)"));
- ui.l_dssi->setText(tr("Everything! (Including CustomData/Chunks)"));
- ui.l_lv2->setText(tr("About 110% complete (using custom extensions)<br/>"
- "Implemented Feature/Extensions:"
- "<ul>"
- "<li>http://lv2plug.in/ns/ext/atom</li>"
- "<li>http://lv2plug.in/ns/ext/buf-size</li>"
- "<li>http://lv2plug.in/ns/ext/data-access</li>"
- // "<li>http://lv2plug.in/ns/ext/dynmanifest</li>"
- "<li>http://lv2plug.in/ns/ext/event</li>"
- "<li>http://lv2plug.in/ns/ext/instance-access</li>"
- "<li>http://lv2plug.in/ns/ext/log</li>"
- "<li>http://lv2plug.in/ns/ext/midi</li>"
- // "<li>http://lv2plug.in/ns/ext/morph</li>"
- "<li>http://lv2plug.in/ns/ext/options</li>"
- "<li>http://lv2plug.in/ns/ext/parameters</li>"
- // "<li>http://lv2plug.in/ns/ext/patch</li>"
- // "<li>http://lv2plug.in/ns/ext/port-groups</li>"
- "<li>http://lv2plug.in/ns/ext/port-props</li>"
- "<li>http://lv2plug.in/ns/ext/presets</li>"
- "<li>http://lv2plug.in/ns/ext/resize-port</li>"
- "<li>http://lv2plug.in/ns/ext/state</li>"
- "<li>http://lv2plug.in/ns/ext/time</li>"
- "<li>http://lv2plug.in/ns/ext/uri-map</li>"
- "<li>http://lv2plug.in/ns/ext/urid</li>"
- "<li>http://lv2plug.in/ns/ext/worker</li>"
- "<li>http://lv2plug.in/ns/extensions/ui</li>"
- "<li>http://lv2plug.in/ns/extensions/units</li>"
- "<li>http://home.gna.org/lv2dynparam/rtmempool/v1</li>"
- "<li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li>"
- "<li>http://kxstudio.sf.net/ns/lv2ext/programs</li>"
- "<li>http://kxstudio.sf.net/ns/lv2ext/props</li>"
- "<li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li>"
- "<li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li>"
- "<li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li>"
- "</ul>"));
-
- ui.l_vst2->setText(tr("About 85% complete (missing vst bank/presets and some minor stuff)"));
- ui.l_vst3->setText(tr("About 66% complete"));
-
- #ifdef CARLA_OS_MAC
- ui.l_au->setText(tr("About 20% complete"));
- #else
- ui.line_vst3->hide();
- ui.l_au->hide();
- ui.lid_au->hide();
- #endif
-
- // 3rd tab is usually longer than the 1st, adjust appropriately
- ui.tabWidget->setCurrentIndex(2);
- adjustSize();
- ui.tabWidget->setCurrentIndex(0);
-
- setFixedSize(size());
-
- Qt::WindowFlags flags = windowFlags();
- flags &= ~Qt::WindowContextHelpButtonHint;
- #ifdef CARLA_OS_WIN
- flags |= ~Qt::MSWindowsFixedSizeDialogHint;
- #endif
- setWindowFlags(flags);
-
- #ifdef CARLA_OS_MAC
- if (parent != nullptr)
- setWindowModality(Qt::WindowModal);
- #endif
- }
-
- // --------------------------------------------------------------------------------------------------------------------
|