Go to the Source
Dec. 3rd, 2008 03:13 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Or, if you don't have the source, go to the assembler. :)
I made a bit more progress in using the GNU Debugger to run around inside MIDIStroke, and also made some progress in disassembling the entire program using otool. It does look like it might be possible to actually figure out the encoding scheme for program changes and control changes using this method, thought it won't be easy. For those generally unfamiliar with this sort of thing, what I'm doing is taking a complete program and looking at it's guts to try to figure out something about how it works. When you create a program, you have something called "source code", which is a sort-of englishy-language description of how you want the program to run. The computer can't read this, though, so it has to be translated into machine language, which is called assembler. Generally, when you're using an existing program you didn't write, you only get the assembler to look at, which is very much akin to trying to figure out how a car works without having the design diagrams or any manuals.
I need to isolate where the number in the box, which is what you input to tell it which MIDI event to fire on, is parsed to determine what kind it is. If I can do that, I should be able to tell what needs to be in that box to get the program to treat it as a Program Change or Control Change, at which point I can tell the world, possibly including the original author, and be a hero. Or the subject of a lawsuit. Or both!
I made a bit more progress in using the GNU Debugger to run around inside MIDIStroke, and also made some progress in disassembling the entire program using otool. It does look like it might be possible to actually figure out the encoding scheme for program changes and control changes using this method, thought it won't be easy. For those generally unfamiliar with this sort of thing, what I'm doing is taking a complete program and looking at it's guts to try to figure out something about how it works. When you create a program, you have something called "source code", which is a sort-of englishy-language description of how you want the program to run. The computer can't read this, though, so it has to be translated into machine language, which is called assembler. Generally, when you're using an existing program you didn't write, you only get the assembler to look at, which is very much akin to trying to figure out how a car works without having the design diagrams or any manuals.
I need to isolate where the number in the box, which is what you input to tell it which MIDI event to fire on, is parsed to determine what kind it is. If I can do that, I should be able to tell what needs to be in that box to get the program to treat it as a Program Change or Control Change, at which point I can tell the world, possibly including the original author, and be a hero. Or the subject of a lawsuit. Or both!