martes, 28 de julio de 2009

Estudio de grabación - Compilando Ardour 2.8.2 VST y Jack 0.116.2 en ubuntu

Pues como ya he comentado en otro post, mi interés en la grabación digital de audio viene desde tiempo atrás, cuando mi hermano se hizo con una pequeña mesa de mezclas Mackie y una tarjeta de sonido Terratec EWS88/MT, allá por el año... ni me acuerdo. Ese fué el primer equípo que utilizamos en nuestras grabaciónes caseras, junto con el programa de grabación de audio Logic.

Aunque la mesa solo tiene 4 entradas I/O balanceadas, los previos que tienen las mesas Mackie tienen una relación calidad/precio de las más elevadas. Actualmente, habiendo renovado también el equípo informático, nos hemos hecho con un módulo de previos a válvulas que incorporan ecualización y compresión de la señal. Además, para completar 8 pistas, de una pequeña mesa Yamaha utilizamos dos de sus inserts.

Todo esto lo hemos ido completando con sets de micros cada vez mejores donde no falta un set de microfoneado de batería AKG, micrófonos de condensador para ambiente, así como el conocido Shure SM57... uno de los micros mas versátiles del mercado, que graba la caja de mi batería con una pegada increible, y recoje a la perfección los agudos de una guitarra eléctrica.

Por otro lado, hace poco que terminamos una obra enorme en el local, que ha quedado como un auténtico estudio de grabación. Hemos tenído en cuenta desde las paredes, de madera y espuma acustica para evitar reflexiones en frecuencias medias, así como trampas de graves con "Rockwool" para el techo, tarima flotante con grosores mayores tanto para las piezas como para la espuma etc.

Y después de todo esto hay que sacarle partido. Hace tiempo que dejé de usar los sistemas Windows, por cuestiónes éticas, y en esto de la música no quería ser menos, así que me informé de las opciónes libres, y hasta el momento no puedo tener queja. Me he dado cuenta de que la grabación tiene más calidad, mas cuerpo y más realismo, aunque parezca imposible. He probado distribuciónes específicas como Musix y Ubuntu Studio, pero al final uso Ubuntu desktop 9.04 con el kernel rt, Ardour 2.8.2 sin Plugins VST pero con los LV2, que son una auténtica maravilla, así como Jack 0.116.2.
Lo peor es que en los repositorios de Ubuntu, así como de otras distros, las versiónes tanto de Ardour como de Jack no están actualizadas del todo, y en un proyecto tan vivo como Ardour, estas actualizaciónes incluyen mejoras significativas. Además no basta con instalar el kernel rt, sino que hay que asignar recursos adicionales del sistema para que realmente se pueda iniciar el servidor jack activando el modo rt y reducir la latencia de la señal, y un rendimiento mayor del equipo. Evidentemente todo dependerá de tu hardware, pero en mi caso, mi Terratec EWS88/MT tiene una latencia con la configuración por defecto, de 46 ms y configurando jack adecuadamente (sin xruns) baja a 5,4 ms, lo cual no está mal considerando los 128 ms de latencia que obtenía con un kernel "generic".

Antes de nada, comentar que me pareció sencillamente increible que Ubuntu detectase automáticamente mi Terratec con los drivers ALSA para tarjetas Envy24 (ICE), y empezase a funcionar perfectamente sin instalar nada, más allá del panel de control de la tarjeta, el "Envy24 Control", que también funciona a la perfección (en Windows XP tuve que buscar los drivers y descargarlos de una página de dudosa intención).

Y así, manos a la obra. Vamos a instalar y configurar el kernel realtime de ubuntu. La instalación de un nuevo kernel hoy en día no implica (necesariamente) nada complicado como una compilación o cosas así, que en el pasado nos han hecho renunciar. Ahora solo hay que abrir el gestor de paquetes de ubuntu (Synaptic) y buscar "linux rt" e instalar:
  • linux-image-rt
  • linux-headers-rt
  • linux-restricted-modules-rt
Una vez hecho esto, nos encontraremos con una opción más de inicio en el GRUB, que nos permitirá arrancar con dicho kernel, o para hacer que Ubuntu arranque con ese kernel, editar el archivo /boot/grub/menu.lst y hacer que por defecto arranque con ese kernel, indicando el número de opción del menu de grub en la sentencia default.

Ahora nos toca configurar el sistema para que jack tenga todos los recursos necesarios y aprovechar el rendimiento de este kernel lo máximo posible. Básicamente se debe configurar la cantidad de memoria que un proceso puede bloquear para si, ejecutandose como el usuario con el que entremos en ubuntu. Esta configuración básica la encontramos en el archivo /etc/security/limits.conf. La sintaxis de las líneas en este archivo es:

