mumuse 0.7.0

Small music theory library written in Rust with MIDI capabilities.
Documentation
# **mumuse**

![build](https://github.com/alelouis/mumuse/actions/workflows/rust.yml/badge.svg)
![license](https://img.shields.io/github/last-commit/alelouis/mumuse)
[![doc.rs](https://img.shields.io/badge/doc.rs-mumuse-red)](https://docs.rs/mumuse/latest/mumuse/)
[![crates.io](https://img.shields.io/badge/crates.io-mumuse-red)](https://crates.io/crates/mumuse)
![rustc](https://img.shields.io/badge/rustc-%3E%201.58.0-important)

 A Rust small music theory library, featuring:
  - Elementary operations with notes and chords
  - Building chords from scales degrees 
  - Scale modes
  - Sequence building with streams
  - Midi real time playing of streams

This is still in active development, things **will** brake.


```rust
  let mut stream: Stream = Stream::new();
  let mut conn_out = midi::get_output_connection("Virtual Midi Bus 1".to_string());
  
  // Constructing event stream
  let notes = ["A3", "B3", "C4", "D4", "A3", "B3", "C4", "D4"];
  let mut time = Time::new(1, 4, 1);
  let duration = Duration::new(16, 1); // 16th notes

  for n in notes {
      let note = Note::try_from(n).unwrap();
      stream.add_note(note, time, duration);
      time = time + duration;
  }

  // Real time play of events
  stream.play(&mut conn_out, 120.0, 4); // midi_connection, beat per minute, beats per bar
```

## **How to use**
Add mumuse lib crate to your `Cargo.toml` file.
```toml
mumuse = "version"
``` 

Browse the `examples/` folder in order to see capabilities of the library.  
Also, you can check the [documentation](https://docs.rs/mumuse/latest/mumuse/).