diff --git a/resources/ui/carla_add_jack.ui b/resources/ui/carla_add_jack.ui
index 489b5d990..5c6045c12 100644
--- a/resources/ui/carla_add_jack.ui
+++ b/resources/ui/carla_add_jack.ui
@@ -6,8 +6,8 @@
0
0
- 540
- 514
+ 487
+ 572
@@ -180,6 +180,22 @@
Setup
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 1
+
+
+
+
-
-
@@ -242,31 +258,14 @@
- -
-
-
- Take control of main application window
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 1
-
-
-
-
-
+
+
+ 0
+ 0
+
+
Audio inputs:
@@ -287,9 +286,12 @@
Qt::Horizontal
+
+ QSizePolicy::Fixed
+
- 1
+ 20
1
@@ -313,9 +315,12 @@
Qt::Horizontal
+
+ QSizePolicy::Fixed
+
- 1
+ 20
1
@@ -369,6 +374,12 @@
-
+
+
+ 0
+ 0
+
+
Audio outputs:
@@ -389,9 +400,12 @@
Qt::Horizontal
+
+ QSizePolicy::Fixed
+
- 1
+ 20
1
@@ -402,9 +416,12 @@
Qt::Horizontal
+
+ QSizePolicy::Fixed
+
- 1
+ 20
1
@@ -440,6 +457,13 @@
+ -
+
+
+ Take control of main application window
+
+
+
@@ -449,6 +473,13 @@
Workarounds
+ -
+
+
+ Wait for external application start (Advanced)
+
+
+
-
@@ -496,9 +527,9 @@
-
-
+
- Wait for external application start (Advanced)
+ Use single MIDI output, setting MIDI channel as port index
diff --git a/source/backend/plugin/CarlaPluginJack.cpp b/source/backend/plugin/CarlaPluginJack.cpp
index d3ea7ad9f..cf60330da 100644
--- a/source/backend/plugin/CarlaPluginJack.cpp
+++ b/source/backend/plugin/CarlaPluginJack.cpp
@@ -286,7 +286,8 @@ protected:
}
#endif
- const bool externalProcess = (fSetupLabel[5] - '0') & LIBJACK_FLAG_EXTERNAL_START;
+ const bool externalProcess = ((fSetupLabel[5] - '0') & LIBJACK_FLAG_EXTERNAL_START)
+ && ! kEngine->isLoadingProject();
if (! externalProcess)
{
diff --git a/source/frontend/carla_database.py b/source/frontend/carla_database.py
index cf3fcb879..606fa95f1 100755
--- a/source/frontend/carla_database.py
+++ b/source/frontend/carla_database.py
@@ -2017,6 +2017,8 @@ class JackApplicationW(QDialog):
flags |= self.FLAG_CAPTURE_FIRST_WINDOW
if self.ui.cb_buffers_addition_mode.isChecked():
flags |= self.FLAG_BUFFERS_ADDITION_MODE
+ if self.ui.cb_out_midi_mixdown.isChecked():
+ flags |= self.FLAG_MIDI_OUTPUT_CHANNEL_MIXDOWN
if self.ui.cb_external_start.isChecked():
flags |= self.FLAG_EXTERNAL_START
@@ -2058,6 +2060,8 @@ class JackApplicationW(QDialog):
self.ui.sb_midi_ins.setValue(settings.value("NumMidiIns", 0, type=int))
self.ui.sb_midi_outs.setValue(settings.value("NumMidiOuts", 0, type=int))
self.ui.cb_manage_window.setChecked(settings.value("ManageWindow", True, type=bool))
+ self.ui.cb_capture_first_window.setChecked(settings.value("CaptureFirstWindow", False, type=bool))
+ self.ui.cb_out_midi_mixdown.setChecked(settings.value("MidiOutMixdown", False, type=bool))
self.checkIfButtonBoxShouldBeEnabled(self.ui.cb_session_mgr.currentIndex(),
self.ui.le_command.text())
@@ -2083,6 +2087,8 @@ class JackApplicationW(QDialog):
settings.setValue("NumMidiIns", self.ui.sb_midi_ins.value())
settings.setValue("NumMidiOuts", self.ui.sb_midi_outs.value())
settings.setValue("ManageWindow", self.ui.cb_manage_window.isChecked())
+ settings.setValue("CaptureFirstWindow", self.ui.cb_capture_first_window.isChecked())
+ settings.setValue("MidiOutMixdown", self.ui.cb_out_midi_mixdown.isChecked())
# -----------------------------------------------------------------------------------------------------------------