{nombre_de_usuario} {tipo_de_limite} {item} {valor}


de forma que podemos añadir unas líneas como las que vemos a continuación:
@audio - rtprio 99
@audio - nice -10
@audio - memlock unlimited
Donde @audio es el nombre del grupo de usuarios para el que asignamos los límites. Para el parámetro memlock también podemos calcular un tamaño en Kb en función de la RAM que tengamos y de lo que nos permita el sistema. Desde los desarrolladores de Jack recomiendan unlimited. El parámetro nice puedes también asignarle -15 en determinados equipos con lo que los procesos tendrán más prioridad. Por supuesto deberás crear el grupo audio y asignar tu usuario a dicho grupo, o cambiar el nombre del grupo por alguno al que ya pertenezcas.

Para la instalación de Jack además, es necesaria una partición para el directorio de archivos temporales que utiliza Jack y para ello creamos un directorio:

sudo mkdir /mnt/ramfs

Y añadimos la siguiente línea en /etc/fstab:

none /mnt/ramfs tmpfs defaults 0 0

Cuando reiniciemos el equipo, podremos comprobar en "Sistema > Administración > Monitor del sistema" que tenemos ubuntu arrancado con el nuevo kernel y la nueva asignación de prioridades etc.

Ya tenemos nuestro equipo listo para instalar Jack y Ardour. Jack es el servidor de audio, y permite establecer la ruta de las señales de audio que tengamos en nuestro equipo entrando y saliendo, derivandolas a plugins de efectos, a otras aplicaciónes como Jamin, o incluso con JackNet a otros equipos que podríamos utilizar como procesadores de efectos.
Ardour es una aplicación que nos dá una interfaz para realizar proyectos de audio utilizando Jack, y nos permite grabar, ecualizar, filtrar, y manipular las señales de audio. Así que nos descargamos:
Y ahora es cuando deberemos instalar unas cuantas librerías que nos permitan realizar una compilación correcta de ambos sistemas. Aquí os dejo las ordenes, que solo tendréis que copiar y pegar en un terminal y con permisos de root. Algunos paquetes están duplicados pero weno no os preocupéis puesto que los gestores de paquetes son mágníficos...

sudo apt-get install libxine1 libxine-dev libxine1-gnome libxine1-misc-plugins gxine gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-bad gstreamer0.10-pitfdll gstreamer0.10-ffmpeg jamin audacity jack libmp3lame0 jack-tools libjackasyn0 liblo0-dev libqt4-dev python-ogg-dbg jack-tools meterbridge libjackasyn0 nas libfftw3-dev liblo0-dev libqt4-dev python-ogg-dbg python-pyvorbis-dbg csladspa libfftw3-dev liblo0-dev libqt4-dev python-ogg-dbg python-pyvorbis-dbg qt4-dev-tools libmysqlclient15-dev libsqlite3-dev libiodbc2-dev audiooss phonon-backend-xine alsa-tools-gui build-essential libxml2 scons gettext pkg-config libtool xml2 libxslt1.1 python-libxslt1 libmodxslt0 libxalan110 xalan xmlstarlet libart-2.0-2 libart-2.0-dev libart2.24-cil libart-dev libart2 libgdk-pixbuf2 libgdk-pixbuf-dev libart2-ruby libasound2-plugins libsamplerate0 libsamplerate0-dev libgavl1 libgavl-dev raptor-utils libraptor1 libraptor1-dev liblrdf0 liblrdf0-dev jack-rack blepvco blop caps dssi-dev dssi-example-plugins dssi-utils fil-plugins jackeq libladspa-ocaml libladspa-ocaml-dev lv2core mcp-plugins rev-plugins rubberband-ladspa ladspa-sdk muse ubuntustudio-audio-plugins libgnome2-canvas-perl libgnomecanvas2-0 libgnomecanvas2-common libgnomecanvas2-dev libgnomecanvasmm-2.6-1c2a libgnomecanvasmm-2.6-dev guile-gnome0-canvas libgnomecanvas2-ruby1.8 libfftw3-3 libfftw3-dev pd-aubio python-aubio libaubio-dev libaubio2 aubio-tools libsndfile1 libsndfile1-dev wine wine-dev libsvn1 libsvn-perl subversion subversion-tools boost-build libboost-signals-dev libboost-regex-dev libboost-graph-dev libboost-dev libusb-1.0-0 libusb-1.0-0-dev libusbprog-dev alsa-firmware-loaders libdiscover-dev libdiscover2 libusb++-dev libmtp-dev libmtp8 libgphoto2-2 libgphoto2-2-dev alsa-source alsa-tools libbio2jack0 libbio2jack0-dev libbjack-ocaml libbjack-ocaml-dev libclalsadrv-dev libclalsadrv1 liblash-dev liblash2 liblo10k1-0 liblo10k1-dev libopenal-dev libopenal1 bse-alsa libesd-alsa0 libasound2-plugins libasound2-dev libasound2 libao2 gstreamer0.10-alsa alsa-base libpt2.6.1-plugins-alsa automake autoconf autotools-dev gnome-common libsigc++-2.0-0c2a libsigc++-2.0-dev libsigc++-1.2-5c2 libsigc++-1.2-dev libsigc++-dev lv2core libecasound2.2-dev libtse3-dev libwildmidi-dev libwildmidi0 libsdl-mixer1.2 libsdl-mixer1.2-dev dssi-host-jack libfluidsynth-dev libfluidsynth1 libportmidi-dev libportmidi0 redland-utils libsoprano4 librdf-perl librdf-ruby python-librdf librdf0 librdf0-dev libdmalloc-dev libxklavier12 libxklavier12-dev libdmalloc5

