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]
