Hello community,

here is the log from the commit of package dragonplayer for openSUSE:Factory 
checked in at 2016-03-26 15:13:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dragonplayer (Old)
 and      /work/SRC/openSUSE:Factory/.dragonplayer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dragonplayer"

Changes:
--------
--- /work/SRC/openSUSE:Factory/dragonplayer/dragonplayer.changes        
2016-02-22 10:14:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.dragonplayer.new/dragonplayer.changes   
2016-03-26 15:13:03.000000000 +0100
@@ -1,0 +2,9 @@
+Sun Mar 13 15:34:28 UTC 2016 - [email protected]
+
+- Update to KDE Applications 15.12.3
+   * KDE Applications 15.12.3 
+   * https://www.kde.org/announcements/announce-applications-15.12.3.php
+   * boo#970855
+
+
+-------------------------------------------------------------------

Old:
----
  dragon-15.12.2.tar.xz

New:
----
  dragon-15.12.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dragonplayer.spec ++++++
--- /var/tmp/diff_new_pack.DAfGt6/_old  2016-03-26 15:13:04.000000000 +0100
+++ /var/tmp/diff_new_pack.DAfGt6/_new  2016-03-26 15:13:04.000000000 +0100
@@ -41,7 +41,7 @@
 License:        GPL-2.0+
 Group:          Productivity/Multimedia/Video/Players
 Url:            http://dragonplayer.org/
-Version:        15.12.2
+Version:        15.12.3
 Release:        0
 Source0:        dragon-%{version}.tar.xz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ dragon-15.12.2.tar.xz -> dragon-15.12.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/CMakeLists.txt 
new/dragon-15.12.3/CMakeLists.txt
--- old/dragon-15.12.2/CMakeLists.txt   2016-02-12 06:18:18.000000000 +0100
+++ new/dragon-15.12.3/CMakeLists.txt   2016-03-10 00:14:40.000000000 +0100
@@ -4,7 +4,7 @@
 # KDE Application Version, managed by release script
 set(KDE_APPLICATIONS_VERSION_MAJOR "15")
 set(KDE_APPLICATIONS_VERSION_MINOR "12")
