| CAMX: Estudio y desarrollo del controlador de la matriz de vídeo y audio AMX | ||
|---|---|---|
| Anterior | Capítulo 3. Especificación de requisitos | Siguiente |
Se realizará una interfaz de usuario utilizando las librerías GTK+ que nos proporciona Python (conocidas por PyGtk). El objetivo perseguido por nuestra interfaz es conseguir un entorno amigable y a la vez claro e intuitivo para el usuario.
La interfaz de usuario constará de varias ventanas, la principal que está repartida en tres secciones a las que se puede acceder por medio de solapas y a su vez, dos ventanas más que serán accesibles desde la principal.
Una vez iniciada la aplicación, las ventanas serán:
La ventana principal que nos permitirá iniciar el diálogo con la matriz de vídeo y redirigir las entradas y salidas de la misma. Constará de:
Botón para conectarse a la matriz.
Botones para seleccionar redireccionar audio y/o vídeo.
Botones para las entradas y salidas.
Campo de texto que nos informa de los eventos activados. Éstos podrán ser audio, vídeo, así como las entradas y salidas seleccionadas.
La ventana del control de cámaras. En esta ventana podremos manejar a nuestro antojo cada una de las cuatro cámaras. Las funciones serán representadas por los siguientes botones:
Cuatro botones que nos permiten elegir cada una de las cuatro cámaras.
Ocho botones de dirección, que moverán la cámara seleccionada.
Cuatro botones de posiciones prefijadas que nos permitirán tanto seleccionarlas como grabarlas.
Botón de 'auto' que moverá la cámara automáticamente entre las cuatro posiciones prefijadas.
Botón de velocidad, que nos permitirá alternar entre tres velocidades para la cámara seleccionada. Ésta velocidad no será aplicable para ningún recorrido automático.
Barra de progreso que nos informa de la velocidad elegida para la cámara elegida.
Campo de texto que nos informa de los eventos activados, ya sean la cámara elegida, el auto o alguna de las cuatro posiciones prefijadas.
Botón que abre la ventana personalizar recorrido automático.Esta ventana nos permitirá definir el tiempo establecido para cada etapa del movimiento automático entre las cuatro posiciones predefinidas y constará de:
Ocho entradas de texto, en las que introduciremos el tiempo de estancia en minutos y segundos para cada una de las cuatro posiciones prefijadas.
Botón recorrido, que inicia el recorrido automático al estar pulsado y lo finaliza al ser nuevamente pulsado.
Botón salir, que nos pedirá confirmación si al salir el recorrido sigue ejecutándose.
Botón que abre la ventana grabadora de posiciones y que constará de:
Cuatro botones para guardar cada una de las posiciones.
Campo de texto, que nos indicará cuando se ha guardado la posición.
Ventana micrófonos. En esta ventana seleccionamos el volumen para cinco entradas de audio distintas y para el volumen principal o master.
Para cada una de las cinco entradas y para el volumen master tenemos:
Botón de aumentar volumen.
Botón de disminuir volumen.
Barra de progreso de volumen.
Será necesario disponer de una matriz de vídeo/audio AMX Comm-tec MX-88CA así como de un dispositivo de red para poder realizar las conexiones entre matriz y cliente.
La única fuente de entrada utilizada por el sistema será el ratón.
La salida de la aplicación construida se verá reflejada en la interfaz de la misma y en la consola de texto desde la que se ejecutó la misma.
En determinados requisitos existe un máximo número de objetos seleccionables, pero éstos serán internamente controlados por la matriz, con lo cual no tendremos problema con validar el rango.
El único caso en el que se podría contar con la aparición de rangos inválidos, se haya en las entradas de texto; pero éstas estarán controladas por el sistema de tal forma que no haya valores fuera de rango.
No existes restricciones de este tipo.
Las excepciones lanzadas tendrán como salida la consola que ejecute la aplicación.
Un nueva funcionalidad a añadir en este sentido, sería la de actualizar las cajas de eventos de nuestra interfaz al modificar el estado de la matriz de vídeo y audio desde el panel de control de la misma. Sería sencillo, puesto que nuestra aplicación sí almacena los cambios resultantes, pero la interfaz gráfica no es actualizada; simplemente deberíamos saber cuando actualizar las cajas de eventos.
Sobre la interfaz se han utilizado los siguientes elementos:
Botones, que representan la activación o desactivación de un evento de la matriz de vídeo y audio.
Barras de progreso, que indican al usuario un valor de un determinado dispositivo.
Entradas de texto, mediante las que se ha introducido cantidades de tiempo pedidas en formato de números enteros.
Campos de texto, mediante los cuales se informa al usuario de los eventos activos.