aboutsummaryrefslogtreecommitdiff
path: root/core.py
diff options
context:
space:
mode:
authortassaron2017-06-08 16:50:48 -0400
committertassaron2017-06-08 16:50:48 -0400
commitbb1e54b31eb6157ef041764cfccd60484a0e02d8 (patch)
treecbd2aed7edd1b6c429437929c03ec8cdb9c67e33 /core.py
parent6079c4fd24aecf2ecfed0528c1427a74d596993f (diff)
saved preset titles, code clean-ups
componentList drag'n'drop disabled for now; will work on it in another branch
Diffstat (limited to 'core.py')
-rw-r--r--core.py58
1 files changed, 42 insertions, 16 deletions
diff --git a/core.py b/core.py
index 0fa5ec5..797749d 100644
--- a/core.py
+++ b/core.py
@@ -6,29 +6,34 @@ from os.path import expanduser
import subprocess as sp
import numpy
from PIL import Image
-import tempfile
+#import tempfile
from shutil import rmtree
-import atexit
+#import atexit
import time
from collections import OrderedDict
import json
from importlib import import_module
+from PyQt4.QtGui import QDesktopServices
class Core():
def __init__(self):
self.FFMPEG_BIN = self.findFfmpeg()
- self.tempDir = os.path.join(
- tempfile.gettempdir(), 'audio-visualizer-python-data')
- if not os.path.exists(self.tempDir):
- os.makedirs(self.tempDir)
- atexit.register(self.deleteTempDir)
+ #self.tempDir = os.path.join(
+ # tempfile.gettempdir(), 'audio-visualizer-python-data')
+ #if not os.path.exists(self.tempDir):
+ # os.makedirs(self.tempDir)
+ #atexit.register(self.deleteTempDir)
+ self.dataDir = QDesktopServices.storageLocation(
+ QDesktopServices.DataLocation)
+ self.presetDir = os.path.join(self.dataDir, 'presets')
self.wd = os.path.dirname(os.path.realpath(__file__))
self.loadEncoderOptions()
self.modules = self.findComponents()
self.selectedComponents = []
+ self.selectedModules = []
def findComponents(self):
def findComponents():
@@ -45,19 +50,40 @@ class Core():
for name in findComponents()]
def insertComponent(self, compPos, moduleIndex):
+ if compPos < 0:
+ compPos = len(self.selectedComponents) -1
self.selectedComponents.insert(
compPos,
- self.modules[moduleIndex].Component())
- return compPos #if compPos > -1 else len(self.selectedComponents)-1
+ self.modules[moduleIndex].Component()
+ )
+ self.selectedModules.insert(
+ compPos,
+ moduleIndex
+ )
+ return compPos
def moveComponent(self, startI, endI):
comp = self.selectedComponents.pop(startI)
- i = self.selectedComponents.insert(endI, comp)
- return i
+ self.selectedComponents.insert(endI, comp)
+ i = self.selectedModules.pop(startI)
+ self.selectedModules.insert(endI, i)
+ return endI
def updateComponent(self, i):
+ print('updating %s' % self.selectedComponents[i])
self.selectedComponents[i].update()
+ def moduleIndexFor(self, compIndex):
+ return self.selectedModules[compIndex]
+
+ def createPresetFile(self, compName, vers, saveValueStore, filename):
+ dirname = os.path.join(self.presetDir, compName, str(vers))
+ if not os.path.exists(dirname):
+ os.makedirs(dirname)
+ filepath = os.path.join(dirname, filename)
+ with open(filepath, 'w') as f:
+ f.write(Core.stringOrderedDict(saveValueStore))
+
def loadEncoderOptions(self):
file_path = os.path.join(self.wd, 'encoder-options.json')
with open(file_path) as json_file:
@@ -139,11 +165,11 @@ class Core():
return completeAudioArray
- def deleteTempDir(self):
- try:
- rmtree(self.tempDir)
- except FileNotFoundError:
- pass
+ #def deleteTempDir(self):
+ # try:
+ # rmtree(self.tempDir)
+ # except FileNotFoundError:
+ # pass
def cancel(self):
self.canceled = True