Hello community,

here is the log from the commit of package qmmp for openSUSE:Factory checked in 
at 2013-10-11 09:03:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qmmp (Old)
 and      /work/SRC/openSUSE:Factory/.qmmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qmmp"

Changes:
--------
--- /work/SRC/openSUSE:Factory/qmmp/qmmp.changes        2013-08-28 
21:17:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.qmmp.new/qmmp.changes   2013-10-11 
09:03:11.000000000 +0200
@@ -1,0 +2,14 @@
+Thu Oct  3 14:03:30 UTC 2013 - [email protected]
+
+- Update to 0.7.3
+  * added window size and position saving to the projectm plugin
+  * disabled unsupported settings in the statusicon plugin under Windows
+  * fixed warnings about invalid parent thread
+  * fixed race condition
+  * fixed ReplayGain support in the flac plugin
+  * fixed parsing of the track/disc number with separator
+  * fixed tooltip in the status icon plugin under Windows
+  * fixed 'show tooltip' option in the status icon plugin
+  * removed unused variables
+
+-------------------------------------------------------------------

Old:
----
  qmmp-0.7.2.tar.bz2

New:
----
  qmmp-0.7.3.tar.bz2

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

Other differences:
------------------
++++++ qmmp.spec ++++++
--- /var/tmp/diff_new_pack.1Hcv7f/_old  2013-10-11 09:03:13.000000000 +0200
+++ /var/tmp/diff_new_pack.1Hcv7f/_new  2013-10-11 09:03:13.000000000 +0200
@@ -23,7 +23,7 @@
 %define soname 0
 
 Name:           qmmp
-Version:        0.7.2
+Version:        0.7.3
 Release:        0
 Summary:        XMMS-like audio player
 License:        GPL-2.0+

++++++ qmmp-0.7.2.tar.bz2 -> qmmp-0.7.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/ChangeLog new/qmmp-0.7.3/ChangeLog
--- old/qmmp-0.7.2/ChangeLog    2013-08-26 20:02:23.000000000 +0200
+++ new/qmmp-0.7.3/ChangeLog    2013-10-02 12:03:04.000000000 +0200
@@ -778,3 +778,14 @@
 * fixed possible segmentation fault
 * fixed title format update bug
 * removed unimplemented function
+
+Version 0.7.3
+* added window size and position saving to the projectm plugin
+* disabled unsupported settings in the statusicon plugin under Windows
+* fixed warnings about invalid parent thread
+* fixed race condition
+* fixed ReplayGain support in the flac plugin
+* fixed parsing of the track/disc number with separator
+* fixed tooltip in the status icon plugin under Windows
+* fixed 'show tooltip' option in the status icon plugin
+* removed unused variables
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/ChangeLog.rus new/qmmp-0.7.3/ChangeLog.rus
--- old/qmmp-0.7.2/ChangeLog.rus        2013-08-26 20:02:23.000000000 +0200
+++ new/qmmp-0.7.3/ChangeLog.rus        2013-10-02 12:03:04.000000000 +0200
@@ -782,3 +782,14 @@
 * исправлена возможная ошибка сегментации
 * исправлена ошибка обновления формата названия
 * удалена нереализованная функция
+
+Версия 0.7.3
+* добавлено сохранение размера и расположения окна в модуле projectm
+* отключены неподдерживыемые настройки в модуле statusicon под Windows
+* исправлены предупреждения вида "invalid parent thread"
+* исправлено состояние гонки
+* исправлена поддержка ReplayGain в модуле flac
+* исправлено чтение номера диска/трека с разделителем
+* исправлена всплывающая подсказка в модуле "status icon" под Windows
+* исправлена опция 'показывать подсказку' в модуле "status icon"
+* удалены неиспользуемые переменные
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/ChangeLog.svn new/qmmp-0.7.3/ChangeLog.svn
--- old/qmmp-0.7.2/ChangeLog.svn        2013-08-26 20:02:23.000000000 +0200
+++ new/qmmp-0.7.3/ChangeLog.svn        2013-10-02 12:03:04.000000000 +0200
@@ -1,4 +1,60 @@
 ------------------------------------------------------------------------
