Logo Search packages:      
Sourcecode: videoporama version File versions  Download package

def mplayer::Mplayer::__init__ (   self,
  VideoporamaInstance,
  cheminVideo = [],
  taille = (250,225,
  choixWidget = (REVENIR, PAS_PRECEDENT_SUIVANT,
  CURSEUR_SUR_UNE_LIGNE,
  PAS_PARCOURIR,
  debutFin = (0,0,
  cheminMPlayer = None,
  barreTaches = None,
  facteurLimitant = HAUTEUR,
  cheminParcourir = None,
  parent = None 
)
widget mplayer

Definition at line 131 of file mplayer.py.

                                        :
00136     
    """widget mplayer"""
    QDialog.__init__(self, parent)
    self.VideoporamaInstance=VideoporamaInstance
    
    #=== Paramètres généraux ===#
    self.setAttribute(Qt.WA_DeleteOnClose)
    
    self.systeme = os.name
    
    # système d'exploitation
    if self.systeme in ['posix', 'mac'] : #and not cheminMPlayer:
      self.cheminMPlayer=cheminMPlayer+os.sep+"mplayer"  # moteur de lecture mplayer
    else : # windows à priori
      self.cheminMPlayer=cheminMPlayer+os.sep+"mplayer.exe" # avec le *.exe
    
    # liste de chemins vidéos
    self.listeVideos=cheminVideo
    
    # est-ce que la vidéo est lue?
    self.estLue=False
    
    # est-ce que la vidéo est en pause?
    self.estEnPause=False
    
    self.debutFin = debutFin
    
    # Nom du fichier courant (le self n'est pas encore utile)
    txtParDefaut = self.VideoporamaInstance.qtapp.translate("MPlayerDlg","No file")
    if self.listeVideos.__len__()!=0:
      self.fichierCourant =  [txtParDefaut, self.listeVideos[0]]
    else: self.fichierCourant = [txtParDefaut, ""]
    
    # Barre des tâches de la fenêtre
    self.barreTaches = barreTaches
    
    # Taille de la vidéo
    self.tailleLargeur=taille[0]
    self.tailleHauteur=taille[1]
    
    # Drapeau pour afficher plus de boutons
    plusBoutons = choixWidget[0]
    
    # Drapeau pour mettre le curseur à part
    curseurAPart = choixWidget[1]
    
    # paramètres des boutons-icones
    iconTaille=22
    flat=1
    
    # Pour récupérer le temps courant depuis certains cadre
    self.temps = 0

    self.dureeTimer = 10 # temps en ms
    ###############################################################################################################################
    
    ## Ajouté le 28/05/2009 : Pour être plus précis lors de la lecture, on prend comme unité la miliseconde. ######################
    ## Il faut donc utiliser une echelle 1000 fois plus grande pour les unités du slider
    self.echelle=1000
    ###############################################################################################################################
    
    # Permet de récupérer la durée de la vidéo depuis une instance de la classe
    # Sert dans certains cadres
    self.dureeVideo = 0
    
    # Chemin sur lequel peut s'ouvrir la boite de dialogue de fichier
    # associée au bouton parcourir
    self.cheminPourBoutonParcourir = cheminParcourir
    
    self.taille = taille

    print "self.taille avant lecture :", self.taille, type(self.taille)
    
    #=== Widgets ===#
    
    self.icone_lire=QIcon("icons" + os.sep + "player_play.png")
    self.icone_pause=QIcon("icons" + os.sep + "player_pause.png")
    self.icone_arret=QIcon("icons" + os.sep + "player_stop.png")
    
    ###### Rajouté le 31/03/09 ################################################################
    if Mplayer.REVENIR in choixWidget:
      self.bout_revenir = QPushButton(self.VideoporamaInstance.qtapp.translate("MPlayerDlg","Back ..."))
      self.bout_revenir.setIcon(QIcon("Icones" + os.sep + "revenir.png"))
    ###########################################################################################
    
    if Mplayer.PARCOURIR in choixWidget:
      self.bout_ouvVideo = QPushButton(self.VideoporamaInstance.qtapp.translate("MPlayerDlg","Browse ..."))
      
    if Mplayer.PRECEDENT_SUIVANT in choixWidget:
      self.bout_prec = QPushButton(QIcon("Icones" + os.sep + "player_rew.png"),"")
      self.bout_prec.setIconSize(QSize(iconTaille, iconTaille))
      self.bout_prec.setFlat(flat)
      self.bout_suivant = QPushButton(QIcon("Icones" + os.sep + "player_fwd.png"),"")
      self.bout_suivant.setIconSize(QSize(iconTaille, iconTaille))
      self.bout_suivant.setFlat(flat)
    
    self.bout_LectPause = QPushButton(self.icone_lire,"")
    self.bout_LectPause.setIconSize(QSize(iconTaille, iconTaille))
    self.bout_LectPause.setFlat(flat)
    
    self.bout_Arret = QPushButton(self.icone_arret,"")
    self.bout_Arret.setIconSize(QSize(iconTaille, iconTaille))
    self.bout_Arret.setFlat(flat)
    
    # widget qui contiendra la vidéo
    self.cibleVideo = DisplayVid(self)
    # par défaut le widget-cible est noir
    color = QColor(0, 0, 0)
    self.cibleVideo.setAutoFillBackground(True)
    self.cibleVideo.setPalette(QPalette(color))
    self.cibleVideo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
    self.cibleVideo.setFixedHeight(self.taille[1])
    self.cibleVideo.setToolTip(self.fichierCourant[0])

    #Choix de l'aspect ratio de la vidéo
    self.conf = QGroupBox()
    sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred)
    sizePolicy.setHorizontalStretch(0)
    sizePolicy.setVerticalStretch(0)
    sizePolicy.setHeightForWidth(self.conf.sizePolicy().hasHeightForWidth())
    self.conf.setSizePolicy(sizePolicy)
    self.conf.setMinimumSize(QSize(70, 0))
    self.conf.setMaximumSize(QSize(70, 16777215))
    self.conf.setObjectName("conf")
    self.verticalLayout = QVBoxLayout(self.conf)
    self.verticalLayout.setMargin(0)
    self.verticalLayout.setObjectName("verticalLayout")
    self.choicenorm = QRadioButton(self.conf)
    self.choicenorm.setObjectName("choicenorm")
    self.verticalLayout.addWidget(self.choicenorm)
    self.choicewide = QRadioButton(self.conf)
    self.choicewide.setObjectName("choicewide")
    self.verticalLayout.addWidget(self.choicewide)
    self.choiceone = QRadioButton(self.conf)
    self.choiceone.setObjectName("choiceone")
    self.verticalLayout.addWidget(self.choiceone)
    spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
    self.verticalLayout.addItem(spacerItem)
    self.choicenorm.setText("4:3")
    self.choicewide.setText("16:9")
    self.choiceone.setText("w:h")
    # Checked le ratio de la vidéo
    if self.listeVideos.__len__()!=0:
      self.changeRatio(self.listeVideos[0])
    else :
      self.setRatio(4.0/3.0)
      self.choicenorm.setChecked(True)

    self.slider = QSlider(Qt.Horizontal)
    # Modifié le 27/05/2009 : qualification du bug en question
    #self.slider.setEnabled(False) # évite un bogue
    self.slider.setEnabled(True)
    #self.slider.setSingleStep(self.echelle)
    
    self.mplayerProcess = QProcess(self)
    
    self.timer = QTimer(self)
    
    self.tempsChrono = TracerChrono()
    
    #=== mise-en-page/plan ===#
    mhbox = QHBoxLayout()
    vbox = QVBoxLayout()
    vbox.addWidget(self.cibleVideo)
    hbox = QHBoxLayout()
    if Mplayer.REVENIR in choixWidget:
      hbox.addWidget(self.bout_revenir)
    if Mplayer.PARCOURIR in choixWidget:
      hbox.addWidget(self.bout_ouvVideo)
    hbox.addWidget(self.bout_LectPause)
    hbox.addWidget(self.bout_Arret)
    if Mplayer.PRECEDENT_SUIVANT in choixWidget:
      hbox.addWidget(self.bout_prec)
      hbox.addWidget(self.bout_suivant)
    hbox.addWidget(self.tempsChrono)
    if Mplayer.CURSEUR_A_PART not in choixWidget:
      hbox.addWidget(self.slider)
    vbox.addLayout(hbox)
    if Mplayer.CURSEUR_A_PART in choixWidget:
      hbox.setAlignment(Qt.AlignLeft)
      hbox = QHBoxLayout()
      hbox.addWidget(self.slider)
      vbox.addLayout(hbox)
    mhbox.addLayout(vbox)
    mhbox.addWidget(self.conf)
    self.setLayout(mhbox)
    
    #=== connexion des widgets à des fonctions ===#
    
    if Mplayer.REVENIR in choixWidget:
      self.connect(self.bout_revenir, SIGNAL('clicked()'), SLOT('close()'))
    if Mplayer.PARCOURIR in choixWidget:
      self.connect(self.bout_ouvVideo, SIGNAL('clicked()'), self.ouvrirVideo)
    if Mplayer.PRECEDENT_SUIVANT in choixWidget:
      self.connect(self.bout_prec, SIGNAL('clicked()'), self.precedent)
      self.connect(self.bout_suivant, SIGNAL('clicked()'), self.suivant)
    self.connect(self.bout_LectPause, SIGNAL('clicked()'), self.lectPause)
    self.connect(self.bout_Arret, SIGNAL('clicked()'), self.arretMPlayer)
    self.connect(self.mplayerProcess, SIGNAL('readyReadStandardOutput()'), self.recupSortie)
    self.connect(self.mplayerProcess, SIGNAL('finished(int,QProcess::ExitStatus)'), self.finVideo)
    self.connect(self.timer, SIGNAL('timeout()'), self.sonderTempsActuel)
    self.connect(self.slider, SIGNAL('sliderMoved(int)'), self.changerTempsCurseur)
    self.connect(self.cibleVideo, SIGNAL('changeSize'), self.sizeMplayer)
    self.connect(self.choicenorm, SIGNAL("clicked(bool)"), self.defRatio)
    self.connect(self.choicewide, SIGNAL("clicked(bool)"), self.defRatio)
    self.connect(self.choiceone, SIGNAL("clicked(bool)"), self.defRatio)  


Generated by  Doxygen 1.6.0   Back to index