Un tostón, además os recomiendo no hacerlo de un tirón, pero enhorabuena!!! Ahora eres capaz de compilar un sistema de audio profesional completo!!! Además, ahora también podrás compilar el core de LV2, las librerías SLV2 y los plugins ll etc. es lo bueno de esta orden...

Evidentemente si has ejecutado todo lo anterior, ya tienes instalado Jack, en la versión del repositorio de Ubuntu, pero si quieres la última versión, escribe desde un terminal en el directorio donde has descomprimido los fuentes de jack:

./configure --with-default-tmpdir=/mnt/ramfs
make
sudo make install


Esto te compilará e instalará el ejecutable de Jack en /usr/local/bin/jackd, recuerda esto cuando intentes iniciar el demonio, y cuando configures qjackcontrol. Con estos nuevos parámetros, y dependiendo de la tarjeta de sonido que tengas, podrás ajustar el parametro de "Cuadros/periodo" (frames/period) para reducir la latencia. Yo actualmente tengo 5 ms con 256 frames/period, y ningún xrun.

Para compilar ardour vete preparando una taza de café, unos puritos e incluso un tablero de parchis porque va a tardar un poquito... jeje... Así que cuanto antes mejor. Entra en el directorio donde descomprimiste Ardour, y escribe:

scons LV2=1 FFT_ANALYSIS=1 SLV2=1 VST=1
sudo scons install


Imagino que no es muy normal que haya que intentarlo varias veces, pero en ocasiones, me fallo la compilación y misteriosamente al volver a intentarlo no da error. Supongo que el orden en script de scons estará mal, o hay interdependencias raras... vete tu a saber... La opción de VST es posible si has instalado todas las librerías que he mencionado, pero lo cierto es que aunque es más estable que antes, no va del todo bien, y los plugins LV2 y Jamin permiten hacer maravillas. Bueno pues si has sido capaz de realizar estos pasos tan sencillos, ya tienes un sistema de audio bastante profesional, y gratuito, a disfrutarlo.

lunes, 27 de julio de 2009

Vivencias de un consumidor desamparado

Sábado por la noche, verano, calor y mucha gente de vacaciones. Estábamos pocos amigos reunidos para tomarnos algo, bañarnos un poco y pasar una noche tranquila. No pasó nada fantástico y super increíble, esto no va de eso; no pasó nada, y la noche fue tranquila y magnífica. Lo único que quería contar fue algo sobre la conversación que tuvimos tras la cena. Voy a narrar los hechos reproduciendo las conversaciones de forma aproximada, porque quedará reflejado de forma más fiel el escenario. Así que comenzamos hablando entre todos:

-”…Que no lo pensamos más, pedimos pizza. Unas familiares, fácil, rápido y limpio. Y además me hacen descuento 2X1 a domicilio.” -Dijo alguno

Perfecto, buscamos el número, llamamos y pedimos las pizzas:

-”…El precio: 30,40 €… ¿Va ha necesitar cambio?” -Nos dijo la operadora

Terminamos la conversación y colgamos, pero mierda, ¿2 pizzas familiares esa pasta? No nos cuadraba:

-”¿Le has dicho lo del descuento?”

-¡¡¡No, antes no había que decirlo!!!

De nuevo buscamos el teléfono y llamamos. Lo cogió otra señorita, y le explicamos el tema. Después de 4 ó 5 minutos comprobando el pedido le decimos que nos haga el 2X1, y nos dice:

-”¿Pero ese cupón de donde es?”

-”De páginas amarillas…” -Respondimos nosotros.

-”Ahh!! de esos si, bueno pues entonces perfecto, aplicamos dos por uno… un momentito… El precio es 25,05€…”

