def audition_render(actions, filename): """Calls render on each action in actions, concatenates the results, and renders an audio file""" print("Calling render()!") print(actions) print(filename) encoder = Lame(ofile=open(filename, 'wb')) encoder.start() for a in actions: print("add_pcm: %r"%a) encoder.add_pcm(a) encoder.finish() print("render() finished!")
def build_entire_track(dest): """Build the entire-track file, saving to dest""" with open(dest,"wb") as f: encoder = Lame(ofile=f) print("Building...") encoder.start() mixer = Mixer(None, None) for idx,track in enumerate(database.get_many_mp3(order_by="sequence,id")): print("Adding [%d]: ##%d %s (%r)"%(idx,track.id,track.track_details["artist"],track.filename)) mixer.add_track(track) for actions in mixer.generate_tracks(): print("Encoder: Got %d actions"%len(actions)) for a in actions: print("Encoder: Adding %r"%(a,)) encoder.add_pcm(a) encoder.finish() print("Build complete.")