+r3739 | trialuser02 | 2013-10-02 11:46:26 +0400 (Ср., 02 окт. 2013) | 1 line
+
+fixed changelogs
+------------------------------------------------------------------------
+r3738 | trialuser02 | 2013-10-01 16:26:39 +0400 (Вт., 01 окт. 2013) | 1 line
+
+updated changelogs
+------------------------------------------------------------------------
+r3736 | trialuser02 | 2013-10-01 15:34:05 +0400 (Вт., 01 окт. 2013) | 1 line
+
+status icon plugin: fixed tooltip under windows, disabled unsupported 
functions, fixed 'show tooltip option' (Fixes issue 611)
+------------------------------------------------------------------------
+r3731 | trialuser02 | 2013-10-01 14:07:37 +0400 (Вт., 01 окт. 2013) | 1 line
+
+updated copyright
+------------------------------------------------------------------------
+r3728 | trialuser02 | 2013-10-01 13:52:45 +0400 (Вт., 01 окт. 2013) | 1 line
+
+fixed scrobbling of the .m4a files (backported from trunk) (Fixes issue 613)
+------------------------------------------------------------------------
+r3722 | trialuser02 | 2013-09-24 08:59:06 +0400 (Вт., 24 сент. 2013) | 1 line
+
+flac plugin: fixed replaygain support (backported from trunk)
+------------------------------------------------------------------------
+r3715 | trialuser02 | 2013-09-12 21:25:40 +0400 (Чт., 12 сент. 2013) | 1 line
+
+removed useless code
+------------------------------------------------------------------------
+r3713 | trialuser02 | 2013-09-12 19:55:25 +0400 (Чт., 12 сент. 2013) | 1 line
+
+fixed previous patch
+------------------------------------------------------------------------
+r3710 | trialuser02 | 2013-09-12 08:30:55 +0400 (Чт., 12 сент. 2013) | 1 line
+
+improved projectm plugin
+------------------------------------------------------------------------
+r3704 | trialuser02 | 2013-09-09 20:19:35 +0400 (Пн., 09 сент. 2013) | 1 line
+
+fixed race condition (backported from trunk)
+------------------------------------------------------------------------
+r3702 | trialuser02 | 2013-09-09 15:50:37 +0400 (Пн., 09 сент. 2013) | 1 line
+
+fixed warnings about invalid parent thread (backported from trunk)
+------------------------------------------------------------------------
+r3700 | trialuser02 | 2013-09-09 13:36:09 +0400 (Пн., 09 сент. 2013) | 1 line
+
+added missing destructor (backported from trunk)
+------------------------------------------------------------------------
+r3696 | trialuser02 | 2013-09-09 08:47:49 +0400 (Пн., 09 сент. 2013) | 1 line
+
+removed unused variables (backported from trunk)
+------------------------------------------------------------------------
+r3666 | trialuser02 | 2013-08-26 22:04:55 +0400 (Пн., 26 авг. 2013) | 1 line
+
+version bump
+------------------------------------------------------------------------
 r3658 | trialuser02 | 2013-08-24 21:49:09 +0400 (Сб., 24 авг. 2013) | 1 line
 
 updated changelogs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/qmmp.pri new/qmmp-0.7.3/qmmp.pri
--- old/qmmp-0.7.2/qmmp.pri     2013-08-26 20:02:23.000000000 +0200
+++ new/qmmp-0.7.3/qmmp.pri     2013-10-02 12:03:04.000000000 +0200
@@ -7,7 +7,7 @@
 
 #Version
 
-QMMP_VERSION = 0.7.2
+QMMP_VERSION = 0.7.3
 
 #Comment/uncomment this if you want to change plugins list
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/General/statusicon/qmmptrayicon.cpp 
new/qmmp-0.7.3/src/plugins/General/statusicon/qmmptrayicon.cpp
--- old/qmmp-0.7.2/src/plugins/General/statusicon/qmmptrayicon.cpp      
2013-08-26 20:02:13.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/General/statusicon/qmmptrayicon.cpp      
2013-10-02 12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2008-2012 by Ilya Kotov                                 *
+ *   Copyright (C) 2008-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -25,7 +25,9 @@
 #include <qmmp/soundcore.h>
 
 #include "qmmptrayicon.h"
