コード例 #1
0
    def setup_init(self):
        """
        Se crea la interfaz grafica,
        se setea y se empaqueta todo.
        """

        self.get_toplevel().set_sensitive(False)

        #from Globales import get_color

        from Widgets import Visor
        from Widgets import BarraProgreso
        from Widgets import ControlVolumen

        from PlayerList import Lista
        from PlayerControls import PlayerControl
        from GstreamerWidgets.Widgets import WidgetsGstreamerEfectos

        from Toolbars import ToolbarSalir
        from Toolbars import Toolbar
        from Toolbars import ToolbarAccion
        from Toolbars import ToolbarConfig
        from Toolbars import ToolbarGrabar
        from Toolbars import ToolbarInfo
        from Toolbars import ToolbarAddStream

        self.pantalla = Visor()
        self.barradeprogreso = BarraProgreso()
        self.volumen = ControlVolumen()
        self.lista_de_reproduccion = Lista()
        self.controlesrepro = PlayerControl()
        self.toolbar = Toolbar()
        self.toolbar_config = ToolbarConfig()
        self.widget_efectos = WidgetsGstreamerEfectos()
        self.toolbar_accion = ToolbarAccion()
        self.toolbar_grabar = ToolbarGrabar()
        self.toolbar_info = ToolbarInfo()
        self.toolbaraddstream = ToolbarAddStream()
        self.toolbar_salir = ToolbarSalir()

        basebox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        hpanel = Gtk.Paned(orientation=Gtk.Orientation.HORIZONTAL)
        hpanel.modify_bg(0, get_colors("window"))

        eventbox = Gtk.EventBox()  # FIXME: Para poder pintar el fondo
        eventbox.modify_bg(0, get_colors("barradeprogreso"))
        eventbox.add(self.toolbar)

        basebox.pack_start(eventbox, False, False, 3)
        basebox.pack_start(self.toolbar_salir, False, False, 0)
        basebox.pack_start(self.toolbar_accion, False, False, 0)
        basebox.pack_start(self.toolbaraddstream, False, False, 0)

        basebox.pack_start(hpanel, True, True, 0)

        # Area Izquierda del Panel

        # Efectos que se están aplicando.
        eventbox = Gtk.EventBox()  # FIXME: Para poder pintar el fondo
        eventbox.modify_bg(0, get_colors("drawingplayer"))
        self.hbox_efectos_en_pipe = Gtk.Box(
            orientation=Gtk.Orientation.HORIZONTAL)
        self.hbox_efectos_en_pipe.set_size_request(-1, 24)
        eventbox.add(self.hbox_efectos_en_pipe)
        scroll = Gtk.ScrolledWindow()
        scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER)
        scroll.add_with_viewport(eventbox)

        # Barra de Progreso + Volúmen
        ev_box = Gtk.EventBox()  # FIXME: Para poder pintar el fondo
        ev_box.modify_bg(0, get_colors("barradeprogreso"))
        hbox_barra_progreso = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
        hbox_barra_progreso.pack_start(self.barradeprogreso, True, True, 0)
        hbox_barra_progreso.pack_start(self.volumen, False, False, 0)
        ev_box.add(hbox_barra_progreso)

        # Todo
        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        vbox.pack_start(self.toolbar_grabar, False, False, 0)
        vbox.pack_start(self.pantalla, True, True, 0)
        vbox.pack_start(scroll, False, False, 0)

        eventbox = Gtk.EventBox()  # FIXME: Para poder pintar el fondo
        eventbox.modify_bg(0, get_colors("barradeprogreso"))
        eventbox.add(self.toolbar_info)
        vbox.pack_start(eventbox, False, False, 3)
        vbox.pack_start(ev_box, False, True, 0)

        hpanel.pack1(vbox, resize=True, shrink=True)

        # Area Derecha del Panel
        self.derecha_vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        # Configuración de balanace y efectos
        self.vbox_config = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.scroll_config = Gtk.ScrolledWindow()
        self.scroll_config.set_policy(Gtk.PolicyType.NEVER,
                                      Gtk.PolicyType.AUTOMATIC)
        self.scroll_config.add_with_viewport(self.vbox_config)
        self.scroll_config.get_child().modify_bg(0, get_colors("window"))
        self.vbox_config.pack_start(self.toolbar_config, False, False, 0)
        #self.vbox_config.pack_start(self.widget_efectos, False, False, 0)

        # Lista de Reproducción
        # FIXME: Para poder pintar el fondo
        self.evnt_box_lista_reproduccion = Gtk.EventBox()
        self.evnt_box_lista_reproduccion.modify_bg(
            0, get_colors("barradeprogreso"))
        self.vbox_lista_reproduccion = Gtk.Box(
            orientation=Gtk.Orientation.VERTICAL)
        self.scroll_list = Gtk.ScrolledWindow()
        self.scroll_list.set_policy(Gtk.PolicyType.AUTOMATIC,
                                    Gtk.PolicyType.AUTOMATIC)
        self.scroll_list.add(self.lista_de_reproduccion)

        # Lista + Controles de Reproducción
        self.__pack_vbox_lista_reproduccion()
        self.evnt_box_lista_reproduccion.add(self.vbox_lista_reproduccion)

        # Configuración + Lista de Reproducción.
        self.derecha_vbox.pack_start(self.scroll_config, True, True, 0)
        self.derecha_vbox.pack_start(self.evnt_box_lista_reproduccion, True,
                                     True, 0)

        hpanel.pack2(self.derecha_vbox, resize=False, shrink=True)

        self.controles_dinamicos = [
            hbox_barra_progreso, self.derecha_vbox, self.toolbar,
            self.toolbar_info,
            self.hbox_efectos_en_pipe.get_parent().get_parent().get_parent()
        ]

        basebox.show_all()

        map(self.__ocultar, [
            self.toolbar_salir, self.scroll_config, self.toolbar_accion,
            self.toolbar_grabar, self.toolbaraddstream,
            self.toolbar_info.descarga
        ])

        self.add(basebox)

        from gi.repository import GdkX11

        xid = self.pantalla.get_property('window').get_xid()

        # HACK: La aplicación nunca debe explotar :P
        if get_programa("mplayer"):
            self.mplayerreproductor = MplayerReproductor(xid)

        else:
            self.mplayerreproductor = MplayerReproductor(self.pantalla)

        # HACK: La aplicación nunca debe explotar :P
        if verificar_Gstreamer():
            self.jamediareproductor = JAMediaReproductor(xid)

        else:
            self.jamediareproductor = JAMediaReproductor(self.pantalla)

        self.switch_reproductor(None, "JAMediaReproductor")  # default Gst.

        self.mplayerreproductor.connect("endfile", self.__endfile)
        self.mplayerreproductor.connect("estado",
                                        self.__cambioestadoreproductor)
        self.mplayerreproductor.connect("newposicion", self.__update_progress)
        self.mplayerreproductor.connect("volumen", self.__get_volumen)
        self.mplayerreproductor.connect("video", self.__set_video)

        self.jamediareproductor.connect("endfile", self.__endfile)
        self.jamediareproductor.connect("estado",
                                        self.__cambioestadoreproductor)
        self.jamediareproductor.connect("newposicion", self.__update_progress)
        self.jamediareproductor.connect("volumen", self.__get_volumen)
        self.jamediareproductor.connect("video", self.__set_video)

        self.lista_de_reproduccion.connect("nueva-seleccion",
                                           self.__cargar_reproducir)
        self.lista_de_reproduccion.connect("button-press-event",
                                           self.__click_derecho_en_lista)

        self.controlesrepro.connect("activar", self.__activar)
        self.barradeprogreso.connect("user-set-value", self.__user_set_value)
        self.pantalla.connect("ocultar_controles", self.__ocultar_controles)
        self.pantalla.connect("button_press_event", self.__clicks_en_pantalla)

        self.toolbar.connect('salir', self.confirmar_salir)
        #self.toolbar.connect('capturar', self.fotografiar)
        self.toolbar.connect('config', self.__mostrar_config)

        self.toolbar_salir.connect('salir', self.__emit_salir)
        self.toolbar_config.connect('reproductor', self.switch_reproductor)
        self.toolbar_config.connect('valor', self.__set_balance)
        self.toolbar_info.connect('rotar', self.__set_rotacion)
        self.toolbar_info.connect('actualizar_streamings',
                                  self.__actualizar_streamings)
        self.toolbar_accion.connect("Grabar", self.__grabar_streaming)
        self.toolbar_accion.connect("accion-stream", self.__accion_stream)
        self.toolbar_grabar.connect("stop", self.__detener_grabacion)
        self.volumen.connect("volumen", self.__set_volumen)
        self.toolbaraddstream.connect("add-stream", self.__ejecutar_add_stream)

        self.widget_efectos.connect("click_efecto", self.__click_efecto)
        self.widget_efectos.connect('configurar_efecto',
                                    self.__configurar_efecto)

        # Controlador del mouse.
        icono = os.path.join(BASE_PATH, "Iconos", "jamedia_cursor.svg")
        pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icono, -1, 24)
        self.jamedia_cursor = Gdk.Cursor.new_from_pixbuf(
            Gdk.Display.get_default(), pixbuf, 0, 0)

        self.cursor_root = self.get_parent_window().get_cursor()
        self.get_parent_window().set_cursor(self.jamedia_cursor)

        from Widgets import MouseSpeedDetector

        self.mouse_listener = MouseSpeedDetector(self)
        self.mouse_listener.connect("estado", self.__set_mouse)
        self.mouse_listener.new_handler(True)

        self.get_parent().connect("hide", self.__hide_show_parent)
        self.get_parent().connect("show", self.__hide_show_parent)

        self.hbox_efectos_en_pipe.get_parent().get_parent().get_parent().hide()

        self.get_toplevel().set_sensitive(True)
