Closed 
Monday, January 28, 2008 11:48 - News
I'm no longer working at Ircam. So I will no longer update this page in the future.

However I'll keep this page online for backup and I can still be contacted from there or from my independent smartelectronix webpage.
  |  permalink   |   ( 3 / 5860 )

Comments disabled 
Wednesday, January 24, 2007 11:59
I've disabled comments until there's a better anti-stam for sphplog.
  |  permalink   |   ( 3 / 5806 )

Oscbonjour update 
Friday, November 10, 2006 19:37 - OpenSoundControl
Thanks to Charles Bascou from GMEM there's an update to the oscbonjour maxmsp externals for UniversalBinary.

see the old article for the download location

  |  permalink   |  related link   |   ( 3 / 5914 )

MaxMSP externals with ObjectiveC 
Thursday, November 9, 2006 11:05 - Code
yes, it's possible because ObjectiveC is a strict superset of C. You just need to use a *.m extension so that Xcode compiles it as ObjectiveC and not just C.

I already used C++ to write maxmsp externals so I knew it should be possible with another C based language. But I needed a proof of concept. here it is:


#include "ext.h"
#import <Foundation/NSObject.h>

@interface Fraction : NSObject
{
int num;
int den;
}
- (void) setNumerator: (int) d;
- (void) setDenominator: (int) d;
- (int) numerator;
- (int) denominator;
- (void) print;
@end

@implementation Fraction
- (void) setNumerator: (int) d
{
num = d;
}
- (void) setDenominator: (int) d
{
den = d;
}
- (int) numerator
{
return num;
}
- (int) denominator
{
return den;
}
- (void) print
{
post("%i/%i",num,den);
}
@end

typedef struct
{
t_object o;
Fraction *frac; // to show how we can store an ObjectiveC instance inside a C struct.
} objc_t;

static t_messlist *objc_class = NULL;

static void *objc_new(Symbol *s, short ac, Atom *at)
{
objc_t *o = (objc_t *)newobject(objc_class);
Fraction *frac = [[Fraction alloc] init];
[frac setNumerator: 1];
[frac setDenominator: 4];
[frac print];
o->frac = frac;
return o;
}
static void objc_free(objc_t *o)
{
Fraction *frac = o->frac;
if(frac)
{
[frac release];
}
}
int main(void)
{
setup(&objc_class,
(method)objc_new,
(method)objc_free,
(short)sizeof(objc_t), 0L,
A_GIMME, 0);
}

  |  permalink   |  related link   |   ( 3 / 6147 )

oscbonjour for maxmsp draft 
Friday, June 16, 2006 17:36 - OpenSoundControl


beware this is just a draft



here is a max/msp external for OSX (UniversalBinary) and windows doing Bonjour/ZeroConf service discovery and announcement:

basically there are only 3 messages:
browse: browse for available services of type _osc._udp
resolve name: get hostname and port number from service name
register name port: register and a service of type _osc._udp with specificied name and UDP port number

here is the download link:
oscbonjour.zip

and the old one
oscbonjour_ppc_win.zip

for the windows version you'll need to install Bonjour for windows:
http://www.apple.com/fr/macosx/features/bonjour/

SourceCode


the sourcecode is available on sourceforge under a BSD license, you'll need 2 modules: oscbonjour and zeroconf, here are the commands you need to run:

svn co https://svn.sourceforge.net/svnroot/osctools/trunk/oscbonjour oscbonjour

svn co https://svn.sourceforge.net/svnroot/osctools/trunk/zeroconf zeroconf

Update


osc-bonjour for Max/MSP is no longer maintained, please use the more general zeroconf.browse, zeroconf.resolve and zeroconf.register externals instead.
They are much simpler and powerful and let you work with any kind of zeronf services, not just _osc._udp.

http://sourceforge.net/projects/osctools/files/
  |  permalink   |   ( 3 / 3413 )

NIME06 day four 
Saturday, June 10, 2006 00:30 - NIME06




  |  permalink   |   ( 3 / 5308 )


Next