<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Stream.i2offPlusR3nder</title>
	<atom:link href="http://tratadodeintegracion.cc/stream/feed/" rel="self" type="application/rss+xml" />
	<link>http://tratadodeintegracion.cc/stream</link>
	<description>ivan ivanoff</description>
	<pubDate>Tue, 04 Aug 2009 21:52:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>scratch con max/msp y processing [VIDEO] and some source</title>
		<link>http://tratadodeintegracion.cc/stream/scratch-con-maxmsp-y-processing-video-and-some-source/</link>
		<comments>http://tratadodeintegracion.cc/stream/scratch-con-maxmsp-y-processing-video-and-some-source/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 21:52:54 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[audio]]></category>

		<category><![CDATA[maxmsp]]></category>

		<category><![CDATA[processing]]></category>

		<category><![CDATA[sourcecode]]></category>

		<category><![CDATA[scratch]]></category>

		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/?p=191</guid>
		<description><![CDATA[
esa es una version que testeamos junto a la gente de Sudala.cl (pablo y nolo)
muchas gracias a ellos por la onda para probarlo
aca va un pic del main patch de maxmsp

y aca va el source de processing del control de la bandeja

import oscP5.*;
import netP5.*;
OscP5 oscP5;
NetAddress myRemoteLocation;
int ww=800;
int hh=600;
int discoX=400;
int discoY=400;
float rotaDisco=0;
float SDJlengthsample=0;
float SDJVUELTA=1818.18;
float SDJval=0;
float SDJval2 [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/lYQv-doNZZY&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/lYQv-doNZZY&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>esa es una version que testeamos junto a la gente de <a href="http://www.sudala.cl/">Sudala.cl</a> (pablo y nolo)<br />
muchas gracias a ellos por la onda para probarlo</p>
<p>aca va un pic del main patch de <a href="http://www.cycling74.com/products/max5">maxmsp</a><br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/08/pruena9.png"><img src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/08/pruena9-300x295.png" alt="main patch Scratch App on Max/MSP" title="main patch Scratch App on Max/MSP" width="300" height="295" class="alignnone size-medium wp-image-193" /></a></p>
<p>y aca va el source de <a href="http://processing.org">processing</a> del control de la bandeja<br />
<code><br />
import oscP5.*;<br />
import netP5.*;</p>
<p>OscP5 oscP5;<br />
NetAddress myRemoteLocation;</p>
<p>int ww=800;<br />
int hh=600;<br />
int discoX=400;<br />
int discoY=400;<br />
float rotaDisco=0;</p>
<p>float SDJlengthsample=0;<br />
float SDJVUELTA=1818.18;<br />
float SDJval=0;<br />
float SDJval2 = 0;<br />
float SDJval2rad=0;<br />
float SDJval2radT=0;<br />
float SDJlastval=0;<br />
float SDJvalT=0;<br />
float SDJvalFrame=0;<br />
float SDJvalFrameT=0;<br />
float SDJgradT=0;<br />
float SDJrota=0;<br />
float SDJrotaAnt=0;<br />
int SDJmodostop=0;<br />
float SDJinercia=0.0;<br />
float SDJinercia2=0.0;</p>
<p>int SDJmouseDown=0;</p>
<p>void setup(){<br />
  size(ww,hh,P3D);<br />
  oscP5 = new OscP5(this,12000);<br />
  myRemoteLocation = new NetAddress("127.0.0.1",13000);<br />
  OscMessage myMessage = new OscMessage("/sDJ/requestData");<br />
  myMessage.add(1);<br />
  oscP5.send(myMessage, myRemoteLocation);<br />
}<br />
void draw(){<br />
  background(50);<br />
  if(mousePressed){<br />
    if(SDJmouseDown==0){<br />
      SDJval2radT = atan2(mouseX-discoX,mouseY-discoY);<br />
      SDJgradT=SDJval2radT;</p>
<p>      SDJmouseDown=1;<br />
      if(SDJmodostop==0){<br />
        SDJrota=0;<br />
        SDJrotaAnt=0;<br />
        SDJinercia=0;<br />
        OscMessage myMessage = new OscMessage("/sDJ/mouseState");<br />
        myMessage.add(1);<br />
        oscP5.send(myMessage, myRemoteLocation);<br />
      }<br />
    }else{<br />
      float gg=atan2(mouseX-discoX,mouseY-discoY);<br />
      float grad1=(gg-SDJgradT)%(PI);<br />
      if(grad1>PI/2.0){<br />
        grad1-=PI;<br />
      }<br />
      if(grad1<-PI/2.0){<br />
        grad1+=PI;<br />
      }<br />
      SDJgradT=gg;<br />
      SDJrota+=grad1;<br />
      float vv=SDJrota;//(rota-val2radT);<br />
      SDJval2rad = SDJvalT-vv;<br />
      //if(grad1!=0){<br />
      SDJinercia=grad1;<br />
      //}<br />
      float ff=(((((-vv*180.0/PI)+180.0)/360.0)-0.5)*SDJVUELTA);<br />
      float SDJval2 = SDJvalFrameT+ff;<br />
      if(SDJval2<0){<br />
        SDJval2=SDJlengthsample-(abs(SDJval2)%SDJlengthsample);<br />
      }<br />
      //println(SDJlengthsample);<br />
      OscMessage myMessage = new OscMessage("/sDJ/newPos");<br />
      myMessage.add(SDJval2);<br />
      oscP5.send(myMessage, myRemoteLocation);<br />
    }<br />
  }else{<br />
    if(SDJmouseDown==1){<br />
      if(SDJmodostop==0){<br />
        OscMessage myMessage = new OscMessage("/sDJ/mouseState");<br />
        myMessage.add(0);<br />
        oscP5.send(myMessage, myRemoteLocation);<br />
      }<br />
      SDJmouseDown=0;<br />
    }</p>
<p>  }<br />
  pushMatrix();<br />
  ellipseMode(CENTER);<br />
  translate(discoX,discoY,0);<br />
  if(SDJmouseDown==0 &#038;&#038; SDJmodostop==0){<br />
    SDJval2=SDJvalFrame;<br />
    SDJvalFrameT=SDJvalFrame;<br />
    SDJval2rad=SDJval;<br />
    SDJvalT=SDJval;<br />
    SDJinercia*=0.9;<br />
    OscMessage myMessage = new OscMessage("/sDJ/inercia");<br />
    myMessage.add(SDJinercia);<br />
    oscP5.send(myMessage, myRemoteLocation);<br />
    rotateZ(SDJval);<br />
  }else{<br />
    if(SDJmouseDown==0){<br />
      makeInercia();<br />
    }<br />
    rotateZ(SDJval2rad);</p>
<p>  }</p>
<p>  fill(255);<br />
  ellipse(0,0,300,300);<br />
  translate(0,130,0);<br />
  fill(100);<br />
  ellipse(0,0,30,30);<br />
  popMatrix();<br />
  rotaDisco+=0.1;<br />
}<br />
void makeInercia(){<br />
  SDJrota+=SDJinercia;<br />
  float vv=SDJrota;<br />
  SDJval2rad = SDJvalT-vv;<br />
  float ff=(((((-vv*180.0/PI)+180.0)/360.0)-0.5)*SDJVUELTA);<br />
  SDJval2 = SDJvalFrameT+ff;<br />
  if(SDJval2<0){<br />
    SDJval2=SDJval2+SDJlengthsample;<br />
  }<br />
  SDJinercia*=0.95;<br />
  OscMessage myMessage = new OscMessage("/sDJ/newPos");<br />
    myMessage.add(SDJval2);<br />
    oscP5.send(myMessage, myRemoteLocation);<br />
}<br />
void oscEvent(OscMessage theOscMessage) {<br />
  /* print the address pattern and the typetag of the received OscMessage */<br />
  //print("### received an osc message.");<br />
  //print(" addrpattern: "+theOscMessage.addrPattern());<br />
  //println(" typetag: "+theOscMessage.typetag());<br />
  if(theOscMessage.checkAddrPattern("/sDJ/rotadisco")){<br />
    float v=theOscMessage.get(0).floatValue();<br />
    //println(v);<br />
    SDJval = (((v%SDJVUELTA)/SDJVUELTA)*360.0)*PI/180;<br />
    SDJvalFrame=v;<br />
  }<br />
  if(theOscMessage.checkAddrPattern("/sDJ/setlength")){<br />
    float v=theOscMessage.get(0).floatValue();<br />
    SDJlengthsample=v;<br />
  }<br />
  if(theOscMessage.checkAddrPattern("/sDJ/setstop")){<br />
    SDJmodostop=1;<br />
    SDJrota=0;<br />
    SDJrotaAnt=0;<br />
    SDJinercia=0;<br />
    OscMessage myMessage = new OscMessage("/sDJ/mouseState");<br />
    myMessage.add(1);<br />
    oscP5.send(myMessage, myRemoteLocation);<br />
  }<br />
  if(theOscMessage.checkAddrPattern("/sDJ/setplay")){<br />
    SDJmodostop=0;<br />
    OscMessage myMessage = new OscMessage("/sDJ/mouseState");<br />
    myMessage.add(0);<br />
    oscP5.send(myMessage, myRemoteLocation);<br />
  }<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/scratch-con-maxmsp-y-processing-video-and-some-source/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SamsungDJ (scratch con maxmsp/processing en un touchscreen)[pruebas y codigo en max/msp]</title>
		<link>http://tratadodeintegracion.cc/stream/samsungdj-scratch-con-maxmspprocessing-en-un-touchscreenpruebas-y-codigo-en-maxmsp/</link>
		<comments>http://tratadodeintegracion.cc/stream/samsungdj-scratch-con-maxmspprocessing-en-un-touchscreenpruebas-y-codigo-en-maxmsp/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 21:14:23 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[audio]]></category>

		<category><![CDATA[maxmsp]]></category>

		<category><![CDATA[processing]]></category>

		<category><![CDATA[sourcecode]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[scratch]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/?p=171</guid>
		<description><![CDATA[->versiones files
v0.1:
en este primer paso la idea era tener andando la pista y poder modificar la velocidad de reproduccion rapidamente con interpolacion, para lograr un sonido tipo scratch

source maxmsp scratch v0.1
v0.2:
puse un objeto JSUI el cual puedo programar por javascript y una mascara de opengl para poder hacerme mi propio elemento. La idea es pasarle [...]]]></description>
			<content:encoded><![CDATA[<p>->versiones files<br />
v0.1:<br />
en este primer paso la idea era tener andando la pista y poder modificar la velocidad de reproduccion rapidamente con interpolacion, para lograr un sonido tipo scratch<br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-3.png"><img src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-3-300x264.png" alt="maxmsp samsung dj v0.1" title="maxmsp samsung dj v0.1" width="300" height="264" class="alignnone size-medium wp-image-172" /></a><br />
<a href='http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/pruena1.zip'>source maxmsp scratch v0.1</a></p>
<p>v0.2:<br />
puse un objeto <a href="http://www.cycling74.com/docs/max5/vignettes/js/jsuiintro.html">JSUI</a> el cual puedo programar por javascript y una mascara de opengl para poder hacerme mi propio elemento. La idea es pasarle a este la posicion del cabezal para que rote el disco. Y hacerlo activo al mouse, para que pueda rotar el disco yo y que pase el cambio de velocidad al control del <em>groove~</em>.<br />
con esto tengo 2 problemas que uno deriva en el otro:<br />
cuando muevo lento el disco, la interpolacion es mas rapida que el refresco de movimiento (dado que el <a href="http://www.cycling74.com/docs/max5/vignettes/js/jsuiintro.html">JSUI</a> solo actualiza cuando el mouse se mueve), entonces hace microcortes. La solucion para esto fue usar 2 tipos de interpolaciones dependiendo de la amplitud del movimiento, si el movimiento es corto, la interpolacion es mas larga.<br />
esto trae un gran inconveniente de esto, a pesar de que suena bien, es que si muevo el cabezal, no queda acomodado a la posicion correcta. Entonces no puedo tener referencia visual, de la posicion del disco en relacion al audio.<br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-5.png"><img src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-5-300x264.png"  title="picture-5" width="300" height="264" class="size-medium wp-image-174" /></a><br />
<a href='http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/pruena2.zip'>source maxmsp scratch v0.2</a></p>
<p>v0.3:<br />
costo pero entendi un monton de cosas, despues de no dormir 2 dias pensando en como solucionar el problema de tener una referencia real de la posicion del cabezal en mi elemento JSUI, y poder controlar realmente en el scratch a donde quiero moverme, me di cuenta que la solucion estaba en lugar de manejar con el componente la velocidad de movimiento, debia indicar directamente a que parte queria moverme.<br />
el motivo por el que no lo hice antes, era que el objeto <em>groove~</em> no tiene manejo por puntero, sin por velocidad de reproduccion. La solucion fue hacer que calcule la distancia entre donde estaba y a donde quiero ir, y usar eso con un gran easyng (0.01).<br />
tuve que cambiar varias cosas, por ejemplo que si no estaba clickeando, debia enviar por otro lado la senial de velocidad continua, asi que aproveche para ponerle un pitch.<br />
Encontre tambien grandes dificultades en el jsui para manejar el control de los eventos del mouse, realmente deja mucho que desear en ese sentido.<br />
en esta version muchos calculos que realizaba con patches los hago adentro del componente ya.<br />
con esta version hice la primera demo, y ya empeze a acomodar todo para que quede en una version en modo presentation<br />
<object type="application/x-shockwave-flash" width="364" height="400" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=aa6425d4a7&#038;photo_id=3762849708"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=aa6425d4a7&#038;photo_id=3762849708" height="400" width="364"></embed></object><br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-6.png"><img src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-6-300x275.png" alt="maxmsp scratch v0.3" title="maxmsp scratch v0.3" width="300" height="275" class="alignnone size-medium wp-image-182" /></a><br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-7.png"><img src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-7-300x275.png" alt="maxmsp scratch app v0.3 presentation" title="maxmsp scratch app v0.3 presentation" width="300" height="275" class="alignnone size-medium wp-image-183" /></a><br />
<a href='http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/pruena3.zip'>source maxmsp scratch app v0.3</a></p>
<p>v0.4:<br />
aca ya empiezan los refinamientos, el principal era poder usar el scratch cuando estaba estopado el disco, y que el movimiento tenga inercia. descubri algo terrible del jsui, que es que en mouseRealese (que no tiene ese metodo) dispara un mouseDrag con la misma ubicacion del anterior mouseDrag, lo que me hacia perder todo calculo de inercia. Pero bueno, hardcodeando un poco lo solucione.<br />
tambien le agregue el primer control para poder tener loops. Lo que tengo que ver ahora es de hacer el calculo de beats, y sobre eso segmentar los loops.<br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-11.png"><img src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-11-300x275.png" alt="maxmsp scratch app v0.4" title="maxmsp scratch app v0.4" width="300" height="275" class="alignnone size-medium wp-image-186" /></a><br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-12.png"><img src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/picture-12-300x275.png" alt="maxmsp scratch app v0.4 presentation" title="maxmsp scratch app v0.4 presentation" width="300" height="275" class="alignnone size-medium wp-image-187" /></a><br />
<a href='http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/pruena4.zip'>source maxmsp scratch app v0.4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/samsungdj-scratch-con-maxmspprocessing-en-un-touchscreenpruebas-y-codigo-en-maxmsp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SamsungDJ (scratch con maxmsp/processing en un touchscreen)</title>
		<link>http://tratadodeintegracion.cc/stream/samsungdj-scratch-con-maxmspprocessing-en-un-touchscreen/</link>
		<comments>http://tratadodeintegracion.cc/stream/samsungdj-scratch-con-maxmspprocessing-en-un-touchscreen/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 20:23:12 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[audio]]></category>

		<category><![CDATA[maxmsp]]></category>

		<category><![CDATA[processing]]></category>

		<category><![CDATA[sourcecode]]></category>

		<category><![CDATA[scratch]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/?p=162</guid>
		<description><![CDATA[Origen de la idea:
La gente de Leo Burnet en conjunto con 2 productores amigos Agustina Panigazzi y Nacho Amato (de la productora Buena) nos vinieron a buscar hace un par de dias con un proyecto particular.
Con motivo del lanzamiento del nuevo celular de Samsung M7600 Beat DJ nos pidieron una pieza interactiva.
El celular tiene como [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Origen de la idea:</strong><br />
La gente de Leo Burnet en conjunto con 2 productores amigos Agustina Panigazzi y Nacho Amato (de la productora Buena) nos vinieron a buscar hace un par de dias con un proyecto particular.<br />
Con motivo del lanzamiento del nuevo celular de Samsung M7600 Beat DJ nos pidieron una pieza interactiva.<br />
El celular tiene como feature principal la posibilida de experimentar la musica desde una vision de DJ, ya que montado sobre el reproductor de audio tiene un motor que permite desde la visualicacion hasta la experiencia acercarnos a la idea de tocar con una bandeja. Desde la seleccion del albun a un modo scratch donde uno tiene (dado que el celular es touchscreen) la posibilidad de hacer scratch sobre la pista. Incluso tiene la posibilidad de aplicar efectos como reverb, lowpass, highpass, marcar loops o ejecutar samples sobre la pista. Otro detalle interesante es que el hardware de audio del celular es propiedad de <a href="http://www.bang-olufsen.com/">Bang and Olufsen</a>.<br />
<a href="http://uk.samsungmobile.com/mobile-phones/samsung-beat-dj">http://uk.samsungmobile.com/mobile-phones/samsung-beat-dj</a><br />
Tomando esas caracteristicas nos pidieron que repliquemos ese funcionamiento a gran escala (en un monitor touchscreen SAMSUNG 460TSn. de 46 pulgadas) y lo mas realista posible comparado con la experiencia de un DJ e incluso agregando la posibilidad de que la gente grabe su vos y pueda por ejemplo hacer scratch sobre ella.</p>
<p><strong>Objetivos:</strong><br />
Primario: </p>
<blockquote><p>Poder transladar la experiencia a una escala mayor, y amplificar la calidad de esta. Para que la experiencia sea una fantasia exponencial de lo que sucede con el celular en el aspecto DJ.</p></blockquote>
<p>Secundarios: </p>
<blockquote><p>Desarrollar el proyecto de forma modular para que sea posible el desarrollo de un entorno para DJ real.<br />
Desarrollar las faces modularmente para que puedan incorporarse distintos tipos de interfaces al software profesional, no solo grafica sino tecnologicamente para hacer ports a distintos entornous touch y multitouch (lemur, iPhone, reaktable, surface, etc)</p></blockquote>
<p><strong>Tester:</strong><br />
vamos a invitar a <a href="http://www.myspace.com/rolexdj">DJ Rol3x</a> a participar del proyecto como tester, para que el no solo chequee la utilidad, sino que incluso nos guien en el desarrollo hacia una buena herramienta</p>
<p><strong>Pasos:</strong><br />
Hay varios pasos en este desarrollo<br />
pero en este caso vamos a enfocarnos en el desarrollo de la aplicacion madre para el audio</p>
<p><strong>Necesidad:</strong><br />
Necesito un entorno que me permita controlar archivos de audio en alta calidad en tiempo real, permitiendome resamplearlos a distintas velocidades y con diversos efectos.</p>
<p><strong>Investigacion Previa:</strong><br />
Candidateamos 3 entornos posibles para este desarrollo:<br />
<a href="http://www.processing.org">Processing</a>, <em>dado que ya tenemos mucha experiencia e incluso trabajos previos con audio en tiempo real, processing fue la primera opcion que se nos ocurrio. Pero tiene una gran contra, que es el bajo rendimiento.</em></p>
<p><a href="http://www.openframeworks.cc/">OpenFrameworks</a>, <em>fue la opcion pensada para suplir el problema que encontrabamos con processing. Pero nos encontramos con otro problema aqui, que es la falta de buenas librerias, estables y documentadas, para la manipulacion de audio en tiempo real.</em></p>
<p><a href="http://www.cycling74.com/products/max5">Max/Msp</a>, <em>es un entorno en donde se testaca por sobre todo el rendimiento, es un lenguaje estrictamente usado para el desarrollo de aplicaciones de audio y nos garantizaba confiabilidad y vastos recursos para aplicar filtros etc.</em></p>
<p>asi es que la investigacion inicial dio como conclusion que el mejor entorno era <strong>Max/Msp</strong></p>
<p><strong>Observacion del terreno:</strong><br />
El siguiente paso, es determinar en el entorno seleccionado cual sera el enfoque para dimensionar la complejidad y formas de abordaje.<br />
Por lo tanto habia que examinar que objetos, modulos, etc tiene el <a href="http://www.cycling74.com/products/max5">Max/Msp</a> para poder emular lo mas real posible la actividad de una bandeja de DJ. Esto implica recorrer el manual, ejemplos, foros&#8230; por suerte hace un tiempo haciendo el soft para el simil Monome que habiamos fabricado ya habia trabajado con situaciones parecidas de manipulacion de audio y resampleo. Busque el source y recorde que usaba el objeto:<br />
<em>groove~</em><br />
que parece ser el objeto perfecto y resumido para lo que estamos buscando. E incluso nos soluciona aparentemente el seteo de loops. Incluso tiene una devolucion con valores normalizados (0 a 1) del progreso del sonido en su ejecucion lo cual es escencial para el display grafico.<br />
Otro de los elementos a chequear, era la complejidad del trabajo con <em><a href="http://opensoundcontrol.org/">OSC</a></em>, dado que esta aplicacion seria un modulo controlable desde distintas posibles GUI necesitamos elaborar un protocolo dentro de <a href="http://opensoundcontrol.org/">OSC</a> para una comunicacion fluida.<br />
Para esta situaciones encontramos el objeto:<br />
udpreceive y udpsend<br />
que resuelven el trabajo aparentemente de forma sencilla<br />
El ultimo punto importante para evaluar en el terrano, es determinar la forma de abordaje de los efectos tanto para convulaciones como para filtros por dft<br />
En ese sentido encontre, dedicandole un poco de tiempo a buscar en la web, una serie de patchs ya armados para distintos efectos como reverb, de todas formas creo que el camino mas rapido va a ser el de usar <a href="http://en.wikipedia.org/wiki/Reaktor">Reaktor</a> como VST para el <a href="http://www.cycling74.com/products/max5">Max/Msp</a> y de esta forma aplicar todo tipo de efectos desde reaktor en tiempo real.</p>
<p>Ya abordadas las observaciones mas conflictivas (supuestamente) del terreno el siguiente paso es hacer la primer prueba de campo.</p>
<p><strong>Pruebas de campo:</strong><br />
La primer prueba consistira en hacer un sistema muy rudimentario que envie una senial por OSC y que mueva el cabezal del audio player en esa direccion y velocidad.</p>
<blockquote><p>Tecnologias a usar:</p>
<blockquote><p>Max/Msp para el control del audio</p></blockquote>
<blockquote><p>OSC para el envio de la senial</p></blockquote>
<blockquote><p>Processing para la rustica GUI</p></blockquote>
<p>            Elementos necesarios</p>
<blockquote><p>.una interface que controle cuando clickeo en un area, la posicion del mouse y envia via OSC un valor que refleje la diferencia en relacion a la posicion anterior</p></blockquote>
<blockquote><p>.un breve desarrollo del protocolo</p></blockquote>
<blockquote><p>.una aplicacion que ejecute el audio determinado por la info que recibe</p></blockquote>
<p>            Observaciones</p>
<blockquote><p>tengo que observar y probar si conviene mas controlar por velocidad de avance y retroceso, o controlar por envio del cabezal a una posicion determinada y calcular eso.</p></blockquote>
</blockquote>
<p>Pronto videos, imagenes y codigo.</p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/samsungdj-scratch-con-maxmspprocessing-en-un-touchscreen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Guia de Setup de OpenCV con XCode</title>
		<link>http://tratadodeintegracion.cc/stream/guia-de-setup-de-opencv-con-xcode/</link>
		<comments>http://tratadodeintegracion.cc/stream/guia-de-setup-de-opencv-con-xcode/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 23:47:29 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[opencv]]></category>

		<category><![CDATA[sourcecode]]></category>

		<category><![CDATA[c++]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[guide]]></category>

		<category><![CDATA[sourcede]]></category>

		<category><![CDATA[tutorial]]></category>

		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/?p=157</guid>
		<description><![CDATA[hace unos dias decidi comenzar a programar OpenCV directo en c++ en XCode
mas que nada porque suponia que al usar implementaciones, tanto en Processing como en OpenFrameworks me estaba perdiendo comprender la potencialidad del OpenCV
lo que queria compartir en primera instancia es el horror de los primeros pasos, para los que incursionaron con el XCode [...]]]></description>
			<content:encoded><![CDATA[<p>hace unos dias decidi comenzar a programar <a href="http://opencv.willowgarage.com/wiki/">OpenCV</a> directo en c++ en <a href="http://developer.apple.com/technology/tools.html">XCode</a><br />
mas que nada porque suponia que al usar implementaciones, tanto en <a href="http://www.processing.org">Processing</a> como en <a href="http://www.openframeworks.cc/">OpenFrameworks</a> me estaba perdiendo comprender la potencialidad del <a href="http://opencv.willowgarage.com/wiki/">OpenCV</a></p>
<p>lo que queria compartir en primera instancia es el horror de los primeros pasos, para los que incursionaron con el <a href="http://developer.apple.com/technology/tools.html">XCode</a> saben que cada ves que uno arma un proyecto nuevo, hay que linkear bocha de librerias, etc, y eso suele ser traumatico (al menos para mi)</p>
<p>para eso escribi este pequenia guia de setup, con un template de xcode, para arrancar con <a href="http://opencv.willowgarage.com/wiki/">OpenCV</a><br />
por cierto hay un maravilloso libro que pueden leer al respecto<br />
<a href="http://www.amazon.com/Learning-OpenCV-Computer-Vision-Library/dp/0596516134">http://www.amazon.com/Learning-OpenCV-Computer-Vision-Library/dp/0596516134</a><br />
desgraciadamente y dado este universo de pirateria que hay, si buscan ese titulo en google hay un par de personas que postearon un rapidshare para bajarlo</p>
<p>Primer paso, conseguir <a href="http://opencv.willowgarage.com/wiki/">OpenCV</a><br />
la forma ortodoxa es seguir los pasos de aca:<br />
<a href="http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port">http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port</a><br />
la forma rapida es instalar este paquete:<br />
<a href="http://ubaa.net/shared/processing/opencv/download/opencv-framework.1.1.dmg">http://ubaa.net/shared/processing/opencv/download/opencv-framework.1.1.dmg</a></p>
<p>Segundo Paso, construir proyecto en <a href="http://developer.apple.com/technology/tools.html">XCode</a> (se supone que el que lea esto ya alguna ves al menos abrio <a href="http://developer.apple.com/technology/tools.html">XCode</a> y entiende un poco de que hablo, sino luego pregunten)<br />
Abrir el xcode, yo estoy usando la version 3.1.3 que se puede bajar gratuitamente de la seccion de developers de Apple<br />
<a href="http://developer.apple.com/technology/tools.html">http://developer.apple.com/technology/tools.html</a><br />
Una ves en el <a href="http://developer.apple.com/technology/tools.html">xcode</a>, File -> New Proyect&#8230; y de ahi elijen<br />
Command Line Utility -> C++ Tool<br />
Hacer click derecho sobre el grupo del proyecto, y elegir la opcion:<br />
Add -> Existing Framework<br />
y ahi agregan el framework de opencv que se encuentra en:<br />
/Library/Frameworks/OpenCV.framework</p>
<p>De todas formas, para facilitar todo el proceso, adjunto un proyecto base de <a href="http://opencv.willowgarage.com/wiki/">opencv</a> en <a href="http://developer.apple.com/technology/tools.html">xcode</a>, que pueden usar como template y les facilitaria todo el segundo punto, solo tienen que abrirlo y empezar a escribir codigo.<br />
TEMPLATE:<br />
<a href='http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/07/baseopencv.zip'>baseopencv</a></p>
<p>Yo personalmente lo estoy usando para hacer todos los ejercicios del magnifico libro que comente mas arriba.</p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/guia-de-setup-de-opencv-con-xcode/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tracking FX en Realtime con FaceRecognition</title>
		<link>http://tratadodeintegracion.cc/stream/tracking-fx-en-realtime-con-facerecognition/</link>
		<comments>http://tratadodeintegracion.cc/stream/tracking-fx-en-realtime-con-facerecognition/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 18:47:47 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[opencv]]></category>

		<category><![CDATA[processing]]></category>

		<category><![CDATA[sourcecode]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[facerecognition]]></category>

		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/?p=151</guid>
		<description><![CDATA[
y el codigo para Processing

import processing.opengl.*;
import hypermedia.video.*;
OpenCV opencv;
int ancho_sketch = 800;  //
int alto_sketch = 600;   //
//-----------------------//
int ancho_captura = 320;
int alto_captura = 240;
PImage cara;
void setup() {
  size(ancho_sketch,alto_sketch,OPENGL);
  opencv = new OpenCV(this);
  opencv.capture( ancho_captura , alto_captura );
  opencv.cascade(OpenCV.CASCADE_FRONTALFACE_ALT);
  cara = createImage(80, 60, RGB);
}
void draw() {
  background(0);
  Rectangle[] [...]]]></description>
			<content:encoded><![CDATA[<p><object width="560" height="340" data="http://www.youtube.com/v/yiLPaulDpng&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/yiLPaulDpng&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p>y el codigo para <a href="http://www.processing.org">Processing</a><br />
<code><br />
import processing.opengl.*;<br />
import hypermedia.video.*;<br />
OpenCV opencv;</p>
<p>int ancho_sketch = 800;  //<br />
int alto_sketch = 600;   //<br />
//-----------------------//<br />
int ancho_captura = 320;<br />
int alto_captura = 240;</p>
<p>PImage cara;</p>
<p>void setup() {<br />
  size(ancho_sketch,alto_sketch,OPENGL);<br />
  opencv = new OpenCV(this);<br />
  opencv.capture( ancho_captura , alto_captura );<br />
  opencv.cascade(OpenCV.CASCADE_FRONTALFACE_ALT);<br />
  cara = createImage(80, 60, RGB);<br />
}<br />
void draw() {<br />
  background(0);<br />
  Rectangle[] faces = opencv.detect();<br />
  opencv.read();<br />
  //image( opencv.image(),0,0);<br />
  //saveFrame(&#8221;cam####.png&#8221;);<br />
  //background(0);<br />
  for( int i=0; i<min(faces.length,1); i++ ) {<br />
    int x = faces[i].x;<br />
    int y = faces[i].y;<br />
    int w = faces[i].width;<br />
    int h = faces[i].height;<br />
    //cara.copy(opencv.image(),x,y,w,h,0,0,cara.width,cara.height);<br />
    x = (x*100)/ancho_captura;<br />
    x = (width*x)/100;<br />
    y = (y*100)/alto_captura;<br />
    y = (height*y)/100;<br />
    w = (w*100)/ancho_captura;<br />
    w = (width*w)/100;<br />
    h = (h*100)/alto_captura;<br />
    h = (height*h)/100;</p>
<p>    float dw=120.0/w;<br />
    float cx=(x+w/2.0);<br />
    float cy=(y+h/2.0);<br />
    translate(width/2,height/2,0);<br />
    scale(dw,dw,dw);<br />
    translate(-cx,-cy,0);</p>
<p>    image( opencv.image(), 0, 0,width,height );<br />
    //saveFrame("fx####.png");<br />
  }</p>
<p>}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/tracking-fx-en-realtime-con-facerecognition/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Video Mapping sobre superficie Curva, solucion 1</title>
		<link>http://tratadodeintegracion.cc/stream/video-mapping-sobre-superficie-curva-solucion-1/</link>
		<comments>http://tratadodeintegracion.cc/stream/video-mapping-sobre-superficie-curva-solucion-1/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 17:45:59 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[quartzcomposer]]></category>

		<category><![CDATA[videomapping]]></category>

		<category><![CDATA[3ds]]></category>

		<category><![CDATA[import]]></category>

		<category><![CDATA[mapping]]></category>

		<category><![CDATA[opengl]]></category>

		<category><![CDATA[quartz]]></category>

		<category><![CDATA[surface]]></category>

		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/?p=129</guid>
		<description><![CDATA[bueno, mientras que estamos preparando la version para mappeo con curvas dinamica
aca va una posible solucion casera (o no tanto)
a continuacion va un paso a paso de como hacerlo
requerimientos:
quartzcomposer
3ds import plugin (nosotros hicimos un plugin para quartz para importar 3ds)
GL3ds.plugin
algun programa 3d (nosotros usamos wings3d, que es gratuito)
http://www.wings3d.com/
source de ejemplo
mapping.zip
primer paso:
crear la forma en 3d [...]]]></description>
			<content:encoded><![CDATA[<p>bueno, mientras que estamos preparando la version para mappeo con curvas dinamica<br />
aca va una posible solucion casera (o no tanto)</p>
<p>a continuacion va un paso a paso de como hacerlo</p>
<p><strong>requerimientos</strong>:<br />
quartzcomposer<br />
3ds import plugin (nosotros hicimos un plugin para quartz para importar 3ds)<br />
<a href="http://www.i2off.org/mappingcurvo/gl3ds.plugin.zip">GL3ds.plugin</a><br />
algun programa 3d (nosotros usamos wings3d, que es gratuito)<br />
<a href="http://www.wings3d.com/">http://www.wings3d.com/</a><br />
source de ejemplo<br />
<a href="http://www.i2off.org/mappingcurvo/mapping.zip">mapping.zip</a></p>
<p><strong>primer paso</strong>:<br />
crear la forma en 3d donde uno quiere proyectar<br />
hay que tener en cuenta que los vertex formen siempre planos, si dudan de esto usen faces de 3 vertex<br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-122.png"><img class="alignnone size-medium wp-image-133" title="picture-122" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-122-300x260.png" alt="picture-122" width="300" height="260" /></a><a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-121.png"><img class="alignnone size-medium wp-image-132" title="picture-121" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-121-300x260.png" alt="picture-121" width="300" height="260" /></a><a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-120.png"><img class="alignnone size-medium wp-image-131" title="picture-120" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-120-300x260.png" alt="picture-120" width="300" height="260" /></a><br />
luego pinten de color blanco la zona donde quieren proyectar, y el resto de negro<br />
exporten la textura y el objeto como 3ds</p>
<p><strong>segundo paso</strong>:<br />
en el quartz composer pongan un ClearObject (sino el 3ds importer no anda)<br />
y pongan un patch de 3d (OpenGL 3ds es el nombre que le pusimos)<br />
en donde dice file pongan la ruta al file (atencion, debe ser estricta, o sea, /dir/dir/dir/file.3ds)<br />
pongan la escala en un valor distinto a 0<br />
agreguen un image importer y pongan la textura<br />
(aca un ejemplo sin mascara de como queda el objeto 3d en pantalla)<br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-128.png"><img class="alignnone size-medium wp-image-138" title="picture-128" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-128-300x214.png" alt="picture-128" width="300" height="214" /></a><a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-127.png"><img class="alignnone size-medium wp-image-137" title="picture-127" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-127-300x285.png" alt="picture-127" width="300" height="285" /></a><a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-126.png"><img class="alignnone size-medium wp-image-136" title="picture-126" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-126-300x285.png" alt="picture-126" width="300" height="285" /></a><a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-125.png"><img class="alignnone size-medium wp-image-135" title="picture-125" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-125-300x285.png" alt="picture-125" width="300" height="285" /></a></p>
<p><strong>tercer paso</strong>:<br />
ahora, hay que producir el contenido, esto quiere decir que tienen que enmascarar el video con la textura exportada, y acomodar los tamaños a esta, recuerden exportar el video en un tamaño cuadrado exponente de 2 (256&#215;256, 512&#215;512, 1024&#215;1024, etc)</p>
<p><strong>cuarto paso</strong> (opcional de acuerdo a como exporten el video):<br />
poner un blend con mascara en la escena<br />
asignar como imagen el video, y como mascara la textura<br />
<a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-124.png"><img class="alignnone size-medium wp-image-141" title="picture-124" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-124-300x214.png" alt="picture-124" width="300" height="214" /></a><a href="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-123.png"><img class="alignnone size-medium wp-image-140" title="picture-123" src="http://tratadodeintegracion.cc/stream/wp-content/uploads/2009/04/picture-123-300x286.png" alt="picture-123" width="300" height="286" /></a></p>
<p><strong>quinto paso</strong>:<br />
jugar con el objeto 3d, ponerlo donde quieran, rotarlo, y acomodarlo para la proyeccion</p>
<p>yo se que esto no es perfecto<br />
pero creo que soluciona mucho a la hora de los ajustes para poder hacer un mapping con formas complejas</p>
<p>espero que les sirva</p>
<p>saludos y suerte</p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/video-mapping-sobre-superficie-curva-solucion-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nueva Version de OpenFrameworks [permite exportar para iPhone]</title>
		<link>http://tratadodeintegracion.cc/stream/nueva-version-de-openframeworks-permite-exportar-para-iphone/</link>
		<comments>http://tratadodeintegracion.cc/stream/nueva-version-de-openframeworks-permite-exportar-para-iphone/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 10:29:39 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[openframeworks iphone opengl opencv]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/nueva-version-de-openframeworks-permite-exportar-para-iphone/</guid>
		<description><![CDATA[MUCHO PARA PROBAR Y JUGAR!!!!
copio mail&#8230;.
Hey all!
In the words of Erik B and Rakim:
Its been a long time we shouldn&#8217;t have left you..
006 is finally here. 
It has been our longest release to date. What started out as a simple release became quite a project as we restructured the core,  added the Poco library, [...]]]></description>
			<content:encoded><![CDATA[<p>MUCHO PARA PROBAR Y JUGAR!!!!<br />
copio mail&#8230;.</p>
<p>Hey all!</p>
<p>In the words of Erik B and Rakim:<br />
Its been a long time we shouldn&#8217;t have left you..</p>
<p>006 is finally here. </p>
<p>It has been our longest release to date. What started out as a simple release became quite a project as we restructured the core,  added the Poco library, an event system, abstracted the window system, updated the core to be iPhone friendly, plus bug fixes and lots of cool new stuff&#8230;..</p>
<p>Detailed list of the changes here:<br />
http://www.openframeworks.cc/changelog-v006</p>
<p>Download 006 here:<br />
http://www.openframeworks.cc/download</p>
<p>+++++++++++++++++++++++++++++++++++++++++<br />
006 Major Changes:</p>
<p>Poco:<br />
We are very excited to add the Poco library to the openFrameworks project. Poco is a powerful cross platform toolkit similar to the Java SDK, it includes a large base of network, file io, event and threading related code. It can be used to upload files and even send emails! In 006 we are using it for the new event system, but others have already been using it for developing addons like ofxHttpUtils.  A big thanks to Erik Sjödin for pushing us in this direction as well as for his awesome Firmata implementation which is now part of the core. </p>
<p>Events:<br />
The event system in 006 allows classes to register to receive core events (like mouse pressed, key pressed, draw, update etc). It also allows you to create and register your own custom events. The event system took a long time to get right. A huge thanks to Stefan Hechenberger who along with Arturo Castro spent many hours working on getting the right balance for the OF event system.</p>
<p>Glut abstraction:<br />
Another big and much requested change was to remove OF&#8217;s dependence on the GLUT windowing toolkit.  With 006 you can now chose which type of windowing system you want when you build your app. So far we have successfully run OF with a GLFW windowing system, an iPhone window and even no window (ie command line). </p>
<p>Base classes:<br />
006 now has base classes (like ofDraws, ofUpdates ) which allow for more flexible object orientated programming.</p>
<p>One more thing&#8230;&#8230;</p>
<p>iPhone support:<br />
OF 006 can run on the iPhone!<br />
There are already several apps in the App Store that are made with openFrameworks <img src='http://tratadodeintegracion.cc/stream/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
This is largely due to the amazing work done by Lee Byron, Zach Gage, Memo Atken and Damian Stewart. Who have worked very hard to get openFrameworks running on the iPhone. A big shout out to them for their hard work!</p>
<p>The iPhone support is an ongoing process but most of the core functionality is there, including loading images, loading fonts, drawing graphics&#8230; There will soon be some guides on the wiki for getting started with OF on the iPhone but in the meantime check the 006 iPhone download on the downloads page and these guides bellow:<br />
http://www.memo.tv/ofxiphone<br />
http://www.jeffcrouse.info/uncategorized/openframeworks-on-iphone/ </p>
<p>+++++++++++++++++++++++++++++++++++++++++<br />
Addon changes:</p>
<p>ofxOpenCV has been massively revised - the changes are too many to list, but there are a lot of new features, image types and bug fixes + Region of Interest for all operations. Big thanks to Stefan and his 100+ svn commits <img src='http://tratadodeintegracion.cc/stream/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
ofx3DModelLoader replaces ofxObjLoader. Currently supports textured and untextured 3ds files. In the future we aim to add support to other model formats including obj. </p>
<p>ofxNetwork now comes with examples for UDP communication</p>
<p>ofAddons.h is deprecated - from 006 on to use an addon you include its main header file directly.<br />
No more OF_ADDON_USING_OFX&#8230;&#8230;. </p>
<p>++++++++++++++++++++++++++++++++++++++++<br />
Important note for 005 -> 006 projects</p>
<p>Most 005 projects should work with 006 but you will have to copy the source code of your project into an existing 006 project folder.<br />
Moving an 005 project folder to OF 006 will not work. </p>
<p>Please do not try to merge 0.05 and 0.06 releases!  Each OF release is designed to be a self contained unit. Please keep each folder separate, as in: </p>
<p>documents<br />
&#8212;- OF<br />
&#8212;&#8212;&#8212;- 0.05<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- apps<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- libs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- etc<br />
&#8212;&#8212;&#8212;- 0.06<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- apps<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- libs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;- etc</p>
<p>if you try to merge the two folders, you will be unhappy.  Keeping the releases intact means your old code will always work in the future. </p>
<p>If you have any issues or quirks please give feedback in the forum.</p>
<p>In addition some community developed addons that were using the experimental 0.00573 release will need to be slightly modified to be compatible with 006. Please be patient as addon developers update their addons for 006 <img src='http://tratadodeintegracion.cc/stream/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
++++++++++++++++++++++++++++++++++++++++<br />
OF Team += Chris O&#8217;Shea</p>
<p>We would like to welcome Chris O&#8217;Shea ( http://chrisoshea.org/ ) to the team.<br />
Chris is an awesome artist and designer. He will be joining us as the fourth member of the openFrameworks team and will be in charge of developing the openFrameworks community online, including an awesome new public website, with project galleries and user pages. </p>
<p>++++++++++++++++++++++++++++++++++++++++<br />
Thank you!</p>
<p>Thanks to you all, for making the openFrameworks community what it is!<br />
We hope you enjoy the 006 release! It has been a slow one, but we promise it will not be this slow again. </p>
<p>Next up the James Bond release <img src='http://tratadodeintegracion.cc/stream/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>OF Team - Zach, Theo, Arturo, Chris</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/nueva-version-de-openframeworks-permite-exportar-para-iphone/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Entorno Para programacion tipo Max/Msp en Processing</title>
		<link>http://tratadodeintegracion.cc/stream/entorno-para-programacion-tipo-maxmsp-en-processing/</link>
		<comments>http://tratadodeintegracion.cc/stream/entorno-para-programacion-tipo-maxmsp-en-processing/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 19:47:41 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[automapping]]></category>

		<category><![CDATA[maxmsp]]></category>

		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/?p=116</guid>
		<description><![CDATA[


Estoy preparando una aplicacion nueva, entre ellas poder tener el automapping [http://tratadodeintegracion.cc/stream/?p=47] como una aplicacion final para usar.
Pero para eso necesitaba primero tener un buen sistema que ajuste la captura de la camara y setee los filtros de proceso de captura para adecuarlo a cada situacion.
Armando esa aplicacion pense que seria lindo tener un sistema [...]]]></description>
			<content:encoded><![CDATA[<p><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=68975" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=5df9d772a8&amp;photo_id=3367534487"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=68975"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=68975" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=5df9d772a8&amp;photo_id=3367534487" height="300" width="400"></embed></object></p>
<p><img alt="" src="http://farm4.static.flickr.com/3597/3368359406_f4f7efdbeb.jpg?v=0" class="alignnone" width="500" height="399" /><br />
<img alt="" src="http://farm4.static.flickr.com/3462/3368360022_d242917ea2.jpg?v=0" class="alignnone" width="500" height="313" /></p>
<p>Estoy preparando una aplicacion nueva, entre ellas poder tener el automapping [<a href="http://www.sojamo.de/libraries/controlP5">http://tratadodeintegracion.cc/stream/?p=47</a>] como una aplicacion final para usar.<br />
Pero para eso necesitaba primero tener un buen sistema que ajuste la captura de la camara y setee los filtros de proceso de captura para adecuarlo a cada situacion.<br />
Armando esa aplicacion pense que seria lindo tener un sistema tipo Max/Msp para poder configurar los filtros de proceso.<br />
Entonces decidi armar una clase que me permita construir y setear nodos encadenados en un entorno tipo Max/Msp.<br />
De eso se trata esta aplicacion<br />
La idea era tener un modulo de facil implementacion en cualquier sketch, y que sea completamente abstracto para poder usarlo en lo que quiera.<br />
Esta es la primer alpha, creo que es casi suficiente para lo que yo necesitaba, pero eso no quita que no sea bueno hacer evolucionar esta utilidad</p>
<p>Release Alpha 0.1<br />
Para usarlo requiere la ultima version de la libreria controlP5 [<a href="http://www.sojamo.de/libraries/controlP5">http://www.sojamo.de/libraries/controlP5</a>]</p>
<p>Uso:<br />
con el metodo ADD se puede agregar una caja<br />
Doble click permite acceder al menu de opciones<br />
Dragueando desde los outlets a los inlets se puede vincular distintos boxes<br />
El metodo getContent genera la lista ordenada del circuito</p>
<p>Features:<br />
Cargar y grabar un seteo de cajas<br />
Limpiar la pantalla<br />
Ante cada vinculo nuevo emite el evento de encadenamiento, devuelve la lista encadenada desde el In del sistema, al Out<br />
Menu en ventana emergente<br />
Implementacion basada en PGraphics, permite implementar la interface como si fuese un Image en el sketch</p>
<p>ToDo:<br />
Poder eliminar de a una caja<br />
Tener un save y load con distintos nombres<br />
Que el save y load guarden las propiedades<br />
Distintas cajas con mas inlets y outlets</p>
<p>Aplicacion + source [<a href="http://www.sojamo.de/libraries/controlP5">http://www.i2off.org/wirep5/maxmsp3d3.zip</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/entorno-para-programacion-tipo-maxmsp-en-processing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multitouch para el gobierno de la ciudad de buenos aires</title>
		<link>http://tratadodeintegracion.cc/stream/multitouch-para-el-gobierno-de-la-ciudad-de-buenos-aires/</link>
		<comments>http://tratadodeintegracion.cc/stream/multitouch-para-el-gobierno-de-la-ciudad-de-buenos-aires/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 00:52:53 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/index.php?entry=entry081225-225253</guid>
		<description><![CDATA[aca van varios videos del multitouch que hicimos para el gobierno de la ciudad de buenos aires.
el primero es de la fase de desarrollooptamos por usar la libreria TUIO, lo mejor de esta libreria es que hay muchos ports entonces pudimos usar uno para el iPodTouch y no necesitamos tener todo el tiempo el multitouch [...]]]></description>
			<content:encoded><![CDATA[<p>aca van varios videos del multitouch que hicimos para el gobierno de la ciudad de buenos aires.</p>
<p>el primero es de la fase de desarrollo<br />optamos por usar la libreria <a href="http://tuio.lfsaw.de/index.shtml" target="_blank" >TUIO</a>, lo mejor de esta libreria es que hay muchos ports entonces pudimos usar uno para el iPodTouch y no necesitamos tener todo el tiempo el multitouch armado.<br /><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=f58d80ff33&#038;photo_id=3134242560"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=f58d80ff33&#038;photo_id=3134242560" height="300" width="400"></embed></object><br />
<br />Los videos que quedan son de la instalacion ya armada<br /><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=659b7a094a&#038;photo_id=3134285171"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=659b7a094a&#038;photo_id=3134285171" height="300" width="400"></embed></object></p>
<p><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=cd9b580bed&#038;photo_id=3134308377"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=cd9b580bed&#038;photo_id=3134308377" height="300" width="400"></embed></object></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/multitouch-para-el-gobierno-de-la-ciudad-de-buenos-aires/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Automapeo para proyeccion</title>
		<link>http://tratadodeintegracion.cc/stream/automapeo-para-proyeccion/</link>
		<comments>http://tratadodeintegracion.cc/stream/automapeo-para-proyeccion/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 18:58:42 +0000</pubDate>
		<dc:creator>i2off</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tratadodeintegracion.cc/stream/index.php?entry=entry081224-165842</guid>
		<description><![CDATA[Primeras pruebas del hardware mas aplicacion que estamos haciendo para el automapeo de superficies para proyeccion 




]]></description>
			<content:encoded><![CDATA[<p>Primeras pruebas del hardware mas aplicacion que estamos haciendo para el automapeo de superficies para proyeccion </p>
<p><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=4768b00b30&#038;photo_id=3133903184"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=4768b00b30&#038;photo_id=3133903184" height="300" width="400"></embed></object></p>
<p><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=7956ace88a&#038;photo_id=3133083765"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=7956ace88a&#038;photo_id=3133083765" height="300" width="400"></embed></object></p>
<p><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=6f481c978b&#038;photo_id=3133907710"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=6f481c978b&#038;photo_id=3133907710" height="300" width="400"></embed></object></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://tratadodeintegracion.cc/stream/automapeo-para-proyeccion/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