Es indescriptible la sensación de colgar el teléfono justo en el momento en el que recapacitas y piensas en la mitad de 30,40€. Un fuego surge desde lo mas profundo de tus entrañas y recorre tu espina dorsal provocando un deseo incontrolable de maldecir a los familiares difuntos de Graham Bell, de Italia por crear las pizzas y del primero que pase por allí.

-”Ring, Ring!!!”

-”Pizzas a domicilio ¿Digame?”

-”Vera usted es que es la tercera vez que llamo, la primera vez fué para pedir 2 pizzas familiares, por las que me iban a cobrar 30.40€, después llamé para ver si era posible aplicar su promoción de 2X1, y la amable señorita que respondió al teléfono, nos aplicó dicho descuento, reduciendo el precio, a la asombrosa cantidad de 25,05€ ¿Usted ve eso normal?

Evidentemente, lo que pensábamos se parecía más a:

-”Señorita, se me ha quedado una cara de gilipollas cuando he colgado y me he dado cuenta de que no se dividir, que he tenido que llamar otra vez, y como no me diga lo que quiero oír, voy a ir a esperarla a la salida, con tres o cuatro amigos, que me he “quedao con tu cara!!“”.

-”Un momento…” -Respondió la operadora.

…Y así estuvimos esperando un buen rato intentando que nos explicasen porque coño la mitad de 30,40€ son 25,05€, y para nuestra sorpresa, apareció de nuevo la señorita con un argumento infalible.

-”Verá señor, al precio de dos pizzas familiares sin ninguna promoción, se les aplica un descuento por el número de ingredientes, pero si solicita alguna de las promociones, ese descuento sobre el número de ingredientes no es aplicable, por lo tanto se cobra el descuento que usted solicita, que como es de 2X1, pues equivale a pagar sólo la pizza de mayor valor que son 25,05€”

Ahhggg!!! mierda, esta vez la sensación de ardor, de asco, de furia, de locura psicópata, queda contenida con una explicación que no has entendido del todo, pero que no puedes rebatir!!!

Esta claro, como no habíamos caído antes… o sea que te lo enseño, te lo vendo te lo escondo y cuando te descuidas, te la meto. Por alguna extraña razón todos los/las operadores/as que nos atendieron solo esperaron a que el ordenador les dijera la cantidad total.

Al fin entiendo el truco, te vendo la moto sobre duros a cuatro pesetas, y luego me invento un entramado de normas y leyes para quitártelo sin que puedas decir que no tengo razón. De hecho el entramado legal es incluso complicado para los operadores/as, que simplemente esperan a que lo calcule el ordenador, porque sino…

Lo más triste es que eso es totalmente extrapolable al funcionamiento de la justicia de un país, donde se sabe exactamente que hay que hacer, pero el entramado legal incomprensible permite saltarse las leyes según nos convenga, sino, mirad el post sobre la justicia.

Una sobre justicia

Extraido de un conocido diario me gustaría citar:
El ministro de Justicia, que estuvo cazando el pasado 7 de febrero en la Sierra de Andújar en una montería de ciervos junto al juez Garzón, no figura en el listado de autorizaciones de Medio Ambiente…..
…Bermejo ha reconocido durante una entrevista en televisión que carece de la licencia necesaria para cazar en Jaén. La Ley de Flora y Fauna de Andalucía tipifica como “sanción grave” la práctica de la caza sin poseer la licencia requerida……en el último balance de actuación del Seprona, el del año pasado, se impusieron más de 700 infracciones, al tiempo que se detuvieron a 13 personas, y por este motivo…
Cual es mi sorpresa cuando recientemente, en otro diario aparece:
El Tribunal Supremo ha decidido rechazar la admisión a trámite de la querella presentada contra el ex ministro de Justicia Mariano Fernández Bermejo…
…Tras analizar los hechos, los magistrados del Alto Tribunal han decidido rechazar la admisión a trámite de esta querella al entender, tal y como indicaba el Ministerio Público, que “los hechos reflejados en la querella no son integrantes de delito”
Yo encuentro varias razones por las que los medios deberían tener en cuenta toda esta información, y sin embargo, son noticias que caen fácilmente en el olvido.
  1. Un ministro de un gobierno socialista, del pueblo, que promulga la igualdad de los ciudadanos, paga los 2000 ó 3000 € para…. ¿que?… no solamente ocurre que la mayoría de los españoles no entendemos este extraño “arte de matar”, si no que además no podemos pagárnoslo.
  2. Un ministro de un gobierno cualquiera, también del pueblo, del ministerio de justicia, va a cazar con un juez que investiga casos de corrupción. Que tíre la primera piedra el que sepa separar completamente negocios y placer. Ojalá que una educación en valores morales “normales” impida que ocurran mayores desgracias.
  3. ¿Que dice la ley sobre la caza sin licencia? (Ley 1/1970, de 4 de abril art 43) claramente: Tendrán la consideración de faltas de caza y serán sancionadas con la pena de arresto menor o multa de 250 a 5.000 pesetas, la realización de alguno de los siguientes hechos: a) Cazar desde aeronave, automóvil o cualquier otro medio de locomoción, cuyo uso para esta finalidad no esté autorizado expresamente en el Reglamento, o transportar en ellos armas desenfundadas y listas para su uso, aun cuando no estuvieren cargadas. En los terrenos sometidos a reglamentación cinegética especial, mientras se estén celebrando en ellos ojeos o monterías, esta prohibición se concretará al hecho de cazar desde los vehículos o al de transportar en ellos armas cargadas. b) Cazar, sin el debido permiso, en terrenos sometidos a régimen cinegético especial, cuando el valor cinegético de lo cazado no exceda de 2.500 pesetas...
  4. ¿Por que es este caso tan famoso? Nadie creerá que es la primera vez en la historia que ocurre, pero con alcaldes, concejales etc. evidentemente ¿Tendrá algo que ver con el juicio que poco antes dirigía el juez por corrupción del partído de la oposición? Si tu te chivas de mi, yo me chivo de ti… y eso me lleva a pensar…
  5. ¿Y de qué no se chivan? ¿Cuantos ministros van a trabajar con un traje del mercadillo? (a colación del caso del presidente de la Generalitat Valenciana)

