Beispiel #1
0
    def __play_stack_tareas(self, player=False):
        if PR:
            print "WidgetConvert", "__play_stack_tareas"

        if self.player:
            self.player.disconnect_by_func(self.__play_stack_tareas)
            self.player.disconnect_by_func(self.__process_tarea)
            self.player.disconnect_by_func(self.__info_tarea)
            self.player.stop()
            del (self.player)
            self.player = False

        if not self.temp_tareas:
            self.emit("accion-tarea", "end")
            self.__in_run(False)
            self.buttonsbox.set_info("  Tareas Procesadas  ")
            self.buttonsbox.progress.set_progress(100.0)
            return False

        codec = self.temp_tareas[0]
        self.temp_tareas.remove(codec)
        dirpath_destino = ""

        if codec in ["jpg", "png"]:
            dirpath_destino = get_imagenes_directory()

        elif codec in ["ogg", "mp3", "wav"]:
            dirpath_destino = get_audio_directory()

        elif codec in ["ogv", "mpeg", "avi"]:
            dirpath_destino = get_video_directory()

        self.__in_run(True)
        gobject.idle_add(self.__new_jamedia_converter, codec, dirpath_destino)
        return False
Beispiel #2
0
    def __play_stack_tareas(self, player=False):
        if PR:
            print "WidgetConvert", "__play_stack_tareas"

        if self.player:
            self.player.disconnect_by_func(self.__play_stack_tareas)
            self.player.disconnect_by_func(self.__process_tarea)
            self.player.disconnect_by_func(self.__info_tarea)
            self.player.stop()
            del(self.player)
            self.player = False

        if not self.temp_tareas:
            self.emit("accion-tarea", "end")
            self.__in_run(False)
            self.buttonsbox.set_info("  Tareas Procesadas  ")
            self.buttonsbox.progress.set_progress(100.0)
            return False

        codec = self.temp_tareas[0]
        self.temp_tareas.remove(codec)
        dirpath_destino = ""

        if codec in ["jpg", "png"]:
            dirpath_destino = get_imagenes_directory()

        elif codec in ["ogg", "mp3", "wav"]:
            dirpath_destino = get_audio_directory()

        elif codec in ["ogv", "mpeg", "avi"]:
            dirpath_destino = get_video_directory()

        self.__in_run(True)
        gobject.idle_add(self.__new_jamedia_converter, codec, dirpath_destino)
        return False
Beispiel #3
0
    def cargar_lista(self, widget, indice):
        _dict = {
            0: os.path.join(get_data_directory(), 'JAMediaRadio.JAMedia'),
            1: os.path.join(get_data_directory(), 'JAMediaTV.JAMedia'),
            2: os.path.join(get_data_directory(), 'MisRadios.JAMedia'),
            3: os.path.join(get_data_directory(), 'MisTvs.JAMedia'),
            4: os.path.join(get_data_directory(), 'JAMediaWebCams.JAMedia'),
            5: get_my_files_directory(),
            6: get_tube_directory(),
            7: get_audio_directory(),
            8: get_video_directory(),
        }

        ocultar(self.toolbar.boton_agregar)
        if indice == 0:
            self.__seleccionar_lista_de_stream(_dict[0], "JAM-Radio")

        elif indice == 1:
            self.__seleccionar_lista_de_stream(_dict[1], "JAM-TV")

        elif indice == 2:
            self.__seleccionar_lista_de_stream(_dict[2], "Radios")
            mostrar(self.toolbar.boton_agregar)

        elif indice == 3:
            self.__seleccionar_lista_de_stream(_dict[3], "TVs")
            mostrar(self.toolbar.boton_agregar)

        elif indice == 4:
            self.__seleccionar_lista_de_stream(_dict[4], "WebCams")

        elif indice == 5:
            self.__seleccionar_lista_de_archivos(_dict[indice], "Archivos")

        elif indice == 6:
            self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Tube")

        elif indice == 7:
            self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Audio")

        elif indice == 8:
            self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Video")

        elif indice == 9:
            selector = My_FileChooser(parent=self.get_toplevel(),
                                      filter_type=[],
                                      action=gtk.FILE_CHOOSER_ACTION_OPEN,
                                      mime=self.mime,
                                      title="Abrir Archivos",
                                      path=self.directorio)

            selector.connect('load-files', self.__load_files, "Archivos")
            selector.run()

            if selector:
                selector.destroy()
 def cargar_lista(self, widget, indice):
     data = get_data_directory()
     _dict = {
         0: os.path.join(data, 'JAMediaRadio.JAMedia'),
         1: os.path.join(data, 'JAMediaTV.JAMedia'),
         2: os.path.join(data, 'MisRadios.JAMedia'),
         3: os.path.join(data, 'MisTvs.JAMedia'),
         4: os.path.join(data, 'JAMediaWebCams.JAMedia'),
         5: get_my_files_directory(),
         6: get_tube_directory(),
         7: get_audio_directory(),
         8: get_video_directory(),
         }
     ocultar(self.toolbar.boton_agregar)
     if indice == 0:
         self.__seleccionar_lista_de_stream(_dict[0], "JAM-Radio")
     elif indice == 1:
         self.__seleccionar_lista_de_stream(_dict[1], "JAM-TV")
     elif indice == 2:
         self.__seleccionar_lista_de_stream(_dict[2], "Radios")
         mostrar(self.toolbar.boton_agregar)
     elif indice == 3:
         self.__seleccionar_lista_de_stream(_dict[3], "TVs")
         mostrar(self.toolbar.boton_agregar)
     elif indice == 4:
         self.__seleccionar_lista_de_stream(_dict[4], "WebCams")
     elif indice == 5:
         self.__seleccionar_lista_de_archivos(_dict[indice], "Archivos")
     elif indice == 6:
         self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Tube")
     elif indice == 7:
         self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Audio")
     elif indice == 8:
         self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Video")
     elif indice == 9:
         selector = My_FileChooser(parent=self.get_toplevel(),
             filter_type=[], action=gtk.FILE_CHOOSER_ACTION_OPEN,
             mime=self.mime, title="Abrir Archivos", path=self.directorio)
         selector.connect('load-files', self.__load_files, "Archivos")
         selector.run()
         if selector:
             selector.destroy()
Beispiel #5
0
    def grabar(self, widget=False, event=False):
        """
        Graba Audio y Video desde la webcam.
        """

        import time
        import datetime

        self.stop()

        multi_out_tee = self.pipeline.get_by_name('multi_out_tee')

        # FIXME: Verificar que ya no estén estos elementos en el pipe
        video_bin = Theoraenc_bin()
        audio_bin = Vorbisenc_bin()

        oggmux = Gst.ElementFactory.make('oggmux', "oggmux")
        filesink = Gst.ElementFactory.make('filesink', "filesink")

        fecha = datetime.date.today()
        hora = time.strftime("%H-%M-%S")

        archivo = os.path.join(get_video_directory(),
                               "%s-%s.ogg" % (fecha, hora))

        self.patharchivo = archivo
        filesink.set_property("location", archivo)

        self.pipeline.add(video_bin)
        self.pipeline.add(audio_bin)
        self.pipeline.add(oggmux)
        self.pipeline.add(filesink)

        multi_out_tee.link(video_bin)
        video_bin.link(oggmux)
        audio_bin.link(oggmux)
        oggmux.link(filesink)

        self.play()
Beispiel #6
0
    def grabar(self, widget=False, event=False):
        """
        Graba Audio y Video desde la webcam.
        """

        import time
        import datetime

        self.stop()

        multi_out_tee = self.pipeline.get_by_name("multi_out_tee")

        # FIXME: Verificar que ya no estén estos elementos en el pipe
        video_bin = Theoraenc_bin()
        audio_bin = Vorbisenc_bin()

        oggmux = Gst.ElementFactory.make("oggmux", "oggmux")
        filesink = Gst.ElementFactory.make("filesink", "filesink")

        fecha = datetime.date.today()
        hora = time.strftime("%H-%M-%S")

        archivo = os.path.join(get_video_directory(), "%s-%s.ogg" % (fecha, hora))

        self.patharchivo = archivo
        filesink.set_property("location", archivo)

        self.pipeline.add(video_bin)
        self.pipeline.add(audio_bin)
        self.pipeline.add(oggmux)
        self.pipeline.add(filesink)

        multi_out_tee.link(video_bin)
        video_bin.link(oggmux)
        audio_bin.link(oggmux)
        oggmux.link(filesink)

        self.play()
Beispiel #7
0
    def set_accion(self, modo, accion):
        """
        Le pasa a la camara las ordenes seleccionadas por el
        usuario en la toolbar correspondiente de la aplicacion.
        """

        self.emit("cancel-toolbars")

        if accion == "Izquierda" or accion == "Derecha":
            if self.jamediawebcam:
                self.jamediawebcam.rotar(accion)

            elif self.player:
                self.player.rotar(accion)

            elif self.imageplayer:
                self.imageplayer.rotar(accion)

            else:
                print "Accion sin definir:", self.set_accion, modo, accion

        elif accion == "Stop":
            if modo == "video":
                self.get_toplevel().toolbar.set_sensitive(False)
                self.__re_init_video_web_cam()
                self.info_label.set_text("")
                self.info_label.hide()
                gobject.timeout_add(1000, self.__re_sensitive)

            elif modo == "foto":
                self.get_toplevel().toolbar.set_sensitive(False)
                self.__re_init_video_web_cam()
                self.info_label.set_text("")
                self.info_label.hide()
                gobject.timeout_add(300, self.__re_sensitive)

            elif modo == "jamediaconverter":
                self.jamediaconvert.tareas_pendientes = []
                # FIXME: Considerar detener la conversíon en progreso

            else:
                print "Accion sin definir:", self.set_accion, modo, accion

        elif accion == "Filmar":  # and modo == "video":
            self.get_toplevel().toolbar.set_sensitive(False)
            hora = time.strftime("%H-%M-%S")
            fecha = str(datetime.date.today())
            archivo = "JV_%s_%s" % (fecha, hora)
            archivo = os.path.join(get_video_directory(), archivo)
            self.jamediawebcam.filmar(archivo)
            gobject.timeout_add(1000, self.__re_sensitive)

        elif accion == "Fotografiar":
            self.get_toplevel().toolbar.set_sensitive(False)
            rafaga = self.rafagas_setting.get_rafaga()
            self.jamediawebcam.fotografiar(get_imagenes_directory(), rafaga)
            gobject.timeout_add(300, self.__re_sensitive)

        # FIXME: Desactivadas por ahora
        #elif accion == "Centrar" or accion == "Acercar" or accion == "Alejar":
        #    self.imageplayer.set_zoom(accion)

        else:
            print "Accion sin definir:", self.set_accion, modo, accion
Beispiel #8
0
    def set_accion(self, modo, accion):
        """
        Le pasa a la camara las ordenes seleccionadas por el
        usuario en la toolbar correspondiente de la aplicacion.
        """

        self.emit("cancel-toolbars")

        if accion == "Izquierda" or accion == "Derecha":
            if self.jamediawebcam:
                self.jamediawebcam.rotar(accion)

            elif self.player:
                self.player.rotar(accion)

            elif self.imageplayer:
                self.imageplayer.rotar(accion)

            else:
                print "Accion sin definir:", self.set_accion, modo, accion

        elif accion == "Stop":
            if modo == "video":
                self.get_toplevel().toolbar.set_sensitive(False)
                self.__re_init_video_web_cam()
                self.info_label.set_text("")
                self.info_label.hide()
                gobject.timeout_add(1000, self.__re_sensitive)

            elif modo == "foto":
                self.get_toplevel().toolbar.set_sensitive(False)
                self.__re_init_video_web_cam()
                self.info_label.set_text("")
                self.info_label.hide()
                gobject.timeout_add(300, self.__re_sensitive)

            elif modo == "jamediaconverter":
                self.jamediaconvert.tareas_pendientes = []
                # FIXME: Considerar detener la conversíon en progreso

            else:
                print "Accion sin definir:", self.set_accion, modo, accion

        elif accion == "Filmar":  # and modo == "video":
            self.get_toplevel().toolbar.set_sensitive(False)
            hora = time.strftime("%H-%M-%S")
            fecha = str(datetime.date.today())
            archivo = "JV_%s_%s" % (fecha, hora)
            archivo = os.path.join(get_video_directory(), archivo)
            self.jamediawebcam.filmar(archivo)
            gobject.timeout_add(1000, self.__re_sensitive)

        elif accion == "Fotografiar":
            self.get_toplevel().toolbar.set_sensitive(False)
            rafaga = self.rafagas_setting.get_rafaga()
            self.jamediawebcam.fotografiar(get_imagenes_directory(), rafaga)
            gobject.timeout_add(300, self.__re_sensitive)

        # FIXME: Desactivadas por ahora
        #elif accion == "Centrar" or accion == "Acercar" or accion == "Alejar":
        #    self.imageplayer.set_zoom(accion)

        else:
            print "Accion sin definir:", self.set_accion, modo, accion
Beispiel #9
0
    def __cargar_lista(self, widget, indice):
        """
        Recibe el indice seleccionado en el menu de toolbarlist y
        carga la lista correspondiente.

        Esto es solo para JAMedia no embebido ya que cuando JAMedia
        esta embebida, no posee la toolbarlist.
        """

        model, iter = self.lista_de_reproduccion.get_selection().get_selected()
        ultimopath = False

        if model and iter:
            valor = model.get_value(iter, 2)

            if valor:
                from Globales import describe_uri

                descripcion = describe_uri(valor)

                if descripcion:
                    if descripcion[2]:
                        ultimopath = valor

        map(self.__ocultar, [
            self.toolbar_accion,
            self.toolbaraddstream])

        self.toolbar_list.boton_agregar.hide()

        from Globales import get_data_directory
        from Globales import get_my_files_directory
        from Globales import get_tube_directory
        from Globales import get_audio_directory
        from Globales import get_video_directory

        if indice == 0:
            archivo = os.path.join(
                get_data_directory(),
                'JAMediaRadio.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-Radio")

        elif indice == 1:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(
                get_data_directory(),
                'JAMediaTV.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-TV")

        elif indice == 2:
            archivo = os.path.join(
                get_data_directory(),
                'MisRadios.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "Radios")
            self.toolbar_list.boton_agregar.show()

        elif indice == 3:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(
                get_data_directory(),
                'MisTvs.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "TVs")
            self.toolbar_list.boton_agregar.show()

        elif indice == 4:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(
                get_data_directory(),
                'JAMediaWebCams.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "WebCams")
            #self.toolbar_list.boton_agregar.show()

        elif indice == 5:
            self.__seleccionar_lista_de_archivos(
                get_my_files_directory(),
                "Archivos")

        elif indice == 6:
            self.__seleccionar_lista_de_archivos(
                get_tube_directory(),
                "JAM-Tube")

        elif indice == 7:
            self.__seleccionar_lista_de_archivos(
                get_audio_directory(),
                "JAM-Audio")

        elif indice == 8:
            self.__seleccionar_lista_de_archivos(
                get_video_directory(),
                "JAM-Video")

        elif indice == 9:
            from Widgets import My_FileChooser

            directorio = None

            if ultimopath:
                directorio = "file://%s" % os.path.dirname(ultimopath)

            selector = My_FileChooser(
                parent=self.get_toplevel(),
                action=Gtk.FileChooserAction.OPEN,
                mime=["audio/*", "video/*"],
                title="Abrir Archivos.",
                path=directorio,
                filter=[])

            selector.connect(
                'archivos-seleccionados', self.__cargar_directorio)

            selector.run()

            if selector:
                selector.destroy()
Beispiel #10
0
    def __cargar_lista(self, widget, indice):
        """
        Recibe el indice seleccionado en el menu de toolbarlist y
        carga la lista correspondiente.

        Esto es solo para JAMedia no embebido ya que cuando JAMedia
        esta embebida, no posee la toolbarlist.
        """

        model, iter = self.lista_de_reproduccion.get_selection().get_selected()
        ultimopath = False

        if model and iter:
            valor = model.get_value(iter, 2)

            if valor:
                from Globales import describe_uri

                descripcion = describe_uri(valor)

                if descripcion:
                    if descripcion[2]:
                        ultimopath = valor

        map(self.__ocultar, [self.toolbar_accion, self.toolbaraddstream])

        self.toolbar_list.boton_agregar.hide()

        from Globales import get_data_directory
        from Globales import get_my_files_directory
        from Globales import get_tube_directory
        from Globales import get_audio_directory
        from Globales import get_video_directory

        if indice == 0:
            archivo = os.path.join(get_data_directory(),
                                   'JAMediaRadio.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-Radio")

        elif indice == 1:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(get_data_directory(), 'JAMediaTV.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-TV")

        elif indice == 2:
            archivo = os.path.join(get_data_directory(), 'MisRadios.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "Radios")
            self.toolbar_list.boton_agregar.show()

        elif indice == 3:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(get_data_directory(), 'MisTvs.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "TVs")
            self.toolbar_list.boton_agregar.show()

        elif indice == 4:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(get_data_directory(),
                                   'JAMediaWebCams.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "WebCams")
            #self.toolbar_list.boton_agregar.show()

        elif indice == 5:
            self.__seleccionar_lista_de_archivos(get_my_files_directory(),
                                                 "Archivos")

        elif indice == 6:
            self.__seleccionar_lista_de_archivos(get_tube_directory(),
                                                 "JAM-Tube")

        elif indice == 7:
            self.__seleccionar_lista_de_archivos(get_audio_directory(),
                                                 "JAM-Audio")

        elif indice == 8:
            self.__seleccionar_lista_de_archivos(get_video_directory(),
                                                 "JAM-Video")

        elif indice == 9:
            from Widgets import My_FileChooser

            directorio = None

            if ultimopath:
                directorio = "file://%s" % os.path.dirname(ultimopath)

            selector = My_FileChooser(parent=self.get_toplevel(),
                                      action=Gtk.FileChooserAction.OPEN,
                                      mime=["audio/*", "video/*"],
                                      title="Abrir Archivos.",
                                      path=directorio,
                                      filter=[])

            selector.connect('archivos-seleccionados',
                             self.__cargar_directorio)

            selector.run()

            if selector:
                selector.destroy()