Files
dss/core/utils/waveform.py
2012-09-18 15:03:50 +01:00

35 lines
1.4 KiB
Python
Executable File

import subprocess
import traceback
import uuid
import os
from dss import settings
def generate_waveform(input_file, output_file):
print "Generating waveform"
try:
working_file = "%s%s.wav" % (settings.DSS_TEMP_PATH, uuid.uuid1())
try:
print "Starting decode : %s\nInput File: %s\nOutput File: %s" % (settings.DSS_LAME_PATH, input_file, working_file)
p = subprocess.call([settings.DSS_LAME_PATH, "--decode", input_file, working_file])
print "Finished decode"
if os.path.exists(working_file):
print "Starting waveform generation"
print "%s -m -l -i %s -o -b 000000 %s" % (settings.DSS_WAVE_PATH, working_file, output_file)
subprocess.call([settings.DSS_WAVE_PATH, "-t", "-m", "-l", "-i", working_file, "-o", output_file])
if os.path.isfile(output_file):
os.remove(working_file)
print "Generated waveform"
return output_file
else:
print "Failed generating waveform: %s" % output_file
else:
print "Unable to find working file, did LAME succeed?"
return ""
except Exception, ex:
print "Error generating waveform %s" % (ex)
except:
print "Error generating waveform"
traceback.print_exc()