Crate moc_rs[][src]

Expand description

moc-rs

This library helps you interact with the MoC (Music on Console) server running on your system thru the binary, which in the case of arch linux (and manjaro) is installable thru pacman

sudo pacman -S moc

or for debian and ubuntu

sudo apt install moc

⚠️ The currently tested and working version of MoC is v2.5.2.

If you can’t find an up to date version of MoC in your distributions repositories (highly unlikey) please check out the download section of the official website

Basic example

use moc_rs::{Moc, MocInterface, MocSource};
use std::time::Duration;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Make a new instance of Moc
    let mut moc_ctx = Moc::new("mocp".into());

    // Get info about the current state of MoC
    let mocinfo = moc_ctx.info();
    dbg!(mocinfo);

    moc_ctx.set_volume(50);

    // A little delay to let the last task execute
    std::thread::sleep(Duration::from_millis(100));

    // Begin streaming SceneSat Radio immediately
    moc_ctx.immediate_play(MocSource::Url(
        "http://sentinel.scenesat.com:8000/scenesat".into(),
    ));

    // Remember to check out the docs for more info!

    Ok(())
}

For more examples check out the examples/ directory on github

Projects using moc-rs

Contributing

Thanks for your interest in contributing! please open an issue or merge request to contibute. Code contributions submitted for inclusion in the work by you, as defined in the MPL2.0 license, shall be licensed as the above without any additional terms or conditions.

License

This project is licenced under MPL 2.0.

Re-exports

pub use common::MocControl;
pub use common::MocInfo;
pub use common::MocSource;
pub use common::MocState;
pub use moc::Moc;
pub use moc::MocInterface;

Modules

This module contains common enums and structs.

The module containing all the useful stuff: the Moc struct and the most important trait in the whole crate