You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-41Lines changed: 5 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,9 +5,6 @@
5
5
6
6
A suite of tools used to read, modify, and manage MIDI-related systems
7
7
8
-
### NOTE: The main branch is in development. Stable versions are on their own branches.
9
-
10
-
11
8
## Overview
12
9
13
10
`midix` provides users with human readable MIDI structures without invariant states. That is, the midi 1.0 specification has been strongly typed such that programatic commands built with this crate are not invariant.
@@ -17,12 +14,13 @@ calling [`Reader::read_event`](crate::prelude::Reader::read_event) will yield a
17
14
18
15
Additionally, `midix` provides the user with [`LiveEvent::from_bytes`](crate::events::LiveEvent), which will parse events from a live MIDI source.
19
16
20
-
You may also make your own MIDI representation using the provided structs. A significant portion of
21
-
this library lives within the `bevy` feature. See details below on usage with the bevy engine.
17
+
You may also make your own MIDI representation using the provided structs.
22
18
23
19
## Goal
24
20
`midix` is NOT designed to be as fast as possible. It is designed for a user to navigate the MIDI format to read and write to. Instead of working directly with bytes, use language to define what your MIDI is supposed to do.
25
21
22
+
TODO: Benches
23
+
26
24
## Getting Started
27
25
28
26
MIDI can be interpreted in two main ways: through `LiveEvent`s and regular file `Events`.
`midix` will adhere to semantic versioning. This means that I've opted to use major versions, even if this crate does not consider itself feature complete (you might get a midix `v29.3.1` someday)
84
+
`midix` will adhere to semantic versioning. I've opted to use major versions.
87
85
88
86
The current MSRV is rust `1.87`
89
87
90
-
## Acknowledgments
91
-
92
-
This crate was originally forked from [`bevy_midi`](https://github.com/BlackPhlox/bevy_midi). Please check them out if this crate doesn't suit your needs!
93
-
94
-
## MIDIx feature roadmap
95
-
-`no_std`
96
-
- Streamer (midir ext)
97
-
- Interfaces between `MidiSource` and `Midi` (some representable MIDI type, like a file, events, etc.)
98
-
- MIDI writers
99
-
- Streamer (async timed stream event via midir)
100
-
- MidiFile
101
-
102
88
## General feature schedule
103
89
The SUPPORT.md file denotes the length of time major revisions are supported.
104
90
105
91
When the major version of the crate is incremented, new features for the previous version(s)
106
92
will likely be neglected. If you need a non-breaking feature for an older version before the end
107
93
of its maintenence period, please let me know!
108
94
109
-
## Feature roadmap
110
-
-`no_std`
111
-
- Streamer (midir ext)
112
-
- Interfaces between `MidiSource` and `Midi` (some representable MIDI type, like a file, events, etc.)
113
-
- MIDI writers
114
-
- Streamer (async timed stream event via midir)
115
-
- MidiFile
116
-
117
95
## Acknowledgments
118
96
A lot of the documentation is copied directly from
0 commit comments