errantember: (Little Cowboy Scott)
[personal profile] errantember
I continued my adventures to figure out MIDIStroke tonight.



I extracted several things from the MIDIStroke program, including it's main executable section in assembler language and various other esoterica that I think will help me figure out how it works. This gives me an instruction-by-instruction map of the interesting part of the program. It's not all of it, because it makes calls to OS X to do some of it's dirty work, but I know the part that I care about is in the part I've got. The next step was to hook up a MIDI device, then start checking out the behavior of the program when I hit or released a key. Originally I was setting individual breakpoints, like stop signs in the program, to see where it was going when I hit a key. However, I've realized that what would work a lot faster would be to simply record the execution of the program for each input combination I want, then compare the executions to see what changes when I do different things. Using this and deductive reasoning, I should eventually be able to figure out something like this:

1) Which part of the program processes the incoming MIDI messages (already got this one nailed)
2) ...then which part of *that* differentiates between 3 different types of messages
3) ...then what part of the program compares what's in the little box to what I'm hitting on the MIDI keyboard

Once I know these things, I should be able to answer the master question, which is "what do I need to put into the little box to get MIDIStroke to work with my Rocktron MIDI MATE pedal?"

I need to learn more about GNU Debugger's ability to record the path it takes through a program so I don't have to do it by hand. But since it's 4 AM, I'll probably do it *tomorrow.

Profile

errantember: (Default)
errantember

December 2015

S M T W T F S
  12 345
6 789101112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 4th, 2025 01:51 am
Powered by Dreamwidth Studios