Mercurial > code > home > repos > light9
view bin/musicPad @ 929:c20c2eea6fce
another hack to stop graphfile from thinking its own new empty file means it should delete all the statements in that context
Ignore-this: 94639afbbe8d3a0abd8a06e16922394f
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Tue, 11 Jun 2013 20:25:02 +0000 |
parents | d8202a0a7fd5 |
children | 7772cc48e016 |
line wrap: on
line source
#!bin/python """ rewrite all the songs with silence at the start and end """ import sys, wave, logging, os sys.path.append(".") from light9 import showconfig from light9.namespaces import L9 from light9.ascoltami.playlist import Playlist logging.basicConfig(level=logging.INFO) log = logging.getLogger() introPad = 4 postPad = 9 # 5 + autostop + 4 playlist = Playlist.fromShow(showconfig.getGraph(), showconfig.showUri()) for p in playlist.allSongPaths(): log.info("read %s", p) inputWave = wave.open(p, 'r') outputDir = os.path.join(os.path.dirname(p), "pad") try: os.makedirs(outputDir) except OSError: pass # exists outputPath = os.path.join(outputDir, os.path.basename(p)) outputWave = wave.open(outputPath, 'w') outputWave.setparams(inputWave.getparams()) bytesPerSecond = (inputWave.getnchannels() * inputWave.getsampwidth() * inputWave.getframerate()) outputWave.writeframesraw("\x00" * (bytesPerSecond * introPad)) outputWave.writeframesraw(inputWave.readframes(inputWave.getnframes())) outputWave.writeframesraw("\x00" * (bytesPerSecond * postPad)) outputWave.close() log.info("wrote %s", outputPath)