playback-rs 0.4.8

A very simple audio/song loading and playing library.
Documentation
use color_eyre::eyre::Result;
use log::info;

use playback_rs::{Player, Song};

fn main() -> Result<()> {
	color_eyre::install()?;
	simplelog::TermLogger::init(
		simplelog::LevelFilter::Trace,
		simplelog::Config::default(),
		simplelog::TerminalMode::Mixed,
		simplelog::ColorChoice::Auto,
	)
	.unwrap();

	let filenames = std::env::args().skip(1);
	let player = Player::new(None)?;
	for next_song in filenames {
		info!("Loading song '{}'...", next_song);
		let song = Song::from_file(&next_song, None)?;
		info!("Waiting for queue space to become available...");
		while player.has_next_song() {
			std::thread::sleep(std::time::Duration::from_millis(100));
		}
		info!(
			"Queueing next song '{}' with {:?} left in current song...",
			next_song,
			player.get_playback_position()
		);
		player.play_song_next(&song, None)?;
		info!("Queued.");
	}
	info!("Waiting for songs to finish.");
	while player.has_current_song() {
		std::thread::sleep(std::time::Duration::from_millis(100));
	}
	info!("Exiting.");

	Ok(())
}