1extern crate hidapi;
2extern crate rand;
3
4mod colour;
5mod controller;
6pub mod devices;
7mod display;
8mod error;
9mod events;
10pub mod fonts;
11
12use crate::devices::MaschineMikroMk2;
13pub use colour::Colour;
14pub use controller::Controller;
15pub use display::{Canvas, Font, Pixel};
16pub use error::Error;
17pub use events::{Direction, Event, EventContext, EventHandler, EventTask};
18use hidapi::HidApi;
19
20pub fn get_device(hid_api: &HidApi) -> Result<MaschineMikroMk2, error::Error> {
21 let device = hid_api
22 .open(MaschineMikroMk2::VENDOR_ID, MaschineMikroMk2::PRODUCT_ID)
23 .expect("Cannot open device");
24
25 Ok(MaschineMikroMk2::new(device))
26}
27
28#[cfg(test)]
29mod tests {
30 #[test]
31 fn it_works() {
32 let result = 2 + 2;
33 assert_eq!(result, 4);
34 }
35}