diff options
author | Oli <olivier.belanger@umontreal.ca> | 2008-04-10 03:30:59 (GMT) |
---|---|---|
committer | Oli <olivier.belanger@umontreal.ca> | 2008-04-10 03:30:59 (GMT) |
commit | 2fa8060b7fd790b3260e65d225a4eca5080683a7 (patch) | |
tree | becc0461cffa308ecf5f77acb9ee130ada0a728c /TamTamEdit.activity | |
parent | 957af9bf585d58518bb275ec4926ed11bbd3285e (diff) |
On the way to respect security policy
Diffstat (limited to 'TamTamEdit.activity')
-rw-r--r-- | TamTamEdit.activity/Edit/MainWindow.py | 30 | ||||
-rw-r--r-- | TamTamEdit.activity/TamTamEdit.py | 22 |
2 files changed, 27 insertions, 25 deletions
diff --git a/TamTamEdit.activity/Edit/MainWindow.py b/TamTamEdit.activity/Edit/MainWindow.py index 2420477..4842013 100644 --- a/TamTamEdit.activity/Edit/MainWindow.py +++ b/TamTamEdit.activity/Edit/MainWindow.py @@ -18,6 +18,7 @@ from EditToolbars import generateToolbar from gettext import gettext as _ from subprocess import Popen from sugar.graphics.palette import Palette, Invoker, _palette_observer +from sugar.datastore import datastore import time import os import commands @@ -603,7 +604,7 @@ class MainWindow( gtk.EventBox ): filter = gtk.FileFilter() filter.add_pattern('*.ogg') chooser.set_filter(filter) - chooser.set_current_folder(Config.TUNE_DIR) + chooser.set_current_folder(Config.INSTANCE_DIR) for f in chooser.list_shortcut_folder_uris(): chooser.remove_shortcut_folder_uri(f) @@ -631,12 +632,12 @@ class MainWindow( gtk.EventBox ): return False def handlePlay( self, widget = None ): - if widget: widget.event( gtk.gdk.Event( gtk.gdk.LEAVE_NOTIFY ) ) # fake the leave event if self.audioRecordState: - self.csnd.inputMessage( "i5400 0 -1" ) + filename = Config.INSTANCE_DIR + "/perf.wav" + self.csnd.inputMessage( Config.CSOUND_RECORD_PERF % filename) time.sleep( 0.01 ) if self.playScope == "All": @@ -698,7 +699,8 @@ class MainWindow( gtk.EventBox ): widget.event( gtk.gdk.Event( gtk.gdk.LEAVE_NOTIFY ) ) # fake the leave event if self.audioRecordState: - self.csnd.inputMessage( "i5401 4 1" ) + filename = Config.INSTANCE_DIR + "/perf.wav" + self.csnd.inputMessage( Config.CSOUND_STOP_RECORD_PERF % filename) time.sleep( 0.01 ) if self.playbackTimeout: @@ -713,10 +715,20 @@ class MainWindow( gtk.EventBox ): self.csnd.__del__() time.sleep(0.5) self.audioRecordState = False - command = "gst-launch-0.10 filesrc location=" + Config.PREF_DIR + "/perf.wav ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=" + self.audioFileName - command2 = "rm /home/olpc/.sugar/default/tamtam/perf.wav" + command = "gst-launch-0.10 filesrc location=" + Config.INSTANCE_DIR + "/perf.wav ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=" + self.audioFileName + command2 = "rm " + Config.INSTANCE_DIR + "/perf.wav" (status, output) = commands.getstatusoutput(command) (status2, output2) = commands.getstatusoutput(command2) + + jobject = datastore.create() + jobject.metadata['title'] = os.path.split(self.audioFileName)[1] + jobject.metadata['keep'] = '1' + jobject.metadata['mime_type'] = 'audio/ogg' + jobject.file_path = self.audioFileName + datastore.write(jobject) + + os.remove(self.audioFileName) + self.csnd.__init__() time.sleep(0.1) self.csnd.connect(True) @@ -1393,7 +1405,7 @@ class MainWindow( gtk.EventBox ): filter = gtk.FileFilter() filter.add_pattern('*.tam') chooser.set_filter(filter) - chooser.set_current_folder(Config.TUNE_DIR) + chooser.set_current_folder(Config.DATA_DIR) for f in chooser.list_shortcut_folder_uris(): chooser.remove_shortcut_folder_uri(f) @@ -1416,7 +1428,7 @@ class MainWindow( gtk.EventBox ): def handleLoopSave(self): date = str(time.localtime()[3]) + '-' + str(time.localtime()[4]) + '-' + str(time.localtime()[5]) - ofilename = Config.PREF_DIR + '/' + date + '.ttl' + ofilename = Config.DATA_DIR + '/' + date + '.ttl' ofile = open(ofilename, 'w') ofilestream = ControlStream.TamTamOStream (ofile) self.noteDB.dumpToStream(ofilestream) @@ -1464,7 +1476,7 @@ class MainWindow( gtk.EventBox ): filter = gtk.FileFilter() filter.add_pattern('*.tam') chooser.set_filter(filter) - chooser.set_current_folder(Config.TUNE_DIR) + chooser.set_current_folder(Config.DATA_DIR) for f in chooser.list_shortcut_folder_uris(): chooser.remove_shortcut_folder_uri(f) diff --git a/TamTamEdit.activity/TamTamEdit.py b/TamTamEdit.activity/TamTamEdit.py index 644d0b5..99a0fc3 100644 --- a/TamTamEdit.activity/TamTamEdit.py +++ b/TamTamEdit.activity/TamTamEdit.py @@ -22,7 +22,11 @@ from sugar.activity import activity class TamTamEdit(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle) - self.ensure_dirs() + + for snd in ['mic1','mic2','mic3','mic4','lab1','lab2','lab3','lab4', 'lab5', 'lab6']: + if not os.path.isfile(os.path.join(Config.DATA_DIR, snd)): + shutil.copyfile(Config.SOUNDS_DIR + '/' + snd , Config.DATA_DIR + '/' + snd) + os.system('chmod 0777 ' + Config.DATA_DIR + '/' + snd + ' &') color = gtk.gdk.color_parse(Config.WS_BCK_COLOR) self.modify_bg(gtk.STATE_NORMAL, color) @@ -87,7 +91,6 @@ class TamTamEdit(activity.Activity): def onDestroy(self, arg2): if Config.DEBUG: print 'DEBUG: TamTam::onDestroy()' - os.system('rm -f ' + Config.PREF_DIR + '/synthTemp*') self.edit.onDestroy() @@ -97,6 +100,7 @@ class TamTamEdit(activity.Activity): gtk.main_quit() +# No more dir created by TamTam def ensure_dir(self, dir, perms=0777, rw=os.R_OK|os.W_OK): if not os.path.isdir( dir ): try: @@ -106,20 +110,6 @@ class TamTamEdit(activity.Activity): if not os.access(dir, rw): print 'ERROR: directory %s is missing required r/w access\n' % dir - def ensure_dirs(self): - self.ensure_dir(Config.TUNE_DIR) - self.ensure_dir(Config.SYNTH_DIR) - self.ensure_dir(Config.SNDS_DIR) - self.ensure_dir(Config.SNDS_INFO_DIR) - self.ensure_dir(Config.SCRATCH_DIR) - - if not os.path.isdir(Config.PREF_DIR): - os.mkdir(Config.PREF_DIR) - os.system('chmod 0777 ' + Config.PREF_DIR + ' &') - for snd in ['mic1','mic2','mic3','mic4','lab1','lab2','lab3','lab4', 'lab5', 'lab6']: - shutil.copyfile(Config.SOUNDS_DIR + '/' + snd , Config.SNDS_DIR + '/' + snd) - os.system('chmod 0777 ' + Config.SNDS_DIR + '/' + snd + ' &') - def read_file(self,file_path): self.edit.handleJournalLoad(file_path) |