Esta claro, el pueblo llano no nos enteramos de nada, y voy a ir terminando que ponen ahora una película buenísima… ya protestaré mañana.

Agradecimientos

Hace mucho tiempo que terminé la carrera con la exposición de mi proyecto, en el que invertí­ un año de mi vida y gracias al cual conseguí­ muchas cosas de las que ahora estoy orgulloso. Pero el objeto de este artí­culo no es explicarlo, sino reproducir algo que escribí con total sinceridad, y que por ello aún sigue vigente. Solo quiero que esté aquí­:

Agradecimientos

Para la culminación de este proyecto ha sido necesaria, cuando
menos imprescindible, la mediación de muchas personas a las que
agradezco su apoyo y su conocimiento aportado durante los largos meses
que ha durado la realización del mismo.
Quisiera citar en especial a los directores de proyecto D. Francisco
José Madrid Cuevas y D. Rafael Medina Carnicer su apoyo y ánimo.
Por su colaboración debido a su amplio conocimiento en la materia, y
por las inestimables ideas proporcionadas quisiera mencionar a D. Daniel
Carrillo Rueda y a D. Manuel Prieto Villegas, que además son entrañables
amigos.
Por su colaboración desinteresada aunque necesaria sin ninguna
duda, agradezco a Carlos López Cabanillas su tiempo, su comprensión, su
amistad, su humor y el resto de cosas (…).
Por la motivación que ha provocado siempre en mí, y por ser uno de
mis ejemplos a seguir, agradezco al Doctor D. Javier García Casado
enseñarme a jugar al parchís, su tiempo y su por supuesto su amistad.
Mencionar a D. José Antonio Arrabal Aguilar, que me ha acompañado
durante largas horas de clase y de biblioteca no solo durante la consecución
del presente proyecto, sino durante la duración de mi carrera y es un gran
amigo.
A Javier Jimenez Arévalo, y a D. Javier Gutiérrez Peña por ser
grandes amigos, dignos de mi admiración que me han soportado en
innumerables ocasiones, me gustaría agradecerles su amistad.
No quisiera olvidarme tampoco de Isa, María, Rafa, Álvaro, Adolfo, Andrés y
Elena y de Rocí­o y de tantos otros que no puedo recordar, lo siento…
También agradecer a los grupos que siempre me han acompañado en
todo momento, en lo bueno y en lo malo, a Led Zeppelin, Jimi Hendrix, a
Dream Theater, a Los Suaves, a O’Funk’illo etc. que son mi inspiración.
En especial, me gustaría agradecer a mi hermano Pedro Ignacio Pérez
Estrella su apoyo y sus buenos consejos, su comprensión, su guitarra y que
siempre estará ahí­ cuando lo necesite. Gracias PIPE eres el mejor.
A mis padres, Ignacio y Carmen, y a mi hermana Charo que son los
mejores, y a toda mi familia a los que nunca llegaré a agradecer lo suficiente
su amor, su paciencia y su comprensión. Muchas gracias, os quiero.
Pero en especial, a esa persona que hace que mi vida tenga sentido,
que me motiva para seguir adelante y sin la cual me sentiría perdido, por su
apoyo, por su paciencia conmigo y porque me comprende. Te quiero
Mercedes.

Montar GWT-Ext en Netbeans

Requisitos

