1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # libmapper-rs
//!
//! libmapper is a cross-platform library for connecting data sources to synthesizers, DAWs, and other hardware or software devices.
//! It provides a simple API for creating and managing signals, devices, and mappings between them.
//!
//! This project contains safe, idiomatic rust bindings to the libmapper C api.
//!
//! ## Concepts
//! ### [Devices](device)
//! Libmapper operates on a shared peer-to-peer graph. A [Device](device::Device) represents a connection to this graph and is a container for signals.
//!
//! Most libmapper code will start by creating a device and polling until it becomes ready, like so:
//! ```
//! use libmapper_rs::device::Device;
//! fn main() {
//! let mut device = Device::create("CoolDevice");
//! loop {
//! device.poll_and_block(std::time::Duration::from_millis(10));
//! if device.is_ready() {
//! break;
//! }
//! }
//! println!("Device is ready!");
//! // create signals, maps, etc.
//! }
//! ```
use mpr_get_version;
/// Get the version of the loaded libmapper library.