Example #1
0
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!")
Example #2
0
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.")