Last night I reimplemented MIDI support in LilyPad. It turned out to be really easy to use the AudioToolbox framework’s MusicSequence and MusicPlayer classesopaque C data types + functions. One bug to be fixed: if a new preview happens while you’re playing, the old sequence continues to play. This can be comical, but not useful.
Archive for the ‘LilyPad’ Category
MIDI reimplemented
Monday, May 29th, 2006LilyPad today
Monday, May 22nd, 2006I made a few fixes in LilyPad today to take care of two bugs:
- ID 9, Auto-preview behavior is a little annoying
- ID 8, Keyboard shortcuts for indentation aren’t internationally friendly
ID 9
Regarding auto-preview, Henning Ramm had written:
It’s really a nice feature, but doesn’t yet behave “just right”. I’d like to start it with every “save” (or after the delay) and then run through (but stoppable), regardless what I type in the meantime. For it’s not possible to just preview the part I work at, that would show my progress better than if I must stop typing to see anything. Perhaps you can make that behaviour configurable, too.
Done. I didn’t bother to make it configurable—if somebody complains about the default behavior, I can do that.
ID 8
Also a request from Henning:
- increase/decrease indent of marked lines using tab/shift-tab (the actual keys don’t work on every int’l keyboard)
Also done. I was previously of the opinion that doing this would violate standard OS X behavior. But this is how Eclipse does it, and I like it. So I’m going with it.
LilyPad development today
Monday, May 15th, 2006I finished setting up the Mantis bug-tracker and brought in bugs from my old Bugzilla.
First completed off the to-do list:
WebSVN up
Tuesday, May 9th, 2006You can now browse the repositories for the two available projects (EcoGillespie and LilyPad) using WebSVN:
LilyPad source now public
Wednesday, April 26th, 2006I did a little cleanup on the source code for LilyPad and put it into a public Subversion repository. The code is available for (really rudimentary) online viewing here.
I still haven’t implemented most of the things I was going to have implemented by now–other things (e.g., the Summer of Code proposal) have taken over, as they always seem to do. But there are a few changes since the last preview version:
- It’s building as a Universal Binary—full speed ahead on Intel Macs. This actually makes some sense now that LilyPond itself is Intel-native.
- Rudimentary proof-of-concept parenthesis matching. Doesn’t actually match LilyPond syntax quite right yet, but it’s a start.
- The elimination of any way to play MIDI. With the intention, of course, of rewriting it in CoreMIDI…but that hasn’t happened yet. So I’ve actually removed a feature.
- Now handling textedit:// URLs as LilyPond.app does. When you run LilyPad, it makes itself the default handler for those URLs.
One known bug off the top of my head: I’m using the python LilyPond script embedded in LilyPond.app, which likes to open up the file in Preview after it’s done being generated. This is beyond annoying.