コード例 #2
0
    def __init__(self):

        gtk.HPaned.__init__(self)

        self.modify_bg(0, get_colors("toolbars"))

        self.control = True
        self.jamediawebcam = False
        self.player = False
        self.imageplayer = False

        self.pantalla = Visor()
        self.info_label = Info_Label()
        self.efectos_en_pipe = Efectos_en_Pipe()
        self.progressplayer = ProgressPlayer()
        self.jamediaconvert = WidgetConvert()

        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER)
        scroll.add_with_viewport(self.efectos_en_pipe)
        scroll.get_child().modify_bg(0, get_colors("drawingplayer"))

        vbox = gtk.VBox()
        vbox.pack_start(self.info_label, False, False, 0)
        vbox.pack_start(self.pantalla, True, True, 0)
        vbox.pack_start(self.jamediaconvert, True, True, 0)
        vbox.pack_start(scroll, False, False, 0)
        vbox.pack_start(self.progressplayer, False, False, 0)
        self.pack1(vbox, resize=True, shrink=True)

        # Area Derecha del Panel
        self.box_config = gtk.EventBox()
        self.box_config.modify_bg(0, get_colors("window"))
        self.vbox_config = gtk.VBox()

        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        scroll.add_with_viewport(self.vbox_config)
        scroll.get_child().modify_bg(0, get_colors("window"))
        self.box_config.add(scroll)

        self.camara_setting = CamaraConfig()
        self.video_out_setting = Video_out_Config()
        self.rafagas_setting = Rafagas_Config()
        self.balance_config_widget = ToolbarConfig()
        self.playerlist = PlayerList()
        self.player_control = PlayerControls()
        self.widget_efectos = False  # WidgetsGstreamerEfectos()

        self.vbox_config.pack_start(self.camara_setting, False, False, 0)
        self.vbox_config.pack_start(self.video_out_setting, False, False, 0)
        self.vbox_config.pack_start(self.rafagas_setting, False, False, 0)
        self.vbox_config.pack_start(self.balance_config_widget, False, False,
                                    0)
        #self.derecha_vbox.pack_start(self.widget_efectos, True, True, 0)

        self.vbox_config.pack_start(self.playerlist, True, True, 0)
        self.vbox_config.pack_end(self.player_control, False, True, 0)
        self.pack2(self.box_config, resize=False, shrink=False)
        self.show_all()

        self.pantalla.connect("button_press_event", self.__clicks_en_pantalla)
        self.balance_config_widget.connect('valor', self.__set_balance)
        self.camara_setting.connect("set_camara", self.__set_camara)
        self.video_out_setting.connect("set_video_out", self.__set_video_out)
        self.player_control.connect("accion-controls", self.__accion_player)
        self.playerlist.connect("nueva-seleccion", self.__play_item)
        self.playerlist.connect("accion", self.__re_emit_accion_list)
        self.progressplayer.connect("seek", self.__user_set_progress)
        self.progressplayer.connect("volumen", self.__set_volumen)
        self.jamediaconvert.connect("accion-list", self.__re_emit_accion_list)
        self.jamediaconvert.connect("in-run", self.__jamediaconvert_in_run)
        self.jamediaconvert.connect("pendientes", self.__jamediaconvert_info)

        self.control = False
コード例 #3
0
ファイル: JAMediaVideo.py プロジェクト: fdanesse/JAMediaSuite
    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)