tplay 0.4.2

A media player that visualizes images and videos as ASCII art directly in the terminal (with sound).
use std::env;
// use std::process::Command;

fn main() {
    let user_mpv_0_34 = env::var("CARGO_FEATURE_MPV_0_34").is_ok();
    let user_mpv_0_35 = env::var("CARGO_FEATURE_MPV_0_35").is_ok();
    let user_rodio_audio = env::var("CARGO_FEATURE_RODIO_AUDIO").is_ok();

    let enabled_count = [user_mpv_0_34, user_mpv_0_35, user_rodio_audio]
        .iter()
        .filter(|&&x| x)
        .count();

    if enabled_count > 1 {
        eprintln!("Error: At most one of the following features can be enabled at a time: mpv_0_34, mpv_0_35, rodio_audio.");
        std::process::exit(1);
    }

    if user_mpv_0_34 || user_mpv_0_35 || user_rodio_audio {
        if user_mpv_0_34 {
            println!("cargo:rustc-cfg=feature=\"mpv_0_34\"");
        } else if user_mpv_0_35 {
            println!("cargo:rustc-cfg=feature=\"mpv_0_35\"");
        } else {
            println!("cargo:rustc-cfg=feature=\"rodio_audio\"");
        }
    }
    // else {
    //     let output = Command::new("mpv").arg("--version").output();
    //     if let Ok(output) = output {
    //         let version_string = String::from_utf8_lossy(&output.stdout);
    //         let version = version_string
    //             .lines()
    //             .next()
    //             .unwrap_or("")
    //             .split_whitespace()
    //             .nth(1)
    //             .unwrap_or("");

    //         if version.starts_with("0.34") {
    //             println!("cargo:rustc-cfg=feature=\"mpv_0_34\"");
    //         } else if version.starts_with("0.35") {
    //             println!("cargo:rustc-cfg=feature=\"mpv_0_35\"");
    //         } else {
    //             // fallback to rodio
    //             println!("cargo:rustc-cfg=feature=\"rodio_audio\"");
    //         }
    //     } else {
    //         // fallback to rodio
    //         println!("cargo:rustc-cfg=feature=\"rodio_audio\"");
    //     }
    // }
}