Todo esto ha sido probado con el siguiente software y con las versiónes mencionadas a continuación, los cuales habrá que descargar:

  1. Netbeans (version 6.7)
  2. GWT (version linux-1.6.4)
  3. Gwt-Ext (versión 2.0.6)
  4. Ext (v2.0.2 - es la version que soporta GWT-Ext 2.0.6)

Proceso

  1. Instalar el Plugin que soporta GWT desde Netbeans
  2. Instalar la librería Gwt-Ext en Netbeans.
  3. Iniciar un proyecto GWT
  4. Agregar librería Javascript ExtJS al proyecto
    1. Modificación del archivo: welcomeGWT.html
    2. Modificación del archivo: Main.gwt.xml
  5. Compilar y corregir errores de compilación en GWT4NB
    1. Desde Netbeans
    2. Desde nuestro Proyecto
  6. Prueba

Proceso detallado de creación de un proyecto GWT-Ext

Instalar el Plugin que soporta GWT desde Netbeans

  1. Vamos a Netbeans y en el menu de arriba buscamos: Tools > Plugins > pestaña Available Plugins, y en el casillero de busqueda escribimos para filtrar: GWT y seleccionamos el plugin GWT4NB
  2. Si no lo encontramos, podemos descargar el .nbm desde aqui y después desde Tools > Plugins > pestaña de Downloaded buscamos el archivo
  3. Después descomprimimos GWT en la carpeta que queramos, por ejemplo en /home/juan/gwt-xxx-1.5.x….

Instalar la librería Gwt-Ext en Netbeans

Descomprimimos Gwt-Ext y creamos una carpeta dentro de la carpeta de GWT con el nombre lib y copiamos gwtext.jar ahí (/home/juan/gwt-xx../lib/gwtext.jar) y después la agreguamos al proyecto así:
  1. Hacemos click Tools > Libraries. Se abrira una ventana y
  2. Elegimos New Library, ponemos un nombre representativo como gwtext y Library Type lo dejams como esta (Class Libraries). Le damos al ok.
  3. Le damos a Add JAR/Folder y buscamos el archivo gwtext.jar dentro de la carpeta que descomprimimos (/home/juan/gwt-xx/lib/gwt-ext/gwtext.jar)

Le damos al ok hasta terminar y listo

Iniciar un Proyecto GWT

Vamos a crear un nuevo proyecto en Netbeans con GWT-EXT una vez hecho todo lo anterior.

  1. Elegimos:Web > Web Application Le ponemos un nombre y le damos Siguiente/Next,
  2. Elegimos el servidor, la versión de jvm y el context path, y damos a Siguiente/Next.
  3. En Framework elegimos Google Web Toolkit y abajo:
    1. En GWT Installation Folder ponemos la ruta donde descomprimimos gwt (/home/juan/gwt-xx…)
    2. En GWT Module ponemos el nombre de la clase donde implementaremos el punto de entrada a la aplicación. Es decir, la página de bienvenida para la aplicación, por lo que deberíamos poner el nombre de paquete que vayamos a utilizar, y un nombre de clase como Main, Index, o Welcome.. a vuestro gusto. yo por ejemplo prueba.gwt.Main.
  4. Una vez creado, desplegamos el proy ecto, y hacemos click derecho sobre Libraries > Add Library, y añadimos la librería creada anteriormente como gwtext.

Listo para jugar con GWT.

Agregar la librería Javascript ExtJS

Descomprimimos Ext. Vamos a copiar los archivos necesarios en una carpeta dentro de la carpeta web de nuestro proyecto creada como js/ext… algo parecido a: /home/juan/NetBeansProjects/ProyectoGWT/web/js/ext, y los archivos que tenemos que copiar de la carpeta de origen a esta son:
  • ext-all.js
  • ext-all-debug.js
  • ext-core.js
  • ext-core-debug.js
  • /resources (carpeta completa)
  • /adapter (carpeta completa)
  • /build/locale/ext-lang-es.js

Una vez hecho esto tenemos que hacer unas modificaciones al proyecto para que use estos scripts.

Modificación del archivo: welcomeGWT.html

En Netbeans dentro de nuestro proyecto vamos a Web pages y abrimos el archivo:welcomeGWT.html. Ese archivo tendrá que incluir en las cabeceras los scripts de ExtJS que acabamos de agregar al proyecto, así tendremos que agregar dentro de la entiqueta <head> las siguientes líneas.

<link rel="stylesheet" type="text/css" href="js/ext/resources/css/ext-all.css">
<script type="text/javascript" src="js/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/ext/ext-all.js"></script>
<script type="text/javascript" src="js/ext/ext-lang-es.js"></script>

Modificación del archivo: Main.gwt.xml

