From 45505b07d5dbe7542f85f14b9f211fc86683778e Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Sun, 30 Mar 2008 21:46:11 -0700 Subject: [PATCH] Subs Speed Rate controls. --- .../gui/qt4/components/extended_panels.cpp | 35 ++++++++++++++++++- .../gui/qt4/components/extended_panels.hpp | 3 ++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/modules/gui/qt4/components/extended_panels.cpp b/modules/gui/qt4/components/extended_panels.cpp index 4f90f1d22d..5c64e912bb 100755 --- a/modules/gui/qt4/components/extended_panels.cpp +++ b/modules/gui/qt4/components/extended_panels.cpp @@ -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" ) ); } } diff --git a/modules/gui/qt4/components/extended_panels.hpp b/modules/gui/qt4/components/extended_panels.hpp index 766d54a4be..4d19770ea1 100644 --- a/modules/gui/qt4/components/extended_panels.hpp +++ b/modules/gui/qt4/components/extended_panels.hpp @@ -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 ); -- 2.39.2