On Mon, Jul 31, 2006 at 12:10:36AM +0800, Bruce Murphy wrote:
On Sat, Jul 29, 2006 at 01:13:24PM -0400, Ge Wang wrote:
What, in particular, do you have in mind? If you can send some pseudocode that demonstrates the desired API functionalities, we can go from there.
Well, unless I'm missing some vast cornucopia of MIDI functionality, the following would probably be nice.
And even if I have missed the implementation of it I've polished my ChucK writing up a bit by implementing everything I wanted in the attached public class file. I should probably clean it up a little more and there are some other functions I have in mind, but it should be useful for anyone using MIDI output in ChucK right now. It would be useful to have in the main distribution once it's finished. In particular it implements: * a settable default channel for MIDI comms * all MIDI commmands, including note on and off with velocity, aftertouch, controllers, channe pressure, pitch wheel, program change. * bank and subbank select. * polymorphic functions with sensible defaults where useful. * note counting (on by default), so an instance can send noteoffs for outstanding notes on one or all channels. * some convenience functions for volume, all_note_off controllers What I really want to work on is getting the chuck midi port names that I wrote that patch for available within chuck programs so that devices can be found like that. Not sure how the the interface between underlying code and the user-visible language in Chuck works, so I probably have more digging to do. B> -- Packrat (BSc/BE;COSO;Wombat Implementor) Nihil illegitemi carbovndvm