1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3
4pub(crate) mod error;
5pub(crate) mod midi;
6
7#[cfg(feature = "io")]
8pub(crate) mod client;
9#[cfg(feature = "io")]
10pub(crate) mod connection;
11#[cfg(feature = "io")]
12pub(crate) mod name;
13#[cfg(feature = "io")]
14pub(crate) mod platform;
15#[cfg(feature = "io")]
16pub(crate) mod port;
17
18pub use error::Error;
19#[cfg(feature = "io")]
20pub use io::*;
21pub use midi::channel::Channel;
22pub use midi::codec_error::CodecError;
23pub use midi::data_byte::DataByte;
24pub use midi::decode::decode;
25pub use midi::decode::Decoded;
26pub use midi::message::MidiMessage;
27pub use midi::parse_error::ParseError;
28pub use midi::pitch_bend::PitchBend;
29pub use midi::raw_message::RawMidiMessage;
30pub use midi::song_position::SongPosition;
31pub use midi::sys_ex::SysEx;
32pub use midi::sys_ex_error::SysExError;
33pub use midi::value_error::ValueError;
34
35#[cfg(feature = "io")]
36mod io {
37 pub use crate::client::Client;
38 pub use crate::connection::DestinationChanges;
39 pub use crate::connection::DestinationConnection;
40 pub use crate::connection::ErrorStream;
41 pub use crate::connection::EventStream;
42 pub use crate::connection::MessageStream;
43 pub use crate::connection::SourceChanges;
44 pub use crate::connection::SourceConnection;
45 pub use crate::connection::Streams;
46 pub use crate::connection::SysexStream;
47 pub use crate::connection::Timed;
48 pub use crate::connection::VirtualDestination;
49 pub use crate::connection::VirtualSource;
50 pub use crate::error::IoError;
51 pub use crate::error::NameError;
52 pub use crate::error::PlatformError;
53 pub use crate::port::Destination;
54 pub use crate::port::DestinationChange;
55 pub use crate::port::PortId;
56 pub use crate::port::Source;
57 pub use crate::port::SourceChange;
58}