]> git.sesse.net Git - vlc/commitdiff
Subs Speed Rate controls.
authorJean-Baptiste Kempf <jb@videolan.org>
Mon, 31 Mar 2008 04:46:11 +0000 (21:46 -0700)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 31 Mar 2008 04:46:11 +0000 (21:46 -0700)
modules/gui/qt4/components/extended_panels.cpp
modules/gui/qt4/components/extended_panels.hpp

index 4f90f1d22dbd3e08470e3090d112a6827da38204..5c64e912bb5d442e95c65783c651a49f5a7893a3 100755 (executable)
@@ -1168,8 +1168,8 @@ SyncControls::SyncControls( intf_thread_t *_p_intf, QWidget *_parent ) :
     QToolButton *moinsAV, *plusAV;
 
     QToolButton *moinssubs, *plussubs;
+    QToolButton *moinssubSpeed, *plussubSpeed;
 
-    int64_t i_delay;
 
     QVBoxLayout *vboxLayout = new QVBoxLayout( this );
 
@@ -1234,6 +1234,32 @@ SyncControls::SyncControls( intf_thread_t *_p_intf, QWidget *_parent ) :
                              "the subtitles are ahead of the video" ) );
     subsSpin->setSuffix( "s" );
     subsLayout->addWidget( subsSpin, 1, 1, 1, 1 );
+
+
+    moinssubSpeed = new QToolButton;
+    moinssubSpeed->setToolButtonStyle( Qt::ToolButtonTextOnly );
+    moinssubSpeed->setAutoRaise( true );
+    moinssubSpeed->setText( "-" );
+    subsLayout->addWidget( moinssubSpeed, 3, 0, 1, 1 );
+
+    plussubSpeed = new QToolButton;
+    plussubSpeed->setToolButtonStyle( Qt::ToolButtonTextOnly );
+    plussubSpeed->setAutoRaise( true );
+    plussubSpeed->setText( "+" );
+    subsLayout->addWidget( plussubSpeed, 3, 2, 1, 1 );
+
+    QLabel *subSpeedLabel = new QLabel;
+    subSpeedLabel->setText( qtr( "Speed of the subtitles" ) );
+    subsLayout->addWidget( subSpeedLabel, 2, 0, 1, 3 );
+
+    subSpeedSpin = new QDoubleSpinBox;
+    subSpeedSpin->setAlignment( Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter );
+    subSpeedSpin->setDecimals( 3 );
+    subSpeedSpin->setMinimum( 1 );
+    subSpeedSpin->setMaximum( 100 );
+    subSpeedSpin->setSingleStep( 0.2 );
+    subsLayout->addWidget( subSpeedSpin, 3, 1, 1, 1 );
+
     vboxLayout->addWidget( subsBox );
 
     /* Various Connects */
@@ -1245,12 +1271,19 @@ SyncControls::SyncControls( intf_thread_t *_p_intf, QWidget *_parent ) :
     CONNECT( subsSpin, valueChanged ( double ), this, advanceSubs( double ) ) ;
 
     /* Set it */
+    update();
+}
+
+void SyncControls::update()
+{
+    int64_t i_delay;
     if( THEMIM->getInput() )
     {
         i_delay = var_GetTime( THEMIM->getInput(), "spu-delay" );
         AVSpin->setValue( ( (double)i_delay ) / 1000000 );
         i_delay = var_GetTime( THEMIM->getInput(), "audio-delay" );
         subsSpin->setValue( ( (double)i_delay ) / 1000000 );
+        subSpeedSpin->setValue( var_GetFloat( THEMIM->getInput(), "sub-fps" ) );
     }
 }
 
index 766d54a4be156dc852a6765a9b3c53524e444781..4d19770ea13c40aae33d4922793506d6ee9415bc 100644 (file)
@@ -160,6 +160,9 @@ private:
     intf_thread_t *p_intf;
     QDoubleSpinBox *AVSpin;
     QDoubleSpinBox *subsSpin;
+    QDoubleSpinBox *subSpeedSpin;
+public slots:
+    void update();
 private slots:
     void advanceAudio( double );
     void advanceSubs( double );