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)
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)
from Globales import verificar_Gstreamer from Globales import get_colors BASE_PATH = os.path.dirname(__file__) # HACK: La aplicación nunca debe explotar :P if get_programa("mplayer"): from JAMediaReproductor.MplayerReproductor import MplayerReproductor from JAMediaReproductor.MplayerReproductor import MplayerGrabador else: from JAMediaReproductor.PlayerNull import MplayerReproductor from JAMediaReproductor.PlayerNull import MplayerGrabador # HACK: La aplicación nunca debe explotar :P if verificar_Gstreamer(): from JAMediaReproductor.JAMediaReproductor import JAMediaReproductor from JAMediaReproductor.JAMediaReproductor import JAMediaGrabador else: from JAMediaReproductor.PlayerNull import JAMediaReproductor from JAMediaReproductor.PlayerNull import JAMediaGrabador ''' screen = Gdk.Screen.get_default() css_provider = Gtk.CssProvider() style_path = os.path.join( os.path.dirname(__file__), "Estilo.css") css_provider.load_from_path(style_path) context = Gtk.StyleContext() context.add_provider_for_screen(