[un/loquer] Fwd: ayudita con c++ / openframeworks

pedro pedruski en gmail.com
Vie Dic 11 16:00:55 UTC 2015


hola miguel, muchas gracias !

un poco de background al proyecto:

es un montaje de 4 raspberry pis con 4 proyectores - cada pi tiene un
cliente (escrito en openframeworks) que gestiona la media que se esta
proyectando (2 videos y un imagen fijo). el cliente tiene 2 canales y vamos
mezclando usando el canal alpha. el pi de control habla con los 4 clientes
via OSC, cambiando los media, los alpha, los plays etc

el pi de control tiene una camera y será eso que va controlando la
instalación, analizando si hay presencia o no en las areas definidas (mas
adelante nos gustaría complejizar esta analisis para poder detectar
movimientos circulares en el espacio pero ese es otro fase) -  en este fase
estamos simulando los datos de la camera con teclas - o sea, presencia en
zona 1, tecla q, ausencia zona q tecla w, etc.

el comportamiento deseado es eso:

*presencia en z1 (tecla q) :*

ch2 / pause video 1

ch1 / play video 2

ch1 / alpha video 2 de 0 a 255 en 1 segundo

ch1 / fade in sound 0.1 → 1.0 , 1 segundo


*ausencia en z1 (tecla w) :*

ch1 / pause memoria - video 2

ch 2 / play  video 1

ch 1 / alpha video 2 de 255 a 0 en 1 segundo

ch1 / fade out sound 0.1 → 1.0 , 1 segundo


estamos ahora trabajando con vuestras sugerencias :)

bzzz




El 11 de diciembre de 2015, 10:24, Miguel Vargas <
miguelito.vargasf en gmail.com> escribió:

> Pedro lo que te esta pasando es que entraste en una especie de vacio donde
> el programa se queda sin hacer nada por que:
>
> 1. si es menor que 255 k++ y si es menor o igual a 255 k--
>
>
>        (kx <= 255) ? kx++ : kx--;
>
> esta linea de codigo simplifica lo que tenes pero no lo soluciona debido a
> el ultimo caso :), sin importar si el operador logico es < , o <=, va a
> llegar un momento donde va a subir uno y de una bajar uno :).... el
> condicional se va a cumplir en cada iteracion del codigo cuando la variable
> alcance por primera vez se mayor o igual al umbral de color me
> imagino?....... lo que me lleva a lo siguiente y reforzando un poco lo que
> dice fabio, quieren conectar un slider o knob de alguna interfaz para
> controlar unos alfas? o por lo que veo de primera en el codigo, generar
> unas variables que se vayan moviendo -deltas-?.... si lo que quieren es
> conectar un controlador midi o algo, aca la solucion es mapear el valor y
> eso es breve, si lo que quieren es generarlas...entonces aca tambien te
> tenes que preguntar un poco en definitiva que es controlar un alfa de un
> video, que pasa cuando subo o lo bajo..... y vas a llegar a la conclucion
> que el ejemplo de processing donde te muestran como rebotar un pelota
> contra los bordes es a solucion... :)....
>
>
> El alfa es el mismo solo que va en una direccion :)..... y si le agregas
> velocidad tambien vas a tener intencion.... es decir:
>
> int direccion = 1;
>
> kx += velocidad*direccion
>
> (kx < 0 || kx > 255) ? direccion = -direccion;
>
> esto soluciona el asunto de ese vacio en el que esta entrando tu codigo y
> ademas le agrega la posibilidad de esta intencioncilla de que tan rapido
> quiero llegar a donde quiero llegar....
>
> Miguel
>
>
>
>
> 2015-12-11 9:38 GMT-05:00 Fabio Barone <holon.earth en gmail.com>:
>
>> yo no entiendo lo que quieren hacer, por eso me abstengo a darte una
>> propuesta....
>> para que todas tus necesidades estén cubiertas, tendrías que especificar
>> exactamente que quieres que haga el código :)
>> si no te pasamos soluciones que en la próxima situación especial (que
>> suba, que baje....) ya no funciona
>>
>> es que veo algunas cosas raras en ese código...
>> - arriba (fadeIn = true), se incrementa kx mientras esté mas grande que
>> 255, pero se pone fadeIn inmediatamente a false, así que solo hará el
>> incremento una vez (a no ser que haya mucho mas código que en otro lugar
>> pone ese fadeIn a true otra vez)
>> - abajo eso no se hace, solo está fadeOut = true pero nunca se pone
>> fadeOUt en false, alguna razón?
>> - parece indicar que hay más código que hace más cosas que no nos has
>> compartido
>> - cuando subes a 255, llega el momento en que kx =255, *pero se
>> incrementa una vez mas, *lo que lo hace incrementar a 256. Con 256, if (
>> kx<255)  no aplica y kx se queda ahí
>> - abajo, se está manipulando ky, que no es kx, entonces no sé cual numero
>> es cual y porque son variables distintas.
>> - si quieres que baje kx (ky ya está bajando), cuando llegue a 255 tienes
>> que iniciar la inversión.....tendrías que tener una variable indicando que
>> sube o que baja, y si es subiendo, kx++, si está bajando, kx--
>>
>>
>>
>> 2015-12-10 20:05 GMT-05:00 pedro <pedruski en gmail.com>:
>>
>>>
>>> eio, va muy bien para subir a 255 pero tienes idea como bajar  ?  jejeje
>>>
>>> el codigo aqui salta directo !!
>>> http://pastebin.com/4ba9sgnr
>>>
>>> abzzz
>>>
>>>
>>>
>>>
>>> El 10 de diciembre de 2015, 13:53, pedro<pedruski en gmail.com> escribió:
>>>
>>>>
>>>> ---------- Mensaje reenviado ----------
>>>> De: brolin <brolin108 en gmail.com>
>>>> Fecha: 10 de diciembre de 2015, 13:22
>>>> Asunto: Re: [un/loquer] ayudita con c++ / openframeworks
>>>> Para: hackerspace medellin <unloquer en lists.aktivix.org>
>>>>
>>>>
>>>> Se me fue antes:
>>>>
>>>> Hola Pedro,
>>>>
>>>> podés crear una flag dentro del evento de la tecla como activado=true y
>>>> dentro del update() hacer un condicional
>>>>
>>>> if(activado){
>>>>   contador++;
>>>>   //manda mensaje osc
>>>> }
>>>>
>>>> adicionalmente puedes poner un contador para que se active por cierto
>>>> tiempo.
>>>>
>>>> if(contador ==  CIERTO_TIEMPO){
>>>>
>>>> activado = false;
>>>> contador = 0;
>>>> }
>>>>
>>>>
>>>> 2015-12-10 13:21 GMT-05:00 brolin <brolin108 en gmail.com>:
>>>>
>>>>> Hola Pedro,
>>>>>
>>>>> podés crear una flag dentro del evento de la tecla como activado=true
>>>>> y dentro del update() hacer un condicional
>>>>>
>>>>> if(activado){
>>>>>
>>>>>   //manda mensaje osc
>>>>> }
>>>>>
>>>>> adicionalmente puedes poner un contador para que se active por cierto
>>>>> tiempo.
>>>>>
>>>>> if(contador ==  CIERTO_TIEMPO)
>>>>>
>>>>> 2015-12-10 12:57 GMT-05:00 pedro <pedruski en gmail.com>:
>>>>>
>>>>>>
>>>>>> hola amigxs
>>>>>>
>>>>>> aqui pedro soler !
>>>>>>
>>>>>> estoy en quito trabajando en una instalación que se llama
>>>>>> transmestizx - son 5 raspberry pis y 4 proyectores. un pi controla los
>>>>>> otros 4.
>>>>>>
>>>>>> no logramos enviar un mensaje continuo de números por osc al
>>>>>> presionar una tecla desde el pi de control a los otros ! eso es supa facil
>>>>>> en PureData y Processing pero no sabemos hacerlo en C++ ...
>>>>>>
>>>>>> el problema es que solo se envía un valor al presionar la tecla.
>>>>>> necesitamos que haga la cuenta de 0 a 255 en determinado tiempo
>>>>>> es decir
>>>>>>
>>>>>> si  esto es puesto dentro del void ofApp::update ();
>>>>>> funciona
>>>>>>
>>>>>> pero al ponerlo dentro del void ofApp::keyReleased(int key) el
>>>>>> mensaje solo envia un numero
>>>>>>
>>>>>> y solo es continuo si mantengo presionada la tecla
>>>>>>
>>>>>> todo el codigo
>>>>>>
>>>>>> http://pastebin.com/CqiKtaWc
>>>>>>
>>>>>> gracias !!!
>>>>>>
>>>>>> abzz
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Pedro Soler. http://root.ps.
>>>>>> tel ecuador (+593) (0) 986855145
>>>>>> *****
>>>>>>  <3
>>>>>> x
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> unloquer mailing list
>>>>>> unloquer en lists.aktivix.org
>>>>>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> unloquer mailing list
>>>> unloquer en lists.aktivix.org
>>>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Pedro Soler. http://root.ps.
>>>> tel ecuador (+593) (0) 986855145
>>>> *****
>>>>  <3
>>>> x
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> <lost>
>>>
>>>
>>>
>>> --
>>> Pedro Soler. http://root.ps.
>>> tel ecuador (+593) (0) 986855145
>>> *****
>>>  <3
>>> x
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> unloquer mailing list
>>> unloquer en lists.aktivix.org
>>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>>
>>>
>>
>> _______________________________________________
>> unloquer mailing list
>> unloquer en lists.aktivix.org
>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>
>>
>
> _______________________________________________
> unloquer mailing list
> unloquer en lists.aktivix.org
> https://lists.aktivix.org/mailman/listinfo/unloquer
>
>


-- 
Pedro Soler. http://root.ps.
tel ecuador (+593) (0) 986855145
*****
 <3
x
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.aktivix.org/pipermail/unloquer/attachments/20151211/2e454e7d/attachment-0001.html>


Más información sobre la lista de distribución unloquer