From ce8ea438c54f9d5586f35bce5c1c674e389a8107 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 23 Oct 2010 18:12:35 +0200 Subject: [PATCH 1/2] changed dump_md.py to work with windows --- netmd/dump_md.py | 38 +++++++++++++++++++++----------------- 1 files changed, 21 insertions(+), 17 deletions(-) diff --git a/netmd/dump_md.py b/netmd/dump_md.py index 3475c10..27d7768 100755 --- a/netmd/dump_md.py +++ b/netmd/dump_md.py @@ -3,6 +3,8 @@ import os import usb1 import libnetmd from time import sleep +import platform +import subprocess def main(bus=None, device_address=None, ext='ogg', track_range=None, title=None): context = usb1.LibUSBContext() @@ -77,24 +79,26 @@ def MDDump(md_iface, ext, track_range, disk_title_override=None): # ... pause and go back to track beginning. md_iface.pause() md_iface.gotoTrack(track) - pid = os.fork() - if pid == 0: - os.execlp('sox', 'sox', - '-d', - '-S', - '-c', channels, - '%s/%s' % (directory, filename), - 'silence', '1', '0.1', '0.1%', - 'trim', '0', duration, - ) + if platform.system() == 'Windows': + sox = 'sox.exe' else: - md_iface.play() - sleep(((hour * 60 + minute) * 60) + second) - while md_iface.getPosition()[0] == track: - sleep(1) - md_iface.pause() - print 'Done, waiting for sox to return...' - os.waitpid(pid, 0) + sox = 'sox' + start_sox = [sox, + '-d', + '-S', + '-c', channels, + '%s/%s' % (directory, filename), + 'silence', '1', '0.1', '0.1%', + 'trim', '0', duration, + ] + pid = subprocess.Popen(start_sox) + md_iface.play() + sleep(((hour * 60 + minute) * 60) + second) + while md_iface.getPosition()[0] == track: + sleep(1) + md_iface.pause() + print 'Done, waiting for sox to return...' + pid.wait() # TODO: generate playlists based on groups defined on the MD print 'Finished.' -- 1.7.2.3.msysgit.0