Esempio n. 1
0
    def __setup_init(self):
        """
        Genera y empaqueta toda la interfaz.
        """

        from Widgets import Visor
        from Widgets import ToolbarSalir
        from Widgets import Toolbar
        from Widgets import ToolbarPrincipal
        #from JAMediaVideoAplicaciones import JAMediaVideoWidget
        #from JAMediaVideoAplicaciones import JAMediaFotografiaWidget
        #from JAMediaVideoAplicaciones import JAMediaAudioWidget

        #from JAMedia.JAMedia import JAMediaPlayer
        #from JAMImagenes2.JAMImagenes import JAMImagenes

        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.add(vbox)
        self.show_all()

        self.toolbar = Toolbar()
        self.toolbar_salir = ToolbarSalir()
        self.toolbarprincipal = ToolbarPrincipal()

        #self.socketjamediavideo = Gtk.Socket()
        #self.socketjamediafotografia = Gtk.Socket()
        #self.socketjamediaaudio = Gtk.Socket()
        #self.socketjamedia = Gtk.Socket()
        #self.socketjamimagenes = Gtk.Socket()

        self.pantalla = Visor()

        vbox.pack_start(self.toolbar, False, True, 0)
        vbox.pack_start(self.toolbar_salir, False, True, 0)
        vbox.pack_start(self.toolbarprincipal, False, True, 0)

        #vbox.pack_start(self.socketjamediavideo, True, True, 0)
        #vbox.pack_start(self.socketjamediafotografia, True, True, 0)
        #vbox.pack_start(self.socketjamediaaudio, True, True, 0)
        #vbox.pack_start(self.socketjamedia, True, True, 0)
        #vbox.pack_start(self.socketjamimagenes, True, True, 0)

        vbox.pack_start(self.pantalla, True, True, 0)

        #self.jamediavideo = JAMediaVideoWidget()
        #self.socketjamediavideo.add_id(self.jamediavideo.get_id())

        #self.jamediafotografia = JAMediaFotografiaWidget()
        #self.socketjamediafotografia.add_id(self.jamediafotografia.get_id())

        #self.jamediaaudio = JAMediaAudioWidget()
        #self.socketjamediaaudio.add_id(self.jamediaaudio.get_id())

        #self.jamediaplayer = JAMediaPlayer()
        #self.socketjamedia.add_id(self.jamediaplayer.get_id())

        #self.jamimagenes = JAMImagenes()
        #self.socketjamimagenes.add_id(self.jamimagenes.get_id())

        self.show_all()
        self.realize()

        GLib.idle_add(self.__setup_init2)
