Archive for the ‘zcode’ Category

Actualizar el sonido de un vídeo en AS3

Sunday, August 31st, 2008

Estoy viendo algo bastante raro. Según la documentación el objeto NetStream necesita un objecto SoundTransform para modificar el sonido. Benne.

Pero resulta que para que cambie el volumen (supongo que para las otras propiedades también) hay que “reasignar” el objeto SoundTransform de nuevo… Algo así:

—————————————————————————
var st:SoundTransform = new SoundTransform(1,0);

var ns:NetStream = new NetStream();
ns.soundTransform = ts;

(en otra función)

st.volume = 0.5;
ns.soundTransform = ts; // sin esta linea el volumen no se actualiza
—————————————————————————

Lo podéis ver funcionando en ZVideo (un wrapper en AS3 para simplificar el uso de vídeo) y también lo he encontrado en un player libre de vídeo de SourceForge: AS3 FLV Player.

¿Estoy empanao o esto funciona realmente así y simplemente llego tarde? No entiendo por qué si el objeto NetStream tiene una referencia al SoundStream hay que volver a asignársela para que surtan efectos los cambios.

NO significa NO

Sunday, August 10th, 2008

O mejor piénsatelo antes de declarar en AS3 un método privado. Cuando lo haces nada ni nadie puede sobreescribirlo, ni siquiera las clases que extiendan la tuya. Si crees (aunque sea remotamente) que vas a necesitar sobreescribir esos métodos o propiedades, mejor cúbrete las espaldas declarándolos “protected”. Un rápido resumen de cómo se comportan los modificadores de acceso en AS3 se puede ver aquí.

De hecho, en una de las últimas charlas del LFPUG Tink comentaba que uno de los problemas con los que se encontraban con los componentes oficiales (creo que los de Flex) era que muchas veces intentaban heredar de ellos para hacer algunas modificaciones hasta que se encontraban con un método privado y entonces estaban en un callejón sin salida.

Pero bueno, por fin estoy metiendo el cuezo con AS3 y la verdad es que mola bastante. Entiendo que a alguna gente le parezca un poco coñazo (temas como tener que importar muchas más clases explícitamente) pero da la sensación de mucho más robusto y deja bastante claro que AS2 no fue más que una mala manera de parchear la AVM1 para darle un poco de consistencia al lenguaje.

El sistema de eventos tiene buena pinta, E4X es un lujo porque tienes XPath de serie y mucho más conciso, utilizar URLLoader y URLRequest parece mucho más largo pero unifica el método de carga de todos los elementos externos (XML, imágenes, sonidos, etc)… No sé, estoy en el medio de portar ZCode a AS3 y por ahora va bien, ya iré contando como va todo y lo que me gusta y lo que no.

Licenciando código

Thursday, August 7th, 2008

Marditos abogados, jueces y legisladores que se inventaron *artificialmente* un lenguaje para confundirnos a todos. Porque por ejemplo los físicos tienen un lenguaje complicado porque tiene que representar una realidad que lo es. La realidad que representan las leyes es mucho, mucho más sencilla. A saber:

Acción: matas. Reacción: a la puta trena.

Todo lo demás son enmierdes para mantener su corralito y excluir de las leyes a quien le sale a ellos de los huevos, normalmente los que tienen dinero para pagar. Por ejemplo:

Acción: te pillan con 50 gramos de farlopa, 5 de crack y 3 de heroina.
Reacción:
** SI ERES POBRE: a la puta trena.
** SI TU PADRE tiene una compañía valorada en unos 6.800 millones de euros: regañina y no lo vuelvas a hacer. Travieso*.

Todo este bonito MacGuffin** sobre los abogados viene a que recientemente Grant Skinner ha publicado un interesante post sobre licenciar código Flash. Lo lees y te queda todo muy claro… hasta que lees los comentarios y hay millones de casos que las licencias no cubren y que quedan abiertos a especulación. Especialmente con la GPL y la LGPL y sobre cómo “saltárselas”.

El artículo te interesa tanto si compartes código como si usas código de los demás porque dependiendo del que uses igual estás obligado a abrir el tuyo o poner créditos visibles hacia el autor.

Yo por lo pronto voy a cambiar en breve la licencia de ZCode a alguna menos restrictiva que la LGPL, seguramente MIT o BSD.

Nos guste o no los flasheros tenemos que ponernos al día con estas cosas aunque sea un aburrimiento. Es un mal necesario pero las licencias están para respetarlas. Si alguien libera código GPL eres libre de usarlo o no. Si lo haces, cumple con la licencia y con su espiritu, añadiría yo. ¿Que no puedes/quieres cumplir con la licencia? No lo uses y te lo (re)picas tú.

Lo dicho.

* Esto el heredero del TetraBrick. Inglés y castellano.
** Me gano un +1 por saber qué es un MacGuffin pero lo pierdo instantáneamente por pedante. Duh!

Nueva ZWeb

Sunday, April 6th, 2008

Pues sí, pues sí.

Después de unos cuantos añitos con la web anterior, estreno wel: Zárate. Por fin una versión en Flash, por fin versión en inglés. Llevo todo el fin de semana de mudanza y mis testers (muchas gracias) y yo hemos estado mirando por arriba y por abajo, pero aun así seguro que nos hemos dejado algo. Si véis enlaces rotos, faltas de ortografía o lo que sea, por favor dadme un toque ¿ok?

Ahora, los adjuntos. Desde hace mucho, mucho tiempo quería poner mi código a disposición del personal. Luego vino SubFlash y mi peyote sobre los frameworks. Para entonces estuve preparando un mini-framework en Flash que nunca puse on-line. Bueno, pues ahora lo está: ZCode. Pero no sólo está lo de SubFlash, hay bastante más. Por ejemplo todo el código de la nueva web está aquí. También la parte PHP (hecha con CodeIgniter).

Luego hay más cosas que están sin documentar mucho, como un gestor de favoritos en Flash: ZBooks. Está ZLog, claro. También el código a medio terminar de mi versión del Snake, un player de vídeo que tengo que revisar, etc., etc.

El caso es que no está ni todo lo ordenado que debería, ni mucho menos suficientemente documentado. Pero siempre encuentro sucias excusas para retrasar el lanzamiento. ¡NUNCA MAIS! Ahora lo pongo delante de vuestros ojitos. Si sois capaz de sacar algo de provecho, me alegro.

Yo iré subiendo más cosas, documentación, etc. pero no voy a volver a ponerme plazos que no voy a cumplir. Consideradlo una ventana a mi trastero más que un proyecto :) S ver si hay suerte y alguien le saca provecho.

Y una vez lanzado esto, me voy a dedicar a mi siguiente vaporware :D

¡Salud!