Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOli <olivier.belanger@umontreal.ca>2007-06-13 19:08:53 (GMT)
committer Oli <olivier.belanger@umontreal.ca>2007-06-13 19:08:53 (GMT)
commit46e8c5234c25b7fe4eb09d64be15369b25659cb1 (patch)
tree9fbb639fa5aa92e0df268324f0602774f68d8ef7
parenteabe84c60f65357beeb45fd2a2240d944b5759c5 (diff)
SynthLab's presets can be saved on disk
-rw-r--r--Config.py3
-rw-r--r--SynthLab/SynthLabWindow.py32
-rwxr-xr-xTamTam.py4
3 files changed, 33 insertions, 6 deletions
diff --git a/Config.py b/Config.py
index 4ca1b69..6b4d461 100644
--- a/Config.py
+++ b/Config.py
@@ -26,12 +26,15 @@ print 'INFO: loaded TAMTAM_ROOT=%s' % TAM_TAM_ROOT
SOUNDS_DIR = TAM_TAM_ROOT + "/Resources/Sounds"
FILES_DIR = TAM_TAM_ROOT + "/Resources"
TUNE_DIR='/'
+SYNTH_DIR='/'
if SugarMode == True:
PREF_DIR = env.get_profile_path() + '/tamtam'
TUNE_DIR=env.get_profile_path() + '/tamtam/tunes'
+ SYNTH_DIR=env.get_profile_path() + '/tamtam/synthlab'
else:
PREF_DIR = SOUNDS_DIR + '/temp'
TUNE_DIR= os.getenv('HOME') + '/.tamtam/tunes'
+ SYNTH_DIR= os.getenv('HOME') + '/.tamtam/synthlab'
#PLUGIN
diff --git a/SynthLab/SynthLabWindow.py b/SynthLab/SynthLabWindow.py
index 094cab8..b1aa357 100644
--- a/SynthLab/SynthLabWindow.py
+++ b/SynthLab/SynthLabWindow.py
@@ -875,6 +875,9 @@ class SynthLabWindow(SubActivity):
mess = "f5203 0 16 -2 " + " " .join([str(n) for n in lastTable]) + " 0 0 0 0"
self.csnd.inputMessage( mess )
time.sleep(.01)
+
+ def updateTables( self ):
+ self.writeTables( self.synthObjectsParameters.types, self.synthObjectsParameters.controlsParameters, self.synthObjectsParameters.sourcesParameters, self.synthObjectsParameters.fxsParameters )
def controlToSrcConnections( self ):
self.contSrcConnections = []
@@ -970,12 +973,22 @@ class SynthLabWindow(SubActivity):
self.clipMask = gtk.gdk.bitmap_create_from_data( None, bitmap, pix.get_width(), pix.get_height() )
def handleSave(self, widget, data):
- chooser = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_SAVE, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_SAVE,gtk.RESPONSE_OK))
+ chooser = gtk.FileChooserDialog(title='Save SynthLab Preset',action=gtk.FILE_CHOOSER_ACTION_SAVE, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_SAVE,gtk.RESPONSE_OK))
+ filter = gtk.FileFilter()
+ filter.add_pattern('*.syn')
+ chooser.set_filter(filter)
+ chooser.set_current_folder(Config.SYNTH_DIR)
+
+ for f in chooser.list_shortcut_folder_uris():
+ chooser.remove_shortcut_folder_uri(f)
if chooser.run() == gtk.RESPONSE_OK:
+ ofilename = chooser.get_filename()
+ if ofilename[-4:] != '.syn':
+ ofilename += '.syn'
try:
print 'INFO: save SynthLab file %s' % chooser.get_filename()
- f = shelve.open( chooser.get_filename(), 'n')
+ f = shelve.open(ofilename, 'n')
self.saveState(f)
f.close()
except IOError:
@@ -983,9 +996,16 @@ class SynthLabWindow(SubActivity):
chooser.destroy()
- def handleLoad(self, widget, data):
-
- chooser = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
+ def handleLoad(self, widget, data):
+ chooser = gtk.FileChooserDialog(title='Load SynthLab Preset',action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
+
+ filter = gtk.FileFilter()
+ filter.add_pattern('*.syn')
+ chooser.set_filter(filter)
+ chooser.set_current_folder(Config.SYNTH_DIR)
+
+ for f in chooser.list_shortcut_folder_uris():
+ chooser.remove_shortcut_folder_uri(f)
if chooser.run() == gtk.RESPONSE_OK:
try:
@@ -997,7 +1017,7 @@ class SynthLabWindow(SubActivity):
print 'ERROR: failed to load SynthLab state from file %s' % chooser.get_filename()
chooser.destroy()
-
+
def handleSaveTemp( self ):
file = Config.PREF_DIR + '/synthTemp'
f = shelve.open(file, 'n')
diff --git a/TamTam.py b/TamTam.py
index 211c717..d166e06 100755
--- a/TamTam.py
+++ b/TamTam.py
@@ -136,6 +136,9 @@ class TamTam(Activity):
if Config.DEBUG > 3: print 'DEBUG: TamTam::onFocusOut in TamTam.py'
csnd = new_csound_client()
csnd.connect(True)
+ if self.mode == 'synth':
+ self.modeList[ self.mode ].updateSound()
+ self.modeList[ self.mode ].updateTables()
#csnd.load_instruments()
def onFocusOut(self, event, data=None):
@@ -191,6 +194,7 @@ class TamTam(Activity):
def ensure_dirs(self):
self.ensure_dir(Config.TUNE_DIR)
+ self.ensure_dir(Config.SYNTH_DIR)
if not os.path.isdir(Config.PREF_DIR):
os.mkdir(Config.PREF_DIR)