def changerReglagesQual(self): "Fonction pour collecte de la qualité de la vidéo en sortie" # Afficher la valeur choisie par l'utilisateur de la qualité de la vidéo self.select_qualite = self.qualite.value() #print "Valeur de la qualité de la vidéo:", self.select_qualite EkdPrint(u"Valeur de la qualité de la vidéo: %s" % self.select_qualite) EkdConfig.set(self.idSection, 'qualite', self.select_qualite)
def nouvelleResolution(self): """Mets une liste de chemins vidéos dans l'ordre alpha-numérique si tel est le choix de l'utilisateur""" i=self.combo.currentIndex() idCombo = str(self.combo.itemData(i).toStringList()[0]) #print "Combo :", idCombo EkdPrint(u"Combo : %s" % idCombo) # Si ordre alpha-numérique choisi, alors on ordonne la liste if idCombo == '16_9': self.idCombo=1.77777 elif idCombo == '16_10': self.idCombo=1.60 elif idCombo == '4_3': self.idCombo=1.33333 elif idCombo == '5_3': self.idCombo=1.66666 elif idCombo == '1_85': self.idCombo=1.85 elif idCombo == '2_35': self.idCombo=2.35 elif idCombo == '2_39': self.idCombo=2.39 elif idCombo == '2_55': self.idCombo=2.55 ###################################################################################### EkdConfig.set(self.idSection,'type',idCombo)
def changerReglagesNbrImgSec(self): "Fonction pour collecte du nombre d'images/seconde en sortie" # Afficher la valeur choisie par l'utilisateur du nbre d'img/sec self.select_nbreImgSec = self.nbrImage.value() #print "Valeur du nombre d'images par seconde:", self.select_nbreImgSec EkdPrint(u"Valeur du nombre d'images par seconde: %s" % self.select_nbreImgSec) EkdConfig.set(self.idSection, 'images_par_seconde', self.select_nbreImgSec)
def sauverSpin_2(self,i): """conserver le spin dans le fichier de configuration et modifie le curseur""" debug("%s %d" % (self.choixCodec,i)) #EkdConfig.set(self.idSection,self.choixCodec,i) EkdConfig.set('animation_encodage_general_bitrate_video',self.choixCodec,i) # sauver curseur self.curseur_2.setValue(i)
def saveFiles(self): """ # On sauvegarde la liste des fichiers chargés """ self.afficheurVideoSource.saveFileLocation(self.idSection) # Ajout de la sauvegarde des positions début et fin EkdConfig.set(self.idSection, u"valeurDebut", unicode(self.valeurDebut)) EkdConfig.set(self.idSection, u"valeurFin", unicode(self.valeurFin))
def save(self): ''' Sauvegarde de la configuration de tous les objets ''' self.saveFiles() entry = u"" for files in self.ordreVideo.getListFile() : entry += files+u":" EkdConfig.set(self.idSection, u'ordreVideo', entry[:-1])
def updateColor(self): newcolor = QColorDialog.getColor(QColor.fromRgb(int("%d" % int(self.value, 16))), None )# Non supporté sous Jaunty ?? if newcolor.isValid(): self.value = str("%x" % newcolor.rgb())[2:] self.color.fill(QColor.fromRgb(int("%d" % int(self.value, 16)))) self.boutton.setIcon(QIcon(self.color)) self.line.setText(self.value) EkdConfig.set(self.section, self.id, self.value)
def ouvrirSource(self, nomEntree=None): """ Récupération des chemins vidéo sélectionnée """ # On n'utilise pas le fonction recupSources du fichier animation_base.py contenu dans # le répertoire gui_modules_animation car pour cette fonction uniquement les fichiers # AVI (donc extension .avi) sont autorisés try: repEntree = EkdConfig.get('general', 'video_input_path') except: repEntree = os.path.expanduser('~') #################################################################################### txt = _(u"Fichiers vidéos") if not nomEntree: liste=QFileDialog.getOpenFileNames(None, _(u"Ouvrir"), repEntree, "%s (*.avi *.mpg *.mpeg *.vob)\n" %txt) self.liste = [unicode(i) for i in liste] #################################################################################### chemin=self.liste if not chemin: return ## On a récupérer la vidéo, on défini le nouveau chemin par défaut des vidéos EkdConfig.set('general', 'video_input_path', os.path.dirname(chemin[0])) self.lstFichiersSource = [] for fichier in chemin: self.lstFichiersSource.append(fichier) # Appel de la fonction nouvelleResolution pour application 16/9 ou 4/3 self.nouvelleResolution() #print 'self.idCombo', self.idCombo EkdPrint(u'self.idCombo %s' % self.idCombo) # Le bouton appliquer devient utilisable self.boutApp.setEnabled(True) self.boutApp.setToolTip("") self.mplayer.setEnabled(True) self.mplayer.listeVideos = self.lstFichiersSource self.radioSource.setChecked(True) self.radioSource.setEnabled(False) self.radioConvert.setEnabled(False) # Affichage du chemin + nom de fichier dans la ligne d'édition self.ligneEditionSource.setText(liste[0]) self.statusBar.showMessage(_(u"La vidéo résultante ne pourra pas être lue avec tous les logiciels"))
def changerItemQStacked(self, i): """ L'entrée sélectionnée de la boîte de combo modifie le QWidget de réglage du codec associée """ #print "index", i EkdPrint(u"index %d" % i) idCodec=str(self.combo.itemData(i).toString()) #print "idCodec:", idCodec, type(idCodec) EkdPrint(u"idCodec: %s %s" % (idCodec ,type(idCodec))) for k in self.listeCombo: if k[0]==idCodec: # Utilisation de EkdConfig : modification des sections if self.idSection == "animation_filtresvideo": if k[0] in ('decoupageassiste', 'decoupagelibre'): self.filtreDecouper.setStacked(k[0]) if self.stacked: self.stacked.setCurrentIndex(k[2]) EkdConfig.set(self.idSection,'codec', idCodec)
def ouvrirVideo(self): """Ouverture de la boîte de dialogue de fichiers""" txt = u"Fichiers vidéo" if self.cheminPourBoutonParcourir: chemin = self.cheminPourBoutonParcourir else: try: chemin = EkdConfig.get('general','video_input_path').decode("UTF8") except: chemin = os.path.expanduser('~') liste=QFileDialog.getOpenFileNames(None, u"Ouvrir", chemin, "%s (*.avi *.mpg *.mpeg *.mjpeg *.flv *.mp4 *.ogg *.vob *.mov *.wmv *.3gp *.h264)\n*" %txt) if not liste: return self.listeVideos = liste self.changeRatio(unicode(self.listeVideos[0])) chemin = unicode(self.listeVideos[0]) EkdConfig.set('general','video_input_path',os.path.dirname(chemin).encode("UTF8"))
def recupSourcesAudio(self, nomEntree=None): """Récupère les fichiers sources audio via une boite de dialogue. Utilise et modifie les paramètres de configuration""" if not self.lstFichiersSourceAudio: listePleine = False else: listePleine = True fichier = self.lstFichiersSourceAudio[0] path = os.path.dirname(fichier) if listePleine and os.path.exists(path): repEntree = path else: try: repEntree = EkdConfig.get('general','audio_input_path').decode("UTF8") except Exception, e: repEntree = '~' EkdConfig.set('general','audio_input_path', repEntree.encode("UTF8")) if not os.path.exists(repEntree): repEntree = '~' EkdConfig.set('general','audio_input_path', repEntree.encode("UTF8"))
def recupSourceAudio(self, nomEntree=None): """Récupère le fichier source audio via une boite de dialogue. Utilise et modifie les paramètres de configuration""" if self.ligneEditionSource.text().isEmpty(): lignePleine = False else: lignePleine = True fichier = unicode(self.ligneEditionSource.text()) path = os.path.dirname(fichier) if lignePleine and os.path.exists(path): repEntree = path else: try: repEntree = EkdConfig.get('general','audio_input_path').decode("UTF8") except Exception, e: repEntree = '~' EkdConfig.set('general','audio_input_path', repEntree.encode("UTF8")) if not QFileInfo(repEntree).exists(): repEntree = '~' EkdConfig.set('general','audio_input_path', repEntree.encode("UTF8"))
def updatePath(self): newpath = QFileDialog.getExistingDirectory(None, _(u"Choisissez un chemin"), self.value ) if newpath: self.value = newpath self.line.setText(self.value) EkdConfig.set(self.section, self.id, self.value)
def updateCodec(self): self.value = self.widget.currentIndex() EkdConfig.set(self.section, self.id, self.value)
def updateStyle(self): self.value = self.widget.currentText() EkdConfig.set(self.section, self.id, self.value)
def updateNum(self, val): self.value = val EkdConfig.set(self.section, self.id, self.value) #print "Debug:: TIMER %s | value %s | value Ekd config %s | section %s" % (self.id, self.value, EkdConfig.get(self.section, self.id), self.section) EkdPrint(u"Debug:: TIMER %s | value %s | value Ekd config %s | section %s" % (self.id, self.value, EkdConfig.get(self.section, self.id), self.section))
def updateNum(self, val): self.value = val EkdConfig.set(self.section, self.id, self.value)
def updateState(self): self.value = self.widget.checkState() EkdConfig.set(self.section, self.id, self.value)
def saveConfig(self, idsection="") : if idsection == "" : return EkdConfig.set(idsection, u'format', unicode(self.comboFormat.currentIndex())) EkdConfig.set(idsection, u'expert', unicode(int(self.getExpertState()))) EkdConfig.set(idsection, u'qualite', unicode(self.qualite.currentIndex()))
repEntree = '~' EkdConfig.set('general','audio_input_path', repEntree.encode("UTF8")) if not os.path.exists(repEntree): repEntree = '~' EkdConfig.set('general','audio_input_path', repEntree.encode("UTF8")) txt = _(u"Fichiers audio") if not nomEntree: liste=QFileDialog.getOpenFileNames(None, _(u"Ouvrir"), os.path.expanduser(repEntree), "%s (*.ogg *.mp3 *.wav *.ac3 *.wmv *.mp2)\n*" %txt) liste = [unicode(i) for i in liste] else: # module séquentiel liste = nomEntree if len(liste)==0: return EkdConfig.set('general','audio_input_path',os.path.dirname(liste[0]).encode("UTF8")) return liste def recupSource(self, nomEntree=None, exclure_type=None, inclure_type=None): """Récupère le fichier source vidéo via une boite de dialogue. Utilise et modifie les paramètres de configuration""" try : if self.ligneEditionSource.text().isEmpty(): lignePleine = False except: return else: lignePleine = True fichier = unicode(self.ligneEditionSource.text()) path = os.path.dirname(fichier)
def changerReglagesSpec_DNxHD(self): "Fonction pour collecte du réglage des spécificités pour l'Avid DNxHD" # Afficher le changement de sélection dans le combo de # sélection des spécificités en sortie pour l'Avid DNxHD self.select_spec_DNxHD = self.specSortie_DNxHD.currentText() spec_DNxHD = EkdConfig.set(self.idSection, 'spec_DNxHD', self.specSortie_DNxHD.currentIndex())
def changerReglagesCodec(self): """Fonction pour collecte du réglage du codec en sortie""" self.select_codec = self.codecSortie.currentText() #print 'Codec sélectionné en sortie:', self.select_codec EkdPrint(u'Codec sélectionné en sortie: %s' % str(self.select_codec)) EkdConfig.set(self.idSection, 'codec', self.codecSortie.currentIndex())
def save(self) : self.selectionAudioFile.saveFileLocation(self.idSection) self.selectionFile.choixFormatAudio.reglageExp.saveConfig(self.idSection) files = self.selectionFile.getListFile() if files != None : EkdConfig.set(self.idSection, u'ordre', files)
def save(self) : self.afficheurImgSource.saveFileLocation(self.idSection) EkdConfig.set(self.idSection, u'spin1', unicode(self.spin1.value())) EkdConfig.set(self.idSection, u'spin2', unicode(self.spin2.value())) EkdConfig.set(self.idSection, u'spin3', unicode(self.spin3.value())) EkdConfig.set(self.idSection, u'comboClassement', unicode(self.comboClassement.currentIndex()))
def changerReglagesResol(self): "Fonction pour collecte du réglage de la résolution en sortie" # Afficher le changement de sélection dans le combo # de sélection de la résolution en sortie self.select_resolution = self.resoSortie.currentText() resolution = EkdConfig.set(self.idSection, 'resolution', self.resoSortie.currentIndex())
def save(self) : self.selectionAudioFile.saveFileLocation(self.idSection) self.selectionFile.reglageExp.saveConfig(self.idSection) EkdConfig.set(self.idSection, u'choix1', unicode(int(self.choix1.isChecked()))) EkdConfig.set(self.idSection, u'choix2', unicode(int(self.choix2.isChecked()))) EkdConfig.set(self.idSection, u'choix3', unicode(int(self.choix3.isChecked()))) EkdConfig.set(self.idSection, u'choixm1', unicode(int(self.choixm1.isChecked()))) EkdConfig.set(self.idSection, u'choixm2', unicode(int(self.choixm2.isChecked()))) EkdConfig.set(self.idSection, u'choixm3', unicode(int(self.choixm3.isChecked())))
def changerReglagesSon_DNxHD(self): "Fonction pour collecte du réglage du flux audio en sortie uniquement pour l'Avid DNxHD" # Afficher le changement de sélection dans le combo de # sélection du flux audio en sortie pour l'Avid DNxHD self.select_son_DNxHD = self.sonSortie_DNxHD.currentText() son_DNxHD = EkdConfig.set(self.idSection, 'audio_DNxHD', self.sonSortie_DNxHD.currentIndex())
def setDontShow(self, state): EkdConfig.set("general", "show_warning_messages", state)
###### self.chemin = None ok = None while ok != QMessageBox.Ok: ok = QMessageBox.Ok if self.exec_(): self.chemin = unicode(self.selectedFile()) if QFile.exists(self.chemin) and (not self.multiple): ok = QMessageBox.warning(self, _(u"Attention"), _(u"Le fichier existe, voulez-vous écraser le fichier existant ?"), QMessageBox.Ok | QMessageBox.Cancel, QMessageBox.Ok) else : return None ## On met à jour les chemins d'enregistrement if self.mode == "image" : EkdConfig.set("general", "image_output_path", os.path.dirname(self.chemin)) elif self.mode == "video" : EkdConfig.set("general", "video_output_path", os.path.dirname(self.chemin)) elif self.mode == "audio" : EkdConfig.set("general", "sound_output_path", os.path.dirname(self.chemin)) debug('EkdSaveDialog:: Suffix : %s Filename : %s' % (self.suffix, self.chemin)) return self.chemin def setAcceptMode(self, mode=QFileDialog.AcceptSave): """ Défini le mode d'ouvertue Ouverture ou Sauvegarde """ self.mode = mode if self.mode == QFileDialog.AcceptSave : self.saveButton.setText(_(u"Enregistrer")) elif self.mode == QFileDialog.AcceptOpen : self.saveButton.setText(_(u"Ouvrir"))
def sauverSpin_1(self,i): """conserver le spin dans le fichier de configuration et modifie le curseur""" debug("%s %d" % (self.choixCodec,i)) EkdConfig.set(self.idSection,self.choixCodec,i) # sauver curseur self.curseur_1.setValue(i)