+#ifdef Q_WS_X11
 #include "statusiconpopupwidget.h"
+#endif
 
 
 QmmpTrayIcon::QmmpTrayIcon(QObject *parent)
@@ -37,7 +39,7 @@
 QmmpTrayIcon::~QmmpTrayIcon()
 {
 }
-
+#ifdef Q_WS_X11
 void QmmpTrayIcon::showNiceToolTip(bool value)
 {
     m_showNiceToolTip = value;
@@ -84,3 +86,4 @@
         m_PopupWidget->showInfo(geometry().x(),geometry().y());
     }
 }
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/General/statusicon/qmmptrayicon.h 
new/qmmp-0.7.3/src/plugins/General/statusicon/qmmptrayicon.h
--- old/qmmp-0.7.2/src/plugins/General/statusicon/qmmptrayicon.h        
2013-08-26 20:02:13.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/General/statusicon/qmmptrayicon.h        
2013-10-02 12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2008-2012 by Ilya Kotov                                 *
+ *   Copyright (C) 2008-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -25,10 +25,12 @@
 
 class QEvent;
 class QWheelEvent;
+#ifdef Q_WS_X11
 class StatusIconPopupWidget;
+#endif
 
 /**
-       @author Ilya Kotov <[email protected]>
+    @author Ilya Kotov <[email protected]>
 */
 class QmmpTrayIcon : public QSystemTrayIcon
 {
@@ -37,17 +39,16 @@
     QmmpTrayIcon(QObject *parent = 0);
     ~QmmpTrayIcon();
 
+#ifdef Q_WS_X11
     void showNiceToolTip(bool value);
 
-protected:
-    bool event(QEvent *e);
-
 private:
+    bool event(QEvent *e);
     void wheelEvent(QWheelEvent *e);
     void showToolTip();
     bool m_showNiceToolTip;
     QPointer<StatusIconPopupWidget> m_PopupWidget;
-
+#endif
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/General/statusicon/settingsdialog.cpp 
new/qmmp-0.7.3/src/plugins/General/statusicon/settingsdialog.cpp
--- old/qmmp-0.7.2/src/plugins/General/statusicon/settingsdialog.cpp    
2013-08-26 20:02:13.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/General/statusicon/settingsdialog.cpp    
2013-10-02 12:02:53.000000000 +0200
@@ -33,17 +33,25 @@
     
ui.messageGroupBox->setChecked(settings.value("show_message",true).toBool());
     ui.messageDelaySpinBox->setValue(settings.value("message_delay", 
2000).toInt());
     ui.niceTooltipGroupBox->setChecked(settings.value("show_tooltip", 
true).toBool());
+#ifdef Q_WS_X11
     
ui.niceTooltipDelaySpinBox->setValue(settings.value("tooltip_delay",2000).toInt());
     
ui.transparencySlider->setValue(settings.value("tooltip_transparency",0).toInt());
     ui.coverSizeSlider->setValue(settings.value("tooltip_cover_size", 
100).toInt());
+    
ui.progressCheckBox->setChecked(settings.value("tooltip_progress",true).toBool());
     
ui.niceTooltipSplitCheckBox->setChecked(settings.value("split_file_name",true).toBool());
+#else
+    ui.niceTooltipDelaySpinBox->setEnabled(false);
+    ui.transparencySlider->setEnabled(false);
+    ui.coverSizeSlider->setEnabled(false);
+    ui.progressCheckBox->setEnabled(false);
+    ui.niceTooltipSplitCheckBox->setEnabled(false);
+    ui.templateButton->setEnabled(false);
+#endif
     
ui.standardIconsCheckBox->setChecked(settings.value("use_standard_icons",false).toBool());
-    
ui.progressCheckBox->setChecked(settings.value("tooltip_progress",true).toBool());
     m_template = settings.value("tooltip_template", 
DEFAULT_TEMPLATE).toString();
     settings.endGroup();
 }
 
-
 SettingsDialog::~SettingsDialog()
 {}
 
