Categories
Music

Night of the Proms 07 (OMFG!)

Este año Night of the Proms viene a España. Se trata de una gira internacional que combina la música clásica y el pop en la que participan un coro de 50 voces, una orquesta de 72 músicos y 5 solistas: 1 clásico, 3 de pop-rock internacional y uno nacional.

Solo con esto la cosa ya pinta bien, pero además resulta que se acaba de confirmar (via A Man and His Music) que los dos conciertos que habrá en España (en Valencia y Madrid) contarán con la presencia de ¡Mike Oldfield! :D

Por lo visto en el tracklist del CD promocional de la gira en Alemania, parece que tocará fragmentos de Ommadawn y Tubular Bells, asi como Shadow on the Wall. Se comenta que a estas 3 piezas se añadirán Moonlight Shadow y To France, con la colaboración de Miriam Stockley como vocalista.

El concierto de Valencia es el 30 de marzo y el de Madrid el 31. Las entradas salen a la venta el 1 de diciembre.

Ya tengo la excusa perfecta para pasarme a visitar a mis apigos madrileños ;D

Categories
Demoscene

Actualización de la web

Cambios en mi web. Que nadie se asuste, sigue conteniendo un 0% de webdospuntocerismo.

He añadido la red trip a la lista de prods, y he puesto screenshots de las intros para que la web no sea sólo un enorme bloque de texto con links. Ahora un visitante casual puede mirar los dibujitos, como se hace con los buenos libros, y ver los screenshots en orden cronológico. Me recuerda shash que tengo varias intros pendientes de portar a Linux. A ver si encuentro una forma decente de pintar texto en OpenGL sin usar chorrocientas libs externas ni dejarme miles de bytes en el intento.

Quien ya conozca las prods no encontrará nada especialmente nuevo. Los screenshots son exactamente los mismos que hay en pouet :)

Categories
Code

Recovecos oscuros de C, C99 y C++

Advertencia: Post para coders. Puede producir dolor de cabeza. También puede contener información horriblemente equivocada, en cuyo caso se ruegan correcciones en los comentarios.
Hoy me he pasado un buen rato preguntandome por qué no funcionaba esto (recemos para que el WordPress no me destroce demasiado el codigo :P) :

#include <cstdio>
int main() 
{
    int i; float f=1.0f;
    i = *reinterpret_cast<float*>(&f);
    printf("i = 0x%0x\n", i);
    return 0;
}

Compilando sin optimización funcionaba como se esperaba, y con optimización daba un resultado distinto. Al principio pensé “un error del gcc, seguro”, pero me he puesto a buscar y resulta que no es un bug, sino una feature. ISO C tiene reglas en contra del aliasing de punteros que dicen que acceder a una variable mediante un puntero de un tipo incompatible es ilegal, asi que al activar las optimizaciones asume que esas cosas no pasan y genera un resultado incorrecto. Una solucion tí­pica es el clasico hack en el que se define una union de un int y un float, se escribe en un miembro y se lee en el otro, pero creo que el estandar dice que en este caso el resultado está definido por la implementación. Mala cosa. Tambien he leido por ahi que una buena opcion es usar memcpy, hacer una copia de lo que sea a otra posicion de memoria y te olvidas del aliasing.

Mas cositas. Programando en la uni el otro dia pensamos en lo bonito que seria disponer de tipos de tamaño fijo, como los uint8, int32, que todos hemos usado alguna vez. Pues bien, en C existen y en C++ no. Ahora alguien se puede preguntar “¿pero cómo? si C es un subconjunto de C++!”, pero esto no solo no es cierto, sino que desde la aparición de C99 hay incluso más diferencias (el estandar de C++ es del 98). En este caso, C99 especifica una cabecera stdint.h que define tipos con nombres como int8_t.

Por ultimo, una curiosidad del FAQ de C++: esta permitido hacer un cast de “Blah *” a “const Blah *”, pero no un cast de “Blah **” a “const Blah **”.

Y eso es todo por hoy. Si tenéis alguna historia similar que contar son bienvenidos los comentarios.

Categories
Code Demoscene Music

BCNParty 110

Este último fin de semana he estado en la BCNParty.

El jueves por la noche llegué con stage7 a Barcelona, donde shash nos recogió y nos llevó a su casa. stage7 habí­a terminado durante el viaje su tema para la compo de streamed music, una versión de mi track jarresco para la syltia (coop 4k Bauknecht/Necrostudios) que me encanta como ha quedado :D. Como llovía nos quedamos en casa de shash haciendo cosillas de la intro y viendo grandes éxitos en YouTube.

El viernes nos levantamos tarde y llegamos a la party sobre las 16:00. Sesión de partycoding, partycomposing-con-el-vim, y por la noche descanso para degustar la super sangria of the death que yomizmo preparó. Fueron unas horas geniales en las que los miembros de TimeScratchers nos deleitaron con un montón de chistes, mientras otros traducian los chistes al inglés (como razonable éxito ;) para que los sceners extranjeros pudieran entender algo.

El sábado era el día clave para terminar la intro, es decir, el último :D. Terminé el track como buenamente pude, a pesar de la completa falta de inspiración, y nos pusimos a sincronizarlo todo. No tuvimos demasiados problemas para conseguir el tamaño correcto, aunque hubo un momento de pánico cuando casi me cargo el sinte intentando sustituir la rutina de los ADSRs por un decay exponencial que iba mas o menos bien en mi maquina (40% de consumo aproximado de CPU, eso si :P) pero hacía sufrir demasiado al PC cuando lo pasé a windows. Todaví­a seguimos buscando el porqué. Resultado final: Red trip by Collapse and Necrostudios.

