diff options
author | Oli <olivier.belanger@umontreal.ca> | 2007-06-13 19:08:53 (GMT) |
---|---|---|
committer | Oli <olivier.belanger@umontreal.ca> | 2007-06-13 19:08:53 (GMT) |
commit | 46e8c5234c25b7fe4eb09d64be15369b25659cb1 (patch) | |
tree | 9fbb639fa5aa92e0df268324f0602774f68d8ef7 | |
parent | eabe84c60f65357beeb45fd2a2240d944b5759c5 (diff) |
SynthLab's presets can be saved on disk
-rw-r--r-- | Config.py | 3 | ||||
-rw-r--r-- | SynthLab/SynthLabWindow.py | 32 | ||||
-rwxr-xr-x | TamTam.py | 4 |
3 files changed, 33 insertions, 6 deletions
@@ -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') @@ -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) |