Files @ cad8207933d7
Branch filter:

Location: light9/bin/musicPad

Drew Perttula
KC fix logging, startup after graph sync, display uri tails when there's no label
Ignore-this: 55d0cac2cd05d07ac6e7691b25b6b117
#!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)