-set(KDE_APPLICATIONS_VERSION_MICRO "2")
+set(KDE_APPLICATIONS_VERSION_MICRO "3")
 set(KDE_APPLICATIONS_VERSION 
"${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
 
 set(PROJECT_VERSION ${KDE_APPLICATIONS_VERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/src/app/analyzer/analyzerBase.cpp 
new/dragon-15.12.3/src/app/analyzer/analyzerBase.cpp
--- old/dragon-15.12.2/src/app/analyzer/analyzerBase.cpp        2016-02-12 
06:18:18.000000000 +0100
+++ new/dragon-15.12.3/src/app/analyzer/analyzerBase.cpp        2016-03-10 
00:14:40.000000000 +0100
@@ -55,13 +55,22 @@
     QVector<float> scope( 512 );
     int i = 0;
 
-    for( uint x = 0; (int)x < m_fht->size(); ++x ) {
+    for (uint x = 0; (int)x < m_fht->size(); ++x) {
         if (thescope.size() == 1) { // Mono
-            scope[x] = 
double(thescope[Phonon::AudioDataOutput::LeftChannel][x]);
+            const qint16 left = 
thescope[Phonon::AudioDataOutput::LeftChannel].value(x, 0);
+            scope[x] = double(left);
         } else { // Anything > Mono is treated as Stereo
-            scope[x] = double(thescope[Phonon::AudioDataOutput::LeftChannel][x]
-                       + thescope[Phonon::AudioDataOutput::RightChannel][x])
-                    / (2*(1<<15)); // Average between the channels
+            // Use .value as Phonon(GStreamer) sometimes returns too small
+            // samples, in that case we will simply assume the remainder would 
be
+            // 0.
+            // This in particualr happens when switching from mono files to
+            // stereo and vice versa as the first sample sent after a switch
+            // is of the previous channel allocation but with way to small
+            // data size.
+            const qint16 left = 
thescope[Phonon::AudioDataOutput::LeftChannel].value(x, 0);
+            const qint16 right = 
thescope[Phonon::AudioDataOutput::RightChannel].value(x, 0);
+            double value = double(left + right) / (2*(1<<15));
+            scope[x] = value; // Average between the channels
         }
         i += 2;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/src/app/audioView2.cpp 
new/dragon-15.12.3/src/app/audioView2.cpp
--- old/dragon-15.12.2/src/app/audioView2.cpp   2016-02-12 06:18:18.000000000 
+0100
+++ new/dragon-15.12.3/src/app/audioView2.cpp   2016-03-10 00:14:40.000000000 
+0100
@@ -34,6 +34,7 @@
     ui->m_analyzerFrame->setMaximumSize(ui->m_analyzer->maximumSize());
     ui->m_analyzerFrame->setMinimumSize(ui->m_analyzer->minimumSize());
 
+    setupAnalyzer();
     connect(engine(), SIGNAL(metaDataChanged()), this, SLOT(update()));
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/src/app/main.cpp 
new/dragon-15.12.3/src/app/main.cpp
--- old/dragon-15.12.2/src/app/main.cpp 2016-02-12 06:18:18.000000000 +0100
+++ new/dragon-15.12.3/src/app/main.cpp 2016-03-10 00:14:40.000000000 +0100
@@ -30,6 +30,8 @@
 #include <QUrl>
 
 #include <KAboutData>
+#include <KConfigGroup>
+#include <KSharedConfig>
 #include <KLocalizedString>
 #include <KDBusService>
 
@@ -55,7 +57,6 @@
     aboutData.addCredit( QStringLiteral("Lukáš Tinkl"), i18n("Port to 
KF5/Plasma 5"), QStringLiteral("[email protected]") );
 
     KAboutData::setApplicationData(aboutData);
-    KDBusService service(KDBusService::Unique);
 
     QCommandLineParser parser;
     aboutData.setupCommandLine(&parser);
@@ -68,6 +69,8 @@
     parser.process(app);
     aboutData.processCommandLine(&parser);
 
+    const bool multiple = 
KSharedConfig::openConfig()->group("KDE").readEntry("MultipleInstances", 
QVariant(false)).toBool();
+    KDBusService service(multiple ? KDBusService::Multiple : 
KDBusService::Unique);
     QObject::connect(&service, &KDBusService::activateRequested, &app, 
&Dragon::PlayerApplication::slotActivateRequested);
     QObject::connect(&service, &KDBusService::openRequested, &app, 
&Dragon::PlayerApplication::slotOpenRequested);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/src/app/playerApplication.cpp 
new/dragon-15.12.3/src/app/playerApplication.cpp
--- old/dragon-15.12.2/src/app/playerApplication.cpp    2016-02-12 
06:18:18.000000000 +0100
+++ new/dragon-15.12.3/src/app/playerApplication.cpp    2016-03-10 
00:14:40.000000000 +0100
@@ -43,19 +43,14 @@
 
 void PlayerApplication::slotActivateRequested(const QStringList &arguments, 
const QString &workingDirectory)
 {
-    Q_UNUSED(workingDirectory)
     qDebug() << Q_FUNC_INFO << arguments;
     if (!arguments.filter("play-dvd", Qt::CaseInsensitive).isEmpty()) {
         newInstance(true);
         forceActiveWindow();
     } else if (arguments.count() == 2) { // 1st arg binary name, 2nd arg file 
to open
-        QString urlArg = arguments.at(1);
-        QUrl url;
-        if (urlArg.startsWith("/")) {
-            url = QUrl::fromLocalFile(urlArg);
-        } else {
-            url = QUrl(urlArg);
-        }
+        QUrl url = QUrl::fromUserInput(arguments.at(1),
+                                       workingDirectory,
+                                       QUrl::AssumeLocalFile);
         newInstance(false, {url});
         forceActiveWindow();
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/src/app/stateChange.cpp 
new/dragon-15.12.3/src/app/stateChange.cpp
--- old/dragon-15.12.2/src/app/stateChange.cpp  2016-02-12 06:18:18.000000000 
+0100
+++ new/dragon-15.12.3/src/app/stateChange.cpp  2016-03-10 00:14:40.000000000 
+0100
@@ -62,10 +62,7 @@
         break;
     }
 
-    bool enable = false;
-    if(state == Phonon::PlayingState || state == Phonon::PausedState || state 
== Phonon::BufferingState) {
-        enable = true;
-    }
+    bool enable = engine()->isActiveState(state);
     action("stop")->setEnabled(enable);
     action("video_settings")->setEnabled(enable && TheStream::hasVideo());
     action("volume")->setEnabled(enable);
@@ -73,9 +70,24 @@
         m_volumeSlider->setEnabled(enable);
     action("fullscreen")->setEnabled(enable || isFullScreen);
     action("reset_zoom")->setEnabled(hasMedia && !isFullScreen);
+    action("prev_chapter")->setEnabled(engine()->canGoPrev());
+    action("next_chapter")->setEnabled(engine()->canGoNext());
 
     m_timeLabel->setVisible(enable);
     m_audioView->enableDemo(!enable);
+    if (!enable) {
+        // Force out of full screen.
+        if (isFullScreen) {
+            setFullScreen(false);
+        }
+        if (m_mainView->currentWidget() != m_loadView) {
+            m_mainView->setCurrentWidget(m_loadView);
+        }
+    } else {
+        if (m_mainView->currentWidget() == m_loadView) {
+            toggleLoadView();
+        }
+    }
 
     qDebug() << "updated actions";
 
@@ -152,6 +164,10 @@
 {
     qDebug() << "seekable changed to " << canSeek;
     m_positionSlider->setEnabled( canSeek );
+    action("ten_percent_back")->setEnabled( canSeek );
+    action("ten_percent_forward")->setEnabled( canSeek );
+    action("ten_seconds_back")->setEnabled( canSeek );
+    action("ten_seconds_forward")->setEnabled( canSeek );
     //TODO connect/disconnect the jump forward/back here.
 }//engineSeekableChanged
 
@@ -169,7 +185,7 @@
 {
     Q_UNUSED(hasVideo);
 
-    qDebug() << "hasVideo changed";
+    qDebug() << "hasVideo changed" << hasVideo;
     if( TheStream::hasVideo() ) {
         if( m_mainView->indexOf(engine()) == -1 )
             m_mainView->addWidget(engine());
@@ -181,7 +197,7 @@
         // in which case the video related menu actions will not be enabled 
until
         // a new state change occurs. By forcing a fake state change we can 
work around this.
         engineStateChanged(videoWindow()->state());
-    } else {
+    } else if (engine()->isActiveState()) {
         m_audioView->setupAnalyzer();
         m_mainView->setCurrentWidget(m_audioView);
         m_currentWidget = m_audioView;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/src/app/videoWindow.cpp 
new/dragon-15.12.3/src/app/videoWindow.cpp
--- old/dragon-15.12.2/src/app/videoWindow.cpp  2016-02-12 06:18:18.000000000 
+0100
+++ new/dragon-15.12.3/src/app/videoWindow.cpp  2016-03-10 00:14:40.000000000 
+0100
@@ -386,6 +386,20 @@
     return m_media->state();
 }
 
+bool
+VideoWindow::isActiveState() const
+{
+    return isActiveState(state());
+}
+
+bool
+VideoWindow::isActiveState(Phonon::State s) const
+{
+    return (s == Phonon::PlayingState ||
+            s == Phonon::PausedState ||
+            s == Phonon::BufferingState);
+}
+
 qreal
 VideoWindow::volume() const
 {
@@ -726,6 +740,7 @@
     {
     case QEvent::Leave:
         m_cursorTimer->stop();
+        qApp->restoreOverrideCursor();
         qDebug() << "stop cursorTimer";
         break;
     case QEvent::FocusOut:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dragon-15.12.2/src/app/videoWindow.h 
new/dragon-15.12.3/src/app/videoWindow.h
--- old/dragon-15.12.2/src/app/videoWindow.h    2016-02-12 06:18:18.000000000 
+0100
+++ new/dragon-15.12.3/src/app/videoWindow.h    2016-03-10 00:14:40.000000000 
+0100
@@ -119,6 +119,8 @@
     void loadSettings();
 
     Phonon::State state() const;
+    bool isActiveState() const;
+    bool isActiveState(Phonon::State s) const;
 
     /// Stuff to do with video and the video window/widget
     static const uint CURSOR_HIDE_TIMEOUT = 2000;


Reply via email to