amm_macros 0.3.4

Abstract Music Manipulation (AMM) Rust SDK internal macros
Documentation
# amm-sdk

Abstract Music Manipulation (AMM) SDK

Under heavy development - Updates forthcoming

## Under Development

* Create WASM build
* Finish `iter_timeslices()` to work with playback
  * Make `get_slices_for_playback()`: Create implicit slices for things like glissandos and mordents
    * Determines that fastest possible timeslice and use that as the time quantization level
    * Can also select ranges of timeslices
* Implement `get_pcm_samples()` on `Timeslice` to create audio buffer for note + mods to use in direct playback
* Finish MIDI Reader Implementation
* MusicXML change to inline serialize/deserialize, remove Regex, implement ZIP transcoder
* Create MusicXML WASM build
* Make fully `no_std` compatible

* Add a test containing Glissandos and/or multi-note tremolos and/or implicit + explicit tempo changes
* Finish MusicXML Reader Implementation
  * Take into account `time-only` attributes
  * Scan text attributes for common items (rall., etc.)
  * Scan `sound` attributes for items maybe not recognized otherwise (rall., etc.)
* Remove `pub(crate)` from Phrase and make `MultiVoice` okay with this
* Make composition timeslice iterator a real iterator (and check that staff timeslices line up correctly)
* MusicXML parser: End multivoice phrase if there is a timeslice that is missing the next voice note when there should be one