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): def saveSettings(self, settings):
self.fPatchbay.saveSettings(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 pass


def projectLoadingFinished(self):
pass

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

def saveSettings(self, settings): def saveSettings(self, settings):
pass pass


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


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

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


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


@pyqtSlot() @pyqtSlot()
def slot_loadProjectNow(self): def slot_loadProjectNow(self):
@@ -894,8 +901,23 @@ class HostWindow(QMainWindow):
@pyqtSlot() @pyqtSlot()
def slot_pluginRemoveAll(self): def slot_pluginRemoveAll(self):
self.ui.act_plugin_remove_all.setEnabled(False) 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(): if gCarla.host.is_engine_running():
gCarla.host.set_engine_about_to_close() 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() self.stopEngine()


QMainWindow.closeEvent(self, event) 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) QTimer.singleShot(1000, self.slot_canvasRefresh)


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

def saveSettings(self, settings): def saveSettings(self, settings):
settings.setValue("ShowMeters", self.fParent.ui.act_settings_show_meters.isChecked()) settings.setValue("ShowMeters", self.fParent.ui.act_settings_show_meters.isChecked())
settings.setValue("ShowKeyboard", self.fParent.ui.act_settings_show_keyboard.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): def saveSettings(self, settings):
pass pass


Loading…
Cancel
Save