@@ -53,13 +61,15 @@
     settings.beginGroup("Tray");
     settings.setValue("show_message", ui.messageGroupBox->isChecked());
     settings.setValue("message_delay", ui.messageDelaySpinBox->value());
-    settings.setValue("split_file_name", 
ui.niceTooltipSplitCheckBox->isChecked());
     settings.setValue("use_standard_icons", 
ui.standardIconsCheckBox->isChecked());
     settings.setValue("show_tooltip", ui.niceTooltipGroupBox->isChecked());
+#ifdef Q_WS_X11
+    settings.setValue("split_file_name", 
ui.niceTooltipSplitCheckBox->isChecked());
     settings.setValue("tooltip_delay", ui.niceTooltipDelaySpinBox->value());
     settings.setValue("tooltip_transparency",  ui.transparencySlider->value());
     settings.setValue("tooltip_cover_size",  ui.coverSizeSlider->value());
     settings.setValue("tooltip_progress", ui.progressCheckBox->isChecked());
+#endif
     settings.setValue("tooltip_template", m_template);
     settings.endGroup();
     QDialog::accept();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/General/statusicon/statusicon.cpp 
new/qmmp-0.7.3/src/plugins/General/statusicon/statusicon.cpp
--- old/qmmp-0.7.2/src/plugins/General/statusicon/statusicon.cpp        
2013-08-26 20:02:13.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/General/statusicon/statusicon.cpp        
2013-10-02 12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2008-2012 by Ilya Kotov                                 *
+ *   Copyright (C) 2008-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -27,11 +27,10 @@
 #include <QEvent>
 #include <QStyle>
 #include <QApplication>
-
 #include <qmmp/soundcore.h>
 #include <qmmpui/mediaplayer.h>
 #include <qmmpui/uihelper.h>
-
+#include <qmmpui/metadataformatter.h>
 #include "qmmptrayicon.h"
 #include "statusicon.h"
 
@@ -48,11 +47,14 @@
     m_messageDelay = settings.value("message_delay", 2000).toInt();
     m_hideToTray = settings.value("hide_on_close", false).toBool();
     m_useStandardIcons = settings.value("use_standard_icons",false).toBool();
-    m_tray->showNiceToolTip(settings.value("show_nicetooltip",true).toBool());
+    m_tooltip = settings.value("show_tooltip",true).toBool();
+#ifdef Q_WS_X11
+    m_tray->showNiceToolTip(m_tooltip);
+#endif
     if(m_useStandardIcons)
         m_tray->setIcon(QApplication::style 
()->standardIcon(QStyle::SP_MediaStop));
     else
-        m_tray->setIcon ( QIcon(":/tray_stop.png"));
+        m_tray->setIcon(QIcon(":/tray_stop.png"));
     m_tray->show();
     settings.endGroup();
     //actions
@@ -109,6 +111,9 @@
             m_tray->setIcon(QApplication::style 
()->standardIcon(QStyle::SP_MediaStop));
         else
             m_tray->setIcon (QIcon(":/tray_stop.png"));
+#ifndef Q_WS_X11
+        m_tray->setToolTip("");
+#endif
         break;
     }
     }
@@ -116,15 +121,24 @@
 
 void StatusIcon::showMetaData()
 {
-    QString message = m_core->metaData(Qmmp::ARTIST) + " - " + 
m_core->metaData(Qmmp::TITLE);
-    if (message.startsWith (" - ") || message.endsWith (" - "))
-        message.remove(" - ");
+    MetaDataFormatter f("%p%if(%p&%t, - ,)%t");
+    QString message = f.parse(m_core->metaData());
     if (message.isEmpty())
         message = m_core->metaData(Qmmp::URL).section('/',-1);
 
     if (m_showMessage)
         m_tray->showMessage (tr("Now Playing"), message,
                              QSystemTrayIcon::Information, m_messageDelay);
+#ifndef Q_WS_X11
+    if(m_tooltip)
+    {
+        MetaDataFormatter f("%p%if(%p&%t, - ,)%t");
+        QString message = f.parse(m_core->metaData());
+        if(message.isEmpty())
+            message = m_core->metaData(Qmmp::URL).section('/',-1);
+        m_tray->setToolTip(f.parse(m_core->metaData()));
+    }
+#endif
 }
 
 void StatusIcon::trayActivated(QSystemTrayIcon::ActivationReason reason)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/General/statusicon/statusicon.h 
