Sign-Up for electrotap.com
  or Login if you have already registered

c74 is using ObjectiveMax

Timothy Place 2010-03-19 19:45:00 UTC

ObjectiveMax
0 Comments

The c74 iPhone application is a cool app for controlling Max remotely.

The source code was published to the c74 Twitter page @ http://www.nr74.org/c74 . The Mac version is using ObjectiveMax .

Cool stuff!

ObjectiveMax Forums

Timothy Place 2008-05-28 02:16:00 UTC

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

Timothy Place 2008-05-24 07:26:00 UTC

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→vectors0;
float *in2 = signals_in→vectors1;
float *out = signals_out→vectors0;

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!