Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2008-12-19 03:32:22 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2008-12-19 23:50:57 (GMT)
commit11ddb4cbf9b695fdd042105d7e341f20e347e018 (patch)
tree8a7fa92756418f5ea3919f63303f107a92a7b697
parentfbee8354739ecb45aa70345a7ee3a7b0584e6766 (diff)
move micrec code to OS.py
-rw-r--r--TamTamJam.activity/Jam/JamMain.py7
-rw-r--r--TamTamMini.activity/Mini/miniTamTamMain.py7
-rw-r--r--TamTamSynthLab.activity/SynthLab/SynthLabMain.py7
-rw-r--r--common/Config.py3
-rw-r--r--common/Util/OS.py24
5 files changed, 30 insertions, 18 deletions
diff --git a/TamTamJam.activity/Jam/JamMain.py b/TamTamJam.activity/Jam/JamMain.py
index e9dde2a..d78b095 100644
--- a/TamTamJam.activity/Jam/JamMain.py
+++ b/TamTamJam.activity/Jam/JamMain.py
@@ -696,13 +696,8 @@ class JamMain(gtk.EventBox):
#==========================================================
# Mic recording
def micRec(self, widget, mic):
- if os.path.isfile(os.path.join(Config.DATA_DIR, mic)):
- os.system('rm ' + Config.DATA_DIR + '/' + mic)
self.csnd.inputMessage("i5600 0 4")
- OS.system("arecord -f S16_LE -t wav -r 16000 -d 4 " + Config.DATA_DIR + "/tempMic.wav")
- OS.system("csound " + "--strset999=" + Config.DATA_DIR + " " + Config.FILES_DIR + "/crop.csd")
- OS.system("mv " + Config.DATA_DIR + "/micTemp.wav " + Config.DATA_DIR + "/" + mic)
- OS.system("rm " + Config.DATA_DIR + "/tempMic.wav")
+ OS.arecord(4, "crop.csd", mic)
self.csnd.load_mic_instrument(mic)
diff --git a/TamTamMini.activity/Mini/miniTamTamMain.py b/TamTamMini.activity/Mini/miniTamTamMain.py
index 28d7df5..2665b5a 100644
--- a/TamTamMini.activity/Mini/miniTamTamMain.py
+++ b/TamTamMini.activity/Mini/miniTamTamMain.py
@@ -315,13 +315,8 @@ class miniTamTamMain(gtk.EventBox):
self.leftBox.remove( self.instrumentPanel )
def micRec(self, widget, mic):
- if os.path.isfile(Config.DATA_DIR + '/' + mic):
- os.system('rm ' + Config.DATA_DIR + '/' + mic)
self.csnd.inputMessage("i5600 0 4")
- OS.system("arecord -f S16_LE -t wav -r 16000 -d 4 " + Config.DATA_DIR + "/tempMic.wav")
- OS.system("csound " + Config.FILES_DIR + "/crop.csd")
- OS.system("mv " + Config.DATA_DIR + "/micTemp " + Config.DATA_DIR + "/" + mic)
- OS.system("rm " + Config.DATA_DIR + "/tempMic.wav")
+ OS.arecord(4, "crop.csd", mic)
self.micTimeout = gobject.timeout_add(200, self.loadMicInstrument, mic)
self.instrumentPanel.set_activeInstrument(mic,True)
self.setInstrument(mic)
diff --git a/TamTamSynthLab.activity/SynthLab/SynthLabMain.py b/TamTamSynthLab.activity/SynthLab/SynthLabMain.py
index 87ed022..071665f 100644
--- a/TamTamSynthLab.activity/SynthLab/SynthLabMain.py
+++ b/TamTamSynthLab.activity/SynthLab/SynthLabMain.py
@@ -687,12 +687,7 @@ class SynthLabMain(gtk.EventBox):
if self.synthObjectsParameters.types[i] == 9:
snd = i - 3
dur = self.synthObjectsParameters.sourcesParameters[(i % 4) * 4]
- if os.path.isfile(Config.DATA_DIR + '/labmic' + str(snd)):
- os.system('rm ' + Config.DATA_DIR + '/labmic' + str(snd))
- OS.system("arecord -f S16_LE -t wav -r 16000 -d " + str(dur) + " " + Config.DATA_DIR + '/tempMic.wav')
- OS.system("csound " + "--strset999=" + Config.DATA_DIR + " " + Config.FILES_DIR + "/cropSynthLab.csd")
- OS.system("mv " + Config.DATA_DIR + "/micTemp.wav " + Config.DATA_DIR + "/" + 'labmic' + str(snd))
- OS.system("rm " + Config.DATA_DIR + "/tempMic.wav")
+ OS.arecord(dur, "cropSynthLab.csd", 'labmic' + str(snd))
return
def handleMotion( self, widget, event ):
diff --git a/common/Config.py b/common/Config.py
index 9e2c069..53b161e 100644
--- a/common/Config.py
+++ b/common/Config.py
@@ -62,6 +62,9 @@ PLUGIN_NPERIODS = 2
## SOUNDS
##############
+ARECORD = "arecord " + os.getenv("TAMTAM_ARECORD",
+ "-f S16_LE -t wav -r 16000 -c2 -D hw:0,0")
+
LOW, MID, HIGH, PUNCH = range( 4 )
INSTRUMENT_TABLE_OFFSET = 5000
diff --git a/common/Util/OS.py b/common/Util/OS.py
index 6bea80b..605fbf4 100644
--- a/common/Util/OS.py
+++ b/common/Util/OS.py
@@ -1,5 +1,8 @@
import commands
import logging
+import os
+
+import common.Config as Config
def system(*args):
cmd = ' '.join(args)
@@ -10,3 +13,24 @@ def system(*args):
return status
+def arecord(duration, crop_csd, dst):
+ tmp_file = os.path.join(Config.TMP_DIR, 'tempMic.wav')
+ out_file = os.path.join(Config.TMP_DIR, 'micTemp.wav')
+ crop_file = os.path.join(Config.FILES_DIR, crop_csd)
+ dst_file = os.path.join(Config.DATA_DIR, dst)
+
+ if system(Config.ARECORD, "-d", str(duration), tmp_file)[0] != 0:
+ logging.error('arecord failed')
+ return False
+
+ system("csound", "--strset999=" + Config.TMP_DIR, crop_file)
+
+ if os.path.isfile(dst):
+ os.remove(dst_file)
+
+ if os.path.isfile(out_file):
+ os.rename(out_file, dst_file)
+ os.remove(tmp_file)
+ else:
+ logging.debug('crop failed')
+ os.rename(tmp_file, dst_file)