Files @ 4c6d88aa9e26
Branch filter:

Location: light9/bin/musicPad

Drew Perttula
enough element and rdf support to drag one adjuster and see its value change
Ignore-this: 8aebc2ff62d5afee77845737737aab00
#!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)