Browse Source

progressive remove-all-plugins

tags/1.9.4
falkTX 11 years ago
parent
commit
3ef4abb30d
4 changed files with 67 additions and 12 deletions
  1. +9
    -2
      source/carla
  2. +45
    -7
      source/carla_host.py
  3. +6
    -1
      source/carla_patchbay.py
  4. +7
    -2
      source/carla_rack.py

+ 9
- 2
source/carla View File

@@ -144,8 +144,15 @@ class CarlaMultiW(QTabWidget):

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

def projectLoaded(self):
self.fPatchbay.projectLoaded()
def projectLoadingStarted(self):
self.fRack.projectLoadingStarted()
#self.fPatchbay.projectLoadingStarted()

def projectLoadingFinished(self):
self.fRack.projectLoadingFinished()
self.fPatchbay.projectLoadingFinished()

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

def saveSettings(self, settings):
self.fPatchbay.saveSettings(settings)


+ 45
- 7
source/carla_host.py View File

@@ -94,9 +94,14 @@ class CarlaDummyW(object):

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

def projectLoaded(self):
def projectLoadingStarted(self):
pass

def projectLoadingFinished(self):
pass

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

def saveSettings(self, settings):
pass

@@ -357,11 +362,13 @@ class HostWindow(QMainWindow):
if not self.fProjectFilename:
return qCritical("ERROR: loading project without filename set")

self.fContainer.projectLoadingStarted()
self.fIsProjectLoading = True

gCarla.host.load_project(self.fProjectFilename)
self.fIsProjectLoading = False

self.fContainer.projectLoaded()
self.fIsProjectLoading = False
self.fContainer.projectLoadingFinished()

@pyqtSlot()
def slot_loadProjectNow(self):
@@ -894,8 +901,23 @@ class HostWindow(QMainWindow):
@pyqtSlot()
def slot_pluginRemoveAll(self):
self.ui.act_plugin_remove_all.setEnabled(False)
self.fContainer.removeAllPlugins()
gCarla.host.remove_all_plugins()

count = self.fContainer.getPluginCount()

if count == 0:
return

self.fContainer.projectLoadingStarted()

app = QApplication.instance()
for i in range(count):
app.processEvents()
gCarla.host.remove_plugin(count-i-1)

self.fContainer.projectLoadingFinished()

#self.fContainer.removeAllPlugins()
#gCarla.host.remove_all_plugins()

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

@@ -1125,8 +1147,24 @@ class HostWindow(QMainWindow):

if gCarla.host.is_engine_running():
gCarla.host.set_engine_about_to_close()
self.ui.act_plugin_remove_all.setEnabled(False)
self.fContainer.removeAllPlugins()

count = self.fContainer.getPluginCount()

if count > 0:
# simulate project loading, to disable container
self.ui.act_plugin_remove_all.setEnabled(False)
self.fContainer.projectLoadingStarted()

app = QApplication.instance()
for i in range(count):
app.processEvents()
gCarla.host.remove_plugin(count-i-1)

app.processEvents()

#self.fContainer.removeAllPlugins()
#gCarla.host.remove_all_plugins()

self.stopEngine()

QMainWindow.closeEvent(self, event)


+ 6
- 1
source/carla_patchbay.py View File

@@ -320,9 +320,14 @@ class CarlaPatchbayW(QFrame):

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

def projectLoaded(self):
def projectLoadingStarted(self):
pass

def projectLoadingFinished(self):
QTimer.singleShot(1000, self.slot_canvasRefresh)

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

def saveSettings(self, settings):
settings.setValue("ShowMeters", self.fParent.ui.act_settings_show_meters.isChecked())
settings.setValue("ShowKeyboard", self.fParent.ui.act_settings_show_keyboard.isChecked())


+ 7
- 2
source/carla_rack.py View File

@@ -395,8 +395,13 @@ class CarlaRackW(QFrame):

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

def projectLoaded(self):
pass
def projectLoadingStarted(self):
self.fRack.setEnabled(False)

def projectLoadingFinished(self):
self.fRack.setEnabled(True)

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

def saveSettings(self, settings):
pass


Loading…
Cancel
Save