Vamos ahora a los Source Packages y buscamos en el paquete que especificamos como Gwt Module (prueba.gwt en mi caso) el archivo de configuración de gwt que el plugin ha creado Main.gwt.xml (en mi caso) y abrimos el archivo para editarlo, agregando esta linea en la etiqueta module:

Quedaría algo así:

<inherits name="com.google.gwt.user.User">
<inherits name="com.gwtext.GwtExt">
<entry-point class="org.yournamehere.client.MainEntryPoint">
<!-- Do not define servlets here, use web.xml -->
</module>

Compilando y corrigiendo error en el plugin GWT4NB

Cuando compilemos probablemente (al menos con las versiónes de Netbeans 6.7, Ext-2.0.2, Gwt-Ext 2.0.6 y gwt-linux-1.6.4) dará un error en el archivo /home/juan/NetbeansProjects/ProyectoGwt/nbproject/build-gwt.xml (en mi caso recordad) del tipo java returned: -1 y de deprecación de la clase com.google.gwt.dev.GWTCompiler. Podemos modificar este archivo. Una vez que nos da el error, Netbeans va a resaltar donde esta así es que le hacemos click para que nos lleve hasta alli, donde vamos a ver este codigo:

<java classpath="${javac.classpath}:${src.dir}" failonerror="true"
classname="com.google.gwt.dev.GWTCompiler" fork="true" jvmargs="${gwt.compiler.jvmargs}">
<arg value="-out">
<arg path="${build.web.dir}/">
<arg value="-style">
<arg value="${gwt.compiler.output.style}">
<
<arg value="${gwt.compiler.logLevel}">
<arg value="${gwt.module}">
</java>

Tiene que quedar igual que este:

<java classpath="${javac.classpath}:${src.dir}" failonerror="true"
classname="com.google.gwt.dev.Compiler" fork="true" jvmargs="${gwt.compiler.jvmargs}">
<arg value="-war">
<arg path="${build.web.dir}/">
<arg value="-style">
<arg value="${gwt.compiler.output.style}">
<arg value="-logLevel">
<arg value="${gwt.compiler.logLevel}">
<arg value="${gwt.module}">

<jvmarg value="-Xmx512m">
</java>

Que sustituye al parámetro en el tag El principal inconveniente es que algunas veces (con Netbeans 6.1) tras hacer un Clean & Build, el archivo volvía a su estado original y volvía a fallar. Otra forma de solucionar esto esta en el archivo de nuestro proyecto:/home/juan/NetbeansProjects/ProyectoGwt/nbproject/gwt.properties, donde se definen todos los parámetros y donde podremos asignar:

gwt.compiler.class=com.google.gwt.dev.Compiler
gwt.compiler.jvmargs=-Xmx512m

Y hacer la referencia a ella en build-gwt.xml mediante el siguiente código en build-gwt.xml.

<java classpath="${javac.classpath}:${src.dir}" failonerror="true"
classname="${
gwt.compiler.class}" fork="true" jvmargs="${gwt.compiler.jvmargs}">
<arg value="-war">
<arg path="${build.web.dir}/">
<arg value="-style">
<arg value="${gwt.compiler.output.style}">
<arg value="-logLevel">
<arg value="${gwt.compiler.logLevel}">
<arg value="${gwt.module}">

<jvmarg value="-Xmx512m">
</java>

Eso nos permite que en la próxima compilación, asigne más memoria al proceso de compilación y no falle...Y con esto y un bizcocho pues comele a la burra el… Espero que os funcione…

De los comienzos con la música

Comencé tocando allá por el año 1995 con una batería que estaba en casa de mi abuelo en mi pueblo natal, y a la que le faltaba el timbal base (o «goliat» como le llaman algunos) porque alguien lo habí­a usado para un coro rociero, o de una iglesia o algo así…. Solo contaba con un bombo, una caja, un charles y un timbal con el soporte roto, así­ es que usaba un ladrillo para sujetarlo.

Mi hermano tení­a un amplificador hecho por mi padre, y una guitarra de los años 60 también de mi padre, que tocaba en una banda en la que hacían versiónes de los beatles, de los rolling stones etc. llamada The SeaGull y que acabó degenerando en Los Sigal. Hemos conservado la guitarra hasta hace poco cuando mi padre la metió en una de esas «Cajas del tiempo», esperando que dentro de mucho la abramos y volvamos a tocarla, bueno no creo que quisiera eso, porque en realidad la ha cubierto de tierra en el agujero más profundo de una fosa jejje… pero eso no es muy poético ni bonito xD. El amplificador está en manos del amigo Karlos, muerto de risa.

