Files @ 9c8583cd14ea
Branch filter:

Location: light9/bin/musicPad

Drew Perttula
better error when network config is missing
Ignore-this: 978b097cca2d8503fd065f89cf9877f6
#!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)