new/qmmp-0.7.3/src/plugins/General/statusicon/statusicon.h
--- old/qmmp-0.7.2/src/plugins/General/statusicon/statusicon.h  2013-08-26 
20:02:13.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/General/statusicon/statusicon.h  2013-10-02 
12:02:53.000000000 +0200
@@ -53,6 +53,7 @@
     bool m_showMessage;
     bool m_hideToTray;
     bool m_useStandardIcons;
+    bool m_tooltip;
     int m_messageDelay;
     SoundCore *m_core;
     MediaPlayer *m_player;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Input/flac/replaygainreader.cpp 
new/qmmp-0.7.3/src/plugins/Input/flac/replaygainreader.cpp
--- old/qmmp-0.7.2/src/plugins/Input/flac/replaygainreader.cpp  2013-08-26 
20:02:12.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/Input/flac/replaygainreader.cpp  2013-10-02 
12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2009-2012 by Ilya Kotov                                 *
+ *   Copyright (C) 2009-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -27,13 +27,13 @@
 
 ReplayGainReader::ReplayGainReader(const QString &path)
 {
-    if(path.endsWith("*.flac"))
+    if(path.endsWith(".flac"))
     {
         TagLib::FLAC::File fileRef(path.toLocal8Bit ().constData());
         if(fileRef.xiphComment())
             readVorbisComment(fileRef.xiphComment());
     }
-    else if(path.endsWith("*.oga"))
+    else if(path.endsWith(".oga"))
     {
         TagLib::Ogg::FLAC::File fileRef(path.toLocal8Bit ().constData());
         if(fileRef.tag())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/CMakeLists.txt 
new/qmmp-0.7.3/src/plugins/Visual/projectm/CMakeLists.txt
--- old/qmmp-0.7.2/src/plugins/Visual/projectm/CMakeLists.txt   2013-08-26 
20:02:12.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/Visual/projectm/CMakeLists.txt   2013-10-02 
12:02:53.000000000 +0200
@@ -7,7 +7,8 @@
 include(${QT_USE_FILE})
 
 if(COMMAND cmake_policy)
-cmake_policy(SET CMP0003 NEW)
+  cmake_policy(SET CMP0003 NEW)
+  cmake_policy(SET CMP0005 OLD)
 endif(COMMAND cmake_policy)
 
 # qt plugin
@@ -38,6 +39,14 @@
 ADD_DEFINITIONS(-DPROJECTM_20)
 ENDIF(PROJECTM_20_FOUND)
 
+find_file(PROJECTM_CONFIG config.inp
+          PATHS "/usr/share/projectM/" "/usr/local/share/projectM/")
+
+IF(PROJECTM_CONFIG)
+ADD_DEFINITIONS(-DPROJECTM_CONFIG=\\\"${PROJECTM_CONFIG}\\\")
+MESSAGE(STATUS "Found projectM configuration: ${PROJECTM_CONFIG}")
+ENDIF(PROJECTM_CONFIG)
+
 SET(libprojectm_SRCS
     projectmwidget.cpp
     projectmplugin.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/plugins/Visual/projectm/projectm.pro 
new/qmmp-0.7.3/src/plugins/Visual/projectm/projectm.pro
--- old/qmmp-0.7.2/src/plugins/Visual/projectm/projectm.pro     2013-08-26 
20:02:12.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/Visual/projectm/projectm.pro     2013-10-02 
12:02:53.000000000 +0200
@@ -14,8 +14,7 @@
            visualprojectmfactory.cpp \
            projectmwidget.cpp
 INCLUDEPATH += ../../../
-CONFIG += release \
-warn_on \
+CONFIG += warn_on \
 plugin \
 link_pkgconfig
 
@@ -45,3 +44,14 @@
 }
 target.path = $$LIB_DIR/qmmp/Visual
 INSTALLS += target
+
+#projectM config path
+PROJECTM_CONFIG_FILES = /usr/share/projectM/config.inp \
+                        /usr/local/share/projectM/config.inp
+
+for(path, PROJECTM_CONFIG_FILES) {
+  exists($$path) {
+     message ("found projectm configuration: "$$path)
+     DEFINES += PROJECTM_CONFIG=\\\"$$path\\\"
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmplugin.cpp 
new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmplugin.cpp
--- old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmplugin.cpp       
2013-08-26 20:02:12.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmplugin.cpp       
2013-10-02 12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2009 by Ilya Kotov                                      *
+ *   Copyright (C) 2009-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -27,7 +27,6 @@
 #include <stdlib.h>
 #include <locale.h>
 #include <libprojectM/projectM.hpp>
-
 #include <qmmp/buffer.h>
 #include <qmmp/output.h>
 #include "projectmwidget.h"
@@ -36,14 +35,16 @@
 ProjectMPlugin::ProjectMPlugin (QWidget *parent)
         : Visual (parent)
 {
-    setlocale(LC_NUMERIC, "C"); //fixes none-english locales problem
+    setlocale(LC_NUMERIC, "C"); //fixes problem with none-english locales
     setWindowTitle(tr("ProjectM"));
     m_projectMWidget = new ProjectMWidget(this);
     QHBoxLayout *layout = new QHBoxLayout;
     layout->addWidget(m_projectMWidget);
     layout->setContentsMargins(0,0,0,0);
     setLayout(layout);
-    resize(300,300); //TODO save/load geometry
+    resize(300,300);
+    QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+    restoreGeometry(settings.value("ProjectM/geometry").toByteArray());
 }
 
 ProjectMPlugin::~ProjectMPlugin()
@@ -61,3 +62,11 @@
     if (m_projectMWidget->projectMInstance())
         m_projectMWidget->projectMInstance()->pcm()->addPCM16Data((short 
*)data, size/4);
 }
+
+void ProjectMPlugin::closeEvent (QCloseEvent *event)
+{
+    //save geometry
+    QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+    settings.setValue("ProjectM/geometry", saveGeometry());
+    Visual::closeEvent(event); //removes visualization object
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmplugin.h 
new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmplugin.h
--- old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmplugin.h 2013-08-26 
20:02:12.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmplugin.h 2013-10-02 
12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2009-2012 by Ilya Kotov                                 *
+ *   Copyright (C) 2009-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -39,6 +39,7 @@
     void clear();
 
 private:
+    void closeEvent(QCloseEvent *event);
     QTimer *m_timer;
     ProjectMWidget *m_projectMWidget;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmwidget.cpp 
new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmwidget.cpp
--- old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmwidget.cpp       
2013-08-26 20:02:12.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmwidget.cpp       
2013-10-02 12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2009 by Ilya Kotov                                      *
+ *   Copyright (C) 2009-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   Copyright (C) 2007 by  projectM team                                  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmwidget.h 
new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmwidget.h
--- old/qmmp-0.7.2/src/plugins/Visual/projectm/projectmwidget.h 2013-08-26 
20:02:12.000000000 +0200
+++ new/qmmp-0.7.3/src/plugins/Visual/projectm/projectmwidget.h 2013-10-02 
12:02:53.000000000 +0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2009 by Ilya Kotov                                      *
+ *   Copyright (C) 2009-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -58,11 +58,9 @@
     void updateTitle();
 
 private:
+    void createActions();
     projectM *m_projectM;
     QMenu *m_menu;
-    void createActions();
-
-
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_cs.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_cs.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_cs.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_cs.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_de.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_de.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_de.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_de.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_es.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_es.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_es.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_es.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_fr.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_fr.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_fr.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_fr.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished"></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_he.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_he.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_he.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_he.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_hu.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_hu.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_hu.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_hu.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished"></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_it.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_it.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_it.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_it.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>Visualizzatore musicale ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_ja.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_ja.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_ja.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_ja.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_kk.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_kk.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_kk.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_kk.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished"></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_lt.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_lt.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_lt.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_lt.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_nl.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_nl.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_nl.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_nl.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_pl_PL.ts
 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_pl_PL.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_pl_PL.ts
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_pl_PL.ts
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_pt_BR.ts
 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_pt_BR.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_pt_BR.ts
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_pt_BR.ts
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished"></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_ru.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_ru.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_ru.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_ru.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished"></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_sk.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_sk.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_sk.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_sk.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished"></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_tr.ts 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_tr.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_tr.ts   
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_tr.ts   
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation>ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_uk_UA.ts
 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_uk_UA.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_uk_UA.ts
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_uk_UA.ts
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation></translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_zh_CN.ts
 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_zh_CN.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_zh_CN.ts
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_zh_CN.ts
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished">projectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_zh_TW.ts
 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_zh_TW.ts
--- 
old/qmmp-0.7.2/src/plugins/Visual/projectm/translations/projectm_plugin_zh_TW.ts
    2013-08-26 20:02:12.000000000 +0200
+++ 
new/qmmp-0.7.3/src/plugins/Visual/projectm/translations/projectm_plugin_zh_TW.ts
    2013-10-02 12:02:53.000000000 +0200
@@ -4,7 +4,7 @@
 <context>
     <name>ProjectMPlugin</name>
     <message>
-        <location filename="../projectmplugin.cpp" line="40"/>
+        <location filename="../projectmplugin.cpp" line="39"/>
         <source>ProjectM</source>
         <translation type="unfinished">ProjectM</translation>
     </message>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/qmmp/abstractengine.cpp 
new/qmmp-0.7.3/src/qmmp/abstractengine.cpp
--- old/qmmp-0.7.2/src/qmmp/abstractengine.cpp  2013-08-26 20:02:11.000000000 
+0200
+++ new/qmmp-0.7.3/src/qmmp/abstractengine.cpp  2013-10-02 12:02:52.000000000 
+0200
@@ -32,6 +32,10 @@
 {
 }
 
+AbstractEngine::~AbstractEngine()
+{
+}
+
 QMutex *AbstractEngine::mutex()
 {
     return &m_mutex;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/qmmp/abstractengine.h 
new/qmmp-0.7.3/src/qmmp/abstractengine.h
--- old/qmmp-0.7.2/src/qmmp/abstractengine.h    2013-08-26 20:02:11.000000000 
+0200
+++ new/qmmp-0.7.3/src/qmmp/abstractengine.h    2013-10-02 12:02:52.000000000 
+0200
@@ -45,6 +45,10 @@
      */
     AbstractEngine(QObject *parent = 0);
     /*!
+     * Destructor.
+     */
+    virtual ~AbstractEngine();
+    /*!
      * Prepares decoder for usage.
      * Subclass should reimplement this function.
      */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/qmmp/fileinfo.cpp 
new/qmmp-0.7.3/src/qmmp/fileinfo.cpp
--- old/qmmp-0.7.2/src/qmmp/fileinfo.cpp        2013-08-26 20:02:11.000000000 
+0200
+++ new/qmmp-0.7.3/src/qmmp/fileinfo.cpp        2013-10-02 12:02:52.000000000 
+0200
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2008-2009 by Ilya Kotov                                 *
+ *   Copyright (C) 2008-2013 by Ilya Kotov                                 *
  *   [email protected]                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -98,7 +98,13 @@
 
 void FileInfo::setMetaData(Qmmp::MetaData key, const QString &value)
 {
-    if (!value.isEmpty() && value != "0")
+    if (value.isEmpty() || value == "0")
+        return;
+
+    //extract track number from "Track Number/Total Tracks Number" string
+    if((key == Qmmp::TRACK || key == Qmmp::DISCNUMBER) && value.contains("/"))
+        m_metaData.insert(key, value.section("/",0,0));
+    else
         m_metaData.insert(key, value);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/qmmp/qmmp.h 
new/qmmp-0.7.3/src/qmmp/qmmp.h
--- old/qmmp-0.7.2/src/qmmp/qmmp.h      2013-08-26 20:02:24.000000000 +0200
+++ new/qmmp-0.7.3/src/qmmp/qmmp.h      2013-10-02 12:03:04.000000000 +0200
@@ -24,7 +24,7 @@
 
 #define QMMP_VERSION_MAJOR 0
 #define QMMP_VERSION_MINOR 7
-#define QMMP_VERSION_PATCH 2
+#define QMMP_VERSION_PATCH 3
 #define QMMP_VERSION_STABLE 1
 
 #define QMMP_VERSION_INT (QMMP_VERSION_MAJOR<<16 | QMMP_VERSION_MINOR<<8 | 
QMMP_VERSION_PATCH)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/qmmp/qmmpaudioengine.cpp 
new/qmmp-0.7.3/src/qmmp/qmmpaudioengine.cpp
--- old/qmmp-0.7.2/src/qmmp/qmmpaudioengine.cpp 2013-08-26 20:02:11.000000000 
+0200
+++ new/qmmp-0.7.3/src/qmmp/qmmpaudioengine.cpp 2013-10-02 12:02:52.000000000 
+0200
@@ -381,8 +381,9 @@
             else if(!m_decoders.isEmpty())
             {
                 m_inputs.take(m_decoder)->deleteLater ();
-                delete m_decoder;
+                Decoder *d = m_decoder;
                 m_decoder = m_decoders.dequeue();
+                delete d;
                 //m_seekTime = m_inputs.value(m_decoder)->offset();
                 m_replayGain->setReplayGainInfo(m_decoder->replayGainInfo());
                 //use current output if possible
@@ -447,8 +448,9 @@
     if(m_decoder)
     {
         m_inputs.take(m_decoder)->deleteLater ();
-        delete m_decoder;
+        Decoder *d = m_decoder;
         m_decoder = 0;
+        delete d;
     }
 
     mutex()->lock ();
@@ -531,7 +533,7 @@
 
 OutputWriter *QmmpAudioEngine::createOutput()
 {
-    OutputWriter *output = new OutputWriter(this);
+    OutputWriter *output = new OutputWriter(0);
     if (!output->initialize(m_ap.sampleRate(), m_ap.channels(), m_ap.format()))
     {
         delete output;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/qmmp/soundcore.cpp 
new/qmmp-0.7.3/src/qmmp/soundcore.cpp
--- old/qmmp-0.7.2/src/qmmp/soundcore.cpp       2013-08-26 20:02:11.000000000 
+0200
+++ new/qmmp-0.7.3/src/qmmp/soundcore.cpp       2013-10-02 12:02:52.000000000 
+0200
@@ -43,12 +43,10 @@
     if(m_instance)
         qFatal("SoundCore: only one instance is allowed");
     m_instance = this;
-    m_decoder = 0;
-    m_parentWidget = 0;
     m_engine = 0;
     m_nextState = NO_ENGINE;
     m_handler = new StateHandler(this);
-     m_volumeControl = new VolumeControl(this);
+    m_volumeControl = new VolumeControl(this);
     connect(m_handler, SIGNAL(elapsedChanged(qint64)), 
SIGNAL(elapsedChanged(qint64)));
     connect(m_handler, SIGNAL(bitrateChanged(int)), 
SIGNAL(bitrateChanged(int)));
     connect(m_handler, SIGNAL(frequencyChanged(quint32)), 
SIGNAL(frequencyChanged(quint32)));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qmmp-0.7.2/src/qmmp/soundcore.h 
new/qmmp-0.7.3/src/qmmp/soundcore.h
--- old/qmmp-0.7.2/src/qmmp/soundcore.h 2013-08-26 20:02:11.000000000 +0200
+++ new/qmmp-0.7.3/src/qmmp/soundcore.h 2013-10-02 12:02:52.000000000 +0200
@@ -31,7 +31,6 @@
 #include "qmmpsettings.h"
 #include "eqsettings.h"
 
-class QIODevice;
 class VolumeControl;
 class AbstractEngine;
 class InputSource;
@@ -225,10 +224,7 @@
     };
     QMap <Qmmp::MetaData, QString> m_metaData;
     QHash <QString, QString> m_streamInfo;
-    Decoder* m_decoder;
     QString m_url;
-    QList <Visual*> m_visuals;
-    QWidget *m_parentWidget;
     static SoundCore* m_instance;
     StateHandler *m_handler;
     VolumeControl *m_volumeControl;

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to