



	<p><p>We have two forum/mailing lists setup now for the <a href="http://code.google.com/p/objectivemax/">ObjectiveMax</a> project:</p>
<ul>
	<li><a href="http://groups.google.com/group/objectivemax">http://groups.google.com/group/objectivemax</a></li>
	<li><a href="http://groups.google.com/group/objectivemax-notify">http://groups.google.com/group/objectivemax-notify</a></li>
</ul>
<p>The first one is for discussion, etc.  <br />
The second one is <span class="caps">SVN</span> commits and notifications of wiki page changes, etc.</p>
<p>There has been some interest expressed in the project, so hopefully this will help with the communication.</p></p>
<p class="date">
		2008-05-28 02:16:00 UTC
		(Posted by Tim )
</p>
<p class="comments">0 Comments</p>


	<p><p>The initial version of ObjectiveMax, version 0.1, has been released over on the project site:<br />
<a href="http://code.google.com/p/objectivemax/">http://code.google.com/p/objectivemax/</a></p>
<p>ObjectiveMax is a framework for creating objects in Objective-C for Cycling &#8217;74&#8217;s Max/<span class="caps">MSP</span>.  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 <span class="caps">MSP</span>:<br />
<pre style="background-color:white;"><br />
- (t_max_err) processAudioWithInput:(MaxAudioSignal *)signals_in <br />
                          andOutput:(MaxAudioSignal *)signals_out<br />
{<br />
	short	vs = signals_in&#8594;vs;<br />
	float	*in1 = signals_in&#8594;vectors<sup class="footnote"><a href="#fn0">0</a></sup>;<br />
	float	*in2 = signals_in&#8594;vectors<sup class="footnote"><a href="#fn1">1</a></sup>;<br />
	float	*out = signals_out&#8594;vectors<sup class="footnote"><a href="#fn0">0</a></sup>;</p>
<p>while(vs&#8212;){<br />
		if(in2)<br />
			operandAttribute = *in2++;<br />
		*out++ = *in1++ + operandAttribute;<br />
	}<br />
	<br />
	return MAX_ERR_NONE;<br />
}<br />
</pre></p>
<p>That&#8217;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.</p>
<p>If you want your object to handle a float message in Max, all you do is write a float method.  Like this:<br />
<pre style="background-color:white;"><br />
- (t_max_err) floatMessage:(double)value<br />
{<br />
	operandAttribute = value;<br />
	return MAX_ERR_NONE;<br />
}<br />
</pre></p>
<p>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 <a href="http://code.google.com/p/objectivemax">the project</a>!</p></p>
<p class="date">
		2008-05-24 07:26:00 UTC
		(Posted by Tim )
</p>
<p class="comments">0 Comments</p>





<br />