Esempio n. 2
0
class JAMediaVideo(Gtk.Window):

    def __init__(self):

        super(JAMediaVideo, self).__init__()

        self.set_title("JAMediaVideo")
        self.set_icon_from_file(os.path.join(BASE_PATH,
            "Iconos", "JAMediaVideo.svg"))
        self.set_resizable(True)
        self.set_default_size(640, 480)
        self.modify_bg(0, get_colors("drawingplayer"))
        self.set_position(Gtk.WindowPosition.CENTER)

        self.jamediawebcam = None

        self.toolbar = None
        self.toolbar_salir = None
        self.toolbarprincipal = None

        # Sockets para Aplicaciones Embebidas
        #self.socketjamediavideo = None
        #self.socketjamediafotografia = None
        #self.socketjamediaaudio = None
        #self.socketjamedia = None
        #self.socketjamimagenes = None

        # Aplicaciones Embebidas
        #self.jamediavideo = None
        #self.jamediafotografia = None
        #self.jamediaaudio = None
        #self.jamediaplayer = None
        #self.jamimagenes = None

        self.pantalla = None

        self.controlesdinamicos = None

        self.pistas = []

        self.__setup_init()

    def __setup_init(self):
        """
        Genera y empaqueta toda la interfaz.
        """

        from Widgets import Visor
        from Widgets import ToolbarSalir
        from Widgets import Toolbar
        from Widgets import ToolbarPrincipal
        #from JAMediaVideoAplicaciones import JAMediaVideoWidget
        #from JAMediaVideoAplicaciones import JAMediaFotografiaWidget
        #from JAMediaVideoAplicaciones import JAMediaAudioWidget

        #from JAMedia.JAMedia import JAMediaPlayer
        #from JAMImagenes2.JAMImagenes import JAMImagenes

        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.add(vbox)
        self.show_all()

        self.toolbar = Toolbar()
        self.toolbar_salir = ToolbarSalir()
        self.toolbarprincipal = ToolbarPrincipal()

        #self.socketjamediavideo = Gtk.Socket()
        #self.socketjamediafotografia = Gtk.Socket()
        #self.socketjamediaaudio = Gtk.Socket()
        #self.socketjamedia = Gtk.Socket()
        #self.socketjamimagenes = Gtk.Socket()

        self.pantalla = Visor()

        vbox.pack_start(self.toolbar, False, True, 0)
        vbox.pack_start(self.toolbar_salir, False, True, 0)
        vbox.pack_start(self.toolbarprincipal, False, True, 0)

        #vbox.pack_start(self.socketjamediavideo, True, True, 0)
        #vbox.pack_start(self.socketjamediafotografia, True, True, 0)
        #vbox.pack_start(self.socketjamediaaudio, True, True, 0)
        #vbox.pack_start(self.socketjamedia, True, True, 0)
        #vbox.pack_start(self.socketjamimagenes, True, True, 0)

        vbox.pack_start(self.pantalla, True, True, 0)

        #self.jamediavideo = JAMediaVideoWidget()
        #self.socketjamediavideo.add_id(self.jamediavideo.get_id())

        #self.jamediafotografia = JAMediaFotografiaWidget()
        #self.socketjamediafotografia.add_id(self.jamediafotografia.get_id())

        #self.jamediaaudio = JAMediaAudioWidget()
        #self.socketjamediaaudio.add_id(self.jamediaaudio.get_id())

        #self.jamediaplayer = JAMediaPlayer()
        #self.socketjamedia.add_id(self.jamediaplayer.get_id())

        #self.jamimagenes = JAMImagenes()
        #self.socketjamimagenes.add_id(self.jamimagenes.get_id())

        self.show_all()
        self.realize()

        GLib.idle_add(self.__setup_init2)

    def __setup_init2(self):
        """
        Inicializa la aplicación a su estado fundamental.
        """

        from JAMediaWebCam import JAMediaWebCam

        #self.jamediaplayer.setup_init()
        #self.jamediaplayer.switch_reproductor(None, "JAMediaReproductor")

        #self.jamediavideo.setup_init()
        #self.jamediafotografia.setup_init()
        #self.jamediaaudio.setup_init()

        #self.controlesdinamicos = [
        #    self.toolbar,
        #    self.toolbar_salir,
        #    self.toolbarprincipal,
        #    self.socketjamediavideo,
        #    self.socketjamediafotografia,
        #    self.socketjamediaaudio,
        #    self.socketjamedia,
        #    self.socketjamimagenes]

        #map(self.__ocultar, self.controlesdinamicos)
        #map(self.__mostrar, [self.toolbar, self.toolbarprincipal])

        #from gi.repository import GdkX11

        #xid = self.pantalla.get_property('window').get_xid()
        #self.jamediawebcam = JAMediaWebCam(xid)

        self.toolbar.connect('salir', self.__confirmar_salir)
        self.toolbar_salir.connect('salir', self.__salir)
        self.toolbarprincipal.connect("menu", self.__get_menu)

        #self.jamediavideo.connect('salir', self.__get_menu_base)
        #self.jamediafotografia.connect('salir', self.__get_menu_base)
        #self.jamediaaudio.connect('salir', self.__get_menu_base)
        #self.jamediaplayer.connect('salir', self.__get_menu_base)
        #self.jamimagenes.connect('salir', self.__get_menu_base)

        self.pantalla.connect("button_press_event", self.__clicks_en_pantalla)

        self.connect("delete-event", self.__salir)

        #self.fullscreen()

        #from JAMediaObjects.JAMediaGlobales import get_video_efectos
        #from JAMediaObjects.JAMediaGlobales import get_visualizadores

        #self.jamediavideo.cargar_efectos(list(get_video_efectos()))
        #self.jamediafotografia.cargar_efectos(list(get_video_efectos()))
        #self.jamediaaudio.cargar_efectos(list(get_video_efectos()))
        #self.jamediaaudio.cargar_visualizadores(list(get_visualizadores()))

        #GLib.idle_add(self.jamediawebcam.reset)

        #if self.pistas:
        #    # FIXME: Agregar reconocer tipo de archivo para cargar
        #    # la lista en jamedia o jamediaimagenes.
        #    map(self.__ocultar, self.controlesdinamicos)
        #    self.jamediawebcam.stop()
        #    map(self.__ocultar, [self.pantalla])
        #    map(self.__mostrar, [self.socketjamedia])
        #    self.jamediaplayer.set_nueva_lista(self.pistas)

    def __clicks_en_pantalla(self, widget, event):
        """
        Hace fullscreen y unfullscreen sobre la
        ventana principal cuando el usuario hace
        doble click en el visor.
        """

        if event.type.value_name == "GDK_2BUTTON_PRESS":
            ventana = self.get_toplevel()
            screen = ventana.get_screen()
            w, h = ventana.get_size()
            ww, hh = (screen.get_width(), screen.get_height())

            if ww == w and hh == h:
                ventana.unfullscreen()

            else:
                ventana.fullscreen()

    def __get_menu_base(self, widget):
        """
        Cuando se sale de un menú particular,
        se vuelve al menú principal.
        """
        pass
        #map(self.__ocultar, self.controlesdinamicos)
        #map(self.__mostrar, [self.toolbar,
        #    self.toolbarprincipal, self.pantalla])

        #GLib.idle_add(self.jamediawebcam.reset)

    def __get_menu(self, widget, menu):
        """
        Cuando se hace click en algún botón de
        la toolbar principal, se entra en el menú
        correspondiente o se ejecuta determinada acción.
        """
        pass
        #map(self.__ocultar, self.controlesdinamicos)

        #if menu == "Filmar":
        #    self.jamediawebcam.stop()
        #    map(self.__ocultar, [self.pantalla])
        #    map(self.__mostrar, [self.socketjamediavideo])
        #    self.jamediavideo.play()

        #elif menu == "Fotografiar":
        #    self.jamediawebcam.stop()
        #    map(self.__ocultar, [self.pantalla])
        #    map(self.__mostrar, [self.socketjamediafotografia])
        #    self.jamediafotografia.play()

        #elif menu == "Grabar":
        #    self.jamediawebcam.stop()
        #    map(self.__ocultar, [self.pantalla])
        #    map(self.__mostrar, [self.socketjamediaaudio])
        #    self.jamediaaudio.play()

        #elif menu == "Reproducir":
        #    self.jamediawebcam.stop()
        #    map(self.__ocultar, [self.pantalla])
        #    map(self.__mostrar, [self.socketjamedia])
        #    archivos = []

        #    for arch in os.listdir(get_audio_directory()):
        #        ar = os.path.join(get_audio_directory(), arch)
        #        archivos.append([arch, ar])

        #    for arch in os.listdir(get_video_directory()):
        #        ar = os.path.join(get_video_directory(), arch)
        #        archivos.append([arch, ar])

        #    GLib.idle_add(self.jamediaplayer.set_nueva_lista, archivos)

        #elif menu == "Ver":
        #    self.jamediawebcam.stop()
        #    map(self.__ocultar, [self.pantalla])
        #    map(self.__mostrar, [self.socketjamimagenes])

        #    self.jamimagenes.switch_to(None, get_imagenes_directory())

    def __ocultar(self, objeto):
        """
        Esta funcion es llamada desde self.get_menu()
        """

        if objeto.get_visible():
            objeto.hide()

    def __mostrar(self, objeto):
        """
        Esta funcion es llamada desde self.get_menu()
        """

        if not objeto.get_visible():
            objeto.show()

    def set_pistas(self, pistas):

        self.pistas = pistas

    def __confirmar_salir(self, widget=None, senial=None):
        """
        Recibe salir y lo pasa a la toolbar de confirmación.
        """

        self.toolbar_salir.run("JAMediaVideo")

    def __salir(self, widget=None, senial=None):
        """
        Reconfigurar la cámara y salir.
        """

        #self.jamediawebcam.reset()
        #self.jamediawebcam.stop()

        import sys
        Gtk.main_quit()
        sys.exit(0)