void main(void)
{	
	void *classex, *jitclass;
	
	/*
	// Debug console window so printf works
	FILE* pCout; // should really be freed on exit 
	AllocConsole();
	freopen_s(&pCout, "CONOUT$", "w", stdout); 
	printf("jit_gl_spout_receiverSDK\n");
	*/
	post("jit_gl_spout_receiver - SDK Vers 2.001");

	// initialize our Jitter class
	jit_gl_spout_receiver_init();	
	
	// create our Max class
	setup((t_messlist **)&max_jit_gl_spout_receiver_class, 
		  (method)max_jit_gl_spout_receiver_new, 
		  (method)max_jit_gl_spout_receiver_free, 
		  (short)sizeof(t_max_jit_gl_spout_receiver), 
		  0L, A_GIMME, 0);
	
	// specify a byte offset to keep additional information about our object
	classex = max_jit_classex_setup(calcoffset(t_max_jit_gl_spout_receiver, obex));
	
	// look up our Jitter class in the class registry
	jitclass = jit_class_findbyname(gensym("jit_gl_spout_receiver"));	
	
	// wrap our Jitter class with the standard methods for Jitter objects
    max_jit_classex_standard_wrap(classex, jitclass, 0); 	
	
	// custom draw handler so we can output our texture.
	// override default ob3d bang/draw methods
	addbang((method)max_jit_gl_spout_receiver_bang);
	max_addmethod_defer_low((method)max_jit_gl_spout_receiver_draw, "draw");  
	
    #ifdef UseServers
	max_addmethod_defer_low((method)max_jit_gl_spout_receiver_getavailableservers, "getavailableservers");
	#else
	max_addmethod_defer_low((method)max_jit_gl_spout_receiver_getavailablesenders, "getavailablesenders");
	#endif
    
   	// use standard ob3d assist method
    addmess((method)max_jit_ob3d_assist, "assist", A_CANT,0);  
	
	// add methods for 3d drawing
    max_ob3d_setup();

	ps_jit_gl_texture = gensym("jit_gl_texture");
	ps_maxdraw = gensym("maxdraw");
	ps_out_name = gensym("out_name");
	ps_spoutsendername = gensym("SpoutSender");
    ps_clear = gensym("clear");

}
void ext_main(void *r)
{
	void *classex, *jitclass;

	jit_gl_videoplane_init();
	setup((t_messlist **)&max_jit_gl_videoplane_class, (method)max_jit_gl_videoplane_new, (method)max_jit_gl_videoplane_free, (short)sizeof(t_max_jit_gl_videoplane),
		  0L, A_GIMME, 0);

	classex = max_jit_classex_setup(calcoffset(t_max_jit_gl_videoplane, obex));
	jitclass = jit_class_findbyname(gensym("jit_gl_videoplane"));
	max_jit_classex_standard_wrap(classex, jitclass, 0); 				// getattributes/dumpout/maxjitclassaddmethods/etc
	addmess((method)max_jit_ob3d_assist, "assist", A_CANT,0);

	// add methods for 3d drawing
	max_ob3d_setup();

}
예제 #3
0
void main(void)
{	
	void *classex, *jitclass;
	
	// standard Max stuff
	jit_gl_cube_init();	
	setup((t_messlist **)&max_jit_gl_cube_class, (method)max_jit_gl_cube_new, (method)max_jit_gl_cube_free, (short)sizeof(t_max_jit_gl_cube), 
		0L, A_GIMME, 0);
	classex = max_jit_classex_setup(calcoffset(t_max_jit_gl_cube, obex));
	jitclass = jit_class_findbyname(gensym("jit_gl_cube"));	
	
	// add getattributes/dumpout/maxjitclassaddmethods/etc to class extension.
    max_jit_classex_standard_wrap(classex, jitclass, 0); 	
    			   
   	// use standard ob3d assist method.
    addmess((method)max_jit_ob3d_assist, "assist", A_CANT,0);  

	// add methods for 3d drawing
    max_ob3d_setup();
}
예제 #4
0
int C74_EXPORT main(void)
{	
	void *maxclass, *jitclass;
	
	// standard Max stuff
	jit_gl_cube_init();	
	maxclass = class_new("jit.gl.cube", (method)max_jit_gl_cube_new, (method)max_jit_gl_cube_free, sizeof(t_max_jit_gl_cube), NULL, A_GIMME, 0);
	max_jit_class_obex_setup(maxclass, calcoffset(t_max_jit_gl_cube, obex));
	jitclass = jit_class_findbyname(gensym("jit_gl_cube"));	
	
	// add getattributes/dumpout/maxjitclassaddmethods/etc to class extension.
    max_jit_class_wrap_standard(maxclass, jitclass, 0);
	
   	// use standard ob3d assist method.
    class_addmethod(maxclass, (method)max_jit_ob3d_assist, "assist", A_CANT, 0);

	// add methods for 3d drawing
    max_ob3d_setup();
	
	return 0;
}