From 39944a56a860836c62b5358174be9e65bd66dc66 Mon Sep 17 00:00:00 2001 From: tassaron Date: Sun, 28 May 2017 19:08:50 -0400 Subject: create data directory structure --- main.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index 7cae950..7ddc4f2 100644 --- a/main.py +++ b/main.py @@ -1,11 +1,12 @@ import sys, io, os -from PyQt4 import QtCore, QtGui, uic from os.path import expanduser import atexit from queue import Queue -from PyQt4.QtCore import QSettings, QModelIndex import signal from importlib import import_module +from PyQt4 import QtCore, QtGui, uic +from PyQt4.QtCore import QSettings, QModelIndex +from PyQt4.QtGui import QDesktopServices import preview_thread, core, video_thread @@ -123,6 +124,14 @@ class Main(QtCore.QObject): self.settings = QSettings('settings.ini', QSettings.IniFormat) LoadDefaultSettings(self) + # create data directory structure if needed + dataDir = QDesktopServices.storageLocation(QDesktopServices.DataLocation) + if not os.path.exists(dataDir): + os.makedirs(dataDir) + for neededDirectory in ('projects', 'presets'): + if not os.path.exists(os.path.join(dataDir, neededDirectory)): + os.mkdir(os.path.join(dataDir, neededDirectory)) + self.pages = [] self.previewQueue = Queue() @@ -382,6 +391,8 @@ else: # gui mode if __name__ == "__main__": app = QtGui.QApplication(sys.argv) + app.setApplicationName("audio-visualizer") + app.setOrganizationName("audio-visualizer") window = uic.loadUi("mainwindow.ui") # window.adjustSize() desc = QtGui.QDesktopWidget() -- cgit v1.2.3 From ce414ff96081d1c32fe04503b855fd04a32e82bb Mon Sep 17 00:00:00 2001 From: tassaron Date: Sun, 28 May 2017 19:50:29 -0400 Subject: turned openPreset button into comboBox to fit a new design --- main.py | 18 +++++++++++------- mainwindow.ui | 10 ++++++---- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index 7ddc4f2..d4c12d8 100644 --- a/main.py +++ b/main.py @@ -178,13 +178,11 @@ class Main(QtCore.QObject): self.window.pushButton_listMoveUp.clicked.connect(self.moveComponentUp) self.window.pushButton_listMoveDown.clicked.connect(self.moveComponentDown) - ''' - window.lineEdit_visColor.setText('%s,%s,%s' % self.visColor) - window.pushButton_visColor.clicked.connect(lambda: self.pickColor('vis')) - btnStyle = "QPushButton { background-color : %s; outline: none; }" % QColor(*self.visColor).name() - window.pushButton_visColor.setStyleSheet(btnStyle) - window.lineEdit_visColor.textChanged.connect(self.drawPreview) - ''' + self.window.pushButton_savePreset.clicked.connect(self.openSavePresetDialog) + self.window.comboBox_openPreset.currentIndexChanged.connect( \ + lambda _: self.openPreset(self.window.comboBox_openPreset.currentIndex()) + ) + self.drawPreview() window.show() @@ -353,6 +351,12 @@ class Main(QtCore.QObject): self.window.listWidget_componentList.setCurrentRow(row + 1) self.window.stackedWidget.setCurrentIndex(row + 1) + def openSavePresetDialog(self): + pass + + def openPreset(self, comboBoxIndex): + pass + def LoadDefaultSettings(self): self.resolutions = [ diff --git a/mainwindow.ui b/mainwindow.ui index b15cc8e..0dcce91 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -217,10 +217,12 @@ - - - Open Preset - + + + + Open Preset + + -- cgit v1.2.3 From c0920da4ffa0a78bac3eec7fdadba3a4183a8fed Mon Sep 17 00:00:00 2001 From: tassaron Date: Sun, 28 May 2017 21:24:51 -0400 Subject: savePreset creates a file --- components/original.py | 3 +++ components/text.py | 3 +++ main.py | 32 ++++++++++++++++++++++++++------ 3 files changed, 32 insertions(+), 6 deletions(-) (limited to 'main.py') diff --git a/components/original.py b/components/original.py index e901c21..5655867 100644 --- a/components/original.py +++ b/components/original.py @@ -34,6 +34,9 @@ class Component: self.visColor = RGBFromString(self.page.lineEdit_visColor.text()) self.parent.drawPreview() + def savePreset(self): + return {} + def previewRender(self, previewWorker): spectrum = numpy.fromfunction(lambda x: 0.008*(x-128)**2, (255,), dtype="int16") width = int(previewWorker.core.settings.value('outputWidth')) diff --git a/components/text.py b/components/text.py index eab33b2..e900994 100644 --- a/components/text.py +++ b/components/text.py @@ -73,6 +73,9 @@ class Component: self.parent.drawPreview() + def savePreset(self): + return {} + def previewRender(self, previewWorker): width = int(previewWorker.core.settings.value('outputWidth')) height = int(previewWorker.core.settings.value('outputHeight')) diff --git a/main.py b/main.py index d4c12d8..fe76e2c 100644 --- a/main.py +++ b/main.py @@ -125,12 +125,12 @@ class Main(QtCore.QObject): LoadDefaultSettings(self) # create data directory structure if needed - dataDir = QDesktopServices.storageLocation(QDesktopServices.DataLocation) - if not os.path.exists(dataDir): - os.makedirs(dataDir) + self.dataDir = QDesktopServices.storageLocation(QDesktopServices.DataLocation) + if not os.path.exists(self.dataDir): + os.makedirs(self.dataDir) for neededDirectory in ('projects', 'presets'): - if not os.path.exists(os.path.join(dataDir, neededDirectory)): - os.mkdir(os.path.join(dataDir, neededDirectory)) + if not os.path.exists(os.path.join(self.dataDir, neededDirectory)): + os.mkdir(os.path.join(self.dataDir, neededDirectory)) self.pages = [] @@ -352,7 +352,27 @@ class Main(QtCore.QObject): self.window.stackedWidget.setCurrentIndex(row + 1) def openSavePresetDialog(self): - pass + if self.window.listWidget_componentList.currentRow() == -1: + return + newName, OK = QtGui.QInputDialog.getText(QtGui.QWidget(), 'Audio Visualizer', 'New Preset Name:') + if OK and newName: + index = self.window.listWidget_componentList.currentRow() + if index != -1: + saveValueStore = self.selectedComponents[index].savePreset() + componentName = str(self.selectedComponents[index]).strip() + if hasattr(self.selectedComponents[index], 'version'): + vers = self.selectedComponents[index].version() + else: + vers = 1 + self.createPresetFile(componentName, vers, saveValueStore, newName) + + def createPresetFile(self, componentName, version, saveValueStore, filename): + dirname = os.path.join(self.dataDir, 'presets', componentName, str(version)) + if not os.path.exists(dirname): + os.makedirs(dirname) + with open(os.path.join(dirname, filename), 'w') as f: + for itemset in saveValueStore.items(): + f.write('%s=%s' % itemset) def openPreset(self, comboBoxIndex): pass -- cgit v1.2.3 From db7acbf3ea353d6c5b21de44b4f532b43339ac5c Mon Sep 17 00:00:00 2001 From: tassaron Date: Sun, 28 May 2017 22:58:13 -0400 Subject: save empty presets, comboBox populates with preset names --- components/original.py | 3 +++ components/text.py | 3 +++ main.py | 18 ++++++++++++++---- 3 files changed, 20 insertions(+), 4 deletions(-) (limited to 'main.py') diff --git a/components/original.py b/components/original.py index 5655867..e543dac 100644 --- a/components/original.py +++ b/components/original.py @@ -34,6 +34,9 @@ class Component: self.visColor = RGBFromString(self.page.lineEdit_visColor.text()) self.parent.drawPreview() + def version(self): + return 1 + def savePreset(self): return {} diff --git a/components/text.py b/components/text.py index e900994..334fc80 100644 --- a/components/text.py +++ b/components/text.py @@ -55,6 +55,9 @@ class Component: self.page = page return page + def version(self): + return 1 + def update(self): self.title = self.page.lineEdit_title.text() self.alignment = self.page.comboBox_textAlign.currentIndex() diff --git a/main.py b/main.py index fe76e2c..5bb10f5 100644 --- a/main.py +++ b/main.py @@ -304,6 +304,7 @@ class Main(QtCore.QObject): self.window.stackedWidget.addWidget(self.pages[-1]) self.window.stackedWidget.setCurrentIndex(index) self.selectedComponents[-1].update() + self.updateOpenPresetComboBox(self.selectedComponents[-1]) def removeComponent(self): for selected in self.window.listWidget_componentList.selectedItems(): @@ -318,6 +319,7 @@ class Main(QtCore.QObject): selected = self.window.listWidget_componentList.selectedItems() index = self.window.listWidget_componentList.row(selected[0]) self.window.stackedWidget.setCurrentIndex(index) + self.updateOpenPresetComboBox(self.selectedComponents[index]) def moveComponentUp(self): row = self.window.listWidget_componentList.currentRow() @@ -351,6 +353,16 @@ class Main(QtCore.QObject): self.window.listWidget_componentList.setCurrentRow(row + 1) self.window.stackedWidget.setCurrentIndex(row + 1) + def updateOpenPresetComboBox(self, component): + self.window.comboBox_openPreset.clear() + self.window.comboBox_openPreset.addItem("Open Preset") + destination = os.path.join(self.dataDir, 'presets', + str(component).strip(), str(component.version())) + if not os.path.exists(destination): + os.makedirs(destination) + for f in os.listdir(destination): + self.window.comboBox_openPreset.addItem(f) + def openSavePresetDialog(self): if self.window.listWidget_componentList.currentRow() == -1: return @@ -360,10 +372,7 @@ class Main(QtCore.QObject): if index != -1: saveValueStore = self.selectedComponents[index].savePreset() componentName = str(self.selectedComponents[index]).strip() - if hasattr(self.selectedComponents[index], 'version'): - vers = self.selectedComponents[index].version() - else: - vers = 1 + vers = self.selectedComponents[index].version() self.createPresetFile(componentName, vers, saveValueStore, newName) def createPresetFile(self, componentName, version, saveValueStore, filename): @@ -373,6 +382,7 @@ class Main(QtCore.QObject): with open(os.path.join(dirname, filename), 'w') as f: for itemset in saveValueStore.items(): f.write('%s=%s' % itemset) + self.window.comboBox_openPreset.addItem(filename) def openPreset(self, comboBoxIndex): pass -- cgit v1.2.3