Skip to main content

inori_mpd/
lib.rs

1#![warn(missing_docs)]
2#![allow(warnings)]
3
4//! MPD client for Rust
5//!
6//! This crate tries to provide idiomatic Rust API for [Music Player Daemon][mpd].
7//! The main entry point to the API is [`Client`] struct, and inherent methods
8//! of the struct follow [MPD protocol][proto] for most part, making use of
9//! traits to overload different parameters for convenience.
10//!
11//! [mpd]: https://www.musicpd.org/
12//! [proto]: https://www.musicpd.org/doc/protocol/
13//!
14//! # Usage
15//!
16//! ```text
17//! [dependencies]
18//! mpd = "*"
19//! ```
20//!
21//! ```rust,no_run
22//! extern crate mpd;
23//!
24//! use mpd::Client;
25//! use std::net::TcpStream;
26//!
27//! # fn main() {
28//! let mut conn = Client::connect("127.0.0.1:6600").unwrap();
29//! conn.volume(100).unwrap();
30//! conn.load("My Lounge Playlist", ..).unwrap();
31//! conn.play().unwrap();
32//! println!("Status: {:?}", conn.status());
33//! # }
34//! ```
35
36mod macros;
37mod convert;
38pub mod error;
39pub mod version;
40pub mod reply;
41pub mod status;
42pub mod song;
43pub mod output;
44pub mod playlist;
45pub mod plugin;
46pub mod stats;
47pub mod search;
48pub mod message;
49pub mod idle;
50pub mod mount;
51mod sticker;
52
53mod proto;
54pub mod client;
55
56pub use client::Client;
57pub use idle::{Idle, Subsystem};
58pub use message::{Channel, Message};
59pub use mount::{Mount, Neighbor};
60pub use output::Output;
61pub use playlist::Playlist;
62pub use plugin::Plugin;
63pub use search::{Query, Term};
64pub use song::{Id, Song};
65pub use stats::Stats;
66pub use status::{ReplayGain, State, Status};
67pub use version::Version;