diff --git a/c++/carla-backend/carla_backend_standalone.cpp b/c++/carla-backend/carla_backend_standalone.cpp index c628051..d00c060 100644 --- a/c++/carla-backend/carla_backend_standalone.cpp +++ b/c++/carla-backend/carla_backend_standalone.cpp @@ -24,9 +24,58 @@ // Single, standalone engine static CarlaBackend::CarlaEngine* carlaEngine = nullptr; static CarlaBackend::CallbackFunc carlaFunc = nullptr; +static const char* extendedLicenseText = nullptr; // ------------------------------------------------------------------------------------------------------------------- +const char* get_extended_license_text() +{ + qDebug("CarlaBackendStandalone::get_extended_license_text()"); + + QString text("

This current Carla build is using the following features and 3rd-party code:

"); + text += ""; + +#ifdef WANT_LINUXSAMPLER + text += "

(*) Using LinuxSampler code in commercial hardware or software products is not allowed without prior written authorization by the authors.

"; +#endif + + if (! extendedLicenseText) + extendedLicenseText = strdup(text.toUtf8().constData()); + + return extendedLicenseText; +} + unsigned int get_engine_driver_count() { qDebug("CarlaBackendStandalone::get_engine_driver_count()"); @@ -224,6 +273,12 @@ bool engine_close() delete carlaEngine; carlaEngine = nullptr; + if (extendedLicenseText) + { + free((void*)extendedLicenseText); + extendedLicenseText = nullptr; + } + return closed; } diff --git a/c++/carla-backend/carla_backend_standalone.h b/c++/carla-backend/carla_backend_standalone.h index 96153ba..bb82596 100644 --- a/c++/carla-backend/carla_backend_standalone.h +++ b/c++/carla-backend/carla_backend_standalone.h @@ -95,6 +95,8 @@ struct GuiInfo { resizable(false) {} }; +CARLA_EXPORT const char* get_extended_license_text(); + CARLA_EXPORT unsigned int get_engine_driver_count(); CARLA_EXPORT const char* get_engine_driver_name(unsigned int index); diff --git a/src/carla.py b/src/carla.py index 7c09c81..e7b3c97 100755 --- a/src/carla.py +++ b/src/carla.py @@ -1070,40 +1070,46 @@ class CarlaAboutW(QDialog, ui_carla_about.Ui_CarlaAboutW): "
Version %s" "
Carla is a Multi-Plugin Host for JACK.
" "
Copyright (C) 2011-2012 falkTX
" - "
VST is a trademark of Steinberg Media Technologies GmbH." "" % VERSION)) - host_osc_url = cString(Carla.Host.get_host_osc_url()) - self.le_osc_url.setText(host_osc_url) + self.l_extended.setText(cString(Carla.Host.get_extended_license_text())) + self.le_osc_url.setText(cString(Carla.Host.get_host_osc_url())) self.l_osc_cmds.setText( - " /set_active \n" - " /set_drywet \n" - " /set_volume \n" - " /set_balance_left \n" - " /set_balance_right \n" - " /set_parameter \n" - " /set_program \n" - " /set_midi_program \n" - " /note_on \n" - " /note_off \n" + " /set_active \n" + " /set_drywet \n" + " /set_volume \n" + " /set_balance_left \n" + " /set_balance_right \n" + " /set_parameter_value \n" + #" /set_parameter_midi_cc \n" + #" /set_parameter_midi_channel \n" + " /set_program \n" + " /set_midi_program \n" + " /note_on \n" + " /note_off \n" ) - self.l_example.setText("/Carla/2/set_parameter 2 0.5") - self.l_example_help.setText("(as in this example, \"2\" is the plugin number)") + self.l_example.setText("/Carla/2/set_parameter_value 5 1.0") + self.l_example_help.setText("(as in this example, \"2\" is the plugin number and \"5\" the parameter)") self.l_ladspa.setText(self.tr("Everything! (Including LRDF)")) self.l_dssi.setText(self.tr("Everything! (Including CustomData/Chunks)")) - self.l_lv2.setText(self.tr("About 95% complete (only missing minor features).
" + self.l_lv2.setText(self.tr("About 95% complete (using custom extensions).
" "Implemented Feature/Extensions:" "
    " "
  • http://lv2plug.in/ns/ext/atom
  • " + "
  • http://lv2plug.in/ns/ext/buf-size
  • " "
  • http://lv2plug.in/ns/ext/data-access
  • " + #"
  • http://lv2plug.in/ns/ext/dynmanifest
  • " "
  • http://lv2plug.in/ns/ext/event
  • " "
  • http://lv2plug.in/ns/ext/instance-access
  • " "
  • http://lv2plug.in/ns/ext/log
  • " "
  • http://lv2plug.in/ns/ext/midi
  • " + "
  • http://lv2plug.in/ns/ext/options
  • " + #"
  • http://lv2plug.in/ns/ext/parameters
  • " "
  • http://lv2plug.in/ns/ext/patch
  • " + #"
  • http://lv2plug.in/ns/ext/port-groups
  • " "
  • http://lv2plug.in/ns/ext/port-props
  • " #"
  • http://lv2plug.in/ns/ext/presets
  • " "
  • http://lv2plug.in/ns/ext/state
  • " @@ -1113,12 +1119,11 @@ class CarlaAboutW(QDialog, ui_carla_about.Ui_CarlaAboutW): "
  • http://lv2plug.in/ns/ext/worker
  • " "
  • http://lv2plug.in/ns/extensions/ui
  • " "
  • http://lv2plug.in/ns/extensions/units
  • " - #"
  • http://home.gna.org/lv2dynparam/v1
  • " - "
  • http://home.gna.org/lv2dynparam/rtmempool/v1
  • " + "
  • http://kxstudio.sf.net/ns/lv2ext/external-ui
  • " "
  • http://kxstudio.sf.net/ns/lv2ext/programs
  • " - #"
  • http://ll-plugins.nongnu.org/lv2/ext/midimap
  • " + "
  • http://kxstudio.sf.net/ns/lv2ext/rtmempool
  • " + "
  • http://ll-plugins.nongnu.org/lv2/ext/midimap
  • " "
  • http://ll-plugins.nongnu.org/lv2/ext/miditype
  • " - "
  • http://nedko.arnaudov.name/lv2/external_ui/
  • " "
")) self.l_vst.setText(self.tr("

About 85% complete (missing vst bank/presets and some minor stuff)

")) diff --git a/src/carla_backend.py b/src/carla_backend.py index cf2db33..5238605 100644 --- a/src/carla_backend.py +++ b/src/carla_backend.py @@ -762,6 +762,9 @@ class Host(object): self.lib = cdll.LoadLibrary(carla_library_path) + self.lib.get_extended_license_text.argtypes = None + self.lib.get_extended_license_text.restype = c_char_p + self.lib.get_engine_driver_count.argtypes = None self.lib.get_engine_driver_count.restype = c_uint @@ -945,6 +948,9 @@ class Host(object): self.lib.nsm_reply_save.argtypes = None self.lib.nsm_reply_save.restype = None + def get_extended_license_text(self): + return self.lib.get_extended_license_text() + def get_engine_driver_count(self): return self.lib.get_engine_driver_count() diff --git a/src/ui/carla_about.ui b/src/ui/carla_about.ui index cce49c9..d3a612e 100644 --- a/src/ui/carla_about.ui +++ b/src/ui/carla_about.ui @@ -7,7 +7,7 @@ 0 0 484 - 252 + 433 @@ -24,30 +24,14 @@ About - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 100 - 20 - - - - - about text here + About text here - + Qt::Vertical @@ -60,8 +44,22 @@ - - + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + @@ -73,7 +71,7 @@ - + Qt::Vertical @@ -86,6 +84,16 @@ + + + + Extended licensing here + + + true + + +