Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TamTamEdit.activity
diff options
context:
space:
mode:
authorOli <olivier.belanger@umontreal.ca>2008-04-10 03:30:59 (GMT)
committer Oli <olivier.belanger@umontreal.ca>2008-04-10 03:30:59 (GMT)
commit2fa8060b7fd790b3260e65d225a4eca5080683a7 (patch)
treebecc0461cffa308ecf5f77acb9ee130ada0a728c /TamTamEdit.activity
parent957af9bf585d58518bb275ec4926ed11bbd3285e (diff)
On the way to respect security policy
Diffstat (limited to 'TamTamEdit.activity')
-rw-r--r--TamTamEdit.activity/Edit/MainWindow.py30
-rw-r--r--TamTamEdit.activity/TamTamEdit.py22
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)