[][src]Crate async_mpd

async-mpd

Runtime agnostic mpd client library for Rust

Example:

use async_std as runtime;
use async_mpd::MpdClient;

#[runtime::main]
async fn main() -> Result<(), async_mpd::Error> {
    // Connect to server
    let mut mpd = MpdClient::new("localhost:6600").await?;

    // Get all tracks in the play queue and display them
    let queue = mpd.queue().await?;
    for track in queue {
        println!("{:?} - {:?}", track.artist, track.title);
    }

    // Play track nr 2 in the queue
    mpd.playid(2).await?;

    // Get and print the current server status
    println!("{:?}", mpd.status().await?);

    // Set the volume to 50%
    mpd.setvol(50).await?;

    Ok(())
}

Using tokio:

use tokio as runtime;
use async_mpd::MpdClient;

#[runtime::main]
async fn main() -> Result<(), async_mpd::Error> {
    // Connect to server
    let mut mpd = MpdClient::new("localhost:6600").await?;

    // Get all tracks in the play queue and display them
    let queue = mpd.queue().await?;
    for track in queue {
        println!("{:?} - {:?}", track.artist, track.title);
    }

    // Play track nr 2 in the queue
    mpd.playid(2).await?;

    // Get and print the current server status
    println!("{:?}", mpd.status().await?);

    // Set the volume to 50%
    mpd.setvol(50).await?;

    // Pause
    mpd.pause().await?;

    Ok(())
}

Structs

Directory

Directory on the server

Filter

Abstraction over search filter

MpdClient

Mpd Client

Playlist

Playlist on the server

Stats

Mpd database statistics

Status

Mpd status response

Track

Track

Enums

Error

Error

FilterExpr

Search expression used by search function

MixedResponse

Response from commands that returns entries with metadata and tags

State

Player status

Subsystem

Subsystem

Tag

Track tags

Traits

ToFilterExpr