Interaccion con MCU y reproductor multimedia en pygtk

Home Descripción del problemaAnálisisAplicacionesPruebasArquitecturaDescarga



Arquitectura
Los clases ya definidas por Python, las cuales fueron usadas y son las siguientes:

Proyecto:
Esta clase contiene unicamente el main y hace correr la ventana principal de gtk

Base:
Esta clase contiene el window de gtk e implementa la acción del boton contenido en los frame reproductor y tiempo real.

Reproductor:
Esta clase hereda de gtk.Frame contiene todos los botones, el reproductor multimedia y el menú abrir, los cuales componen la parte principal del frame, junto con un botón que al ser presionado, quita el frame y coloca el frame tiempo_real.

Tiempo_real:
Esta clase también hereda de gtk.Frame y posee una simulación del frame que está leyendo los datos enviados por el MCU sobre la potencia generada por la bicicleta, ademas de poseer una barra de menú y el botón volver, para cambiar el frame de la misma forma que la clase Reproductor.

GST:
Esta clase es gnome streamer la cual permite utilizar el reproductor en nuesta ventana, ademas de permitir el uso de hebras para poder tener las hebras para la reproducción del audio y video.

PANGO:
Esta clase permite darle animación personalizada a los gtk.Label (igual que en java Label) y permite que la fuente de abajo se mueva sinusoidalmente y con la mitad de color negro y el resto verde como el logo del proyecto.

PYGTK:
Esta es la clase mas importante, la cual permite la integración de nuestro codigo en python para que pueda ser un proceso heredado del entorno de escritorio gnome. El nombre pygtk viene de python + gnome toolkit.

GTK:
Es la clase Gnome ToolKit y nos permite poder utilizar los botones, los menús y todo el entorno gráfico que utiliza el escritorio gnome (de la misma forma que en java heredábamos las interfaces de swing o de awt).

Math:
Esta clase nos permite usar funciones matemáticas , de la cual utilizamos la función seno y damos el “efecto bailarin” al Label usado por pango.

Glib:
De esta clase utilizamos “interrupciones” las cuales hacen posible ir calculando el seno anteriormente mencionado en el tiempo y dar el efecto de la sinusoidal corriendo, además generamos la “interrupción” que permite ir actualizando en el tiempo lo que es mostrado en el Label del Frame tiempo_real.