Exemplo n.º 1
0
    def __click_efecto(self, widget, nombre_efecto):
        """
        Recibe el nombre del efecto sobre el que
        se ha hecho click y decide si debe agregarse
        al pipe de JAMedia.
        """

        if not self.player:
            return

        self.get_toplevel().set_sensitive(False)

        self.__cancel_toolbars_flotantes()

        agregar = False

        if self.player.efectos:
            if not nombre_efecto in self.player.efectos:
                agregar = True

        else:
            agregar = True

        if agregar:
            self.player.agregar_efecto(nombre_efecto)

            from Widgets import WidgetEfecto_en_Pipe

            # Agrega un widget a self.hbox_efectos_en_pipe
            botonefecto = WidgetEfecto_en_Pipe()
            botonefecto.set_tooltip(nombre_efecto)
            botonefecto.connect('clicked', self.__clicked_mini_efecto)
            botonefecto.set_tamanio(16, 16)

            archivo = os.path.join(BASE_PATH, "Iconos", 'configurar.svg')
            pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(archivo, 16, 16)
            botonefecto.imagen.set_from_pixbuf(pixbuf)

            self.hbox_efectos_en_pipe.pack_start(botonefecto, False, False, 0)
            self.hbox_efectos_en_pipe.get_parent().get_parent().get_parent(
            ).show()

        else:
            self.player.quitar_efecto(nombre_efecto)

            self.widget_efectos.des_seleccionar_efecto(nombre_efecto)

            # Quitar el widget de self.hbox_efectos_en_pipe
            for efecto in self.hbox_efectos_en_pipe.get_children():
                if efecto.get_tooltip_text() == nombre_efecto:
                    efecto.destroy()
                    break

            if not self.hbox_efectos_en_pipe.get_children():
                self.hbox_efectos_en_pipe.get_parent().get_parent().get_parent(
                ).hide()

        self.get_toplevel().set_sensitive(True)
Exemplo n.º 2
0
    def __click_efecto(self, widget, nombre_efecto):
        """
        Recibe el nombre del efecto sobre el que
        se ha hecho click y decide si debe agregarse
        al pipe de JAMedia.
        """

        self.get_toplevel().set_sensitive(False)

        self.__cancel_toolbars_flotantes()

        agregar = False

        if self.player.efectos:
            if not nombre_efecto in self.player.efectos:
                agregar = True

        else:
            agregar = True

        if agregar:
            self.player.agregar_efecto(nombre_efecto)

            from Widgets import WidgetEfecto_en_Pipe

            # Agrega un widget a self.hbox_efectos_en_pipe
            botonefecto = WidgetEfecto_en_Pipe()
            botonefecto.set_tooltip(nombre_efecto)
            botonefecto.connect('clicked', self.__clicked_mini_efecto)
            lado = get_pixels(0.5)
            botonefecto.set_tamanio(lado, lado)

            archivo = os.path.join(JAMediaObjectsPath,
                "Iconos", 'configurar.png')

            pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(archivo, lado, lado)
            botonefecto.imagen.set_from_pixbuf(pixbuf)

            self.hbox_efectos_en_pipe.pack_start(botonefecto, False, False, 0)
            self.hbox_efectos_en_pipe.get_parent().get_parent(
                ).get_parent().show()

        else:
            self.player.quitar_efecto(nombre_efecto)

            self.widget_efectos.des_seleccionar_efecto(nombre_efecto)

            # Quitar el widget de self.hbox_efectos_en_pipe
            for efecto in self.hbox_efectos_en_pipe.get_children():
                if efecto.get_tooltip_text() == nombre_efecto:
                    efecto.destroy()
                    break

            if not self.hbox_efectos_en_pipe.get_children():
                self.hbox_efectos_en_pipe.get_parent().get_parent(
                    ).get_parent().hide()

        self.get_toplevel().set_sensitive(True)
    def click_efecto(self, widget, nombre_efecto):
        """
        Recibe el nombre del efecto sobre el que
        se ha hecho click y decide si debe agregarse
        al pipe de JAMediaWebcam.
        """

        # HACK: si se agregan o quitan efectos mientras se graba,
        # las grabaciones se reinician.
        if self.jamediawebcam.estado == "GrabandoAudioVideo" or \
            self.jamediawebcam.estado == "GrabandoAudio":
                for efecto in self.hbox_efectos_en_pipe.get_children():
                    n_efecto = efecto.get_tooltip_text()

                    if n_efecto == nombre_efecto:
                        self.widget_efectos.seleccionar_efecto(nombre_efecto)
                        return

                self.widget_efectos.des_seleccionar_efecto(nombre_efecto)
                return

        agregar = False

        if self.jamediawebcam.efectos:
            if not nombre_efecto in self.jamediawebcam.efectos:
            # Si el efecto no está en el pipe.
                agregar = True

        else:
            # Si no se han agregado efectos.
            agregar = True

        if agregar:
            #if self.jamediawebcam.estado == "GrabandoAudioVideo":
                # self.jamediawebcam.re_init()
            #    pass

            from Widgets import WidgetEfecto_en_Pipe

            self.jamediawebcam.agregar_efecto(nombre_efecto)

            # Agrega un widget a self.hbox_efectos_en_pipe
            botonefecto = WidgetEfecto_en_Pipe()
            botonefecto.set_tooltip(nombre_efecto)
            botonefecto.connect('clicked', self.clicked_mini_efecto)
            lado = get_pixels(0.5)
            botonefecto.set_tamanio(lado, lado)

            archivo = os.path.join(JAMediaObjectsPath,
                "Iconos", 'configurar.svg')

            pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(
                archivo, lado, lado)
            botonefecto.imagen.set_from_pixbuf(pixbuf)

            self.hbox_efectos_en_pipe.pack_start(
                botonefecto, False, False, 0)

        else:
            # Si el usuario hace click sobre el botón de un efecto
            # que ya se encuentra en el pipe de la camara, se quita
            # el efecto del pipe y se deselecciona el botón correspondiente.
            #if self.jamediawebcam.estado == "GrabandoAudioVideo":
                # self.jamediawebcam.re_init()
            #    pass

            self.jamediawebcam.quitar_efecto(nombre_efecto)

            self.widget_efectos.des_seleccionar_efecto(nombre_efecto)

            # Quitar el widget de self.hbox_efectos_en_pipe
            for efecto in self.hbox_efectos_en_pipe.get_children():
                if efecto.get_tooltip_text() == nombre_efecto:
                    efecto.destroy()
                    break
    def click_efecto(self, widget, nombre_efecto):
        """
        Recibe el nombre del efecto sobre el que
        se ha hecho click y decide si debe agregarse
        al pipe de JAMediaWebcam.
        """

        # HACK: si se agregan o quitan efectos mientras se graba,
        # las grabaciones se reinician.
        if self.jamediawebcam.estado == "GrabandoAudioVideo" or \
            self.jamediawebcam.estado == "GrabandoAudio":
            for efecto in self.hbox_efectos_en_pipe.get_children():
                n_efecto = efecto.get_tooltip_text()

                if n_efecto == nombre_efecto:
                    self.widget_efectos.seleccionar_efecto(nombre_efecto)
                    return

            self.widget_efectos.des_seleccionar_efecto(nombre_efecto)
            return

        agregar = False

        if self.jamediawebcam.efectos:
            if not nombre_efecto in self.jamediawebcam.efectos:
                # Si el efecto no está en el pipe.
                agregar = True

        else:
            # Si no se han agregado efectos.
            agregar = True

        if agregar:
            #if self.jamediawebcam.estado == "GrabandoAudioVideo":
            # self.jamediawebcam.re_init()
            #    pass

            from Widgets import WidgetEfecto_en_Pipe

            self.jamediawebcam.agregar_efecto(nombre_efecto)

            # Agrega un widget a self.hbox_efectos_en_pipe
            botonefecto = WidgetEfecto_en_Pipe()
            botonefecto.set_tooltip(nombre_efecto)
            botonefecto.connect('clicked', self.clicked_mini_efecto)
            lado = get_pixels(0.5)
            botonefecto.set_tamanio(lado, lado)

            archivo = os.path.join(JAMediaObjectsPath, "Iconos",
                                   'configurar.svg')

            pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(
                archivo, lado, lado)
            botonefecto.imagen.set_from_pixbuf(pixbuf)

            self.hbox_efectos_en_pipe.pack_start(botonefecto, False, False, 0)

        else:
            # Si el usuario hace click sobre el botón de un efecto
            # que ya se encuentra en el pipe de la camara, se quita
            # el efecto del pipe y se deselecciona el botón correspondiente.
            #if self.jamediawebcam.estado == "GrabandoAudioVideo":
            # self.jamediawebcam.re_init()
            #    pass

            self.jamediawebcam.quitar_efecto(nombre_efecto)

            self.widget_efectos.des_seleccionar_efecto(nombre_efecto)

            # Quitar el widget de self.hbox_efectos_en_pipe
            for efecto in self.hbox_efectos_en_pipe.get_children():
                if efecto.get_tooltip_text() == nombre_efecto:
                    efecto.destroy()
                    break