2.1 Processing al rescate


Processing, el software libre y de código abierto desarrollado por Ben Fry y Casey Reas en el Laboratorio de Medios del MIT en 2001.

Las funciones de Processing nos proporcionan las herramientas para la elaboración de gráficos en pantalla que proveerá retroalimentación visual inmediata y pistas en cuanto a lo que el código está haciendo. Y como cualquier otro lenguaje de programación, Processing emplea los mismos principios, estructuras y conceptos de otros lenguajes de programación (específicamente Java), todo lo que aprendas con Processing es programación real. No es solo un lenguaje fácil para empezar a programar, Processing tiene todos los fundamentos y conceptos básicos que tienen todos los lenguajes.

Después de seguir este taller y aprender a programar, es posible seguir utilizando Processing en tu vida académica o profesional como una herramienta de creación de prototipos y para producir. También puedes tomar los conocimientos adquiridos aquí y aplicarlo a aprender otros lenguajes de programación y entornos de creación.

El aprendizaje de los conceptos básicos te ayudará a ser un ciudadano mejor informado en tecnología a medida que trabajes en proyectos de colaboración con otros diseñadores y programadores.

Puede parecer una exageración enfatizar el por qué con respecto al tratamiento. Después de todo, el enfoque de este taller es principalmente el aprendizaje de los fundamentos de la programación en un contexto gráfico. Sin embargo, es importante tomar algún tiempo para reflexionar sobre las razones detrás de la selección un lenguaje de programación para un taller de programación creativa, una clase, una tarea, una aplicación web, una suite de software, y así sucesivamente. Después de todo, ahora te vas a llamar a ti mismo programador en las fiestas de cumpleaños, esta pregunta te la van a plantear una y otra vez. Necesito la programación a fin de lograr el proyecto X, ¿qué lenguaje y que entorno debo utilizar?