Entregamos la intro 15 minutos antes de las proyecciones, nos hicimos unos pintxos en el bar de enfrente del partyplace *muy* rápido y después de ver las compos nos fuimos de fiesta toda la noche. Llegamos justo a tiempo para desayunar en la estación y despedir a stage7, que se iba a las 8:00. Después a dormir un rato, lo justo para llegar a la entrega de premios.

Al final quedamos segundos. Personalmente estoy bastante contento con la intro teniendo en cuenta la carencia de ideas en los dias previos. Ha quedado algo bastante potable y bien terminado. El nivel de las compos en general fue un poco menor de lo esperado, pero al menos ganó una demo española y escena.org vuelve a estar online ;)

En resumen, la party ha estado muy bien a pesar de la falta de prods (lástima) y me lo he pasado genial. ¡Gracias a todos!

Categories
Uncategorized

No estamos solos…

A veces en la inmensidad de Internet te encuentras algo que te produce la reconfortante sensación de que ahí afuera, en alguna parte, hay alguien que comparte tus inquietudes. Ayer me pasó al ver esta viñeta de Randall Munroe:

Even the identity matrix doesn't work normally

(URL original: http://xkcd.com/c55.html)

El resto de las tiras que hay en el site son muy recomendables también, si tienes gustos parecidos a los mios en lo que al humor se refiere, claro :)

Categories
Demoscene

Inércia Demoparty 2006 (segunda parte)

Ya ha terminado la party. El viernes PpluX leyó su papel en el congreso, yo medio terminé la intro4k que habí­a empezado y nos subimos en el autobús. Llegamos al partyplace sobre las 18:30 y Evil me dice que como el demoshow iba a ser a las 22:00, tenia hasta las 21:00 para reducir los 50 bytes que me sobraban, empaquetar la intro y subirla. Sin problemas.

Mientras tanto, hablamos con la orgo del congreso para aclarar el tema del shuttle a Lisboa el dia siguiente, que supuestamente salí­a a las 6:00 del sábado. Sin embargo, nos dicen que habí­an cambiado el autobús a esa misma tarde y que para llegar el sábado por la mañana a Lisboa tendríamos que pillar el taxi hasta Portalegre y luego un bus desde allí­. Por lo menos conseguimos que nos reservaran el taxi para el dia siguiente a las 7:00.

Vuelta a la party, subo la 4k y poco después llega jeenio. Me hacía ilusión participar en la pirated demo compo y se lo propuse a jeenio y a mauge, que también estaba por allá­. Jeenio grabó la música asombrosamente rápido mientres mauge y yo retocabamos los gráficos de la cafre, de Stravaganza. ps nos retrasa aun más la deadline (real sceners always deliver after the deadline :D) y conseguimos presentarla también.

En total, 2 intro4k, una intro64k, una demo, dos pirated demos y 2 wilds.

Tras el demoshow, jam session con jeenio, evil, xernobyl, otro chico que no se quien es pero que tocaba muy bien el teclado y ps cantando de vez en cuando hasta prácticamente las 6 de la mañana :D. Al final la última noche compensó con creces el poco tiempo que habia pasado en el partyplace hasta el momento.

A las 7:00 cogimos el taxi hasta Portalegre, luego autobús a Lisboa, metro+bus para llegar hasta el aeropuerto, avión hasta Madrid, enlace por los pelos con el vuelo hacia Valencia, carrerita de un lado a otro de la terminal 4 de Barajas inclui­da (las maletas llegaron en el siguiente vuelo y esta mañana nos las han traido) y finalmente llegada a casa. Sin lugar a dudas ha sido el dia en el que más transbordos he hecho en toda mi vida.

En resumen, ha sido muy divertido, aunque ha sido una lastima que hubiera tan poca gente. No sé cuantos asistentes han tenido las últimas ediciones de la Inércia, pero me da la sensación de que les ha perjudicado hacer la party entre semana en una ciudad tan pequeña. Muchas gracias a ps y a evil por su labor como orgos, por invitarme a la party y por llevarnos de cena :)

Y dentro de 12 dias… BCN \o/

Categories
Code Demoscene

Inércia Demoparty 2006

Estoy en Portalegre (Portugal) con PpluX pasando unos dias en la Inercia. Ayer pasamos todo el dia en las conferencias del Games2006, un congreso sobre videojuegos en el que está enmarcada este año la party. Muchas gracias a la organización de la party por invitarme :D

Ahora mismo estamos en el partyplace, y me dispongo a empezar una 4k. Supongo que haré un refrito de algo, voy a dedicar un par de horitas a experimentar a ver si encuentro algo chulo con lo que llenar la intro.

Si tengo tiempo y ganas seguiré contando cosas de la party en posts sucesivos.

Categories
Code

Jugando con el SDK de Steinberg

Llevo toda la noche toqueteando el VSTi de ejemplo del SDK de Steinberg. La idea es empezar un nuevo sinte para intros de 64k que sea usable (y dejar congelado por el momento el de 4k, a falta de que un dia le haga una GUI). La documentación no es ninguna maravilla pero los fuentes de ejemplo están bastante bien.

El viaje comienza heredando de la clase AudioEffectX. Hay todo un mogollón de funciones virtuales que debo implementar para gestionar el paso de los parámetros desde el host y esas cosas. Todos los parámetros son floats en el intervalo [0.0, 1.0], y todos los datos de audio son floats (o doubles opcionalmente) en el intervalo [-1.0, 1.0].

De momento tampoco hay mucho más. Ah sí, también he estado mirando cosas del menú de configuración del WordPress que acabo de instalar para poder escribir todo esto ;)