// SPDX-FileCopyrightText: 2011-2025 Filipe Coelho // SPDX-License-Identifier: GPL-2.0-or-later #include "aboutdialog.hpp" #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(" - %1").arg(tr("OSC Bridge Version")); else if (isPlugin) extraInfo = QString(" - %1").arg(tr("Plugin Version")); ui.l_about->setText(tr("" "
Version %1" "
Carla is a fully-featured audio plugin host%2.
" "
Copyright (C) 2011-2025 falkTX
" "").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("" "" "" "" "" "" "" "" "" "" "" "" "" "" "
" "/set_active" " <i-value>
" "/set_drywet" " <f-value>
" "/set_volume" " <f-value>
" "/set_balance_left" " <f-value>
" "/set_balance_right" " <f-value>
" "/set_panning" " <f-value>
" "/set_parameter_value" " <i-index> <f-value>
" "/set_parameter_midi_cc" " <i-index> <i-cc>
" "/set_parameter_midi_channel" " <i-index> <i-channel>
" "/set_program" " <i-index>
" "/set_midi_program" " <i-index>
" "/note_on" " <i-channel> <i-note> <i-velo>
" "/note_off" " <i-channel> <i-note
"); ui.l_example->setText("/Carla/2/set_parameter_value 5 1.0"); ui.l_example_help->setText("(as in this example, \"2\" is the plugin number and \"5\" the parameter)"); 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)
" "Implemented Feature/Extensions:" "")); 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 } // --------------------------------------------------------------------------------------------------------------------