Skip to content

Correct CoreMIDI memory sizing. Fixes #358#359

Open
nightbirdsevolve wants to merge 82 commits intomixedinkey-opensource:1.8from
nightbirdsevolve:issue-358
Open

Correct CoreMIDI memory sizing. Fixes #358#359
nightbirdsevolve wants to merge 82 commits intomixedinkey-opensource:1.8from
nightbirdsevolve:issue-358

Conversation

@nightbirdsevolve
Copy link
Copy Markdown
Contributor

@nightbirdsevolve nightbirdsevolve commented Jan 7, 2026

Hello @armadsen . I was having crashes recently on my app 106 Editor that makes heavy SysEx usage. The same culprit kept showing in the logs, so i nailed it down, and here's the fix. If you could have a look in the following weeks, i'd be delighted! Thank you :)

…rting between beats and seconds, along with tests.

(cherry picked from commit 6e0c342ca02df5a61a7b15e94c6b208a29a73f24)
…Stamp to seconds to MIKMIDISequencer, plus tests.

(cherry picked from commit 7d746a613a2194189dff3fe52669eaa7460b8507)
… conversion methods, along with more test coverage.
…econdsForMusicTimeStamp:options:] and add tests for it
…izers where bridged methods incorrectly took an error: Void argument. Fixes issue mixedinkey-opensource#272.
…n methods respect overridden rate (+ tests)
…rting between beats and seconds, along with tests.

(cherry picked from commit 6e0c342ca02df5a61a7b15e94c6b208a29a73f24)
…Stamp to seconds to MIKMIDISequencer, plus tests.

(cherry picked from commit 7d746a613a2194189dff3fe52669eaa7460b8507)
… conversion methods, along with more test coverage.
…econdsForMusicTimeStamp:options:] and add tests for it
…ce/issue-273

Add rate property to MIKMIDISequencer
…ce/issue-275

Improve performance of -[MIKMIDISequence tempoEvents]
…tering in -[MIKMIDISequencer timeInSecondsForMusicTimeStamp:options:].
…ache tempo events. Speeds up getting tempo events by ~99% again.
armadsen and others added 28 commits December 15, 2021 21:54
…s into a track, along with performance test for sequence copying and updated baselines
… creation machinery to allow specializing command subclass initialization based on MIDI packet contents, not just command type
…etCommand a subclass of MIKMIDIMachineControlCommand
…of MIKMMCLocateTargetCommand (fka. MIKMIDIMachineControlLocateTargetCommand)
…tSourceEndpoint initWithName:error:] into Swift
…ce/issue-297-client-source-endpoint-initializer

Issue mixedinkey-opensource#297: Fix weird bridging of -[MIKMIDIClientSourceEndpoint initWithName:error:] into Swift
…ARM the MIDIPackets in a MIDIPacketList are 4-byte aligned, and not packed as they are on X86/PowerPC.
… data in [MIKMIDICommand commandsWithMIDIPacket:].
This reverts commit 180e17a.
}

// Bounds check
if (eventDataLength == 0 || eventDataLength > 256 || dataOffset + eventDataLength > inputPacket->length) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little confused about this. Why are you breaking if eventDataLength is > 256? That should be OK now that malloc is being used instead of a static sizeof(MIDIPacketList) byte stack allocation for the packet list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants