def agregar_efecto(self, nombre_efecto): """ Agrega un efecto según su nombre. """ self.efectos.append( nombre_efecto ) self.config_efectos[nombre_efecto] = {} self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name('efectos_bin') audio_visualizador_bin = self.pipeline.get_by_name('audio_visualizador_bin') audio_visualizador_bin.unlink(efectos_bin) efectos_bin.unlink(self.videobalance) self.pipeline.remove(efectos_bin) del(efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) audio_visualizador_bin.link(efectos_bin) efectos_bin.link(self.videobalance) self.play()
def agregar_efecto(self, nombre_efecto): """ Agrega un efecto según su nombre. """ self.efectos.append(nombre_efecto) self.config_efectos[nombre_efecto] = {} self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name( 'efectos_bin') jamedia_camara_bin = self.pipeline.get_by_name( 'jamedia_camara_bin') jamedia_camara_bin.unlink(efectos_bin) efectos_bin.unlink(self.gamma) self.pipeline.remove(efectos_bin) del(efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin( self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) jamedia_camara_bin.link(efectos_bin) efectos_bin.link(self.gamma) self.play()
def agregar_efecto(self, nombre_efecto): """ Agrega un efecto según su nombre. """ self.efectos.append(nombre_efecto) self.config_efectos[nombre_efecto] = {} self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name('efectos_bin') jamedia_camara_bin = self.pipeline.get_by_name('jamedia_camara_bin') jamedia_camara_bin.unlink(efectos_bin) efectos_bin.unlink(self.gamma) self.pipeline.remove(efectos_bin) del (efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) jamedia_camara_bin.link(efectos_bin) efectos_bin.link(self.gamma) self.play()
def __set_base_pipe(self): """ Linkea los elementos base. """ #self.camara #efectos #self.gamma #self.videoflip multi_out_tee = Gst.ElementFactory.make( 'tee', "multi_out_tee") queue_xvimagesink = Gst.ElementFactory.make( 'queue', "queue_xvimagesink") queue_xvimagesink.set_property( 'max-size-buffers', 1000) queue_xvimagesink.set_property( 'max-size-bytes', 0) queue_xvimagesink.set_property( 'max-size-time', 0) pantalla = Gst.ElementFactory.make( 'xvimagesink', "xvimagesink") efectos_bin = Efectos_Video_bin( self.efectos, self.config_efectos) fotobin = Foto_bin() self.pipeline.add(self.camara) self.pipeline.add(efectos_bin) self.pipeline.add(self.gamma) self.pipeline.add(self.videoflip) self.pipeline.add(multi_out_tee) self.pipeline.add(queue_xvimagesink) # multi_out_tee. #1 self.pipeline.add(pantalla) self.pipeline.add(fotobin) self.camara.link(efectos_bin) efectos_bin.link(self.gamma) self.gamma.link(self.videoflip) self.videoflip.link(multi_out_tee) multi_out_tee.link(queue_xvimagesink) # multi_out_tee. #1 queue_xvimagesink.link(pantalla) multi_out_tee.link(fotobin)
def __set_base_pipe(self): """ Linkea los elementos base. """ #self.camara #efectos #self.gamma #self.videoflip multi_out_tee = Gst.ElementFactory.make('tee', "multi_out_tee") queue_xvimagesink = Gst.ElementFactory.make('queue', "queue_xvimagesink") queue_xvimagesink.set_property('max-size-buffers', 1000) queue_xvimagesink.set_property('max-size-bytes', 0) queue_xvimagesink.set_property('max-size-time', 0) pantalla = Gst.ElementFactory.make('xvimagesink', "xvimagesink") efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) fotobin = Foto_bin() self.pipeline.add(self.camara) self.pipeline.add(efectos_bin) self.pipeline.add(self.gamma) self.pipeline.add(self.videoflip) self.pipeline.add(multi_out_tee) self.pipeline.add(queue_xvimagesink) # multi_out_tee. #1 self.pipeline.add(pantalla) self.pipeline.add(fotobin) self.camara.link(efectos_bin) efectos_bin.link(self.gamma) self.gamma.link(self.videoflip) self.videoflip.link(multi_out_tee) multi_out_tee.link(queue_xvimagesink) # multi_out_tee. #1 queue_xvimagesink.link(pantalla) multi_out_tee.link(fotobin)
def set_base_pipe(self): """ Linkea los elementos base. """ #self.autoaudiosrc multi_out_tee = Gst.ElementFactory.make('tee', "multi_out_tee") audio_visualizador_bin = Audio_Visualizador_bin(self.audio_visualizador) efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) #self.videobalance #self.gamma #self.videoflip queue_xvimagesink = Gst.ElementFactory.make('queue', "queue_xvimagesink") queue_xvimagesink.set_property('max-size-buffers', 1000) queue_xvimagesink.set_property('max-size-bytes', 0) queue_xvimagesink.set_property('max-size-time', 0) pantalla = Gst.ElementFactory.make('xvimagesink', "xvimagesink") self.pipeline.add(self.autoaudiosrc) self.pipeline.add(multi_out_tee) self.pipeline.add(audio_visualizador_bin) self.pipeline.add(efectos_bin) self.pipeline.add(self.videobalance) self.pipeline.add(self.gamma) self.pipeline.add(self.videoflip) self.pipeline.add(queue_xvimagesink) self.pipeline.add(pantalla) self.autoaudiosrc.link(multi_out_tee) multi_out_tee.link(audio_visualizador_bin) audio_visualizador_bin.link(efectos_bin) efectos_bin.link(self.videobalance) self.videobalance.link(self.gamma) self.gamma.link(self.videoflip) self.videoflip.link(queue_xvimagesink) queue_xvimagesink.link(pantalla)
def quitar_efecto(self, indice_efecto): """ Quita el efecto correspondiente al indice o al nombre que recibe. """ if type(indice_efecto) == int: self.efectos.remove(self.efectos[indice_efecto]) if self.efectos[indice_efecto] in self.config_efectos.keys(): del (self.config_efectos[self.efectos[indice_efecto]]) elif type(indice_efecto) == str: for efecto in self.efectos: if efecto == indice_efecto: self.efectos.remove(efecto) if efecto in self.config_efectos.keys(): del (self.config_efectos[efecto]) break self.stop() # Quitar efectos efectos_bin = self.pipeline.get_by_name('efectos_bin') audio_visualizador_bin = self.pipeline.get_by_name('audio_visualizador_bin') audio_visualizador_bin.unlink(efectos_bin) efectos_bin.unlink(self.videobalance) self.pipeline.remove(efectos_bin) del(efectos_bin) # Agregar efectos efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos) self.pipeline.add(efectos_bin) audio_visualizador_bin.link(efectos_bin) efectos_bin.link(self.videobalance) self.play()