Comments (2)
Helllo! Sorry for the late reply.
I am not familiar with the CoreMIDI framework or how are messages encoded in that context.
However, after some quick googling, I believe messages arrive as a single u32
per message, am I correct? I am basing myself off of this piece of code:
let words = Mirror(reflecting: packet.words).children
words.forEach { word in
let uint32 = word.value as! UInt32
guard uint32 > 0 else { return }
midiPacket = MidiPacket(
first: UInt8((uint32 & 0xFF000000) >> 24),
second: UInt8((uint32 & 0x00FF0000) >> 16),
third: UInt8((uint32 & 0x0000FF00) >> 8),
fourth: UInt8(uint32 & 0x000000FF))
}
In this case, CoreMIDI would basically encode a big endian 4-byte buffer in a uint32
. You can parse this format using LiveEvent::parse(&int.to_be_bytes())
.
Is my understanding correct?
from midly.
I'm assuming it's correct. If it turns out it isn't, please reopen this issue.
from midly.
Related Issues (20)
- Support for midi files with RIFF header? HOT 1
- Smf::new returns Result even though it cannot fail HOT 2
- impl std::error::Error for midly::Error HOT 3
- Remove generic cruft HOT 2
- Add full support for realtime MIDI streams HOT 5
- Decouple write feature from std HOT 3
- Incremental writing? HOT 6
- Cannot use Arena together with the midir crate HOT 2
- Difficulty with timing HOT 5
- Playing back a midi file HOT 11
- `invalid midi: invalid status byte` when parsing LiveEvent from midi clock HOT 2
- Where did the benchmark MIDI files come from? HOT 3
- `EndOfTrack` is never present, even after adding it HOT 1
- Writing SMF file with running status to reduce file size? HOT 2
- Static SMF HOT 1
- Typo: [0, fps[ HOT 1
- Add examples on how to write LiveEvents to mid files HOT 3
- Better support for primitive ops HOT 3
- Consider using the bounded_integer crate HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from midly.