ObjectiveMax Forums

Wed May 28 02:16:00 +0000 2008 (Posted by Tim)

ObjectiveMax
0 Comments

We have two forum/mailing lists setup now for the ObjectiveMax project:

The first one is for discussion, etc. The second one is SVN commits and notifications of wiki page changes, etc.

There has been some interest expressed in the project, so hopefully this will help with the communication.

ObjectiveMax is Released

Sat May 24 07:26:00 +0000 2008 (Posted by Tim)

ObjectiveMax
0 Comments

The initial version of ObjectiveMax, version 0.1, has been released over on the project site: http://code.google.com/p/objectivemax/

ObjectiveMax is a framework for creating objects in Objective-C for Cycling ‘74’s Max/MSP. It makes for a super easy way to create objects. For example, this is what the audio perform method looks like for an object doing the same thing as the +~ object in MSP:
- (t_max_err) processAudioWithInput:(MaxAudioSignal *)signals_in 
                          andOutput:(MaxAudioSignal *)signals_out
{
    short    vs = signals_in->vs;
    float    *in1 = signals_in->vectors[0];
    float    *in2 = signals_in->vectors[1];
    float    *out = signals_out->vectors[0];

    while(vs--){
        if(in2)
            operandAttribute = *in2++;
        *out++ = *in1++ + operandAttribute;
    }

    return MAX_ERR_NONE;
}

That’t all there is to make the object handle audio. Everything else that you would normally do in a C external (call the init dsp function in main, create a dsp method, etc.) is all automatic and behind the scenes.

If you want your object to handle a float message in Max, all you do is write a float method. Like this:
- (t_max_err) floatMessage:(double)value
{
    operandAttribute = value;
    return MAX_ERR_NONE;
}

The documentation is currently weak at best. There really needs to be a tutorial or something. This is an open-source project though, so perhaps someone will write one and contribute it to the project!