I'm just getting started with MAX, so what I'm after is a reading on whether what I'd like to do is feasible and if so, what particular MAX facilities I should aim to study so that I can do it.
I have some C code that processes MIDI data. It takes in a set of data related to MIDI notes as they come in and produces other data as its output. The amount of data is modest -- no more than a few dozen integers per note processes. The processing is also trivial by signal-processing standards -- probably no more than a few thousand instructions per note. However, it is complicated enough that I would rather not translate the C code into another language if I can avoid it.
So my question is this: Once I am comfortable in using MAX, how can I go about writing an interface that will let me use this C code. Ideally what I would like is to write something in MAX that I can interpose between a piece of commercial software, such as a sequencer, and the MIDI device that it is controlling. The MAX part would inspect the MIDI signals as they flow by, figure out what to send to the C code, and send the possibly altered MIDI data on to the device.
Is there a normal way of doing this in MAX? If so, can you point me at the particular MAX objects that I need for this purpose?