Yo digo, sin ninguna duda, que para ti, el principiante, la respuesta es Processing. Su sencillez es ideal para alguien que desea iniciarse en la programación. Al final de este capítulo, estarás preparado para aprender los conceptos fundamentales de la programación. Pero la simplicidad no es donde Processing termina. Un viaje a través de la exposición en línea de Processing (http://processing.org/exhibition/) y descubrirás una gran variedad de proyectos bonitos e innovadores desarrollados íntegramente con Processing.

Al final de este taller, tendrás todas las herramientas y conocimientos necesarios para tomar tus ideas y convertirlas en proyectos de software del mundo real, como las que se encuentran en la exposición. Processing es genial tanto para el aprendizaje, como para la producción, hay muy pocos entornos y lenguajes de programación de los que se pueda decir lo mismo.

2.2 ¿Cómo conseguir Processing?


En su mayor parte, este blog supone que tienes un conocimiento básico de cómo operar con tu computadora personal. La buena noticia, por supuesto, es que Processing está disponible para su descarga gratuita.

Dirígete a http://www.processing.org/ y visita la página de descarga. Si eres un usuario de Windows, verás dos opciones: “Windows (estándar)” y “Windows (experto).” Puesto que estás leyendo este blog, es muy probable que seas un principiante, en cuyo caso obtendremos que la versión estándar. La versión de expertos es para aquellos que ya han instalado Java en sus equipos. Para Mac OS X, sólo hay una opción de descarga. También hay una versión para Linux disponible.

Los sistemas operativos y los programas cambian, por supuesto, por lo que si este párrafo está obsoleto, visita la página de descarga en el sitio para obtener información sobre lo que necesitas.
En estos momentos ya puedes descargarte la versión 3 de Processing.


El software de Processing llegará como un archivo comprimido. Elegir un buen directorio para almacenar la aplicación (por lo general “c: \ Archivos de programa \” en Windows y en “Aplicaciones” en Mac), extrae los archivos allí, busca el archivo ejecutable “Processing”, y ejecútalo.


2.3 La aplicación de Processing



El entorno de desarrollo de Processing es un entorno simplificado y minimalista para escribir código en tu equipo, y es casi tan fácil de usar, como cualquier software de edición de texto (como TextEdit o el Bloc de notas), y se combina con un reproductor de medios. Cada Sketch (los programas de Processing se denominan “Sketch”) tiene un nombre, un lugar donde se puede escribir código, y algunos botones para guardar, abrir y ejecutar bocetos. Ver Figura 2.1.

Figura 2.3

Para asegurarse de que todo está funcionando, es una buena idea para tratar de ejecutar uno de los ejemplos de Processing. Vaya a ARCHIVO > EJEMPLOS y elige uno de los Sketch que Processing tiene como ejemplo.

Una vez que hayas abierto el ejemplo, haz clic en el botón “PLAY”. Si una nueva ventana se abre al ejecutar el ejemplo, significa que  está todo listo! Si esto no ocurre, visita el FAQ en línea “Processing no arranca!!” Para posibles soluciones. La página se puede encontrar en este enlace directo: 


Los programas de Processing también se pueden ver en pantalla completa (conocido como “modo de presentación” en Processing). Este está disponible a través de la opción de menú: Sketch→ Presentar (o shift-click en el botón de ejecución). Presentación no cambia el tamaño de la resolución de su pantalla. Si desea que el boceto para cubrir toda la pantalla, debe utilizar sus dimensiones de la pantalla de size().
________________________________________________________________________
NOTA: Processing 3 se han incorporado un par de nuevas funciones que nos permite modificar el tamaño de nuestro skecth. surface.setResizable(true); y surface.setSize(w, h); sobre las cuales hablaremos más adelante.
________________________________________________________________________

Si quieres saber las mejoras y cambios que ha sufrido Processing 3 con respecto a su versión anterior puedes leer la siguiente entrada del blog Novedades en Processing 3.

2.4 Cuaderno de bocetos


Los programas de Processing se denominan de manera informal como Sketch (bocetos en inglés), guardando cierto espíritu con el prototipado rápido de gráficos, y vamos a emplear este término a lo largo de este blog. La carpeta donde se almacenan los Sketches se llama “book of sketches.”

Técnicamente hablando, cuando se ejecuta un sketch en Processing se ejecuta como una aplicación local en el equipo. Como veremos, Processing también te permite exportar sus bocetos como applets web (mini-programas que operan integradas en un navegador) o como aplicaciones independientes específicas de la plataforma (que podría, por ejemplo, poner a disposición para su descarga).

Ve al menú Archivo y selecciona “Nuevo” y generará un nuevo boceto en blanco denominado por fecha. Es buena idea ir al menú Archivo y “Guardar como” y crear tu propio nombre de sketch.






(Nota: Processing no permite espacios ni guiones, y su nombre de sketch no puede comenzar con un número.)


La primera vez que ejecutaste Processing, un directorio por defecto “Processing” se creó para almacenar todos los bocetos de la carpeta “Mis documentos” en Windows y en “Documentos” en iOS X. Aunque puedes seleccionar cualquier directorio en tu disco duro, esta carpeta es el valor de manera predeterminada. Es una buena carpeta para usar, pero se puedes cambiarla mediante la apertura de las preferencias de Processing (que están disponibles en el menú Archivo).

2.5 Introduciendo código en Processing


Es hora de empezar a escribir algo de código, vamos a repasar algunas reglas sintácticas básicas.

Hay tres tipos de declaraciones podemos escribir:
• Las funciones
• Las operaciones de asignación
• Estructuras de control

Por ahora, cada línea de código será una llamada a una función. Vamos a explorar las otras dos categorías en los próximos capítulos.

Las funciones, normalmente, tienen un nombre, seguido de un conjunto de argumentos entre paréntesis.



Una función muy importante es size( ).

//Tamaño de la ventana de reproducción de 250px por 250px.
size(250, 250);

size( ) especifica las dimensiones de la ventana que desea crear y toma dos argumentos, anchura y altura. La función size( ) siempre debe ser el primer argumento.

size(width, height);

Hay algunos artículos adicionales a tener en cuenta.

• El editor de texto Processing aporta color a palabras conocidas (a veces conocidas como las palabras “reservadas” o “palabras clave”). Estas palabras, por ejemplo, son las funciones de dibujo disponibles en la biblioteca de Processing, tipos de variables y constantes, así como ciertas palabras que hereda de Java.

• A veces, es útil para mostrar información de texto en la ventana de mensajes de Processing (que se encuentra en la parte inferior). Esto se logra usando la función println( ).

println( ) toma un argumento, una cadena de caracteres entre comillas. Y lo muestra en la ventana de mensajes. Es muy útil para saber el valor de una variable durante la ejecución de un programa.

• El número en la esquina inferior izquierda indica el número de línea que tienes seleccionada en tu editor.

• Puedes escribir “comentarios” en su código. Los comentarios son líneas de texto que ignora Processing cuando el programa se está ejecutando. Los comentarios en programación, normalmente se utilizan como recordatorios para saber qué esta haciendo cada parte del código.

Comentarios en una sola línea se crean con dos barras inclinadas, //. Comentarios sobre múltiples líneas están marcadas por /* seguido de los comentarios y terminando con */.

// Esto es un comentario de una sola línea

/* Esto es un comentario multilínea
y puedes escribir tanto como quieras.
Processing ignorará el texto que se encuentra 
aquí dentro */



Intenta adquirir el hábito de escribir comentarios en tu código. Usa comentarios para todo. El código es muy difícil de leer y entender sin comentarios. No necesitas tener un comentario en cada línea de código, pero cuanto más se incluyen, más fácil será de revisar y reutilizar el código más tarde.

Los comentarios también te obligan a entender cómo funciona el código que se está programando. Si no sabes lo que el código está haciendo, ¿cómo se puede escribir un comentario sobre él?

2.6 Errores


Los ejemplos anteriores sólo funcionan porque no cometimos ningún error o errores tipográficos. Los errores tipográficos son muy comunes en programación. Si cometemos un error de sintaxis nuestro programa no va a funcionar. Si hay un error no se abrirá la ventana de dibujo, y mostrará en su lugar el mensaje de error. 

Processing es case sensitive!

Processing distingue entre mayúsculas y minúsculas, si en lugar de size(200, 200); escribes Size(200, 200); Processing te informará de un fallo.

Si se producen varios errores, simplemente te alertará del primero que encuentre (y, normalmente, una vez que se corrige ese error, se mostrará el siguiente error en tiempo de ejecución). Esto es algo así como una limitación desafortunada, ya que a menudo es útil tener acceso a una lista completa de errores al escribir un programa. Esto es simplemente una de las ventajas y desventajas que recibimos en un entorno simplificado como Processing. 


2.7 La referencia de Processing


Las funciones que hemos utilizado son parte de la biblioteca de Processing. ¿Cómo sabemos que “elipse” no se escribe “elipse”, o que rect() toma cuatro argumentos (x, y, width, height)?

Una gran cantidad de estos detalles son intuitivos, y esto habla de la fortaleza de Processing como lenguaje de programación para principiantes. Sin embargo, la única manera de saber con seguridad es mediante la lectura de la referencia en línea. Si bien vamos a cubrir muchos de los elementos de la referencia a lo largo de este blog, de ninguna manera es un sustituto de la referencia y ambos serán necesarios para que puedas aprender Processing.

En la web oficial (http://www.processing.org) bajo el enlace “reference”.  Puedes navegar por todas las funciones disponibles por categoría o por orden alfabético.
Si vemos la página para rect(), ofrece documentación completa para la función rect(), incluyendo:

Name: el nombre de la función.
Examples: Ejemplo (y resultado visual, en su caso).
Description: Una descripción amable de lo que hace la función.
Syntax: sintaxis exacta de cómo escribir la función.
Parameters: Estos son los elementos que van dentro de los paréntesis. Te dice qué tipo de datos acepta (un número, carácter, etc.) y lo que ese elemento representa. Éstos también se refieren a veces como “argumentos”.
Returns: A veces una función envía datos de un “tipo” concreto en lugar de dibujar una forma. Este apartado te informa del “tipo” de dato que devuelve. 
Usage: Algunas funciones están disponibles para mostrar Processing la web y otras funciones solo se representarán como aplicaciones de escritorio. Usage te informa sobre esto.

Related Methods: funciones relacionadas con la función que estamos viendo, algunas funciones trabajan en equipo, Processing te ofrece un listado aquí. 



Processing también tiene una opción muy útil “find reference”. Haga doble clic en cualquier palabra clave para seleccionarla y accede al menú HELP /→FIND IN REFERENCE (o seleccione la palabra clave y SHIFT + CNTRL + F).

2.8 El botón “PLAY”


Una de las buenas cualidades de Processing es que todo lo que uno tiene que hacer para ejecutar un programa es presionar el botón “PLAY”. Es una bonita metáfora y la hipótesis es que estamos cómodos con la idea de jugar con animaciones, películas, música y otros medios de comunicación. Los programas de Processing tienen como salida de medio gráficos en tiempo real, así que ¿por qué no jugar con ellos?

Sin embargo, es importante tomar un momento y considerar el hecho de que lo que estamos haciendo aquí no es lo mismo que lo que sucede en un iPod. Los programas de Processing comienzan como texto, que se traducen en código máquina, y luego son ejecutados para funcionar. Todos estos pasos suceden en secuencia al pulsar el botón de reproducción. Vamos a examinar estos pasos uno por uno.

Paso 1. Traducir a Java. Processing es realmente Java. Para que el código se ejecute, primero debe ser traducido a código Java.

Paso 2. Compilar a código Java en bytes. El código Java creado en el paso 1 es sólo otro archivo de texto (con la extensión .java en lugar de .pde). Para que el equipo la comprenda, debe traducirse en lenguaje de máquina. Este proceso de traducción se conoce como compilación. En el caso de Java, el código se compila en un lenguaje de máquina especial conocido como código de bytes de Java. Puede funcionar en diferentes plataformas (Mac, Windows, teléfonos celulares, PDAs, etc.), siempre y cuando la máquina está en marcha un “servidor virtual de Java.” 

Aunque esta capa extra a veces puede hacer que los programas se ejecuten un poco más lentos de lo que podrían de otro modo, siendo multi-plataforma es una gran característica del Java. Si desea obtener más información sobre cómo funciona esto, visita http://java.sun.com.


Paso 3. Ejecución. El programa compilado termina en un archivo JAR. Un JAR es un archivo histórico de Java que contiene los programas compilados de Java (“clases”), imágenes, fuentes y otros archivos de datos. El archivo JAR es ejecutado por la máquina virtual de Java y es lo que hace que la ventana de la pantalla que aparezca.

2.9 Tu primer sketch


Listado 2.1

ellipse(50, 50, 50, 50);

Figura 2.2

Con una sola línea de código, Processing crea un simple programa. Evidentemente, no hace nada, pero incluso sin ninguna línea de código, Processing abre una ventana vacía de 100 por 100 pixeles.

Sé que la elipse no parece muy excitante, vamos a introducir el código del listado 2.2 y lo comentamos.

 Listado 2.2
void setup(){
  size(720,220);
}

void draw(){
  if(mousePressed){
  fill(0);

  } else {
  fill(255);
  }
  ellipse(mouseX, mouseY, 80, 80);
}





Figura 2.3

Este programa crea una ventana de 720 pixeles de ancho y 220 de alto y cuando comienza dibuja elipses allá donde se sitúe el ratón. Cuando el ratón es presionado la elipse se dibuja de color negro. Vamos a ver con detenimiento cada parte a lo largo del blog, de momento corre este código, mueve el ratón y clickea para experimentar con ello. 

2.10 Processing menú Archivo


Como todas las aplicaciones, Processing tiene una serie de menús en la parte superior de vamos a ver rápidamente para no dejarnos nada en el tintero. Comenzamos con el Menú Archivo.



Menú Archivo
· Nuevo: Crea un nuevo Sketch en blanco.
· Abrir...: Abre uno de tus Sketch en el disco duro.
· Recientes: Te muestra los programas más recientes que has guardado en tu disco duro.
· Sketchbook: El lugar donde guarda tus archivos Processing de manera predeterminada.
· Ejemplos: Un listado con programas de ejemplo para inspirarte.
· Cerrar: Cierra el Sketch.
· Guardar: Guarda tu Sketch.
· Guardar como...: Guarda el Sketch actual con otro nombre.
· Exportar Aplicación: Te permite exportar tu Sketch como aplicación de escritorio para Windows, iOS o Linux.

· Configurar página: Sirve para configurar tu documento en la impresora.
· Imprimir...: Imprime tu documento en papel.

Cuando elegimos la opción Exportar Aplicación se nos abre un menú donde podemos indicar para qué plataforma queremos exportarla, Windows, Mac OS X o Linux. También nos da la opción si queremos que la aplicación se reproduzca a pantalla completa.

Para asegurarnos que la aplicación correrá en el ordenador del cliente, Processing nos da la opción de incrustar Java con nuestro programa. (Sólo para Mac OS X).



2.11 Processing menú Editar


El menú editar es muy parecido al de cualquier editor de texto con algunas pequeñas diferencias.

· Deshacer nos permite ir deshaciendo los últimos pasos realizados.
· Rehacer es lo contrario que deshacer. Nos permite avanzar sobre los pasos deshechos.
· Cortar corta el texto seleccionado, lo borra y lo guarda en memoria.
· Copiar copia el texto seleccionado y lo guarda en memoria.
· Copiar como HTML nos permite copiar un texto y le añade formato HTML para poder copiar nuestro código en una web.
· Pegar el texto que tenemos guardado en la memoria.
· Autoformato tabula y organiza automáticamente nuestro código para que sea más legible.
· Comentar/Descomentar el texto seleccionado. Sirve para que el compilador no procese el texto seleccionado.
·Aumentar indentación Aumenta la tabulación.
· Reducir indentación Reduce la tabulación.
Buscar... nos permite buscar una palabra en nuestro código.
Buscar siguiente Añade otra búsqueda
Buscar anterior Vuelve sobre una búsqueda anterior.
Usar selección para buscar busca el texto que tengamos seleccionado en todo nuestro código.


2.12 Processing menú Sketch


El menú Sketch contiene las siguientes opciones:

· Ejecutar: compila nuestro código y lo presenta en la ventana de visualización. Es lo mismo que pulsar el botón "PLAY".

· Presentar: Es una presentación a pantalla completa, pero nuestro programa seguirá manteniendo el tamaño que le dimos en el código. En Processing 3 existen nuevas funciones que estudiaremos con detenimiento más adelante para poder modificar el tamaño de nuestra reproducción de manera interactiva, pero Presentar seguirá representando el tamaño que le hayamos especificado en la función size() y rellenará el resto de nuestra pantalla de color gris oscuro.

· Tweak: Es una novedad en Processing 3. Aunque existía en Processing 2 como modo de reproducción que podías importar, ahora está integrado dentro de la aplicación. El modo Tweak nos permite modificar los valores incluidos en void draw(){...} de manera interactiva mientras la aplicación está corriendo, cuando terminemos de editar y pulsemos el botón "STOP" o Detener, Processing 3 nos preguntará si queremos salvar los cambios realizados o volver a la versión anterior.

· Detener: Equivale a pulsar el botón "STOP" y detiene la reproducción de nuestra aplicación.

· Importar biblioteca... Este menú también ha sufrido mejoras en la versión de Processing 3, ahora están integrados en el mismo:

-Libraries
-Modes
-Tools
-Examples

 la importación de bibliotecas, (libraries) nos permite ampliar las capacidades de Processing, los modos (Modes), determinan en qué modo correrá nuestra aplicación –por defecto lo hace en Java–, pero aquí podemos elegir que lo haga en Android, CoffeScript, JavaScript, etc...
___________________________________________________________________________
*NOTA: El modo JavaScript parece que en esta versión 3 de Processing dejará de funcionar, decantándose definitivamente por p5.js

p5.js es una biblioteca de javaScript que nos permite escribir código Processing en la web. La estudiaremos con mayor detenimiento durante el Taller y probaremos algunos ejemplos en páginas web.
___________________________________________________________________________

Tools también amplia las capacidades de Processing con herramientas de terceros, desde selectores de color, que no facilitan la elección de colores y su traducción a colores hexadecimal, RGB o HSB, a una herramienta para crear archivos de video.

Examples te permite descargar los códigos de ejemplos de los libros más populares de Processing.





· Mostrar carpeta de sketches: Por defecto, Processing guardará las bibliotecas, los archivos de ejemplo y los programas que hemos creado en una carpeta situada en tu carpeta de Documentos (Mac). Si quieres ver su contenido utiliza esta opción.

· Añadir archivo: sirve para añadir archivos multimedia a nuestro programa. Cuando pulsamos esta opción Processing nos abre el gestor de archivos para que le indiquemos qué archivo queremos añadir a nuestro Sketch. De manera automática Processing genera una carpeta que denomina data dentro del sketch y guarda una copia del archivo que le hemos indicado. Imágenes, audio, etc, se suelen guardar en esta carpeta.

· Por último, si tenemos varios archivos de Processing abiertos, al final del menú Sketch, tenemos la opción de seleccionar el Sketch en cual queremos trabajar.


  

2.13 Processing menú Depuración


Processing 3 incluye un nuevo menú llamado Depuración que contiene los siguientes elementos:

Activar/Desactivar depurador: Activa o desactiva el depurador. Ten en cuenta que el botón PLAY cambiará a Depuración. Aparecerán nuevos botones, Depurar, Saltar, Continuar, Detener, aparte de una ventana separada para la visualización de los valores de las variables.

Continuar: Avanza el código hasta el siguiente punto de interrupción

Saltar: Avanza una línea de código cada vez. (Tenga en cuenta que una vez que el código llega al final de la llamada de función actual, el depurador volverá a "seguir").

Ingresar: Avanza el depurador en el interior de una llamada de función. Esto sólo funciona àra las funciones definidas por el usuario en el Sketch.

Salir: Avanza el depurador exterior de una función al área de llamadas. Esto funciona para las funciones definidas por el usuario en el boceto.

Activar/desactivar punto de interrupción: Agrega o elimina un punto de interrupción. Cuando se añade un punto de interrupción, el número de línea se sustituye con el símbolo: <>
________________________________________________________________________________
*NOTA: Cuando estemos realizando programas más avanzados, veremos cómo funciona el depurador con detenimiento y realizaremos algunos ejercicios prácticos para sacarle el máximo partido. Observa que un nuevo botón ha sido añadido a la interface que equivale a Activar/Desactivar depurador.
________________________________________________________________________________

2.14 Processing menú Herramientas


El menú Herramientas de Processing tiene los siguientes elementos:

· Crear fuente... Convierte fuentes dentro de un formato comprensible por Processing (VLW) y las añade a nuestra carpeta de Sketch. Al pulsarlo abre una caja de diálogo que te permite elegir fuente, su tamaño, si queremos aplicar anti.aliased (smooth) y qué caracteres queremos generar. La cantidad de memoria requerida para la fuente será determinada por su tamaño, y los caracteres que incluiremos en ella. Las fuentes de Processing son tratadas como imágenes, cuanto mayor sea su tamaño, mayor cantidad de recursos consumirá. Las fuentes también pueden ser creadas en el código con la función createFont().

· Selector de colores... Abre un interface para seleccionar colores de manera visual. Para cada color, los valores HSB, RGB y Hexadecimal son mostrados. Los valores hexadecimales pueden ser copiados directamente en nuestro código con el botón Copiar.

· Archivar sketch Archiva una copia de la versión actual de nuestro documento en formato comprimido .zip. El archivo es guardado en la misma carpeta que se encuentre nuestro sketch.

· Instalar "processing-java" instala el programa de Processing-java lo que te permite ejecutar Procesamiento, en el modo de Java, desde la línea de comandos. Hay dos opciones de instalación: la instalación del programa dentro de su directorio home de usuario local: permite a todos los usuarios acceder al sistema o definida por el usuario en todo el sistema (que requiere una contraseña administrativa).

· Creador de películas crea películas de QuickTime desde una secuencia de imágenes. Las opciones incluyen el tamaño, frame rate, compresión y también puedes incluir un archivo de audio.

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Si tienes instaladas herramientas de terceros aparecerán a continuación, como en la imagen superior, que aparecen cuatro herramientas extras.
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

· Añadir herramienta... abre un menú contextual, (En Processing 3, el mismo menú con el que instalar las librerías, donde podrás instalar nuevas herramientas de terceros para ampliar las capacidades de Processing.

2.15 Processing menú Ayuda


El menú ayuda contiene los siguientes elementos:

· Bienvenida a Processing 3: te proporciona información de las novedades incluidas en la versión 3 de Processing.

· Entorno: te proporciona información del entorno de programación con Processing (este capítulo) dentro de la web de Processing.

· Referencia: abre la página oficial de Processing con la referencia a las funciones. Incluye referencias al lenguaje, entorno de programación y bibliotecas.

· Buscar en referencia: seleccionando un elemento en el editor de textos de processing y seleccionando Buscar en referencia abre la página de dicho elemento en tu navegador. Muy útil cuando necesitas saber qué tipo de datos o la cantidad de datos necesarios de una función en concreto.

· Referencia de Bibliotecas: cuando instales Bibliotecas de terceros, desde aquí podrás entrar en su manual, para saber cómo funcionan y sacarles el máximo partido.

· Referencia de Herramientas: del mismo modo, cuando instales herramientas de terceros, desde aquí podrás entrar en su web y aprender cómo funcionan.

· Primeros pasos: abre una página oficial de Processing dónde aprenderás lo básico para comenzar a programar.

· Resolución de problemas: Una página dónde poder solucionar diferentes problemas a la hora de instalar o ejecutar Processing.

· Preguntas frecuentes: Un listado con las preguntas más frecuentes de los usuarios de Processing.

· The Processing Foundation: Abre la página web de la Fundación de Processing. Fundada en 2012 con la doble misión de la alfabetización de software dentro de las artes visuales, y la alfabetización visual dentro de los campos relacionados con la tecnología.

· Visitar Processing.org: abre la página oficial de Processing.

2.16 Processing preferencias


En el menú Processing podemos acceder a las Preferencias:

El entorno de desarrollo de Processing (PDE) es altamente configurable. Las preferencias más comunes se pueden modificar en la ventana de Preferencias, que se encuentra en el menú archivo en Windows y Linux y en el menú Processing en Mac OS X. La lista completa de preferencias se guarda en el archivo "preferences.txt". Este archivo se puede abrir y editar directamente sólo cuando Processing no se está ejecutando. Puedes encontrar este archivo es tu ordenador mediante la lectura de la esquina inferior izquierda de la ventana de Preferencias.

· Sketchbook location: cualquier carpeta puede ser usada como Sketchbook. Introduce una nueva localización o selecciona "Buscar" para seleccionar la carpeta que quieres utilizar.

· Idioma: Selecciona el idioma a usar en los menús. Necesitarás restaurar Processing para que se haga efectivo.

· Fuente de consola y el editor: Elige una fuente de texto para tu editor de textos y la consola.

· Tamaño de letra en el editor: aquí puedes cambiar el tamaño de letra en el editor.

· Tamaño de letra en la consola: aquí puedes cambiar el tamaño de letra en la consola.

· Color de fondo en modo presentación: Elige el color de fondo con el que se rellenará la pantalla en el modo de Presentación, entre el tamaño de tu sketch y tu resolución de pantalla.

· Usar texto suavizado en la ventana del editor: por defecto está opción está activa. Necesitarás reiniciar Processing para ver los cambios.

· Habilitar el ingreso de caracteres complejos: te permite escribir en Japonés, Hebreo, y otros lenguajes. Necesitarás reiniciar Processing para ver los cambios.

· Comprobar errores de forma continua: Processing evalúa de forma continua nuestro programa y nos avisa de los errores potenciales en nuestro código.

· Autocompletado de código Ctrl-espacio: Es una de las novedades de Processing, pero aún no he conseguido entender cómo funciona. En la web dicen que lo explicarán en breve.

· Sugerir declaraciones de importación: Esta opción tampoco viene explicada en la web y no he conseguido saber para qué sirve.

· Aumentar memoria máxima disponible: Esta opción nos permite limitar la cantidad de memoria máxima que utilizará Processing.

· Eliminar directorio anterior al exportar: cuando está marcada (comportamiento predeterminado) Processing elimina la carpeta completa de exportación antes de volver a crearla y añade los nuevos medios que hayamos añadido.

· Comprobar actualizaciones al iniciar: Busca online si existen nuevas versiones de Processing para descargar.

· Ejecutar sketches en la pantalla: si estás trabajando con más de un monitor, Processing te permite elegir uno para ejecutar tus sketches.
  

Novedades en Processing 3


Estamos a punto de comenzar a disfrutar la versión 3 de Processing. La última que me he podido descargar es una versión beta 6 que ya está muy cerca de la definitiva.




Os comento las novedades.

Los principales cambios
· Renderizado reconstruido - OpenGL (P2D y P3D) más rápidas. Algunas mejoras de rendimiento también en Java2D. El nuevo procesador FX2D ofrece enormes aceleraciones para el dibujo 2D, especialmente con alta densidad de las pantallas de "retina".

· Nuevo editor - La ventana principal del editor incluye ahora:

- Autocompletar! (se puede activar en Preferencias).
- Un depurador fácil de usar completo.
- Modo Tweak se ha incorporado.

· Nueva interfaz - Todavía no está terminada, pero la interfaz de usuario está experimentando un cambio de imagen importante.

· Soporte para pantallas de alta resolución - Nuevos métodos pixelDensity() y displayDensity() hacen que sea más fácil para crear bocetos que funcionarán bien en alta-resolución ("Pantallas de Retina"). Suena simple cuando se pone así, pero esta es una oferta muy grande.

Manager unificado de Contribuciones - Solíamos tener ventanas separadas para la instalación de bibliotecas, modos, y herramientas. Ahora una sola ventana "Administrador de Contribuciones" nos ayuda a gestionar la instalación y actualización para todas estas contribuciones de terceros, además de ... Los ejemplos!

Sketchbook Migración - Si tienes un (2.x) sketchbook, 3.0 te preguntará si deseas crear un nuevo, sketchbook 3.0-específica, o compartir el existente.

Cosas que pueden romper su Bocetos 2.x
· No utilices variables en size() -  Si tienes que cambiar el tamaño de tu skecth, utiliza la nueva función  surface.setSize (w, h) que es el único camino (seguro) para alterar el tamaño de tu skecth. Una breve demostración en la que puedes cambiar el tamaño y cada vez que pulsas una tecla modifica el tamaño de la ventana aquí abajo:

void setup() {
  size(400, 400);
  surface.setResizable(true);
}

void draw() {
  background(255);
  line(100, 100, width-100, height-100);
}

void keyPressed() {
  surface.setSize(round(random(200, 500)), round(random(200, 500)));
}


· Applet se ha ido - java.awt.Applet de Java ya no es la clase base utilizada por PApplet, por lo que cualquier boceto que haga uso de métodos de subprograma específico (o asumen que un PApplet es un objeto de componentes de Java AWT) tendrá que ser reescrito.

· Smooth() sólo vez - Smooth() y noSmooth() sólo se puede utilizar en setup(), y sólo una vez por cada sketch. Ten en cuenta que Smooth() se ha activado de forma predeterminada desde 2.x, por lo que es poco probable que lo necesites usar.

Nuevo
· Se ha incorporado un nuevo renderizador FX2D que a mejorado mucho el rendimiento de gráficos 2D. Tiene muchas mejoras sobre el procesador predeterminado, aunque parece que aún tiene algunos problemillas, así que no está activo como predeterminado.

· Nuevo método fullScreen() resulta más fácil de ejecutar, así que Processing 3 dispone de modo a pantalla completa.

· La clase PVector ahora es compatible con los métodos de encadenamiento.

· SVG Export funciona igual que PDF Export.

· Un nuevo método settings() que se llama detrás de las escenas. La mayoría de los usuarios nunca utilizarán esto, pero si estás utilizando Processing sin su preprocesador (es decir, Eclipse o un entorno de desarrollo similar), puedes poner cualquier llamada al size(), fullScreen, smooth(), noSmooth (), y pixelDensity () en ese método. Puede encontrar más información en la referencia.

· Nuevo icono de aplicación.

Cambios
· Las bibliotecas de vídeo y de sonido ya no se incluyen en la descarga (porque han crecido demasiado grande) y deben instalarse por separado. Uso Sketch → Importar → Añadir Biblioteca Biblioteca ... para instalar cualquiera de ellos.

Eliminado
Un montón de fallos.

Aplicaremos las nuevas funciones a lo largo de infinidad de ejercicios en nuestro Taller de Programación Creativa con Processing, ahora en su versión 3.