Output window y Live coding
El objeto Output Window está vinculado a una ventana de salida independiente (proyector-1 en la imagen) que en el proceso de trabajo situamos habitualmente, con la pantalla del ordenador en modo extendido, en el espacio que corresponde a la segunda pantalla o proyector.
Desde la configuración del objeto se puede ajustar la resolución para adaptarla a la del proyector. Para ello, introducid los valores de la resolución y clicad Apply.
La siguiente opción es Warping, como informa el icono de ayuda «(?)», el warping solo se puede visualizar/editar con la ventana de salida a pantalla completa, entonces, al teclear «w» aparece un recuadro blanco en los límites de la imagen, cuyos vértices se pueden mover con el ratón, para ajustar la proyección a las condiciones del espacio en el que se proyecta, o simplemente para deformar la imagen.
En el menú Config también podemos ver que al activar warping aparecen 7 sliders que regulan el difuminado de los bordes en la imagen de la ventana de salida, hay 4 sliders para el gradiente en cada uno de los lados, otros 3 para ajustar la luminosidad, gamma y cantidad en los cuatro lados a la vez.
Lo lógico es activar warping cuando la ventana de salida es la imagen que se proyecta en el espacio y al que se quiere ajustar, quedando el patch de Mosaic en la pantalla del ordenador. Por eso los sliders se deben ajustar después de teclear w y ver el recuadro -o la rejilla- sobre la imagen de la ventana de salida a pantalla completa (no moverlos antes de generar las líneas del warping).
Otras teclas para controlar el warping y subdividir el recuadro en rejilla ajustable son:
- F2: añadir secciones verticales.
- F1: borrar secciones verticales
- F4: añadir secciones horizontales
- F3: borrar secciones horizontales
- M: cambia el warping de curvas bezier a líneas rectas y viceversa
- W: muestra/oculta el recuadro o retícula del warping
Debajo de los sliders están las opciones Load Warping (para cargar un warping previamente guardado) y Save Warping (para guardarlo como archivo json).
Pueden generarse varias ventanas de salida (varios objetos Output window), cada uno de los objetos estará vinculado a una pantalla (proyector-1, proyector-2…), en el caso de querer borrar alguna de estas salidas es mejor borrar el objeto, no la ventana de salida.[/vc_column_text]
Live coding
Los entornos de programación visual, como Mosaic, integran el concepto de data-flow programming (programación de flujo de datos), que se traduce en añadir capacidades de live-coding en tiempo real, y en el caso de Mosaic también de live-visual-coding.
En este tipo de programación debemos diferenciar entre Interactive Programming y Hot-swapping:
- Interactive Programming significa programar con feedback inmediato, eliminando la compilación y transformando el proceso en un loop continuo (process of coding)
- Hot-swapping significa poder modificar código MIENTRAS se ejecuta, y esto es lo que se necesita para poder hablar de Fully Interactive Programming
Mosaic integra live-coding (a través del objeto Lua script que genera Interactive Programming sin Hot-swapping) con programación visual y de flujo de datos en tiempo real (Fully Interactive programming), combinando todos sus elementos por su estructura nativa de programación con auto-paralelización.
Las prácticas de live coding usualmente visualizan el código en la pantalla de salida y lo complilan en directo. Para visualizar el código en Mosaic hay que conectar los dos cables del objeto Script Lua (el azul con la textura y el rojo de Live coding) al objeto Output window vinculado a la ventana de salida.
La lista de comandos para activar live coding y otras funciones básicas es: (cmd ⌘ para mac o ctrl para linux)
(⌘ o ctrl) + F = Activa/desactiva fullscreen
(⌘ o ctrl) + T = Muestra/oculta live code
(⌘ o ctrl) + K = Zoom in/out al código
(⌘ o ctrl) + L = Ajusta las líneas a la anchura de la ventana (Toggle Line Wrapping)
(⌘ o ctrl) + N = Muestra/oculta la numeración de líneas
(⌘ o ctrl) + E = Guarda y recarga el script
(⌘ o ctrl) + C = Copiar
(⌘ o ctrl) + V = Pegar
(⌘ o ctrl) + X = Cortar
(⌘ o ctrl) + Z = Deshacer
Para intervenir en el código se utilizan las teclas de flecha moviendo el cursor al punto deseado.
Live patching
También se puede hacer Live patching en Mosaic, llevando la textura al canvas y reacciona en tiempo real con los cambios que se hagan en el patch.