Cuando empezamos mi hermano y yo, era la época del primer disco de Nirvana y de los Rage Against The Machine, que como aún no eran demasiado conocidos (el éxito les llegaría bastante después) eran mis grupos preferidos. Hasta el momento habí­a escuchado poco rock, y con esos grupos empecé a interesarme.

Nos hicimos con los instrumentos, y empezamos mi hermano Pipe y yo a tocar en el sótano de mi casa. A todas horas las mismas notas, los mismos golpes y las mismas canciones, Éramos unos cansinos, pero así­ llegaba el comienzo de nuestro más apreciado hobby, el que mas nos gusta a mi hermano y a mi, la música.

Intentamos convencer a algunos de nuestros amigos para que vinieran a tocar con nosotros y montar un grupo consiguiendolo en algunos casos y asÃí, se unieron Karlos y Rafa y llamamos al grupo… Radikales Alcohólicos… Wow!! que Jevis y que malos éramos!! xD. Bueno, más que jevis, eramos nirvaneros, rock alternativo de la época, pero eramos aún muy malos.

Aún no habíamos dado ningún concierto cuando un buen dí­a un grupo que conocí­amos me pidieron que les hechára una mano para tocar en la sala Millenium de la Calle Alfaros de Córdoba, y esa fué mi primera actuación en directo. Me prestaron una batería muy fea y muy mala y aprendí incluso la técnica doble charles (je je je.. que malo) exclusivamente para un tema (Tocar el cielo). El grupo se llamaba Sutiles y tocaban Jorge Galadí, Nacho Donnay y Diego Gómez. Tenían varios temas muy buenos de pop y rock de los 70 y blues, mucho blues y rhythm and blues. Estuve con ellos mucho tiempo, y a la vez con mi hermano, con Rafa y con Karlos, o sea que aprendí a marchas forzadas, puesto que desde el viernes por la tarde, el sabado por la mañana, por la tarde y el domingo también, se alternaban los grupos, menos yo que tocaba la baterí­a en ambos.

Aprendí­ mucho y toqué mucho pero solo llegué a ganar una fase de La muestra pop rockera (un concurso que el Ayuntamiento organizaba y suprimió sin razón alguna), dí­ algúnos conciertos en sitios inimaginables para mí y grabé en el estudio semi profesional de Paco Records una maqueta con Sutiles. Los grupos se deshicieron, se volvieron a hacer, y volvieron a volver, pero todo eso es una historia muy larga que iré contando más tranquí­lamente.

He tocado con mucha gente de la que tengo muy buenos recuerdos como Carlos Míguez, Raúl, Jorge, Diego, Antoñete etc. pero al final los únicos que continuamos con el rock & roll (en mi casa… jijiji) somos mi hermano Pipe, Karlos Kabanillas, Sergio Gómez y yo. Pardao es el nombre de mi grupo actual, y ahora me lo tomo con más calma, pero no con menos intensidad ni menos gana. Cuando estás tocando y las cosas suenan sientes que no hay otra cosa, que alguien te escucha, le gusta lo que haces, le llena la música como a ti, siente lo que tu sientes y además te admira por expresarte de esa forma. Si además eso ocurre en un concierto entonces es el éxtasis total (…jejeje).

domingo, 26 de julio de 2009

Just another Blog

Hola! Bienvenidos al blog de Erone, el sitio donde voy a comentar (parafraseando a la conocida canción de Rosendo) todo lo que me preocupa o me divierte, debido a que es ahí donde suelo emplear mi tiempo. Además está abierto a que os registréis y podéis crear vuestro propio blog y poder hacer lo mismo.

También podréis comentar los artículos mios o de otros, o aportar lo que opinais vosotros. Espero que esto sea divertido y permita que hagamos de este un sitio interesante y útil, en la medida de lo posible, y que pueda tener tiempo de escribir, teniendo en cuenta como está la cosa.

So pena de que me tachen de cursi, prepotente ó, porque no, chulo, puede ser que cuelgue algunas fotos de viajes, de gente y cosas así.

Y comienzo las secciones de las cosas que me preocupan y me divierten. Pretendo dar a conocer los temas que me preocupan en política, economía y sociedad y que me divierten como la música o la informática. Así es, esto es lo que me preocupa o me divierte y que tiene algo que contar. Imagi­no que también escribiré sobre otras cosas pero esto aún está por confirmar.

Escribiré lo que siento y ofenderé, «voy a ser un poco impertinente y a caer un poco mal» pero si, voy a faltar. No porque no respete otras opiniones, sino porque voy a verter la mía propia. Creo comprender gran parte de las opiniones; haré un esfuerzo por ello y me parece perfecto que otras personas no están de acuerdo, y espero que puedan faltar al respeto a las opiniónes que yo tengo. Eso es lo bueno de esto, que nadie va a borrar nada, y todos podrán leer todas las opiniones. ¿No mola?