public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/amarok] epel10.2: 2.8.90
@ 2026-07-06 18:32 Rex Dieter
0 siblings, 0 replies; only message in thread
From: Rex Dieter @ 2026-07-06 18:32 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/amarok
Branch : epel10.2
Commit : ba545a95b2eb7f3e912c9fbd47e2f1b111255c39
Author : Rex Dieter <rdieter@math.unl.edu>
Date : 2015-09-11T13:27:39-05:00
Stats : +35/-1322 in 11 file(s)
URL : https://src.fedoraproject.org/rpms/amarok/c/ba545a95b2eb7f3e912c9fbd47e2f1b111255c39?branch=epel10.2
Log:
2.8.90
---
diff --git a/.gitignore b/.gitignore
index 381d49d..b64c787 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-/amarok-2.7.1.tar.bz2
/amarok-2.8.0.tar.bz2
+/amarok-2.8.90.tar.xz
diff --git a/0004-Code-cleanup-and-added-comments.patch b/0004-Code-cleanup-and-added-comments.patch
deleted file mode 100644
index 1815dfb..0000000
--- a/0004-Code-cleanup-and-added-comments.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From e058db2e4ab21a52d21f493770e33a407ca57fc8 Mon Sep 17 00:00:00 2001
-From: Mark Kretschmann <kretschmann@kde.org>
-Date: Mon, 12 Aug 2013 09:46:34 +0200
-Subject: [PATCH 004/448] Code cleanup and added comments.
-
----
- src/context/applets/analyzer/BlockAnalyzer.cpp | 23 +++++++++++------------
- src/context/applets/analyzer/BlockAnalyzer.h | 2 +-
- 2 files changed, 12 insertions(+), 13 deletions(-)
-
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.cpp b/src/context/applets/analyzer/BlockAnalyzer.cpp
-index 62131ba..e04aa73 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.cpp
-+++ b/src/context/applets/analyzer/BlockAnalyzer.cpp
-@@ -32,8 +32,8 @@ static inline uint myMax( uint v1, uint v2 )
-
- BlockAnalyzer::BlockAnalyzer( QWidget *parent )
- : Analyzer::Base2D( parent )
-- , m_columns( 0 ) //uint
-- , m_rows( 0 ) //uint
-+ , m_columns( 0 ) //int
-+ , m_rows( 0 ) //int
- , m_y( 0 ) //uint
- , m_barPixmap( 1, 1 ) //null qpixmaps cause crashes
- , m_topBarPixmap( BLOCK_WIDTH, BLOCK_HEIGHT )
-@@ -57,12 +57,11 @@ BlockAnalyzer::resizeEvent( QResizeEvent *e )
-
- m_background = QPixmap( size() );
-
-- const uint oldRows = m_rows;
-+ const int oldRows = m_rows;
-
-- //all is explained in analyze()..
-- //+1 to counter -1 in maxSizes, trust me we need this!
-- m_columns = qMin<uint>( (uint)ceil( double( width() ) / ( BLOCK_WIDTH + 1 ) ), MAX_COLUMNS );
-- m_rows = uint( double( height() + 1 ) / ( BLOCK_HEIGHT + 1 ) );
-+ // Rounded up so that the last column/line is covered if partially visible
-+ m_columns = qMin<int>( ceil( (double)width() / ( BLOCK_WIDTH + 1 ) ), MAX_COLUMNS );
-+ m_rows = ceil( (double)height() / ( BLOCK_HEIGHT + 1 ) );
-
- //this is the y-offset for drawing from the top of the widget
- m_y = ( height() - ( m_rows * ( BLOCK_HEIGHT + 1 ) ) + 2 ) / 2;
-@@ -80,7 +79,7 @@ BlockAnalyzer::resizeEvent( QResizeEvent *e )
-
- const float PRE = 1, PRO = 1; //PRE and PRO allow us to restrict the range somewhat
-
-- for( uint z = 0; z < m_rows; ++z )
-+ for( int z = 0; z < m_rows; ++z )
- m_yscale[z] = 1 - ( log10( PRE + z ) / log10( PRE + m_rows + PRO ) );
-
- m_yscale[m_rows] = 0;
-@@ -203,7 +202,7 @@ BlockAnalyzer::paletteChange( const QPalette& ) //virtual
-
- bar()->fill( bg );
-
-- for( int y = 0; ( uint )y < m_rows; ++y )
-+ for( int y = 0; y < m_rows; ++y )
- //graduate the fg color
- p.fillRect( 0, y * ( BLOCK_HEIGHT + 1 ), BLOCK_WIDTH, BLOCK_HEIGHT, QColor( r + int( dr * y ), g + int( dg * y ), b + int( db * y ) ) );
-
-@@ -226,7 +225,7 @@ BlockAnalyzer::paletteChange( const QPalette& ) //virtual
- m_fade_bars[y].fill( palette().color( QPalette::Active, QPalette::Window ) );
- const double Y = 1.0 - ( log10( ( FADE_SIZE ) - y ) / log10( ( FADE_SIZE ) ) );
- QPainter f( &m_fade_bars[y] );
-- for( int z = 0; ( uint )z < m_rows; ++z )
-+ for( int z = 0; z < m_rows; ++z )
- f.fillRect( 0, z * ( BLOCK_HEIGHT + 1 ), BLOCK_WIDTH, BLOCK_HEIGHT, QColor( r + int( dr * Y ), g + int( dg * Y ), b + int( db * Y ) ) );
- }
- }
-@@ -243,8 +242,8 @@ BlockAnalyzer::drawBackground()
- m_background.fill( bg );
-
- QPainter p( &m_background );
-- for( int x = 0; ( uint )x < m_columns; ++x )
-- for( int y = 0; ( uint )y < m_rows; ++y )
-+ for( int x = 0; x < m_columns; ++x )
-+ for( int y = 0; y < m_rows; ++y )
- p.fillRect( x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, BLOCK_WIDTH, BLOCK_HEIGHT, bgdark );
-
- }
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.h b/src/context/applets/analyzer/BlockAnalyzer.h
-index 5a80609..6b14e4e 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.h
-+++ b/src/context/applets/analyzer/BlockAnalyzer.h
-@@ -54,7 +54,7 @@ private:
- return &m_barPixmap;
- }
-
-- uint m_columns, m_rows; //number of rows and columns of blocks
-+ int m_columns, m_rows; //number of rows and columns of blocks
- uint m_y; //y-offset from top of widget
- QPixmap m_barPixmap;
- QPixmap m_topBarPixmap;
---
-1.9.3
-
diff --git a/0014-Fix-compilation-and-linking-issues.patch b/0014-Fix-compilation-and-linking-issues.patch
deleted file mode 100644
index f5334ce..0000000
--- a/0014-Fix-compilation-and-linking-issues.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 9941fffa203e5d068620c3230795e3bc6412eba4 Mon Sep 17 00:00:00 2001
-From: Mark Kretschmann <kretschmann@kde.org>
-Date: Sat, 17 Aug 2013 09:35:25 +0200
-Subject: [PATCH 014/448] Fix compilation and linking issues.
-
----
- src/context/applets/analyzer/BlockAnalyzer.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.cpp b/src/context/applets/analyzer/BlockAnalyzer.cpp
-index e04aa73..562877e 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.cpp
-+++ b/src/context/applets/analyzer/BlockAnalyzer.cpp
-@@ -60,8 +60,8 @@ BlockAnalyzer::resizeEvent( QResizeEvent *e )
- const int oldRows = m_rows;
-
- // Rounded up so that the last column/line is covered if partially visible
-- m_columns = qMin<int>( ceil( (double)width() / ( BLOCK_WIDTH + 1 ) ), MAX_COLUMNS );
-- m_rows = ceil( (double)height() / ( BLOCK_HEIGHT + 1 ) );
-+ m_columns = std::min( std::ceil( (double)width() / ( BLOCK_WIDTH + 1 ) ), (double)MAX_COLUMNS );
-+ m_rows = std::ceil( (double)height() / ( BLOCK_HEIGHT + 1 ) );
-
- //this is the y-offset for drawing from the top of the widget
- m_y = ( height() - ( m_rows * ( BLOCK_HEIGHT + 1 ) ) + 2 ) / 2;
---
-1.9.3
-
diff --git a/0039-Optimization-Don-t-draw-more-than-necessary.patch b/0039-Optimization-Don-t-draw-more-than-necessary.patch
deleted file mode 100644
index 23e26ed..0000000
--- a/0039-Optimization-Don-t-draw-more-than-necessary.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 8d6e72597fdfd3023ac5287ea19d8b8b3747e5ed Mon Sep 17 00:00:00 2001
-From: Mark Kretschmann <kretschmann@kde.org>
-Date: Mon, 26 Aug 2013 13:27:01 +0200
-Subject: [PATCH 039/448] Optimization: Don't draw more than necessary.
-
----
- src/context/applets/analyzer/BlockAnalyzer.cpp | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.cpp b/src/context/applets/analyzer/BlockAnalyzer.cpp
-index 562877e..404e26a 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.cpp
-+++ b/src/context/applets/analyzer/BlockAnalyzer.cpp
-@@ -35,10 +35,7 @@ BlockAnalyzer::BlockAnalyzer( QWidget *parent )
- , m_columns( 0 ) //int
- , m_rows( 0 ) //int
- , m_y( 0 ) //uint
-- , m_barPixmap( 1, 1 ) //null qpixmaps cause crashes
- , m_topBarPixmap( BLOCK_WIDTH, BLOCK_HEIGHT )
-- , m_scope( MIN_COLUMNS ) //Scope
-- , m_store( MAX_COLUMNS, 0 ) //vector<uint>
- , m_fade_bars( FADE_SIZE ) //vector<QPixmap>
- , m_fade_pos( MAX_COLUMNS, 50 ) //vector<uint>
- , m_fade_intensity( MAX_COLUMNS, 32 ) //vector<uint>
-@@ -67,6 +64,7 @@ BlockAnalyzer::resizeEvent( QResizeEvent *e )
- m_y = ( height() - ( m_rows * ( BLOCK_HEIGHT + 1 ) ) + 2 ) / 2;
-
- m_scope.resize( m_columns );
-+ m_store.resize( m_columns );
-
- if( m_rows != oldRows )
- {
-@@ -179,10 +177,10 @@ BlockAnalyzer::paintEvent( QPaintEvent* )
-
- // REMEMBER: y is a number from 0 to m_rows, 0 means all blocks are glowing, m_rows means none are
- p.drawPixmap( x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, *bar(), 0, y * ( BLOCK_HEIGHT + 1 ), -1, -1 );
-- }
-
-- for( int x = 0; x < m_store.size(); ++x )
-+ // Draw top pixmaps
- p.drawPixmap( x * ( BLOCK_WIDTH + 1 ), int( m_store[x] ) * ( BLOCK_HEIGHT + 1 ) + m_y, m_topBarPixmap );
-+ }
- }
-
- void
---
-1.9.3
-
diff --git a/0055-Enable-Wikipedia-over-SSL.patch b/0055-Enable-Wikipedia-over-SSL.patch
deleted file mode 100644
index ee1a08b..0000000
--- a/0055-Enable-Wikipedia-over-SSL.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From 284342b48dc32341c3553fd2b0ee5069d75b58f9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Frank=20Meerk=C3=B6tter?= <frank@meerkoetter.org>
-Date: Thu, 12 Sep 2013 21:44:03 +0200
-Subject: [PATCH 055/471] Enable Wikipedia over SSL.
-
-This patch makes SSL the default. It also adds a checkbox to disable
-it so if there would be a problem a fallback to HTTP is possible.
-
-BUG: 322249
-REVIEW: 112706
-FIXED-IN: 2.9
----
- src/context/applets/wikipedia/WikipediaApplet.cpp | 6 ++++++
- src/context/applets/wikipedia/WikipediaApplet_p.h | 1 +
- .../applets/wikipedia/wikipediaGeneralSettings.ui | 11 +++++++++--
- src/context/engines/wikipedia/WikipediaEngine.cpp | 18 +++++++++++++++---
- 4 files changed, 31 insertions(+), 5 deletions(-)
-
-diff --git a/src/context/applets/wikipedia/WikipediaApplet.cpp b/src/context/applets/wikipedia/WikipediaApplet.cpp
-index 507db96..21365f2 100644
---- a/src/context/applets/wikipedia/WikipediaApplet.cpp
-+++ b/src/context/applets/wikipedia/WikipediaApplet.cpp
-@@ -250,11 +250,14 @@ WikipediaAppletPrivate::_loadSettings()
- }
- langList = list;
- useMobileWikipedia = (generalSettingsUi.mobileCheckBox->checkState() == Qt::Checked);
-+ useSSL = (generalSettingsUi.sslCheckBox->checkState() == Qt::Checked);
- Amarok::config("Wikipedia Applet").writeEntry( "PreferredLang", list );
- Amarok::config("Wikipedia Applet").writeEntry( "UseMobile", useMobileWikipedia );
-+ Amarok::config( "Wikipedia Applet" ).writeEntry( "UseSSL", useSSL );
- _paletteChanged( App::instance()->palette() );
- dataContainer->setData( "lang", langList );
- dataContainer->setData( "mobile", useMobileWikipedia );
-+ dataContainer->setData( "ssl", useSSL );
- scheduleEngineUpdate();
- }
-
-@@ -656,9 +659,11 @@ WikipediaApplet::init()
- // Read config and inform the engine.
- d->langList = Amarok::config("Wikipedia Applet").readEntry( "PreferredLang", QStringList() << "en" );
- d->useMobileWikipedia = Amarok::config("Wikipedia Applet").readEntry( "UseMobile", false );
-+ d->useSSL = Amarok::config( "Wikipedia Applet" ).readEntry( "UseSSL", true );
- d->_paletteChanged( App::instance()->palette() );
- d->dataContainer->setData( "lang", d->langList );
- d->dataContainer->setData( "mobile", d->useMobileWikipedia );
-+ d->dataContainer->setData( "ssl", d->useSSL );
- d->scheduleEngineUpdate();
-
- updateConstraints();
-@@ -787,6 +792,7 @@ WikipediaApplet::createConfigurationInterface( KConfigDialog *parent )
- QWidget *genSettings = new QWidget;
- d->generalSettingsUi.setupUi( genSettings );
- d->generalSettingsUi.mobileCheckBox->setCheckState( d->useMobileWikipedia ? Qt::Checked : Qt::Unchecked );
-+ d->generalSettingsUi.sslCheckBox->setCheckState( d->useSSL ? Qt::Checked : Qt::Unchecked );
-
- connect( d->languageSettingsUi.downloadButton, SIGNAL(clicked()), this, SLOT(_getLangMap()) );
- connect( parent, SIGNAL(okClicked()), this, SLOT(_loadSettings()) );
-diff --git a/src/context/applets/wikipedia/WikipediaApplet_p.h b/src/context/applets/wikipedia/WikipediaApplet_p.h
-index c52a0bf..df5ddc3 100644
---- a/src/context/applets/wikipedia/WikipediaApplet_p.h
-+++ b/src/context/applets/wikipedia/WikipediaApplet_p.h
-@@ -143,6 +143,7 @@ public:
- bool isForwardHistory;
- bool isBackwardHistory;
- bool useMobileWikipedia;
-+ bool useSSL;
- };
-
- class WikipediaSearchLineEdit : public Plasma::LineEdit
-diff --git a/src/context/applets/wikipedia/wikipediaGeneralSettings.ui b/src/context/applets/wikipedia/wikipediaGeneralSettings.ui
-index a615dee..84cb5df 100644
---- a/src/context/applets/wikipedia/wikipediaGeneralSettings.ui
-+++ b/src/context/applets/wikipedia/wikipediaGeneralSettings.ui
-@@ -6,8 +6,8 @@
- <rect>
- <x>0</x>
- <y>0</y>
-- <width>244</width>
-- <height>23</height>
-+ <width>253</width>
-+ <height>62</height>
- </rect>
- </property>
- <property name="sizePolicy">
-@@ -32,6 +32,13 @@
- </property>
- </widget>
- </item>
-+ <item row="1" column="1">
-+ <widget class="QCheckBox" name="sslCheckBox">
-+ <property name="text">
-+ <string>Use &SSL</string>
-+ </property>
-+ </widget>
-+ </item>
- </layout>
- </item>
- </layout>
-diff --git a/src/context/engines/wikipedia/WikipediaEngine.cpp b/src/context/engines/wikipedia/WikipediaEngine.cpp
-index f22e443..982d3fd 100644
---- a/src/context/engines/wikipedia/WikipediaEngine.cpp
-+++ b/src/context/engines/wikipedia/WikipediaEngine.cpp
-@@ -45,6 +45,7 @@ public:
- : q_ptr( parent )
- , currentSelection( Artist )
- , useMobileVersion( false )
-+ , useSSL( true )
- , dataContainer( 0 )
- {}
- ~WikipediaEnginePrivate() {}
-@@ -88,6 +89,7 @@ public:
- }
- } m_previousTrackMetadata;
- bool useMobileVersion;
-+ bool useSSL;
-
- Plasma::DataContainer *dataContainer;
-
-@@ -169,6 +171,16 @@ WikipediaEnginePrivate::_dataContainerUpdated( const QString &source, const Plas
- }
- }
-
-+ if( data.contains( QLatin1String("ssl") ) )
-+ {
-+ const bool ssl = data.value( QLatin1String("ssl") ).toBool();
-+ if( ssl != useSSL )
-+ {
-+ useSSL = ssl;
-+ updateEngine();
-+ }
-+ }
-+
- if( data.contains( QLatin1String("lang") ) )
- {
- QStringList langList = data.value( QLatin1String("lang") ).toStringList();
-@@ -532,7 +544,7 @@ WikipediaEnginePrivate::fetchWikiUrl( const QString &title, const QString &urlPr
- Q_Q( WikipediaEngine );
- KUrl pageUrl;
- QString host( ".wikipedia.org" );
-- pageUrl.setScheme( QLatin1String("http") );
-+ pageUrl.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) );
-
- if( useMobileVersion )
- {
-@@ -570,7 +582,7 @@ WikipediaEnginePrivate::fetchLangLinks( const QString &title,
- {
- Q_Q( WikipediaEngine );
- KUrl url;
-- url.setScheme( QLatin1String("http") );
-+ url.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) );
- url.setHost( hostLang + QLatin1String(".wikipedia.org") );
- url.setPath( QLatin1String("/w/api.php") );
- url.addQueryItem( QLatin1String("action"), QLatin1String("query") );
-@@ -592,7 +604,7 @@ WikipediaEnginePrivate::fetchListing( const QString &title, const QString &hostL
- {
- Q_Q( WikipediaEngine );
- KUrl url;
-- url.setScheme( QLatin1String("http") );
-+ url.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) );
- url.setHost( hostLang + QLatin1String(".wikipedia.org") );
- url.setPath( QLatin1String("/w/api.php") );
- url.addQueryItem( QLatin1String("action"), QLatin1String("query") );
---
-2.4.3
-
diff --git a/0070-Rewrite-Block-Analyzer-to-use-pure-OpenGL-instead-of.patch b/0070-Rewrite-Block-Analyzer-to-use-pure-OpenGL-instead-of.patch
deleted file mode 100644
index ea9fd5d..0000000
--- a/0070-Rewrite-Block-Analyzer-to-use-pure-OpenGL-instead-of.patch
+++ /dev/null
@@ -1,453 +0,0 @@
-From f4a3f4fcf59cc0c592bd6d703542cb162a19721c Mon Sep 17 00:00:00 2001
-From: Mark Kretschmann <kretschmann@kde.org>
-Date: Fri, 19 Jul 2013 10:37:42 +0200
-Subject: [PATCH 070/448] Rewrite Block Analyzer to use pure OpenGL instead of
- QGLPaintEngine2.
-
-This rewrite should fix a number of issues that users had, especially
-with Intel drivers. The issues, including crashes, are all due to driver
-bugs, but essentially they were triggered by Qt using some uncommon
-features for texture drawing (stencil operations, etc).
-
-This commit should be backported to 2.8.1.
-
-CCMAIL: amarok-devel@kde.org
-CCBUG: 323635
-BACKPORT
----
- ChangeLog | 1 +
- src/context/applets/analyzer/AnalyzerBase.cpp | 34 +++-----
- src/context/applets/analyzer/AnalyzerBase.h | 22 +-----
- src/context/applets/analyzer/BallsAnalyzer.cpp | 2 +-
- src/context/applets/analyzer/BallsAnalyzer.h | 2 +-
- src/context/applets/analyzer/BlockAnalyzer.cpp | 105 +++++++++++++++++++------
- src/context/applets/analyzer/BlockAnalyzer.h | 19 +++--
- src/context/applets/analyzer/DiscoAnalyzer.cpp | 2 +-
- src/context/applets/analyzer/DiscoAnalyzer.h | 2 +-
- 9 files changed, 111 insertions(+), 78 deletions(-)
-
-diff --git a/src/context/applets/analyzer/AnalyzerBase.cpp b/src/context/applets/analyzer/AnalyzerBase.cpp
-index c413d37..0e649f8 100644
---- a/src/context/applets/analyzer/AnalyzerBase.cpp
-+++ b/src/context/applets/analyzer/AnalyzerBase.cpp
-@@ -42,7 +42,8 @@ Analyzer::Base::Base( QWidget *parent )
- {
- connect( EngineController::instance(), SIGNAL( playbackStateChanged() ), this, SLOT( playbackStateChanged() ) );
-
-- m_demoTimer->setInterval( 33 );
-+ setFps( 60 ); // Default unless changed by subclass
-+ m_demoTimer->setInterval( 33 ); // ~30 fps
-
- enableDemo( !EngineController::instance()->isPlaying() );
-
-@@ -50,6 +51,13 @@ Analyzer::Base::Base( QWidget *parent )
- connect( KWindowSystem::self(), SIGNAL( currentDesktopChanged( int ) ), this, SLOT( currentDesktopChanged() ) );
- #endif
-
-+ connect( m_renderTimer, SIGNAL( timeout() ), this, SLOT( updateGL() ) );
-+
-+ //initialize openGL context before managing GL calls
-+ makeCurrent();
-+
-+ initializeGLFunctions();
-+
- connectSignals();
- }
-
-@@ -213,28 +221,10 @@ Analyzer::Base::interpolate( const QVector<float> &inVec, QVector<float> &outVec
- }
- }
-
--
--
--
--Analyzer::Base2D::Base2D( QWidget *parent )
-- : Base( parent )
--{
-- m_renderTimer->setInterval( 20 ); //~50 FPS
-- connect( m_renderTimer, SIGNAL( timeout() ), this, SLOT( update() ) );
--}
--
--
--
--Analyzer::Base3D::Base3D( QWidget *parent )
-- : Base( parent )
-+void
-+Analyzer::Base::setFps( int fps )
- {
-- m_renderTimer->setInterval( 17 ); //~60 FPS
-- connect( m_renderTimer, SIGNAL( timeout() ), this, SLOT( updateGL() ) );
--
-- //initialize openGL context before managing GL calls
-- makeCurrent();
--
-- initializeGLFunctions();
-+ m_renderTimer->setInterval( 1000 / fps );
- }
-
-
-diff --git a/src/context/applets/analyzer/AnalyzerBase.h b/src/context/applets/analyzer/AnalyzerBase.h
-index df81152..0497428 100644
---- a/src/context/applets/analyzer/AnalyzerBase.h
-+++ b/src/context/applets/analyzer/AnalyzerBase.h
-@@ -36,7 +36,7 @@
- namespace Analyzer
- {
-
--class Base : public QGLWidget
-+class Base : public QGLWidget, protected QGLFunctions
- {
- Q_OBJECT
-
-@@ -49,6 +49,8 @@ protected:
- virtual void transform( QVector<float>& );
- virtual void analyze( const QVector<float>& ) = 0;
-
-+ void setFps( int fps );
-+
- FHT *m_fht;
- QTimer *m_renderTimer;
-
-@@ -71,24 +73,6 @@ private:
- };
-
-
--class Base2D : public Base
--{
-- Q_OBJECT
--
--protected:
-- Base2D( QWidget* );
--};
--
--
--class Base3D : public Base, protected QGLFunctions
--{
-- Q_OBJECT
--
--protected:
-- Base3D( QWidget* );
--};
--
--
- } //END namespace Analyzer
-
-
-diff --git a/src/context/applets/analyzer/BallsAnalyzer.cpp b/src/context/applets/analyzer/BallsAnalyzer.cpp
-index 2d633f8..6b4512f 100644
---- a/src/context/applets/analyzer/BallsAnalyzer.cpp
-+++ b/src/context/applets/analyzer/BallsAnalyzer.cpp
-@@ -118,7 +118,7 @@ private:
-
-
- BallsAnalyzer::BallsAnalyzer( QWidget *parent ):
-- Analyzer::Base3D( parent )
-+ Analyzer::Base( parent )
- {
- setObjectName( "Balls" );
-
-diff --git a/src/context/applets/analyzer/BallsAnalyzer.h b/src/context/applets/analyzer/BallsAnalyzer.h
-index b606814..f7d7365 100644
---- a/src/context/applets/analyzer/BallsAnalyzer.h
-+++ b/src/context/applets/analyzer/BallsAnalyzer.h
-@@ -24,7 +24,7 @@ class QWidget;
- class Ball;
- class Paddle;
-
--class BallsAnalyzer : public Analyzer::Base3D
-+class BallsAnalyzer : public Analyzer::Base
- {
- public:
- BallsAnalyzer( QWidget * );
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.cpp b/src/context/applets/analyzer/BlockAnalyzer.cpp
-index 404e26a..03fefae 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.cpp
-+++ b/src/context/applets/analyzer/BlockAnalyzer.cpp
-@@ -31,28 +31,47 @@ static inline uint myMax( uint v1, uint v2 )
- }
-
- BlockAnalyzer::BlockAnalyzer( QWidget *parent )
-- : Analyzer::Base2D( parent )
-+ : Analyzer::Base( parent )
- , m_columns( 0 ) //int
- , m_rows( 0 ) //int
- , m_y( 0 ) //uint
-- , m_topBarPixmap( BLOCK_WIDTH, BLOCK_HEIGHT )
-+ , m_barTexture( 0 )
-+ , m_topBarTexture( 0 )
- , m_fade_bars( FADE_SIZE ) //vector<QPixmap>
- , m_fade_pos( MAX_COLUMNS, 50 ) //vector<uint>
- , m_fade_intensity( MAX_COLUMNS, 32 ) //vector<uint>
-+ , m_background( 0 )
- {
- setObjectName( "Blocky" );
- setMaximumWidth( MAX_COLUMNS * ( BLOCK_WIDTH + 1 ) - 1 );
-+ setFps( 50 );
- }
-
- BlockAnalyzer::~BlockAnalyzer()
--{}
-+{
-+ deleteTexture( m_barTexture );
-+ deleteTexture( m_topBarTexture );
-+
-+ foreach( GLuint id, m_fade_bars )
-+ deleteTexture( id );
-+}
-+
-+void
-+BlockAnalyzer::initializeGL()
-+{
-+ // Disable depth test (all is drawn on a 2d plane)
-+ glDisable( GL_DEPTH_TEST );
-+}
-
- void
--BlockAnalyzer::resizeEvent( QResizeEvent *e )
-+BlockAnalyzer::resizeGL( int w, int h )
- {
-- Analyzer::Base2D::resizeEvent( e );
-+ glViewport( 0, 0, (GLint)w, (GLint)h );
-
-- m_background = QPixmap( size() );
-+ // Set up a 2D projection matrix
-+ glMatrixMode( GL_PROJECTION );
-+ glLoadIdentity();
-+ glOrtho( 0.0, (GLdouble)w, (GLdouble)h, 0.0, 0.0, 1.0 );
-
- const int oldRows = m_rows;
-
-@@ -70,9 +89,6 @@ BlockAnalyzer::resizeEvent( QResizeEvent *e )
- {
- m_barPixmap = QPixmap( BLOCK_WIDTH, m_rows * ( BLOCK_HEIGHT + 1 ) );
-
-- for( int i = 0; i < FADE_SIZE; ++i )
-- m_fade_bars[i] = QPixmap( BLOCK_WIDTH, m_rows * ( BLOCK_HEIGHT + 1 ) );
--
- m_yscale.resize( m_rows + 1 );
-
- const float PRE = 1, PRO = 1; //PRE and PRO allow us to restrict the range somewhat
-@@ -123,7 +139,7 @@ BlockAnalyzer::analyze( const QVector<float> &s )
- }
-
- void
--BlockAnalyzer::paintEvent( QPaintEvent* )
-+BlockAnalyzer::paintGL()
- {
- // y = 2 3 2 1 0 2
- // . . . . # .
-@@ -138,10 +154,11 @@ BlockAnalyzer::paintEvent( QPaintEvent* )
- // m_yscale looks similar to: { 0.7, 0.5, 0.25, 0.15, 0.1, 0 }
- // if it contains 6 elements there are 5 rows in the analyzer
-
-- QPainter p( this );
-+ glMatrixMode( GL_MODELVIEW );
-+ glLoadIdentity();
-
- // Paint the background
-- p.drawPixmap( 0, 0, m_background );
-+ drawTexture( m_background, 0, 0, 0, 0, width(), height() );
-
- for( uint y, x = 0; x < (uint)m_scope.size(); ++x )
- {
-@@ -169,36 +186,66 @@ BlockAnalyzer::paintEvent( QPaintEvent* )
- const uint offset = --m_fade_intensity[x];
- const uint y = m_y + ( m_fade_pos[x] * ( BLOCK_HEIGHT + 1 ) );
- if( y < (uint)height() )
-- p.drawPixmap( x * ( BLOCK_WIDTH + 1 ), y, m_fade_bars[offset], 0, 0, BLOCK_WIDTH, height() - y );
-+ drawTexture( m_fade_bars[offset], x * ( BLOCK_WIDTH + 1 ), y, 0, 0, BLOCK_WIDTH, height() );
- }
-
- if( m_fade_intensity[x] == 0 )
- m_fade_pos[x] = m_rows;
-
- // REMEMBER: y is a number from 0 to m_rows, 0 means all blocks are glowing, m_rows means none are
-- p.drawPixmap( x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, *bar(), 0, y * ( BLOCK_HEIGHT + 1 ), -1, -1 );
-+ drawTexture( m_barTexture, x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, 0, y * ( BLOCK_HEIGHT + 1 ), m_barPixmap.width(), m_barPixmap.height() );
-
-- // Draw top pixmaps
-- p.drawPixmap( x * ( BLOCK_WIDTH + 1 ), int( m_store[x] ) * ( BLOCK_HEIGHT + 1 ) + m_y, m_topBarPixmap );
-+ // Draw top bar
-+ drawTexture( m_topBarTexture, x * ( BLOCK_WIDTH + 1 ), int( m_store[x] ) * ( BLOCK_HEIGHT + 1 ) + m_y, 0, 0, BLOCK_WIDTH, BLOCK_HEIGHT );
- }
- }
-
- void
-+BlockAnalyzer::drawTexture( GLuint textureId, int x, int y, int sx, int sy, int w, int h )
-+{
-+ const GLfloat xf = x;
-+ const GLfloat yf = y;
-+ const GLfloat sxf = (GLfloat)sx / m_barPixmap.width();
-+ const GLfloat syf = (GLfloat)sy / m_barPixmap.height();
-+ const GLfloat wf = w - sx;
-+ const GLfloat hf = h - sy;
-+
-+ glEnable( GL_TEXTURE_2D );
-+ glBindTexture( GL_TEXTURE_2D, textureId );
-+
-+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
-+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
-+
-+ // Draw a textured quad
-+ glBegin(GL_QUADS);
-+ glTexCoord2f( sxf, syf ); glVertex2f( xf, yf );
-+ glTexCoord2f( sxf, 1.0 ); glVertex2f( xf, yf + hf );
-+ glTexCoord2f( 1.0, 1.0 ); glVertex2f( xf + wf, yf + hf );
-+ glTexCoord2f( 1.0, syf ); glVertex2f( xf + wf, yf );
-+ glEnd();
-+
-+ glDisable( GL_TEXTURE_2D );
-+}
-+
-+void
- BlockAnalyzer::paletteChange( const QPalette& ) //virtual
- {
-- QPainter p( bar() );
-+ QPainter p( &m_barPixmap );
-
- const QColor bg = The::paletteHandler()->backgroundColor();
- const QColor fg = palette().color( QPalette::Active, QPalette::Highlight );
-
-- m_topBarPixmap.fill( fg );
-+ QPixmap topBar( BLOCK_WIDTH, BLOCK_HEIGHT );
-+ topBar.fill( fg );
-+ deleteTexture( m_topBarTexture );
-+ m_topBarTexture = bindTexture( topBar );
-
- const double dr = 15 * double( bg.red() - fg.red() ) / ( m_rows * 16 );
- const double dg = 15 * double( bg.green() - fg.green() ) / ( m_rows * 16 );
- const double db = 15 * double( bg.blue() - fg.blue() ) / ( m_rows * 16 );
- const int r = fg.red(), g = fg.green(), b = fg.blue();
-
-- bar()->fill( bg );
-+ m_barPixmap.fill( bg );
-
- for( int y = 0; y < m_rows; ++y )
- //graduate the fg color
-@@ -220,14 +267,23 @@ BlockAnalyzer::paletteChange( const QPalette& ) //virtual
- // Precalculate all fade-bar pixmaps
- for( int y = 0; y < FADE_SIZE; ++y )
- {
-- m_fade_bars[y].fill( palette().color( QPalette::Active, QPalette::Window ) );
-+ QPixmap fadeBar( BLOCK_WIDTH, m_rows * ( BLOCK_HEIGHT + 1 ) );
-+
-+ fadeBar.fill( palette().color( QPalette::Active, QPalette::Window ) );
- const double Y = 1.0 - ( log10( ( FADE_SIZE ) - y ) / log10( ( FADE_SIZE ) ) );
-- QPainter f( &m_fade_bars[y] );
-+ QPainter f( &fadeBar );
- for( int z = 0; z < m_rows; ++z )
- f.fillRect( 0, z * ( BLOCK_HEIGHT + 1 ), BLOCK_WIDTH, BLOCK_HEIGHT, QColor( r + int( dr * Y ), g + int( dg * Y ), b + int( db * Y ) ) );
-+
-+ deleteTexture( m_fade_bars[y] );
-+ m_fade_bars[y] = bindTexture( fadeBar );
- }
- }
-
-+ const QImage image = m_barPixmap.toImage();
-+ deleteTexture( m_barTexture );
-+ m_barTexture = bindTexture( image.mirrored() ); // Flip vertically because OpenGL has inverted y coordinates
-+
- drawBackground();
- }
-
-@@ -237,11 +293,14 @@ BlockAnalyzer::drawBackground()
- const QColor bg = palette().color( QPalette::Active, QPalette::Window );
- const QColor bgdark = bg.dark( 112 );
-
-- m_background.fill( bg );
-+ QPixmap background( size() );
-+ background.fill( bg );
-
-- QPainter p( &m_background );
-+ QPainter p( &background );
- for( int x = 0; x < m_columns; ++x )
- for( int y = 0; y < m_rows; ++y )
- p.fillRect( x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, BLOCK_WIDTH, BLOCK_HEIGHT, bgdark );
-
-+ deleteTexture( m_background );
-+ m_background = bindTexture( background );
- }
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.h b/src/context/applets/analyzer/BlockAnalyzer.h
-index 6b14e4e..318289a 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.h
-+++ b/src/context/applets/analyzer/BlockAnalyzer.h
-@@ -24,7 +24,7 @@ class QMouseEvent;
- class QPalette;
- class QResizeEvent;
-
--class BlockAnalyzer : public Analyzer::Base2D
-+class BlockAnalyzer : public Analyzer::Base
- {
- public:
- BlockAnalyzer( QWidget* );
-@@ -39,33 +39,32 @@ public:
- static const int FADE_SIZE = 90;
-
- protected:
-+ virtual void initializeGL();
-+ virtual void paintGL();
-+ virtual void resizeGL( int w, int h );
- virtual void transform( QVector<float>& );
- virtual void analyze( const QVector<float>& );
-- virtual void paintEvent( QPaintEvent* );
-- virtual void resizeEvent( QResizeEvent* );
- virtual void paletteChange( const QPalette& );
-
- void drawBackground();
- void determineStep();
-
- private:
-- QPixmap* bar()
-- {
-- return &m_barPixmap;
-- }
-+ void drawTexture( GLuint textureId, int x, int y, int sx, int sy, int w, int h );
-
- int m_columns, m_rows; //number of rows and columns of blocks
- uint m_y; //y-offset from top of widget
-+ GLuint m_barTexture;
-+ GLuint m_topBarTexture;
- QPixmap m_barPixmap;
-- QPixmap m_topBarPixmap;
- QVector<float> m_scope; //so we don't create a vector every frame
- QVector<float> m_store; //current bar heights
- QVector<float> m_yscale;
-
-- QVector<QPixmap> m_fade_bars;
-+ QVector<GLuint> m_fade_bars;
- QVector<uint> m_fade_pos;
- QVector<int> m_fade_intensity;
-- QPixmap m_background;
-+ GLuint m_background;
-
- float m_step; //rows to fall per frame
- };
-diff --git a/src/context/applets/analyzer/DiscoAnalyzer.cpp b/src/context/applets/analyzer/DiscoAnalyzer.cpp
-index ce3f56d..a81cde4 100644
---- a/src/context/applets/analyzer/DiscoAnalyzer.cpp
-+++ b/src/context/applets/analyzer/DiscoAnalyzer.cpp
-@@ -25,7 +25,7 @@
-
-
- DiscoAnalyzer::DiscoAnalyzer( QWidget *parent ):
-- Analyzer::Base3D( parent )
-+ Analyzer::Base( parent )
- {
- setObjectName( "Disco" );
-
-diff --git a/src/context/applets/analyzer/DiscoAnalyzer.h b/src/context/applets/analyzer/DiscoAnalyzer.h
-index 3d54f77..d41b46c 100644
---- a/src/context/applets/analyzer/DiscoAnalyzer.h
-+++ b/src/context/applets/analyzer/DiscoAnalyzer.h
-@@ -23,7 +23,7 @@
-
- class QPaintEvent;
-
--class DiscoAnalyzer : public Analyzer::Base3D
-+class DiscoAnalyzer : public Analyzer::Base
- {
- public:
- DiscoAnalyzer( QWidget * );
---
-1.9.3
-
diff --git a/0071-Fix-rendering-glitch-introduced-with-commit-f4a3f4f.patch b/0071-Fix-rendering-glitch-introduced-with-commit-f4a3f4f.patch
deleted file mode 100644
index e44f67a..0000000
--- a/0071-Fix-rendering-glitch-introduced-with-commit-f4a3f4f.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-From d2fef6cb1a0293a000edbf87fd566574b6e8ae51 Mon Sep 17 00:00:00 2001
-From: Mark Kretschmann <kretschmann@kde.org>
-Date: Sat, 19 Oct 2013 16:48:12 +0200
-Subject: [PATCH 071/448] Fix rendering glitch introduced with commit f4a3f4f.
-
-CCBUG: 323635
-BACKPORT
----
- src/context/applets/analyzer/BlockAnalyzer.cpp | 47 ++++++++++++--------------
- src/context/applets/analyzer/BlockAnalyzer.h | 31 ++++++++++++++---
- 2 files changed, 48 insertions(+), 30 deletions(-)
-
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.cpp b/src/context/applets/analyzer/BlockAnalyzer.cpp
-index 03fefae..1cf85d1 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.cpp
-+++ b/src/context/applets/analyzer/BlockAnalyzer.cpp
-@@ -35,12 +35,9 @@ BlockAnalyzer::BlockAnalyzer( QWidget *parent )
- , m_columns( 0 ) //int
- , m_rows( 0 ) //int
- , m_y( 0 ) //uint
-- , m_barTexture( 0 )
-- , m_topBarTexture( 0 )
- , m_fade_bars( FADE_SIZE ) //vector<QPixmap>
- , m_fade_pos( MAX_COLUMNS, 50 ) //vector<uint>
- , m_fade_intensity( MAX_COLUMNS, 32 ) //vector<uint>
-- , m_background( 0 )
- {
- setObjectName( "Blocky" );
- setMaximumWidth( MAX_COLUMNS * ( BLOCK_WIDTH + 1 ) - 1 );
-@@ -49,11 +46,11 @@ BlockAnalyzer::BlockAnalyzer( QWidget *parent )
-
- BlockAnalyzer::~BlockAnalyzer()
- {
-- deleteTexture( m_barTexture );
-- deleteTexture( m_topBarTexture );
-+ deleteTexture( m_barTexture.id );
-+ deleteTexture( m_topBarTexture.id );
-
-- foreach( GLuint id, m_fade_bars )
-- deleteTexture( id );
-+ foreach( Texture texture, m_fade_bars )
-+ deleteTexture( texture.id );
- }
-
- void
-@@ -158,7 +155,7 @@ BlockAnalyzer::paintGL()
- glLoadIdentity();
-
- // Paint the background
-- drawTexture( m_background, 0, 0, 0, 0, width(), height() );
-+ drawTexture( m_background, 0, 0, 0, 0 );
-
- for( uint y, x = 0; x < (uint)m_scope.size(); ++x )
- {
-@@ -186,32 +183,32 @@ BlockAnalyzer::paintGL()
- const uint offset = --m_fade_intensity[x];
- const uint y = m_y + ( m_fade_pos[x] * ( BLOCK_HEIGHT + 1 ) );
- if( y < (uint)height() )
-- drawTexture( m_fade_bars[offset], x * ( BLOCK_WIDTH + 1 ), y, 0, 0, BLOCK_WIDTH, height() );
-+ drawTexture( m_fade_bars[offset], x * ( BLOCK_WIDTH + 1 ), y, 0, 0 );
- }
-
- if( m_fade_intensity[x] == 0 )
- m_fade_pos[x] = m_rows;
-
- // REMEMBER: y is a number from 0 to m_rows, 0 means all blocks are glowing, m_rows means none are
-- drawTexture( m_barTexture, x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, 0, y * ( BLOCK_HEIGHT + 1 ), m_barPixmap.width(), m_barPixmap.height() );
-+ drawTexture( m_barTexture, x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, 0, y * ( BLOCK_HEIGHT + 1 ) );
-
- // Draw top bar
-- drawTexture( m_topBarTexture, x * ( BLOCK_WIDTH + 1 ), int( m_store[x] ) * ( BLOCK_HEIGHT + 1 ) + m_y, 0, 0, BLOCK_WIDTH, BLOCK_HEIGHT );
-+ drawTexture( m_topBarTexture, x * ( BLOCK_WIDTH + 1 ), int( m_store[x] ) * ( BLOCK_HEIGHT + 1 ) + m_y, 0, 0 );
- }
- }
-
- void
--BlockAnalyzer::drawTexture( GLuint textureId, int x, int y, int sx, int sy, int w, int h )
-+BlockAnalyzer::drawTexture( Texture texture, int x, int y, int sx, int sy )
- {
- const GLfloat xf = x;
- const GLfloat yf = y;
-- const GLfloat sxf = (GLfloat)sx / m_barPixmap.width();
-- const GLfloat syf = (GLfloat)sy / m_barPixmap.height();
-- const GLfloat wf = w - sx;
-- const GLfloat hf = h - sy;
-+ const GLfloat wf = texture.size.width() - sx;
-+ const GLfloat hf = texture.size.height() - sy;
-+ const GLfloat sxf = (GLfloat)sx / texture.size.width();
-+ const GLfloat syf = (GLfloat)sy / texture.size.height();
-
- glEnable( GL_TEXTURE_2D );
-- glBindTexture( GL_TEXTURE_2D, textureId );
-+ glBindTexture( GL_TEXTURE_2D, texture.id );
-
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
-@@ -237,8 +234,8 @@ BlockAnalyzer::paletteChange( const QPalette& ) //virtual
-
- QPixmap topBar( BLOCK_WIDTH, BLOCK_HEIGHT );
- topBar.fill( fg );
-- deleteTexture( m_topBarTexture );
-- m_topBarTexture = bindTexture( topBar );
-+ deleteTexture( m_topBarTexture.id );
-+ m_topBarTexture = Texture( bindTexture( topBar ), topBar.size() );
-
- const double dr = 15 * double( bg.red() - fg.red() ) / ( m_rows * 16 );
- const double dg = 15 * double( bg.green() - fg.green() ) / ( m_rows * 16 );
-@@ -275,14 +272,14 @@ BlockAnalyzer::paletteChange( const QPalette& ) //virtual
- for( int z = 0; z < m_rows; ++z )
- f.fillRect( 0, z * ( BLOCK_HEIGHT + 1 ), BLOCK_WIDTH, BLOCK_HEIGHT, QColor( r + int( dr * Y ), g + int( dg * Y ), b + int( db * Y ) ) );
-
-- deleteTexture( m_fade_bars[y] );
-- m_fade_bars[y] = bindTexture( fadeBar );
-+ deleteTexture( m_fade_bars[y].id );
-+ m_fade_bars[y] = Texture( bindTexture( fadeBar ), fadeBar.size() );
- }
- }
-
- const QImage image = m_barPixmap.toImage();
-- deleteTexture( m_barTexture );
-- m_barTexture = bindTexture( image.mirrored() ); // Flip vertically because OpenGL has inverted y coordinates
-+ deleteTexture( m_barTexture.id );
-+ m_barTexture = Texture( bindTexture( image.mirrored() ), image.size() ); // Flip vertically because OpenGL has inverted y coordinates
-
- drawBackground();
- }
-@@ -301,6 +298,6 @@ BlockAnalyzer::drawBackground()
- for( int y = 0; y < m_rows; ++y )
- p.fillRect( x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, BLOCK_WIDTH, BLOCK_HEIGHT, bgdark );
-
-- deleteTexture( m_background );
-- m_background = bindTexture( background );
-+ deleteTexture( m_background.id );
-+ m_background = Texture( bindTexture( background ), background.size() );
- }
-diff --git a/src/context/applets/analyzer/BlockAnalyzer.h b/src/context/applets/analyzer/BlockAnalyzer.h
-index 318289a..50097b7 100644
---- a/src/context/applets/analyzer/BlockAnalyzer.h
-+++ b/src/context/applets/analyzer/BlockAnalyzer.h
-@@ -20,6 +20,8 @@
-
- #include "AnalyzerBase.h"
-
-+#include <QSize>
-+
- class QMouseEvent;
- class QPalette;
- class QResizeEvent;
-@@ -50,21 +52,40 @@ protected:
- void determineStep();
-
- private:
-- void drawTexture( GLuint textureId, int x, int y, int sx, int sy, int w, int h );
-+ struct Texture
-+ {
-+ Texture() :
-+ id( 0 ),
-+ size( QSize() )
-+ {}
-+ Texture( const GLuint id_, const QSize size_ ) :
-+ id( id_ ),
-+ size( size_ )
-+ {}
-+ Texture( const Texture& texture )
-+ {
-+ id = texture.id;
-+ size = texture.size;
-+ }
-+ GLuint id;
-+ QSize size;
-+ };
-+
-+ void drawTexture( Texture texture, int x, int y, int sx, int sy );
-
- int m_columns, m_rows; //number of rows and columns of blocks
- uint m_y; //y-offset from top of widget
-- GLuint m_barTexture;
-- GLuint m_topBarTexture;
-+ Texture m_barTexture;
-+ Texture m_topBarTexture;
- QPixmap m_barPixmap;
- QVector<float> m_scope; //so we don't create a vector every frame
- QVector<float> m_store; //current bar heights
- QVector<float> m_yscale;
-
-- QVector<GLuint> m_fade_bars;
-+ QVector<Texture> m_fade_bars;
- QVector<uint> m_fade_pos;
- QVector<int> m_fade_intensity;
-- GLuint m_background;
-+ Texture m_background;
-
- float m_step; //rows to fall per frame
- };
---
-1.9.3
-
diff --git a/0473-Fix-TagLib-version-check.patch b/0473-Fix-TagLib-version-check.patch
deleted file mode 100644
index 8751870..0000000
--- a/0473-Fix-TagLib-version-check.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From fec8817c530ce42b6485fdabff6051784b8d9904 Mon Sep 17 00:00:00 2001
-From: Omar Plummer <omarplummer@imergetechnologies.com>
-Date: Fri, 7 Aug 2015 00:24:27 +0200
-Subject: [PATCH 473/474] Fix TagLib version check.
-
-The version check compared version strings lexicographically, so "1.7"
-(the min version) compared as greater than "1.10.0".
-
-BUG: 351013
-REVIEW: 124639
----
- cmake/modules/FindTaglib.cmake | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake
-index 76b83ac..f485a42 100644
---- a/cmake/modules/FindTaglib.cmake
-+++ b/cmake/modules/FindTaglib.cmake
-@@ -29,10 +29,10 @@ if(TAGLIBCONFIG_EXECUTABLE)
-
- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
-
-- if(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+ if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
- message(STATUS "TagLib version too old: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
- set(TAGLIB_FOUND FALSE)
-- else(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+ else("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
-
- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
-
-@@ -42,7 +42,7 @@ if(TAGLIBCONFIG_EXECUTABLE)
- set(TAGLIB_FOUND TRUE)
- endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
- string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
-- endif(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+ endif("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
- mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
-
- else(TAGLIBCONFIG_EXECUTABLE)
---
-2.4.3
-
diff --git a/amarok.appdata.xml b/amarok.appdata.xml
deleted file mode 100644
index 8851d45..0000000
--- a/amarok.appdata.xml
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component type="desktop">
- <id>amarok.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <name>Amarok</name>
- <name xml:lang="ca">Amarok</name>
- <name xml:lang="cs">Amarok</name>
- <name xml:lang="da">Amarok</name>
- <name xml:lang="de">Amarok</name>
- <name xml:lang="en-GB">Amarok</name>
- <name xml:lang="es">Amarok</name>
- <name xml:lang="fi">Amarok</name>
- <name xml:lang="id">Amarok</name>
- <name xml:lang="it">Amarok</name>
- <name xml:lang="nl">Amarok</name>
- <name xml:lang="pa">ਅਮਰੋਕ</name>
- <name xml:lang="pl">Amarok</name>
- <name xml:lang="pt">Amarok</name>
- <name xml:lang="pt-BR">Amarok</name>
- <name xml:lang="sk">Amarok</name>
- <name xml:lang="sl">Amarok</name>
- <name xml:lang="sr">Амарок</name>
- <name xml:lang="sr-Latn">Amarok</name>
- <name xml:lang="sr-ijekavian">Амарок</name>
- <name xml:lang="sr-ijekavianlatin">Amarok</name>
- <name xml:lang="sv">Amarok</name>
- <name xml:lang="uk">Amarok</name>
- <name xml:lang="x-test">xxAmarokxx</name>
- <description>
- <p>Amarok is a free, versatile and powerful music player.</p>
- <p xml:lang="ca">L'Amarok és un reproductor de música lliure, versàtil i potent.</p>
- <p xml:lang="cs">Amarok je svobodný, univerzální a mocný přehrávač hudby.</p>
- <p xml:lang="da">Amarok er en fri, alsidig og kraftfuld musikafspiller.</p>
- <p xml:lang="de">Amarok ist eine freie, vielfältige und leistungsfähige Anwendung zur Musikwiedergabe.</p>
- <p xml:lang="en-GB">Amarok is a free, versatile and powerful music player.</p>
- <p xml:lang="es">Amarok es un potente y versátil reproductor de música libre.</p>
- <p xml:lang="fi">Amarok on vapaa, monipuolinen ja tehokas musiikkisoitin.</p>
- <p xml:lang="id">Amarok adalah bebas, serbaguna dan player musik perkasa.</p>
- <p xml:lang="it">Amarok è un lettore musicale libero, versatile e potente.</p>
- <p xml:lang="nl">Amarok is een vrije, veelzijdige en krachtige muziekspeler.</p>
- <p xml:lang="pa">ਅਮਰੋਕ ਮੁਫ਼ਤ, ਲਚਕੀਲਾ ਤੇ ਮਜ਼ਬੂਤ ਸੰਗੀਤ ਪਲੇਅਰ ਹੈ।</p>
- <p xml:lang="pl">Amarok jest darmowym, wszechstronnym i zaawansowanym odtwarzaczem muzyki.</p>
- <p xml:lang="pt">O Amarok é um leitor multimédia gratuito, versátil e poderoso.</p>
- <p xml:lang="pt-BR">Amarok é um reprodutor de músicas livre, versátil e poderoso.</p>
- <p xml:lang="sk">Amarok je slobodný, univerzálny a silný prehrávač hudby.</p>
- <p xml:lang="sl">Amarok je prost, vsestranski in zmogljiv predvajalnik glasbe.</p>
- <p xml:lang="sr">Амарок је слободан, свестран и моћан музички плејер.</p>
- <p xml:lang="sr-Latn">Amarok je slobodan, svestran i moćan muzički plejer.</p>
- <p xml:lang="sr-ijekavian">Амарок је слободан, свестран и моћан музички плејер.</p>
- <p xml:lang="sr-ijekavianlatin">Amarok je slobodan, svestran i moćan muzički plejer.</p>
- <p xml:lang="sv">Amarok är en fri, mångsidig och kraftfull musikspelare.</p>
- <p xml:lang="uk">Amarok — вільна, універсальна та потужна програма для відтворення звукових даних.</p>
- <p xml:lang="x-test">xxAmarok is a free, versatile and powerful music player.xx</p>
- <p>Features:</p>
- <p xml:lang="ca">Característiques:</p>
- <p xml:lang="cs">Vlastnosti:</p>
- <p xml:lang="da">Funktioner:</p>
- <p xml:lang="de">Funktionen:</p>
- <p xml:lang="en-GB">Features:</p>
- <p xml:lang="es">Funciones:</p>
- <p xml:lang="fi">Ominaisuudet:</p>
- <p xml:lang="id">Ciri yang khas:</p>
- <p xml:lang="it">Funzionalità:</p>
- <p xml:lang="nl">Mogelijkheden:</p>
- <p xml:lang="pa">ਲੱਛਣ:</p>
- <p xml:lang="pl">Możliwości:</p>
- <p xml:lang="pt">Características:</p>
- <p xml:lang="pt-BR">Funcionalidades:</p>
- <p xml:lang="sk">Funkcie:</p>
- <p xml:lang="sl">Zmožnosti:</p>
- <p xml:lang="sr">Могућности:</p>
- <p xml:lang="sr-Latn">Mogućnosti:</p>
- <p xml:lang="sr-ijekavian">Могућности:</p>
- <p xml:lang="sr-ijekavianlatin">Mogućnosti:</p>
- <p xml:lang="sv">Funktioner:</p>
- <p xml:lang="uk">Можливості:</p>
- <p xml:lang="x-test">xxFeatures:xx</p>
- <ul>
- <li>Dynamic playlists matching different criteria</li>
- <li xml:lang="ca">Llistes de reproducció dinàmiques coincidint amb diferents criteris</li>
- <li xml:lang="cs">Dynamické seznamy skladeb odpovídající různým požadavkům</li>
- <li xml:lang="da">Dynamiske spillelister som matcher forskellige kriterier</li>
- <li xml:lang="de">Dynamische Wiedergabelisten nach verschiedenen Kriterien</li>
- <li xml:lang="en-GB">Dynamic playlists matching different criteria</li>
- <li xml:lang="es">Listas de reproducción dinámicas según distintos criterios</li>
- <li xml:lang="fi">Eri ehtoja vastaavat dynaamiset soittolistat</li>
- <li xml:lang="id">Playlist dinamis menyesuaikan kriteria yang berbeda</li>
- <li xml:lang="it">Scalette dinamiche che verificano diversi criteri</li>
- <li xml:lang="nl">Dynamische afspeellijsten die voldoen aan verschillende criteria</li>
- <li xml:lang="pl">Dynamiczne listy odtwarzania spełniające różne warunki</li>
- <li xml:lang="pt">Listas dinâmicas que correspondem a diferentes critérios</li>
- <li xml:lang="pt-BR">Listas de músicas dinâmicas que correspondem a diferentes critérios</li>
- <li xml:lang="sk">Dynamické zoznamy skladieb sledujúce rôzne kritériá</li>
- <li xml:lang="sl">Dinamični seznami predvajanja temelječi na raznolikih pogojih</li>
- <li xml:lang="sr">Динамичке листе нумера по различитим критеријумима.</li>
- <li xml:lang="sr-Latn">Dinamičke liste numera po različitim kriterijumima.</li>
- <li xml:lang="sr-ijekavian">Динамичке листе нумера по различитим критеријумима.</li>
- <li xml:lang="sr-ijekavianlatin">Dinamičke liste numera po različitim kriterijumima.</li>
- <li xml:lang="sv">Dynamiska spellistor som motsvarar olika kriterier</li>
- <li xml:lang="uk">динамічні списки відтворення на основі різних критеріїв;</li>
- <li xml:lang="x-test">xxDynamic playlists matching different criteriaxx</li>
- <li>Collection managing with rating support</li>
- <li xml:lang="ca">Gestió de les col·leccions amb implementació per a les qualificacions</li>
- <li xml:lang="cs">Správa sbírek s podporou hodnocení</li>
- <li xml:lang="da">Samlingshåndtering med understøttelse af vurderinger</li>
- <li xml:lang="de">Verwaltung von Sammlungen wit Unterstützung durch Bewertungen</li>
- <li xml:lang="en-GB">Collection managing with rating support</li>
- <li xml:lang="es">Gestión de colección con uso de puntuaciones</li>
- <li xml:lang="fi">Kokoelmanhallinta arviointituella</li>
- <li xml:lang="id">Mengelola koleksi dengan dukungan peringkat</li>
- <li xml:lang="it">Gestione della collezione con supporto per la valutazione</li>
- <li xml:lang="nl">Beheer van verzamelingen met ondersteuning van waardering</li>
- <li xml:lang="pl">Zarządzanie zbiorem wraz z obsługą ocen</li>
- <li xml:lang="pt">Gestão da colecção com o suporte para classificações</li>
- <li xml:lang="pt-BR">Gerenciamento de coleções com suporte a avaliação</li>
- <li xml:lang="sk">Správa zbierok s podporou hodnotení</li>
- <li xml:lang="sl">Upravljanje zbirk s podporo ocenam</li>
- <li xml:lang="sr">Управљање збирком и подршка за оцењивање.</li>
- <li xml:lang="sr-Latn">Upravljanje zbirkom i podrška za ocenjivanje.</li>
- <li xml:lang="sr-ijekavian">Управљање збирком и подршка за оцењивање.</li>
- <li xml:lang="sr-ijekavianlatin">Upravljanje zbirkom i podrška za ocenjivanje.</li>
- <li xml:lang="sv">Samlingshantering med betygsstöd</li>
- <li xml:lang="uk">керування збіркою з підтримкою оцінок;</li>
- <li xml:lang="x-test">xxCollection managing with rating supportxx</li>
- <li>Support for basic iPod, MTP and UMS music player devices</li>
- <li xml:lang="ca">Implementació pels dispositius de reproducció de música bàsics com iPod, MTP i UMS</li>
- <li xml:lang="cs">Podpora pro zařízení iPod, MTP a UMS</li>
- <li xml:lang="da">Understøttelse af basale iPod-, MTP- og UMS-musikafspillere</li>
- <li xml:lang="de">Unterstützung für Wiedergabegeräte wie iPod, MTP und UMS</li>
- <li xml:lang="en-GB">Support for basic iPod, MTP and UMS music player devices</li>
- <li xml:lang="es">Implementación básica de dispositivos de reproducción de música como iPod y los que usan los protocolos MTP y UMS</li>
- <li xml:lang="fi">Tuki tavallisille iPod-, MTP- ja UMS-musiikkisoitinlaitteille</li>
- <li xml:lang="id">Terutama mendukung perangkat player musik iPod, MTP dan UMS</li>
- <li xml:lang="it">Supporto per i lettori musicali iPod, MTP e UMS</li>
- <li xml:lang="nl">Ondersteuning voor basis iPod, MTP en UMS muziekspelerapparaten</li>
- <li xml:lang="pl">Obsługa dla podstawowych urządzeń odtwarzających muzykę takich jak iPod, MTP oraz UMS</li>
- <li xml:lang="pt">Suporte para os dispositivos leitores multimédia básicos de iPod, MTP e UMS</li>
- <li xml:lang="pt-BR">Suporte a dispositivos básicos para reprodução de música iPod, MTP e UMS</li>
- <li xml:lang="sk">Podpora pre základné prehrávacie zariadenia iPod, MTP a UMS</li>
- <li xml:lang="sl">Podpora osnovnim napravam za predvajanje glasbe: iPod, MTP in UMS</li>
- <li xml:lang="sr">Подршка за основне МТП и УМС музичке плејере, и и‑под.</li>
- <li xml:lang="sr-Latn">Podrška za osnovne MTP i UMS muzičke plejere, i iPod.</li>
- <li xml:lang="sr-ijekavian">Подршка за основне МТП и УМС музичке плејере, и и‑под.</li>
- <li xml:lang="sr-ijekavianlatin">Podrška za osnovne MTP i UMS muzičke plejere, i iPod.</li>
- <li xml:lang="sv">Stöd för grundläggande iPod-, MTP- och UMS-musikspelare</li>
- <li xml:lang="uk">підтримка базової роботи з пристроями відтворення, що працюють за протоколами iPod, MTP та UMS;</li>
- <li xml:lang="x-test">xxSupport for basic iPod, MTP and UMS music player devicesxx</li>
- <li>Integrated Internet services: last.fm, Magnatune, Jamendo, Ampache, mp3tunes and more.</li>
- <li xml:lang="ca">Serveis integrats d'Internet: last.fm, Magnatune, Jamendo, Ampache, mp3tunes i més</li>
- <li xml:lang="cs">Integrované internetové služby: last.fm, Magnatune, Jamendo, Ampache, mp3tunes a další.</li>
- <li xml:lang="da">Integrerede internettjenester: last.fm, Magnatune, Jamendo, Ampache, mp3tunes og andre.</li>
- <li xml:lang="de">Integrierte Internet-Dienste: last.fm, Magnatune, Jamendo, Ampache, mp3tunes und weitere.</li>
- <li xml:lang="en-GB">Integrated Internet services: last.fm, Magnatune, Jamendo, Ampache, mp3tunes and more.</li>
- <li xml:lang="es">Servicios de Internet integrados: last.fm, Magnatune, Jamendo, Ampache, mp3tunes y más.</li>
- <li xml:lang="fi">Sisäänrakennetut internetpalvelut: Last.fm, Magnatune, Jamendo, Ampache, mp3tunes ja muita.</li>
- <li xml:lang="id">Layanan Internet terpadu: last.fm, Magnatune, Jamendo, Ampache, mp3tunes dan lebih banyak lagi.</li>
- <li xml:lang="it">Servizi Internet integrati: last.fm, Magnatune, Jamendo, Ampache, mp3tunes e altri.</li>
- <li xml:lang="nl">Geïntegreerde internetservices: last.fm, Magnatune, Jamendo, Ampache, mp3tunes en meer.</li>
- <li xml:lang="pl">Zintegrowane usługi internetowe: last.fm, Magnatune, Jamendo, Ampache, mp3tunes i więcej.</li>
- <li xml:lang="pt">Serviços da Internet integrados: last.fm, Magnatune, Jamendo, Ampache, mp3tunes entre outros.</li>
- <li xml:lang="pt-BR">Serviços de Internet integrados: last.fm, Magnatune, Jamendo, Ampache, mp3tunes entre outros.</li>
- <li xml:lang="sk">Integrované internetové služby: last.fm, Magnatune, Jamendo, Ampache, mp3tunes a viac.</li>
- <li xml:lang="sl">Vgrajene internetne storitve: last.fm, Magnatune, Jamendo, Ampache, mp3tunes in več.</li>
- <li xml:lang="sr">Уклопљени интернет сервиси: ЛастФМ, Магнатјун, Џамендо, Ампач, МП3‑тјунс, и други.</li>
- <li xml:lang="sr-Latn">Uklopljeni internet servisi: last.fm, Magnatune, Jamendo, Ampache, MP3Tunes, i drugi.</li>
- <li xml:lang="sr-ijekavian">Уклопљени интернет сервиси: ЛастФМ, Магнатјун, Џамендо, Ампач, МП3‑тјунс, и други.</li>
- <li xml:lang="sr-ijekavianlatin">Uklopljeni internet servisi: last.fm, Magnatune, Jamendo, Ampache, MP3Tunes, i drugi.</li>
- <li xml:lang="sv">Integrerade Internet-tjänster: last.fm, Magnatune, Jamendo, Ampache, mp3tunes med flera.</li>
- <li xml:lang="uk">інтеграція з інтернет-службами: last.fm, Magnatune, Jamendo, Ampache, mp3tunes тощо;</li>
- <li xml:lang="x-test">xxIntegrated Internet services: last.fm, Magnatune, Jamendo, Ampache, mp3tunes and more.xx</li>
- <li>Scripting support</li>
- <li xml:lang="ca">Implementació per a la creació d'scripts</li>
- <li xml:lang="cs">Podpora pro skripty</li>
- <li xml:lang="da">Understøttelse af scripts</li>
- <li xml:lang="de">Skript-Unterstützung</li>
- <li xml:lang="en-GB">Scripting support</li>
- <li xml:lang="es">Uso de guiones</li>
- <li xml:lang="fi">Skriptaustuki</li>
- <li xml:lang="id">Dukungan skrip</li>
- <li xml:lang="it">Supporto per la creazione di script</li>
- <li xml:lang="nl">Ondersteuning voor scripting</li>
- <li xml:lang="pl">Obsługa skryptów</li>
- <li xml:lang="pt">Suporte para a programação</li>
- <li xml:lang="pt-BR">Suporte a scripts</li>
- <li xml:lang="sk">Podpora skriptovania</li>
- <li xml:lang="sl">Podpora skriptom</li>
- <li xml:lang="sr">Подршка за скриптовање.</li>
- <li xml:lang="sr-Latn">Podrška za skriptovanje.</li>
- <li xml:lang="sr-ijekavian">Подршка за скриптовање.</li>
- <li xml:lang="sr-ijekavianlatin">Podrška za skriptovanje.</li>
- <li xml:lang="sv">Stöd för skript</li>
- <li xml:lang="uk">підтримка роботи зі скриптами;</li>
- <li xml:lang="x-test">xxScripting supportxx</li>
- <li>Cover manager</li>
- <li xml:lang="ca">Gestor de cobertes</li>
- <li xml:lang="cs">Správce obalů</li>
- <li xml:lang="da">Omslagshåndtering</li>
- <li xml:lang="de">Cover-Verwaltung</li>
- <li xml:lang="en-GB">Cover manager</li>
- <li xml:lang="es">Gestor de carátulas</li>
- <li xml:lang="fi">Kansikuvien hallinta</li>
- <li xml:lang="id">Manajer sampul</li>
- <li xml:lang="it">Gestore delle copertine</li>
- <li xml:lang="nl">Hoesbeheerder</li>
- <li xml:lang="pl">Zarządzanie okładkami</li>
- <li xml:lang="pt">Gestor de capas</li>
- <li xml:lang="pt-BR">Gerenciador de capas</li>
- <li xml:lang="sk">Správca obalov</li>
- <li xml:lang="sl">Upravljalnik ovitkov</li>
- <li xml:lang="sr">Менаџер омота.</li>
- <li xml:lang="sr-Latn">Menadžer omota.</li>
- <li xml:lang="sr-ijekavian">Менаџер омота.</li>
- <li xml:lang="sr-ijekavianlatin">Menadžer omota.</li>
- <li xml:lang="sv">Omslagshanterare</li>
- <li xml:lang="uk">засіб керування збіркою зображень обкладинок;</li>
- <li xml:lang="x-test">xxCover managerxx</li>
- <li>Replay gain support</li>
- <li xml:lang="ca">Implementació de la repetició de guany</li>
- <li xml:lang="cs">Podpora Replay gain</li>
- <li xml:lang="da">Replay Gain-understøttelse</li>
- <li xml:lang="de">Unterstützung für Lautstärkeanpassung</li>
- <li xml:lang="en-GB">Replay gain support</li>
- <li xml:lang="es">Implementación de normalización de audio</li>
- <li xml:lang="fi">Voimakkuudentasauksen tuki</li>
- <li xml:lang="id">Dukungan gain mainkan lagi</li>
- <li xml:lang="it">Supporto del guadagno di riproduzione</li>
- <li xml:lang="nl">Ondersteuning van Replay gain</li>
- <li xml:lang="pl">Obsługa trybu replay gain</li>
- <li xml:lang="pt">Suporte para o ganho de reprodução</li>
- <li xml:lang="pt-BR">Suporte a ajuste de ganho</li>
- <li xml:lang="sk">Podpora replay gain</li>
- <li xml:lang="sl">Podpora jakosti predvajanja</li>
- <li xml:lang="sr">Подршка за поновљиво појачање.</li>
- <li xml:lang="sr-Latn">Podrška za ponovljivo pojačanje.</li>
- <li xml:lang="sr-ijekavian">Подршка за поновљиво појачање.</li>
- <li xml:lang="sr-ijekavianlatin">Podrška za ponovljivo pojačanje.</li>
- <li xml:lang="sv">Stöd för uppspelningsnivå</li>
- <li xml:lang="uk">підтримка вирівнювання гучності.</li>
- <li xml:lang="x-test">xxReplay gain supportxx</li>
- </ul>
- </description>
- <url type="homepage">http://amarok.kde.org</url>
- <url type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&product=amarok</url>
- <url type="help">http://docs.kde.org/development/en/extragear-multimedia/amarok/index.html</url>
- <screenshots>
- <screenshot type="default">
- <image>http://kde.org/images/screenshots/amarok.png</image>
- </screenshot>
- <screenshot>
- <image>https://amarok.kde.org/files/Amarok2.7screenie.png</image>
- </screenshot>
- </screenshots>
- <project_group>KDE</project_group>
- <provides>
- <binary>amarok</binary>
- </provides>
-</component>
diff --git a/amarok.spec b/amarok.spec
index 45d20ca..070e479 100644
--- a/amarok.spec
+++ b/amarok.spec
@@ -7,21 +7,19 @@
Name: amarok
Summary: Media player
-Version: 2.8.0
-Release: 19%{?dist}
+Version: 2.8.90
+Release: 1%{?dist}
# KDE e.V. may determine that future GPL versions are accepted
License: GPLv2 or GPLv3
Url: http://amarok.kde.org/
-%global revision %(echo %{version} | cut -d. -f3)
-%if %{revision} >= 50
-%global stable unstable
-%else
+#global revision %(echo %{version} | cut -d. -f3)
+#if %{revision} >= 50
+#global stable unstable
+#else
%global stable stable
-%endif
-Source0: http://download.kde.org/%{stable}/amarok/%{version}/src/amarok-%{version}.tar.bz2
-# http://quickgit.kde.org/?p=amarok.git&a=blob&&f=src%2Famarok.appdata.xml&o=plain
-Source1: amarok.appdata.xml
+#endif
+Source0: http://download.kde.org/%{stable}/amarok/%{version}/src/amarok-%{version}.tar.xz
# Invoke a browser on the online UserBase documentation instead of KHelpCenter
# for the help contents if the amarok-doc subpackage is not installed.
@@ -33,13 +31,6 @@ Patch1: amarok-2.8.0-no_kdewebkit.patch
## upstreamable patches
## upstream patches
-Patch0004: 0004-Code-cleanup-and-added-comments.patch
-Patch0014: 0014-Fix-compilation-and-linking-issues.patch
-Patch0039: 0039-Optimization-Don-t-draw-more-than-necessary.patch
-Patch0055: 0055-Enable-Wikipedia-over-SSL.patch
-Patch0070: 0070-Rewrite-Block-Analyzer-to-use-pure-OpenGL-instead-of.patch
-Patch0071: 0071-Fix-rendering-glitch-introduced-with-commit-f4a3f4f.patch
-Patch0473: 0473-Fix-TagLib-version-check.patch
BuildRequires: curl-devel
BuildRequires: desktop-file-utils
@@ -50,7 +41,7 @@ BuildRequires: kdelibs4-devel >= 4.9
%if 0%{?kdewebkit}
BuildRequires: kdelibs4-webkit-devel
%endif
-%if 0%{?fedora} > 19
+%if 0%{?fedora} > 20
BuildRequires: libappstream-glib
%endif
%if 0%{?fedora} > 18 || 0%{?rhel} > 6
@@ -148,14 +139,6 @@ Requires: %{name} = %{version}-%{release}
%patch1 -p1 -b .no_kdewebkit
%endif
-%patch0004 -p1 -b .0004
-%patch0014 -p1 -b .0014
-%patch0039 -p1 -b .0039
-%patch0055 -p1 -b .0055
-%patch0070 -p1 -b .0070
-%patch0071 -p1 -b .0071
-%patch0473 -p1 -b .0473
-
%build
mkdir %{_target_platform}
@@ -169,9 +152,6 @@ make %{?_smp_mflags} -C %{_target_platform}
%install
make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
-test -f "%{buildroot}%{_kde4_datadir}/appdata/%{name}.appdata.xml" || \
-install -m644 -p -D %{SOURCE1} %{buildroot}%{_kde4_datadir}/appdata/%{name}.appdata.xml
-
%find_lang amarok --with-kde --without-mo && mv amarok.lang amarok-doc.lang
%find_lang amarok
%find_lang amarokcollectionscanner_qt
@@ -183,7 +163,9 @@ rm -fv %{buildroot}%{_kde4_libdir}/libamarok{-sqlcollection,_taglib,core,lib,pla
%check
-appstream-util validate-relax --nonet %{buildroot}%{_kde4_datadir}/appdata/%{name}.appdata.xml ||:
+%if 0%{?fedora} > 20
+appstream-util validate-relax --nonet %{buildroot}%{_kde4_datadir}/appdata/%{name}.appdata.xml
+%endif
desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/amarok.desktop
desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/amarok_containers.desktop
@@ -232,12 +214,19 @@ fi
%{_kde4_datadir}/kde4/services/amarok-data-engine-*.desktop
%{_kde4_datadir}/kde4/services/amarok_collection-audiocdcollection.desktop
%{_kde4_datadir}/kde4/services/amarok_collection-daapcollection.desktop
-%{_kde4_datadir}/kde4/services/amarok_collection-mysqlecollection.desktop
-%{_kde4_datadir}/kde4/services/amarok_collection-mysqlservercollection.desktop
+%{_kde4_datadir}/kde4/services/amarok_collection-mysqlcollection.desktop
%{_kde4_datadir}/kde4/services/amarok_collection-playdarcollection.desktop
%{_kde4_datadir}/kde4/services/amarok_collection-umscollection.desktop
%{_kde4_datadir}/kde4/services/amarok_collection-upnpcollection.desktop
+%{_kde4_datadir}/kde4/services/amarok_importer-amarok.desktop
+%{_kde4_datadir}/kde4/services/amarok_importer-banshee.desktop
+%{_kde4_datadir}/kde4/services/amarok_importer-clementine.desktop
+%{_kde4_datadir}/kde4/services/amarok_importer-fastforward.desktop
+%{_kde4_datadir}/kde4/services/amarok_importer-itunes.desktop
+%{_kde4_datadir}/kde4/services/amarok_importer-rhythmbox.desktop
%{_kde4_datadir}/kde4/services/amarok_service_*.desktop
+%{_kde4_datadir}/kde4/services/amarok_storage-mysqlestorage.desktop
+%{_kde4_datadir}/kde4/services/amarok_storage-mysqlserverstorage.desktop
%{_kde4_datadir}/kde4/services/*.protocol
%{_kde4_datadir}/kde4/services/ServiceMenus/amarok_append.desktop
%{_kde4_datadir}/kde4/servicetypes/*.desktop
@@ -250,15 +239,22 @@ fi
%{_kde4_libdir}/kde4/amarok_collection-ipodcollection.so
%{_kde4_libdir}/kde4/amarok_collection-mtpcollection.so
%endif
-%{_kde4_libdir}/kde4/amarok_collection-mysqlecollection.so
-%{_kde4_libdir}/kde4/amarok_collection-mysqlservercollection.so
+%{_kde4_libdir}/kde4/amarok_collection-mysqlcollection.so
%{_kde4_libdir}/kde4/amarok_collection-playdarcollection.so
%{_kde4_libdir}/kde4/amarok_collection-umscollection.so
%{_kde4_libdir}/kde4/amarok_collection-upnpcollection.so
%{_kde4_libdir}/kde4/amarok_containment_*.so
%{_kde4_libdir}/kde4/amarok_context_applet_*.so
%{_kde4_libdir}/kde4/amarok_data_engine_*.so
+%{_kde4_libdir}/kde4/amarok_importer-amarok.so
+%{_kde4_libdir}/kde4/amarok_importer-banshee.so
+%{_kde4_libdir}/kde4/amarok_importer-clementine.so
+%{_kde4_libdir}/kde4/amarok_importer-fastforward.so
+%{_kde4_libdir}/kde4/amarok_importer-itunes.so
+%{_kde4_libdir}/kde4/amarok_importer-rhythmbox.so
%{_kde4_libdir}/kde4/amarok_service_*.so
+%{_kde4_libdir}/kde4/amarok_storage-mysqlestorage.so
+%{_kde4_libdir}/kde4/amarok_storage-mysqlserverstorage.so
%{_kde4_libdir}/kde4/kcm_amarok_service*.so
%{_datadir}/dbus-1/interfaces/*.xml
%{_datadir}/mime/packages/amzdownloader.xml
@@ -293,6 +289,9 @@ fi
%changelog
+* Fri Sep 11 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.90-1
+- 2.8.90
+
* Fri Aug 28 2015 Rex Dieter <rdieter@fedoraproject.org> 2.8.0-19
- backport upstream FindTaglib.cmake fix
diff --git a/sources b/sources
index e1a5962..40aa601 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-53cfcb4819668b10e13b061478c7b32a amarok-2.8.0.tar.bz2
+a1c914cb0dac7cac4d0f7dc1a4c46179 amarok-2.8.90.tar.xz
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-06 18:32 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-06 18:32 [rpms/amarok] epel10.2: 2.8.90 Rex Dieter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox