diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-08-12 21:03:34 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-08-12 21:03:34 +0000 |
| commit | 7ef8d11baeaf1847ba7f1df5d858f8cffea9300d (patch) | |
| tree | a741fb49db8834efd4b46d760b89082547eb2a9d | |
| parent | 6f301f5880f7efce76ed46e7b502830642b87370 (diff) | |
| download | qmmp-7ef8d11baeaf1847ba7f1df5d858f8cffea9300d.tar.gz qmmp-7ef8d11baeaf1847ba7f1df5d858f8cffea9300d.tar.bz2 qmmp-7ef8d11baeaf1847ba7f1df5d858f8cffea9300d.zip | |
coding style fixes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9470 90c681e8-e032-0410-971d-27865f9a5e38
179 files changed, 775 insertions, 1090 deletions
diff --git a/src/plugins/Effect/bs2b/bs2bplugin.cpp b/src/plugins/Effect/bs2b/bs2bplugin.cpp index 5460e4c9a..74a89b246 100644 --- a/src/plugins/Effect/bs2b/bs2bplugin.cpp +++ b/src/plugins/Effect/bs2b/bs2bplugin.cpp @@ -26,13 +26,12 @@ Bs2bPlugin *Bs2bPlugin::m_instance = nullptr; -Bs2bPlugin::Bs2bPlugin() : Effect() +Bs2bPlugin::Bs2bPlugin() : Effect(), + m_bs2b_handler(bs2b_open()) { m_instance = this; - m_bs2b_handler = bs2b_open(); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); bs2b_set_level(m_bs2b_handler, settings.value("bs2b/level", BS2B_DEFAULT_CLEVEL).toUInt()); - m_chan = 0; } Bs2bPlugin::~Bs2bPlugin() diff --git a/src/plugins/Effect/bs2b/bs2bplugin.h b/src/plugins/Effect/bs2b/bs2bplugin.h index c75256fee..6cff0be39 100644 --- a/src/plugins/Effect/bs2b/bs2bplugin.h +++ b/src/plugins/Effect/bs2b/bs2bplugin.h @@ -42,7 +42,7 @@ public: private: t_bs2bdp m_bs2b_handler; - int m_chan; + int m_chan = 0; QMutex m_mutex; static Bs2bPlugin *m_instance; }; diff --git a/src/plugins/Effect/ladspa/ladspabutton.h b/src/plugins/Effect/ladspa/ladspabutton.h index e29813b20..851cb3493 100644 --- a/src/plugins/Effect/ladspa/ladspabutton.h +++ b/src/plugins/Effect/ladspa/ladspabutton.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -33,7 +33,7 @@ class LADSPAButton : public QCheckBox { Q_OBJECT public: - LADSPAButton(LADSPA_Data *value, QWidget *parent = nullptr); + explicit LADSPAButton(LADSPA_Data *value, QWidget *parent = nullptr); private slots: void enable(bool yes); diff --git a/src/plugins/Effect/ladspa/ladspahost.cpp b/src/plugins/Effect/ladspa/ladspahost.cpp index 0a15b1875..15fe49815 100644 --- a/src/plugins/Effect/ladspa/ladspahost.cpp +++ b/src/plugins/Effect/ladspa/ladspahost.cpp @@ -1,7 +1,7 @@ /*************************************************************************** * Copyright (C) 2002-2003 Nick Lamb <njl195@zepler.org.uk> * * Copyright (C) 2005 Giacomo Lozito <city_hunter@users.sf.net> * - * Copyright (C) 2009-2020 by Ilya Kotov <forkotov02@ya.ru> * + * Copyright (C) 2009-2020 by Ilya Kotov <forkotov02@ya.ru> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -27,6 +27,7 @@ #include <math.h> #include <stdlib.h> #include <dlfcn.h> +#include <algorithm> #include <qmmp/qmmp.h> #include <qmmp/audioparameters.h> #include "ladspahost.h" @@ -45,26 +46,18 @@ LADSPAHost::LADSPAHost(QObject *parent) : QObject(parent) loadModules(); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - int p = settings.value("LADSPA/plugins_number", 0).toInt(); - for(int i = 0; i < p; ++i) + int pluginNumber = settings.value("LADSPA/plugin_number", 0).toInt(); + for(int i = 0; i < pluginNumber; ++i) { QString section = QString("LADSPA_%1/").arg(i); settings.beginGroup(section); int id = settings.value("id").toInt(); - - LADSPAPlugin *plugin = nullptr; - for(LADSPAPlugin *p : plugins()) - { - if(p->unique_id == id) - { - plugin = p; - break; - } - } - if(!plugin) + auto it = std::find_if(m_plugins.cbegin(), m_plugins.cend(), [id](LADSPAPlugin *p){ return p->unique_id = id; }); + if(it == m_plugins.cend()) continue; + LADSPAPlugin *plugin = *it; LADSPAEffect *effect = createEffect(plugin); for(LADSPAControl *c : qAsConst(effect->controls)) c->value = settings.value(QString("port%1").arg(c->port), c->value).toFloat(); @@ -78,11 +71,11 @@ LADSPAHost::~LADSPAHost() { m_instance = nullptr; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - for(int i = 0; i < settings.value("LADSPA/plugins_number", 0).toInt(); ++i) + for(int i = 0; i < settings.value("LADSPA/plugin_number", 0).toInt(); ++i) { settings.remove(QString("LADSPA_%1/").arg(i)); } - settings.setValue("LADSPA/plugins_number", m_effects.count()); + settings.setValue("LADSPA/plugin_number", m_effects.count()); for(int i = 0; i < m_effects.count(); ++i) { QString section = QString("LADSPA_%1/").arg(i); @@ -388,12 +381,12 @@ void LADSPAHost::deactivateEffect(LADSPAEffect *e) e->handles.clear(); } -QList <LADSPAPlugin *> LADSPAHost::plugins() +const QList<LADSPAPlugin *> &LADSPAHost::plugins() const { return m_plugins; } -QList <LADSPAEffect *> LADSPAHost::effects() +const QList <LADSPAEffect *> &LADSPAHost::effects() const { return m_effects; } diff --git a/src/plugins/Effect/ladspa/ladspahost.h b/src/plugins/Effect/ladspa/ladspahost.h index 131f874bd..02f260b91 100644 --- a/src/plugins/Effect/ladspa/ladspahost.h +++ b/src/plugins/Effect/ladspa/ladspahost.h @@ -1,7 +1,7 @@ /*************************************************************************** * Copyright (C) 2002,2003 Nick Lamb <njl195@zepler.org.uk> * * Copyright (C) 2005 Giacomo Lozito <city_hunter@users.sf.net> * - * Copyright (C) 2009-2020 by Ilya Kotov <forkotov02@ya.ru> * + * Copyright (C) 2009-2020 by Ilya Kotov <forkotov02@ya.ru> * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -77,14 +77,14 @@ class LADSPAHost : public QObject { Q_OBJECT public: - LADSPAHost(QObject *parent); + explicit LADSPAHost(QObject *parent); virtual ~LADSPAHost(); int applyEffect(float *data, size_t samples); void configure(quint32 freq, int chan); - QList <LADSPAPlugin *> plugins(); - QList <LADSPAEffect *> effects(); + const QList<LADSPAPlugin *> &plugins() const; + const QList<LADSPAEffect *> &effects() const; void load(LADSPAPlugin *plugin); void unload(LADSPAEffect *effect); diff --git a/src/plugins/Engines/mplayer/mplayerengine.h b/src/plugins/Engines/mplayer/mplayerengine.h index 5243282c8..b0edff08b 100644 --- a/src/plugins/Engines/mplayer/mplayerengine.h +++ b/src/plugins/Engines/mplayer/mplayerengine.h @@ -45,7 +45,7 @@ class MplayerEngine : public AbstractEngine { Q_OBJECT public: - MplayerEngine(QObject *parent); + explicit MplayerEngine(QObject *parent); virtual ~MplayerEngine(); // Engine API diff --git a/src/plugins/Engines/mplayer/mplayermetadatamodel.cpp b/src/plugins/Engines/mplayer/mplayermetadatamodel.cpp index 11e781b0e..73c7a2ff5 100644 --- a/src/plugins/Engines/mplayer/mplayermetadatamodel.cpp +++ b/src/plugins/Engines/mplayer/mplayermetadatamodel.cpp @@ -25,10 +25,9 @@ #include "mplayermetadatamodel.h" MplayerMetaDataModel::MplayerMetaDataModel(const QString &path) - : MetaDataModel(true, MetaDataModel::CompletePropertyList) -{ - m_path = path; -} + : MetaDataModel(true, MetaDataModel::CompletePropertyList), + m_path(path) +{} MplayerMetaDataModel::~MplayerMetaDataModel() {} diff --git a/src/plugins/Engines/mplayer/mplayermetadatamodel.h b/src/plugins/Engines/mplayer/mplayermetadatamodel.h index 742ac4b72..3bef60256 100644 --- a/src/plugins/Engines/mplayer/mplayermetadatamodel.h +++ b/src/plugins/Engines/mplayer/mplayermetadatamodel.h @@ -27,7 +27,7 @@ class MplayerMetaDataModel : public MetaDataModel { Q_DECLARE_TR_FUNCTIONS(MplayerMetaDataModel) public: - MplayerMetaDataModel(const QString &path); + explicit MplayerMetaDataModel(const QString &path); ~MplayerMetaDataModel(); QList<MetaDataItem> extraProperties() const override; diff --git a/src/plugins/General/fileops/hotkeydialog.cpp b/src/plugins/General/fileops/hotkeydialog.cpp index 3725bb826..f377432e6 100644 --- a/src/plugins/General/fileops/hotkeydialog.cpp +++ b/src/plugins/General/fileops/hotkeydialog.cpp @@ -24,8 +24,8 @@ HotkeyDialog::HotkeyDialog(const QString &key, QWidget *parent) : QDialog(parent) { - ui.setupUi(this); - ui.keyLineEdit->setText(key); + m_ui.setupUi(this); + m_ui.keyLineEdit->setText(key); } HotkeyDialog::~HotkeyDialog() @@ -47,16 +47,16 @@ void HotkeyDialog::keyPressEvent (QKeyEvent *event) case Qt::Key_Menu: case 0: case Qt::Key_unknown: - ui.keyLineEdit->clear(); + m_ui.keyLineEdit->clear(); QWidget::keyPressEvent(event); return; } QKeySequence seq(event->modifiers() + event->key()); - ui.keyLineEdit->setText(seq.toString()); + m_ui.keyLineEdit->setText(seq.toString()); QWidget::keyPressEvent(event); } const QString HotkeyDialog::key() { - return ui.keyLineEdit->text(); + return m_ui.keyLineEdit->text(); } diff --git a/src/plugins/General/fileops/hotkeydialog.h b/src/plugins/General/fileops/hotkeydialog.h index bf37bfea1..505b4cf90 100644 --- a/src/plugins/General/fileops/hotkeydialog.h +++ b/src/plugins/General/fileops/hotkeydialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -33,7 +33,7 @@ class HotkeyDialog : public QDialog { Q_OBJECT public: - HotkeyDialog(const QString &key, QWidget *parent = nullptr); + explicit HotkeyDialog(const QString &key, QWidget *parent = nullptr); ~HotkeyDialog(); @@ -43,7 +43,7 @@ protected: virtual void keyPressEvent (QKeyEvent *event) override; private: - Ui::HotkeyDialog ui; + Ui::HotkeyDialog m_ui; }; diff --git a/src/plugins/General/fileops/settingsdialog.cpp b/src/plugins/General/fileops/settingsdialog.cpp index 46b66403c..13d5e3c09 100644 --- a/src/plugins/General/fileops/settingsdialog.cpp +++ b/src/plugins/General/fileops/settingsdialog.cpp @@ -109,7 +109,7 @@ void SettingsDialog::accept() QComboBox *comboBox = qobject_cast<QComboBox *>(m_ui.tableWidget->cellWidget (i, 1)); settings.setValue (QString("action_%1").arg(i), comboBox->itemData (comboBox->currentIndex())); - ActionItem *item = (ActionItem *) m_ui.tableWidget->item(i,2); + ActionItem *item = dynamic_cast<ActionItem *>(m_ui.tableWidget->item(i,2)); settings.setValue (QString("name_%1").arg(i), item->text()); settings.setValue (QString("pattern_%1").arg(i), item->pattern()); settings.setValue (QString("destination_%1").arg(i), item->destination()); @@ -158,7 +158,7 @@ void SettingsDialog::updateLineEdits() { if (m_ui.tableWidget->currentRow () >= 0) { - ActionItem *item = (ActionItem *) m_ui.tableWidget->item(m_ui.tableWidget->currentRow (), 2); + ActionItem *item = dynamic_cast<ActionItem *>(m_ui.tableWidget->item(m_ui.tableWidget->currentRow (), 2)); m_ui.destinationEdit->setText(item->destination()); m_ui.patternEdit->setText(item->pattern()); @@ -200,7 +200,7 @@ void SettingsDialog::on_destinationEdit_textChanged(QString dest) { if (m_ui.tableWidget->currentRow () >= 0) { - ActionItem *item = (ActionItem *) m_ui.tableWidget->item(m_ui.tableWidget->currentRow (), 2); + ActionItem *item = dynamic_cast<ActionItem *>(m_ui.tableWidget->item(m_ui.tableWidget->currentRow (), 2)); item->setDestination(dest); } } @@ -209,7 +209,7 @@ void SettingsDialog::on_patternEdit_textChanged(QString pattern) { if (m_ui.tableWidget->currentRow () >= 0) { - ActionItem *item = (ActionItem *) m_ui.tableWidget->item(m_ui.tableWidget->currentRow (), 2); + ActionItem *item = dynamic_cast<ActionItem *>(m_ui.tableWidget->item(m_ui.tableWidget->currentRow (), 2)); item->setPattern(pattern); } } diff --git a/src/plugins/General/fileops/settingsdialog.h b/src/plugins/General/fileops/settingsdialog.h index 6691e85c8..b8377bd8f 100644 --- a/src/plugins/General/fileops/settingsdialog.h +++ b/src/plugins/General/fileops/settingsdialog.h @@ -58,24 +58,24 @@ private: class ActionItem: public QTableWidgetItem { public: - ActionItem (const QString &text): QTableWidgetItem(text){} + explicit ActionItem (const QString &text): QTableWidgetItem(text){} - QString pattern() + inline const QString &pattern() const { return m_pattern; } - QString destination() + inline const QString &destination() const { return m_destination; } - void setPattern(const QString &pattern) + inline void setPattern(const QString &pattern) { m_pattern = pattern; } - void setDestination(const QString &dest) + inline void setDestination(const QString &dest) { m_destination = dest; } diff --git a/src/plugins/General/hal/haldevice.cpp b/src/plugins/General/hal/haldevice.cpp index 54ba54fb2..446a8dcd6 100644 --- a/src/plugins/General/hal/haldevice.cpp +++ b/src/plugins/General/hal/haldevice.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * Copyright (C) 2006 by Kevin Ottens <ervin@kde.org> * @@ -88,7 +88,7 @@ HalDevice::~HalDevice() { } -QString HalDevice::udi() const +const QString &HalDevice::udi() const { return m_udi; } diff --git a/src/plugins/General/hal/haldevice.h b/src/plugins/General/hal/haldevice.h index 08583fe0e..f220eb8ff 100644 --- a/src/plugins/General/hal/haldevice.h +++ b/src/plugins/General/hal/haldevice.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * Copyright (C) 2006 by Kevin Ottens <ervin@kde.org> * @@ -46,12 +46,12 @@ class HalDevice : public QObject { Q_OBJECT public: - HalDevice(const QString &udi, QObject *parent = nullptr); + explicit HalDevice(const QString &udi, QObject *parent = nullptr); ~HalDevice(); QVariant property (const QString &key); - QString udi() const; + const QString &udi() const; signals: void propertyModified(int count, const QList<ChangeDescription> &changes); diff --git a/src/plugins/General/hal/halplugin.cpp b/src/plugins/General/hal/halplugin.cpp index 5c4bb9c0d..868144fc4 100644 --- a/src/plugins/General/hal/halplugin.cpp +++ b/src/plugins/General/hal/halplugin.cpp @@ -22,6 +22,7 @@ #include <QActionGroup> #include <QApplication> #include <QStyle> +#include <algorithm> #include <qmmpui/uihelper.h> #include <qmmpui/mediaplayer.h> #include <qmmpui/playlistmanager.h> @@ -83,11 +84,9 @@ void HalPlugin::removeDevice(const QString &udi) void HalPlugin::addDevice(const QString &udi) { - for(const HalDevice *device : qAsConst(m_devices)) //is it already exists? - { - if (device->udi() == udi) - return; - } + if(std::any_of(m_devices.cbegin(), m_devices.cend(), [udi](const HalDevice *device) { return device->udi() == udi; })) + return; + HalDevice *device = new HalDevice(udi, this); QStringList caps = device->property("info.capabilities").toStringList(); if (!caps.contains("block") || !caps.contains("volume") || diff --git a/src/plugins/General/history/historywindow.cpp b/src/plugins/General/history/historywindow.cpp index cbd7439d2..8880b3c7c 100644 --- a/src/plugins/General/history/historywindow.cpp +++ b/src/plugins/General/history/historywindow.cpp @@ -192,7 +192,7 @@ void HistoryWindow::loadDistribution() QString dayStr = date.toString(tr("dd MMMM")); int topLevelCount = m_ui->distributionTreeWidget->topLevelItemCount(); - if(!topLevelCount) + if(!topLevelCount || m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->text(0) != monthStr) { m_ui->distributionTreeWidget->addTopLevelItem(new QTreeWidgetItem()); m_ui->distributionTreeWidget->topLevelItem(topLevelCount++)->setText(0, monthStr); @@ -201,15 +201,6 @@ void HistoryWindow::loadDistribution() m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->setBackground(0, bgColor); m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->setForeground(0, textColor); } - else if(m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->text(0) != monthStr) - { - m_ui->distributionTreeWidget->addTopLevelItem(new QTreeWidgetItem()); - m_ui->distributionTreeWidget->topLevelItem(topLevelCount++)->setText(0, monthStr); - m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->setFirstColumnSpanned(true); - m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->setTextAlignment(0, Qt::AlignCenter); - m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->setBackground(0, bgColor); - m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1)->setForeground(0, textColor); - } QTreeWidgetItem *topLevelItem = m_ui->distributionTreeWidget->topLevelItem(topLevelCount - 1); QTreeWidgetItem *item = new QTreeWidgetItem(); diff --git a/src/plugins/General/hotkey/hotkeymanager_win.cpp b/src/plugins/General/hotkey/hotkeymanager_win.cpp index 8e28f116a..f806f7995 100644 --- a/src/plugins/General/hotkey/hotkeymanager_win.cpp +++ b/src/plugins/General/hotkey/hotkeymanager_win.cpp @@ -76,21 +76,22 @@ quint32 Hotkey::defaultKey() quint32 Hotkey::defaultKey(int act)
{
//default key bindings
- QMap<int, quint32> keyMap;
- keyMap[PLAY] = 0;
- keyMap[STOP] = VK_MEDIA_STOP;
- keyMap[PAUSE] = 0;
- keyMap[PLAY_PAUSE] = VK_MEDIA_PLAY_PAUSE;
- keyMap[NEXT] = VK_MEDIA_NEXT_TRACK;
- keyMap[PREVIOUS] = VK_MEDIA_PREV_TRACK;
- keyMap[SHOW_HIDE] = 0;
- keyMap[VOLUME_UP] = VK_VOLUME_UP;
- keyMap[VOLUME_DOWN] = VK_VOLUME_DOWN;
- keyMap[FORWARD] = 0;
- keyMap[REWIND] = 0;
- keyMap[JUMP_TO_TRACK] = 0;
- keyMap[VOLUME_MUTE] = VK_VOLUME_MUTE;
- return keyMap[act];
+ static const QMap<int, quint32> defaultKeys = {
+ { PLAY, 0 },
+ { STOP, VK_MEDIA_STOP },
+ { PAUSE, 0 },
+ { PLAY_PAUSE, VK_MEDIA_PLAY_PAUSE },
+ { NEXT, VK_MEDIA_NEXT_TRACK },
+ { PREVIOUS, VK_MEDIA_PREV_TRACK },
+ { SHOW_HIDE, 0 },
+ { VOLUME_UP, VK_VOLUME_UP },
+ { VOLUME_DOWN, VK_VOLUME_DOWN },
+ { FORWARD, 0 },
+ { REWIND, 0 },
+ { JUMP_TO_TRACK, 0 },
+ { VOLUME_MUTE, VK_VOLUME_MUTE },
+ };
+ return defaultKeys[act];
}
HotkeyManager::HotkeyManager(QObject *parent) : QObject(parent)
diff --git a/src/plugins/General/hotkey/settingsdialog.cpp b/src/plugins/General/hotkey/settingsdialog.cpp index 1255790e2..89ec737e8 100644 --- a/src/plugins/General/hotkey/settingsdialog.cpp +++ b/src/plugins/General/hotkey/settingsdialog.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2015 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -22,6 +22,7 @@ #include <QHeaderView> #include <QMessageBox> #include <qmmp/qmmp.h> +#include <algorithm> #include "hotkeydialog.h" #include "settingsdialog.h" @@ -63,7 +64,6 @@ SettingsDialog::SettingsDialog(QWidget *parent) settings.endGroup(); } - SettingsDialog::~SettingsDialog() { while (!m_hotkeys.isEmpty()) @@ -86,18 +86,11 @@ void SettingsDialog::accept() void SettingsDialog::on_tableWidget_itemDoubleClicked (QTableWidgetItem *item) { - Hotkey *key = nullptr; - for(Hotkey *k : m_hotkeys) - { - if (k->action == item->type()) - { - key = k; - break; - } - } - if (!key) + auto it = std::find_if(m_hotkeys.cbegin(), m_hotkeys.cend(), [item](Hotkey *k) { return k->action == item->type(); }); + if(it == m_hotkeys.cend()) return; + Hotkey *key = *it; HotkeyDialog *dialog = new HotkeyDialog(key->key, key->mod, this); if (item->type() >= QTableWidgetItem::UserType && dialog->exec() == QDialog::Accepted) diff --git a/src/plugins/General/listenbrainz/payloadcache.cpp b/src/plugins/General/listenbrainz/payloadcache.cpp index f142cbd7e..a715ed82b 100644 --- a/src/plugins/General/listenbrainz/payloadcache.cpp +++ b/src/plugins/General/listenbrainz/payloadcache.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2019 by Ilya Kotov * + * Copyright (C) 2019-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -61,16 +61,12 @@ uint TrackMetaData::timeStamp() const return m_start_ts; } -PayloadCache::PayloadCache(const QString &filePath) -{ - m_filePath = filePath; -} +PayloadCache::PayloadCache(const QString &filePath) : m_filePath(filePath) +{} QList<TrackMetaData> PayloadCache::load() { QList<TrackMetaData> songs; - int s = 0; - QString line, param, value; QFile file(m_filePath); if(!file.open(QIODevice::ReadOnly)) @@ -78,12 +74,13 @@ QList<TrackMetaData> PayloadCache::load() while (!file.atEnd()) { - line = QString::fromUtf8(file.readLine()).trimmed(); + int s = 0; + QString line = QString::fromUtf8(file.readLine()).trimmed(); if ((s = line.indexOf("=")) < 0) continue; - param = line.left(s); - value = line.right(line.size() - s - 1); + QString param = line.left(s); + QString value = line.right(line.size() - s - 1); if (param == "title") { diff --git a/src/plugins/General/listenbrainz/payloadcache.h b/src/plugins/General/listenbrainz/payloadcache.h index c117f634e..6500d57c8 100644 --- a/src/plugins/General/listenbrainz/payloadcache.h +++ b/src/plugins/General/listenbrainz/payloadcache.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2019 by Ilya Kotov * + * Copyright (C) 2019-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,7 +31,7 @@ class TrackMetaData : public TrackInfo { public: TrackMetaData(); - TrackMetaData(const TrackInfo &info); + explicit TrackMetaData(const TrackInfo &info); TrackMetaData(const TrackMetaData &other); ~TrackMetaData(); diff --git a/src/plugins/General/lyrics/lyricsprovider.cpp b/src/plugins/General/lyrics/lyricsprovider.cpp index 775d3ee74..abd27a6f7 100644 --- a/src/plugins/General/lyrics/lyricsprovider.cpp +++ b/src/plugins/General/lyrics/lyricsprovider.cpp @@ -101,7 +101,7 @@ QString LyricsProvider::getUrl(const TrackInfo &track) const url.replace(it.key(), it.value()); - it++; + ++it; } return url; @@ -139,7 +139,7 @@ QString LyricsProvider::format(const QByteArray &data, const TrackInfo &track) c { item.begin.replace(it.key(), it.value()); item.url.replace(it.key(), it.value()); - it++; + ++it; } } @@ -197,7 +197,7 @@ QString LyricsProvider::fixCase(const QString &title) const else out.append(*it); - it++; + ++it; } return out; diff --git a/src/plugins/General/lyrics/lyricswindow.h b/src/plugins/General/lyrics/lyricswindow.h index 6aaf5fbef..5ea962461 100644 --- a/src/plugins/General/lyrics/lyricswindow.h +++ b/src/plugins/General/lyrics/lyricswindow.h @@ -37,7 +37,7 @@ class LyricsWindow : public QWidget { Q_OBJECT public: - LyricsWindow(const TrackInfo *info, QWidget *parent = nullptr); + explicit LyricsWindow(const TrackInfo *info, QWidget *parent = nullptr); ~LyricsWindow(); diff --git a/src/plugins/General/lyrics/ultimatelyricsparser.cpp b/src/plugins/General/lyrics/ultimatelyricsparser.cpp index 7f3ffaa14..ef9f70dd7 100644 --- a/src/plugins/General/lyrics/ultimatelyricsparser.cpp +++ b/src/plugins/General/lyrics/ultimatelyricsparser.cpp @@ -24,6 +24,7 @@ #include <QXmlStreamReader> #include <QFile> #include <QtDebug> +#include <algorithm> #if (QT_VERSION < QT_VERSION_CHECK(5, 7, 0)) //qAsConst template #include <qmmp/qmmp.h> #endif @@ -135,17 +136,13 @@ const QList<LyricsProvider *> &UltimateLyricsParser::providers() LyricsProvider *UltimateLyricsParser::provider(const QString &name) const { - for(LyricsProvider *provider : qAsConst(m_providers)) - { - if(provider->name() == name) - return provider; - } - return nullptr; + auto it = std::find_if(m_providers.cbegin(), m_providers.cend(), [name](LyricsProvider *provider){ return provider->name() == name; }); + return it == m_providers.cend() ? nullptr : *it; } -QStringList UltimateLyricsParser::defaultProviders() +const QStringList &UltimateLyricsParser::defaultProviders() { - QStringList out = { + static const QStringList out = { "lyrics.wikia.com", "Encyclopaedia Metallum", "letras.mus.br", diff --git a/src/plugins/General/lyrics/ultimatelyricsparser.h b/src/plugins/General/lyrics/ultimatelyricsparser.h index 994955f87..8d0f13004 100644 --- a/src/plugins/General/lyrics/ultimatelyricsparser.h +++ b/src/plugins/General/lyrics/ultimatelyricsparser.h @@ -40,7 +40,7 @@ public: const QString &errorString() const; const QList<LyricsProvider *> &providers(); LyricsProvider *provider(const QString &name) const; - static QStringList defaultProviders(); + static const QStringList &defaultProviders(); private: QString m_errorString; diff --git a/src/plugins/General/mpris/player2object.cpp b/src/plugins/General/mpris/player2object.cpp index 666c9511e..211109d03 100644 --- a/src/plugins/General/mpris/player2object.cpp +++ b/src/plugins/General/mpris/player2object.cpp @@ -32,8 +32,6 @@ Player2Object::Player2Object(QObject *parent) : QDBusAbstractAdaptor(parent) { - m_prev_track = nullptr; - m_previous_pos = 0; m_core = SoundCore::instance(); m_player = MediaPlayer::instance(); m_pl_manager = m_player->playListManager(); @@ -334,9 +332,10 @@ void Player2Object::checkSeeking(qint64 elapsed) void Player2Object::playTrack(PlayListTrack *item) { - m_pl_manager->selectPlayList((PlayListModel*)sender()); - m_pl_manager->activatePlayList((PlayListModel*)sender()); - disconnect(sender(), SIGNAL(trackAdded(PlayListTrack*)), this, SLOT(playTrack(PlayListTrack*))); + PlayListModel *model = qobject_cast<PlayListModel*>(sender()); + m_pl_manager->selectPlayList(model); + m_pl_manager->activatePlayList(model); + disconnect(model, SIGNAL(trackAdded(PlayListTrack*)), this, SLOT(playTrack(PlayListTrack*))); if(!m_pl_manager->currentPlayList()->setCurrent(item)) return; m_core->stop(); diff --git a/src/plugins/General/mpris/player2object.h b/src/plugins/General/mpris/player2object.h index af69844a4..dc271e630 100644 --- a/src/plugins/General/mpris/player2object.h +++ b/src/plugins/General/mpris/player2object.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2015 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -111,8 +111,8 @@ private: QmmpUiSettings *m_ui_settings; QMap<QString, QVariant> m_props; QDBusObjectPath m_trackID; - PlayListTrack *m_prev_track; - qint64 m_previous_pos; + PlayListTrack *m_prev_track = nullptr; + qint64 m_previous_pos = 0; }; diff --git a/src/plugins/General/notifier/notifier.cpp b/src/plugins/General/notifier/notifier.cpp index b670e8e2c..ad3012e18 100644 --- a/src/plugins/General/notifier/notifier.cpp +++ b/src/plugins/General/notifier/notifier.cpp @@ -41,10 +41,6 @@ Notifier::Notifier(QObject *parent) : QObject(parent) { - m_popupWidget = nullptr; - m_l = -1; - m_r = -1; - m_isPaused = false; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Notifier"); m_desktop = settings.value("song_notification", true).toBool(); diff --git a/src/plugins/General/notifier/notifier.h b/src/plugins/General/notifier/notifier.h index c612711e7..dcb8101e4 100644 --- a/src/plugins/General/notifier/notifier.h +++ b/src/plugins/General/notifier/notifier.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2016 by Ilya Kotov * + * Copyright (C) 2008-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -51,8 +51,8 @@ private: QPointer<PopupWidget> m_popupWidget; bool m_desktop, m_showVolume; bool m_psi; - int m_l, m_r; - bool m_isPaused; + int m_l = -1, m_r = -1; + bool m_isPaused = false; bool m_resumeNotification; bool m_disableForFullScreen; SoundCore *m_core; diff --git a/src/plugins/General/rgscan/rgscandialog.cpp b/src/plugins/General/rgscan/rgscandialog.cpp index d37366784..c9376ba00 100644 --- a/src/plugins/General/rgscan/rgscandialog.cpp +++ b/src/plugins/General/rgscan/rgscandialog.cpp @@ -26,6 +26,7 @@ #include <qmmpui/metadataformatter.h> #include <qmmpui/filedialog.h> #include <qmmp/metadatamanager.h> +#include <algorithm> #include <taglib/mpegfile.h> #include <taglib/apetag.h> #include <taglib/flacfile.h> @@ -147,7 +148,7 @@ void RGScanDialog::on_calculateButton_clicked() } } -void RGScanDialog::onScanFinished(QString url) +void RGScanDialog::onScanFinished(const QString &url) { for(int i = 0; i < m_ui.tableWidget->rowCount(); ++i) { @@ -161,13 +162,7 @@ void RGScanDialog::onScanFinished(QString url) break; } - bool stopped = true; - - for(const RGScanner *scanner : qAsConst(m_scanners)) - { - if(scanner->isRunning() || scanner->isPending()) - stopped = false; - } + bool stopped = std::all_of(m_scanners.cbegin(), m_scanners.cend(), [](RGScanner *scanner) { return !scanner->isRunning() && !scanner->isPending(); }); if(stopped) { @@ -218,11 +213,11 @@ void RGScanDialog::onScanFinished(QString url) m_replayGainItemList = itemGroupMap.values(); for(int i = 0; i < m_ui.tableWidget->rowCount(); ++i) { - QString url = m_ui.tableWidget->item(i, 0)->data(Qt::UserRole).toString(); + QString itemUrl = m_ui.tableWidget->item(i, 0)->data(Qt::UserRole).toString(); bool found = false; for(const ReplayGainInfoItem *item : qAsConst(m_replayGainItemList)) { - if(item->url == url) + if(item->url == itemUrl) { found = true; double album_gain = item->info[Qmmp::REPLAYGAIN_ALBUM_GAIN]; @@ -267,12 +262,8 @@ void RGScanDialog::stop() RGScanner *RGScanDialog::findScannerByUrl(const QString &url) { - for(RGScanner *scanner : qAsConst(m_scanners)) - { - if(scanner->url() == url) - return scanner; - } - return nullptr; + auto it = std::find_if(m_scanners.cbegin(), m_scanners.cend(), [url](RGScanner *scanner){ return scanner->url() == url; }); + return it == m_scanners.cend() ? nullptr : *it; } QString RGScanDialog::getAlbumName(const QString &url) diff --git a/src/plugins/General/rgscan/rgscandialog.h b/src/plugins/General/rgscan/rgscandialog.h index 3323cab4c..b93217fbc 100644 --- a/src/plugins/General/rgscan/rgscandialog.h +++ b/src/plugins/General/rgscan/rgscandialog.h @@ -66,7 +66,7 @@ public: private slots: void on_calculateButton_clicked(); - void onScanFinished(QString url); + void onScanFinished(const QString &url); void reject() override; void on_writeButton_clicked(); diff --git a/src/plugins/General/scrobbler/scrobbler.cpp b/src/plugins/General/scrobbler/scrobbler.cpp index 61c60cdff..88faf050c 100644 --- a/src/plugins/General/scrobbler/scrobbler.cpp +++ b/src/plugins/General/scrobbler/scrobbler.cpp @@ -79,15 +79,16 @@ void ScrobblerResponse::parse(QIODevice *device) } Scrobbler::Scrobbler(const QString &scrobblerUrl, const QString &name, QObject *parent) - : QObject(parent) + : QObject(parent), + m_ua(QString("qmmp-plugins/%1").arg(Qmmp::strVersion().toLower()).toLatin1()), + m_http(new QNetworkAccessManager(this)), + m_core(SoundCore::instance()), + m_time(new QElapsedTimer()), + m_cache(new ListenCache(Qmmp::configDir() + "/scrobbler_" + name + ".cache")), + m_scrobblerUrl(scrobblerUrl), + m_name(name) { - m_scrobblerUrl = scrobblerUrl; - m_name = name; - m_time = new QElapsedTimer(); - m_cache = new ListenCache(Qmmp::configDir() +"/scrobbler_"+name+".cache"); - m_ua = QString("qmmp-plugins/%1").arg(Qmmp::strVersion().toLower()).toLatin1(); - m_http = new QNetworkAccessManager(this); - m_core = SoundCore::instance(); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_session = settings.value("Scrobbler/"+name+"_session").toString(); @@ -380,15 +381,13 @@ void Scrobbler::sendNotification(const SongInfo &info) } ScrobblerAuth::ScrobblerAuth(const QString &scrobblerUrl, const QString &authUrl, - const QString &name, QObject *parent) : QObject(parent) + const QString &name, QObject *parent) : QObject(parent), + m_ua(QString("qmmp-plugins/%1").arg(Qmmp::strVersion().toLower()).toLatin1()), + m_http(new QNetworkAccessManager(this)), + m_scrobblerUrl(scrobblerUrl), + m_authUrl(authUrl), + m_name(name) { - m_getTokenReply = nullptr; - m_getSessionReply = nullptr; - m_scrobblerUrl = scrobblerUrl; - m_authUrl = authUrl; - m_name = name; - m_ua = QString("qmmp-plugins/%1").arg(Qmmp::strVersion().toLower()).toLatin1(); - m_http = new QNetworkAccessManager(this); connect(m_http, SIGNAL(finished (QNetworkReply *)), SLOT(processResponse(QNetworkReply *))); QmmpSettings *gs = QmmpSettings::instance(); diff --git a/src/plugins/General/scrobbler/scrobbler.h b/src/plugins/General/scrobbler/scrobbler.h index b4f727424..29c40233c 100644 --- a/src/plugins/General/scrobbler/scrobbler.h +++ b/src/plugins/General/scrobbler/scrobbler.h @@ -118,7 +118,7 @@ private: QString m_token, m_session; QByteArray m_ua; QNetworkAccessManager *m_http; - QNetworkReply *m_getTokenReply, *m_getSessionReply, *m_checkSessionReply; + QNetworkReply *m_getTokenReply = nullptr, *m_getSessionReply = nullptr, *m_checkSessionReply = nullptr; QString m_scrobblerUrl, m_authUrl, m_name; }; diff --git a/src/plugins/General/scrobbler/scrobblercache.cpp b/src/plugins/General/scrobbler/scrobblercache.cpp index f9ed95ed8..df405a51d 100644 --- a/src/plugins/General/scrobbler/scrobblercache.cpp +++ b/src/plugins/General/scrobbler/scrobblercache.cpp @@ -61,16 +61,12 @@ uint SongInfo::timeStamp() const return m_start_ts; } -ListenCache::ListenCache(const QString &filePath) -{ - m_filePath = filePath; -} +ListenCache::ListenCache(const QString &filePath) : m_filePath(filePath) +{} QList<SongInfo> ListenCache::load() { QList<SongInfo> songs; - int s = 0; - QString line, param, value; QFile file(m_filePath); if(!file.open(QIODevice::ReadOnly)) @@ -78,12 +74,13 @@ QList<SongInfo> ListenCache::load() while (!file.atEnd()) { - line = QString::fromUtf8(file.readLine()).trimmed(); + int s; + QString line = QString::fromUtf8(file.readLine()).trimmed(); if ((s = line.indexOf("=")) < 0) continue; - param = line.left(s); - value = line.right(line.size() - s - 1); + QString param = line.left(s); + QString value = line.right(line.size() - s - 1); if (param == "title") { diff --git a/src/plugins/General/scrobbler/scrobblercache.h b/src/plugins/General/scrobbler/scrobblercache.h index 1c16968b4..c267f2d4f 100644 --- a/src/plugins/General/scrobbler/scrobblercache.h +++ b/src/plugins/General/scrobbler/scrobblercache.h @@ -31,7 +31,7 @@ class SongInfo : public TrackInfo { public: SongInfo(); - SongInfo(const TrackInfo &info); + explicit SongInfo(const TrackInfo &info); SongInfo(const SongInfo &other); ~SongInfo(); diff --git a/src/plugins/General/statusicon/qmmptrayicon.cpp b/src/plugins/General/statusicon/qmmptrayicon.cpp index 1f65a3a75..efaec4810 100644 --- a/src/plugins/General/statusicon/qmmptrayicon.cpp +++ b/src/plugins/General/statusicon/qmmptrayicon.cpp @@ -24,7 +24,7 @@ #include <QGuiApplication> #include <QWindow> #include <qmmp/soundcore.h> - +#include <algorithm> #include "qmmptrayicon.h" #ifdef QMMP_WS_X11 #include "statusiconpopupwidget.h" @@ -61,7 +61,7 @@ bool QmmpTrayIcon::event(QEvent *e) { if (e->type() == QEvent::Wheel ) { - wheelEvent((QWheelEvent *) e); + wheelEvent(dynamic_cast<QWheelEvent *>(e)); e->accept(); return true; } @@ -78,12 +78,8 @@ bool QmmpTrayIcon::hasToolTipEvent() { //checking for XEmbed system tray implementation //only this implementation is able to send QHelpEvent - for(const QWindow *w : qApp->allWindows()) - { - if(w->objectName() == "QSystemTrayIconSysWindow") - return true; - } - return false; + const QWindowList windowList = qApp->allWindows(); + return std::any_of(windowList.cbegin(), windowList.cend(), [](QWindow *w){ return w->objectName() == "QSystemTrayIconSysWindow"; }); } void QmmpTrayIcon::wheelEvent(QWheelEvent *e) diff --git a/src/plugins/General/streambrowser/streamwindow.cpp b/src/plugins/General/streambrowser/streamwindow.cpp index 814196132..8a5db864c 100644 --- a/src/plugins/General/streambrowser/streamwindow.cpp +++ b/src/plugins/General/streambrowser/streamwindow.cpp @@ -279,13 +279,14 @@ void StreamWindow::editStream() EditStreamDialog dialog(this); dialog.setWindowTitle(tr("Edit Stream")); - QMap<EditStreamDialog::Key, QString> values; - values[EditStreamDialog::URL] = m_favoritesModel->item(row, 0)->data().toString(); - values[EditStreamDialog::NAME] = m_favoritesModel->item(row, 0)->text(); - values[EditStreamDialog::GENRE] = m_favoritesModel->item(row, 1)->text(); - values[EditStreamDialog::BITRATE] = m_favoritesModel->item(row, 2)->text(); - values[EditStreamDialog::TYPE] = m_favoritesModel->item(row, 3)->text(); - dialog.setValues(values); + QMap<EditStreamDialog::Key, QString> initialValues = { + { EditStreamDialog::URL, m_favoritesModel->item(row, 0)->data().toString() }, + { EditStreamDialog::NAME, m_favoritesModel->item(row, 0)->text() }, + { EditStreamDialog::GENRE, m_favoritesModel->item(row, 1)->text() }, + { EditStreamDialog::BITRATE, m_favoritesModel->item(row, 2)->text() }, + { EditStreamDialog::TYPE, m_favoritesModel->item(row, 3)->text() } + }; + dialog.setValues(initialValues); if(dialog.exec() == QDialog::Accepted) { diff --git a/src/plugins/General/streambrowser/streamwindow.h b/src/plugins/General/streambrowser/streamwindow.h index 7c878cc56..7c5bfcdc8 100644 --- a/src/plugins/General/streambrowser/streamwindow.h +++ b/src/plugins/General/streambrowser/streamwindow.h @@ -42,7 +42,7 @@ class StreamWindow : public QWidget { Q_OBJECT public: - StreamWindow(QWidget *parent = nullptr); + explicit StreamWindow(QWidget *parent = nullptr); ~StreamWindow(); @@ -81,7 +81,7 @@ class StreamsProxyModel: public QSortFilterProxyModel { Q_OBJECT public: - StreamsProxyModel(QObject *parent) : QSortFilterProxyModel(parent){} + explicit StreamsProxyModel(QObject *parent) : QSortFilterProxyModel(parent){} protected: bool lessThan (const QModelIndex &left, const QModelIndex &right) const override diff --git a/src/plugins/General/trackchange/trackchange.cpp b/src/plugins/General/trackchange/trackchange.cpp index 55039cc0c..0889b7a3b 100644 --- a/src/plugins/General/trackchange/trackchange.cpp +++ b/src/plugins/General/trackchange/trackchange.cpp @@ -142,7 +142,7 @@ bool TrackChange::executeCommand(const TrackInfo &info, const QString &format) #else it.value() = it.value().replace("'", "'\\''"); #endif - it++; + ++it; } tmp.setValues(metaData); MetaDataFormatter formatter(format); diff --git a/src/plugins/Input/aac/aacfile.cpp b/src/plugins/Input/aac/aacfile.cpp index cf60f8e57..66f5e10d3 100644 --- a/src/plugins/Input/aac/aacfile.cpp +++ b/src/plugins/Input/aac/aacfile.cpp @@ -30,14 +30,8 @@ static int adts_sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000,7350,0,0,0}; -AACFile::AACFile(QIODevice *input, bool metaData, bool adts) +AACFile::AACFile(QIODevice *input, bool metaData, bool adts) : m_input(input) { - m_isValid = false; - m_duration = 0; - m_bitrate = 0; - m_samplerate = 0; - m_input = input; - m_offset = 0; char buf[AAC_BUFFER_SIZE]; qint64 buf_at = input->peek((char *) buf, AAC_BUFFER_SIZE); @@ -257,9 +251,8 @@ void AACFile::parseID3v2(const QByteArray &data) m_metaData.insert(Qmmp::TRACK, QString::number(taglib_tag.track())); } -ID3v2Tag::ID3v2Tag(const QByteArray &array) : TagLib::ID3v2::Tag() +ID3v2Tag::ID3v2Tag(const QByteArray &array) : TagLib::ID3v2::Tag(), m_buf(array) { - m_buf = array; read(); } diff --git a/src/plugins/Input/aac/aacfile.h b/src/plugins/Input/aac/aacfile.h index 61e34c2ea..762322249 100644 --- a/src/plugins/Input/aac/aacfile.h +++ b/src/plugins/Input/aac/aacfile.h @@ -42,7 +42,7 @@ class QBuffer; class AACFile { public: - AACFile(QIODevice *input, bool metaData = true, bool adts = true); + explicit AACFile(QIODevice *input, bool metaData = true, bool adts = true); ~AACFile(); @@ -56,19 +56,19 @@ public: private: void parseADTS(); void parseID3v2(const QByteArray &data); - qint64 m_duration; - quint32 m_bitrate; - int m_offset; + qint64 m_duration = 0; + quint32 m_bitrate = 0; + int m_offset = 0; QIODevice *m_input; - bool m_isValid; - quint32 m_samplerate; + bool m_isValid = false; + quint32 m_samplerate = 0; QMap<Qmmp::MetaData, QString> m_metaData; }; class ID3v2Tag : public TagLib::ID3v2::Tag { public: - ID3v2Tag(const QByteArray &array); + explicit ID3v2Tag(const QByteArray &array); protected: void read(); diff --git a/src/plugins/Input/aac/decoder_aac.cpp b/src/plugins/Input/aac/decoder_aac.cpp index ec7b45696..f663a468a 100644 --- a/src/plugins/Input/aac/decoder_aac.cpp +++ b/src/plugins/Input/aac/decoder_aac.cpp @@ -30,19 +30,8 @@ // Decoder class -DecoderAAC::DecoderAAC(QIODevice *i) - : Decoder(i) -{ - m_bitrate = 0; - m_totalTime = 0; - m_data = nullptr; - m_input_buf = nullptr; - m_input_at = 0; - m_sample_buf = nullptr; - m_sample_buf_at = 0; - m_sample_buf_size = 0; -} - +DecoderAAC::DecoderAAC(QIODevice *i) : Decoder(i) +{} DecoderAAC::~DecoderAAC() { diff --git a/src/plugins/Input/aac/decoder_aac.h b/src/plugins/Input/aac/decoder_aac.h index 4f2c3590b..e8a2329b1 100644 --- a/src/plugins/Input/aac/decoder_aac.h +++ b/src/plugins/Input/aac/decoder_aac.h @@ -21,12 +21,9 @@ #ifndef DECODER_AAC_H #define DECODER_AAC_H - #include <neaacdec.h> - #include <qmmp/decoder.h> - struct aac_data { NeAACDecHandle handle; @@ -35,7 +32,7 @@ struct aac_data class DecoderAAC : public Decoder { public: - DecoderAAC(QIODevice *); + explicit DecoderAAC(QIODevice *); virtual ~DecoderAAC(); @@ -51,14 +48,14 @@ public: void seek(qint64 time) override; private: - struct aac_data *m_data; - char* m_input_buf; - void* m_sample_buf; - int m_sample_buf_at; - qint64 m_sample_buf_size; - int m_bitrate; - ulong m_input_at; - qint64 m_totalTime; + struct aac_data *m_data = nullptr; + char *m_input_buf = nullptr; + void *m_sample_buf = nullptr; + int m_sample_buf_at = 0; + qint64 m_sample_buf_size = 0; + int m_bitrate = 0; + ulong m_input_at = 0; + qint64 m_totalTime = 0; }; diff --git a/src/plugins/Input/archive/archiveinputdevice.cpp b/src/plugins/Input/archive/archiveinputdevice.cpp index 95b336750..bbe2151c5 100644 --- a/src/plugins/Input/archive/archiveinputdevice.cpp +++ b/src/plugins/Input/archive/archiveinputdevice.cpp @@ -23,14 +23,11 @@ ArchiveInputDevice::ArchiveInputDevice(const QString &url, QObject *parent) : QIODevice(parent) { - m_archive = nullptr; - m_entry = nullptr; QString filePath = url.section("#", -1); QString archivePath = url; archivePath.remove(QRegExp("^.+://")); archivePath.remove(QRegExp("#.+$")); - m_close_libarchive = true; m_archive = archive_read_new(); archive_read_support_filter_all(m_archive); archive_read_support_format_all(m_archive); diff --git a/src/plugins/Input/archive/archiveinputdevice.h b/src/plugins/Input/archive/archiveinputdevice.h index 18d8024d6..fef847a77 100644 --- a/src/plugins/Input/archive/archiveinputdevice.h +++ b/src/plugins/Input/archive/archiveinputdevice.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2016 by Ilya Kotov * + * Copyright (C) 2016-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -30,8 +30,8 @@ class ArchiveInputDevice : public QIODevice { Q_OBJECT public: - ArchiveInputDevice(const QString &url, QObject *parent = nullptr); - ArchiveInputDevice(struct archive *a, struct archive_entry *e, QObject *parent = nullptr); + explicit ArchiveInputDevice(const QString &url, QObject *parent = nullptr); + explicit ArchiveInputDevice(struct archive *a, struct archive_entry *e, QObject *parent = nullptr); virtual ~ArchiveInputDevice(); bool seek(qint64 pos) override; @@ -42,10 +42,10 @@ protected: virtual qint64 writeData(const char *, qint64) override; private: - struct archive *m_archive; - struct archive_entry *m_entry; + struct archive *m_archive = nullptr; + struct archive_entry *m_entry = nullptr; QBuffer m_buffer; - bool m_close_libarchive; + bool m_close_libarchive = true; }; #endif // ARCHIVEINPUTDEVICE_H diff --git a/src/plugins/Input/archive/archivetagreader.cpp b/src/plugins/Input/archive/archivetagreader.cpp index f1837c18a..2ec7fe524 100644 --- a/src/plugins/Input/archive/archivetagreader.cpp +++ b/src/plugins/Input/archive/archivetagreader.cpp @@ -24,15 +24,13 @@ class IODeviceStream : public TagLib::IOStream { public: - IODeviceStream(QIODevice *input, const QString &url) - { - m_input = input; + IODeviceStream(QIODevice *input, const QString &url) : m_input(input), #ifdef Q_OS_WIN - m_fileName = url.section("/", -1); + m_fileName(url.section("/", -1)) #else - m_fileName = url.section("/", -1).toLocal8Bit(); + m_fileName(url.section("/", -1).toLocal8Bit()) #endif - } + {} virtual ~IODeviceStream() {} diff --git a/src/plugins/Input/archive/decoder_archive.cpp b/src/plugins/Input/archive/decoder_archive.cpp index 0f1fc860f..34a37aa01 100644 --- a/src/plugins/Input/archive/decoder_archive.cpp +++ b/src/plugins/Input/archive/decoder_archive.cpp @@ -24,12 +24,8 @@ #include "archivetagreader.h" #include "decoder_archive.h" -DecoderArchive::DecoderArchive(const QString &url) -{ - m_url = url; - m_decoder = nullptr; - m_input = nullptr; -} +DecoderArchive::DecoderArchive(const QString &url) : m_url(url) +{} DecoderArchive::~DecoderArchive() { diff --git a/src/plugins/Input/archive/decoder_archive.h b/src/plugins/Input/archive/decoder_archive.h index 3b9b06f94..d14a11180 100644 --- a/src/plugins/Input/archive/decoder_archive.h +++ b/src/plugins/Input/archive/decoder_archive.h @@ -30,7 +30,7 @@ class DecoderArchive : public Decoder { public: - DecoderArchive(const QString &url); + explicit DecoderArchive(const QString &url); virtual ~DecoderArchive(); @@ -42,8 +42,8 @@ public: private: QString m_url; - Decoder *m_decoder; - QIODevice *m_input; + Decoder *m_decoder = nullptr; + QIODevice *m_input = nullptr; }; diff --git a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp index 37d7656bc..d2cf8dda9 100644 --- a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp +++ b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp @@ -79,11 +79,10 @@ static void cddb_log_handler(cddb_log_level_t level, const char *message) // Decoder class -DecoderCDAudio::DecoderCDAudio(const QString &url) : Decoder() -{ - m_url = url; - m_buffer = new char[CDDA_BUFFER_SIZE]; -} +DecoderCDAudio::DecoderCDAudio(const QString &url) : Decoder(), + m_url(url), + m_buffer(new char[CDDA_BUFFER_SIZE]) +{} DecoderCDAudio::~DecoderCDAudio() { @@ -233,8 +232,7 @@ QList<CDATrack> DecoderCDAudio::generateTrackList(const QString &device, TrackIn qDebug("DecoderCDAudio: reading CDDB..."); cddb_log_set_handler(cddb_log_handler); cddb_conn_t *cddb_conn = cddb_new (); - cddb_disc_t *cddb_disc = NULL; - cddb_track_t *cddb_track = NULL; + cddb_disc_t *cddb_disc = nullptr; lba_t lba; if (!cddb_conn) qWarning ("DecoderCDAudio: unable to create cddb connection"); @@ -270,7 +268,7 @@ QList<CDATrack> DecoderCDAudio::generateTrackList(const QString &device, TrackIn for (int i = first_track_number; i <= last_track_number; ++i) { - cddb_track = cddb_track_new (); + cddb_track_t *cddb_track = cddb_track_new (); cddb_track_set_frame_offset (cddb_track, cdio_get_track_lba (cdio, i)); cddb_disc_add_track (cddb_disc, cddb_track); } diff --git a/src/plugins/Input/cdaudio/decoder_cdaudio.h b/src/plugins/Input/cdaudio/decoder_cdaudio.h index 130f85bd4..f3f3e6688 100644 --- a/src/plugins/Input/cdaudio/decoder_cdaudio.h +++ b/src/plugins/Input/cdaudio/decoder_cdaudio.h @@ -31,20 +31,17 @@ class CDATrack { public: CDATrack() - { - first_sector = 0; - last_sector = 0; - } + {} TrackInfo info; - lsn_t first_sector; - lsn_t last_sector; + lsn_t first_sector = 0; + lsn_t last_sector = 0; }; class DecoderCDAudio : public Decoder { public: - DecoderCDAudio(const QString &url); + explicit DecoderCDAudio(const QString &url); virtual ~DecoderCDAudio(); static QList <CDATrack> generateTrackList(const QString &device, TrackInfo::Parts parts = TrackInfo::AllParts); diff --git a/src/plugins/Input/cue/cuefile.cpp b/src/plugins/Input/cue/cuefile.cpp index 8941c2059..d1980fe39 100644 --- a/src/plugins/Input/cue/cuefile.cpp +++ b/src/plugins/Input/cue/cuefile.cpp @@ -95,11 +95,11 @@ CueFile::CueFile(const QString &path) : CueParser() } } - for(const QString &path : m_dataFiles.values()) + for(const QString &p : m_dataFiles.values()) { - if(!QFile::exists(path)) + if(!QFile::exists(p)) { - qDebug("CueFile: unable to find file: %s", qPrintable(path)); + qDebug("CueFile: unable to find file: %s", qPrintable(p)); clear(); return; } diff --git a/src/plugins/Input/cue/cuefile.h b/src/plugins/Input/cue/cuefile.h index ca9da23bd..91b82c9f3 100644 --- a/src/plugins/Input/cue/cuefile.h +++ b/src/plugins/Input/cue/cuefile.h @@ -35,7 +35,7 @@ class CueFile : public CueParser { public: - CueFile(const QString &path); + explicit CueFile(const QString &path); ~CueFile(); QString dataFilePath(int track) const; diff --git a/src/plugins/Input/cue/cuemetadatamodel.h b/src/plugins/Input/cue/cuemetadatamodel.h index 7c827ce54..b5eba82ca 100644 --- a/src/plugins/Input/cue/cuemetadatamodel.h +++ b/src/plugins/Input/cue/cuemetadatamodel.h @@ -28,7 +28,7 @@ class CueFile; class CUEMetaDataModel : public MetaDataModel { public: - CUEMetaDataModel(const QString &url); + explicit CUEMetaDataModel(const QString &url); ~CUEMetaDataModel(); QList<MetaDataItem> extraProperties() const override; QString coverPath() const override; diff --git a/src/plugins/Input/cue/decoder_cue.cpp b/src/plugins/Input/cue/decoder_cue.cpp index 9f5680113..fcd597bfc 100644 --- a/src/plugins/Input/cue/decoder_cue.cpp +++ b/src/plugins/Input/cue/decoder_cue.cpp @@ -29,16 +29,9 @@ #include "decoder_cue.h" -DecoderCUE::DecoderCUE(const QString &url) - : Decoder() -{ - m_path = url; - m_decoder = nullptr; - m_cueFile = nullptr; - m_track = 0; - m_buf = nullptr; - m_input = nullptr; -} +DecoderCUE::DecoderCUE(const QString &url) : Decoder(), + m_path(url) +{} DecoderCUE::~DecoderCUE() { diff --git a/src/plugins/Input/cue/decoder_cue.h b/src/plugins/Input/cue/decoder_cue.h index f0aa7b906..216f29cad 100644 --- a/src/plugins/Input/cue/decoder_cue.h +++ b/src/plugins/Input/cue/decoder_cue.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2016 by Ilya Kotov * + * Copyright (C) 2008-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,7 +31,7 @@ class CueFile; class DecoderCUE : public Decoder { public: - DecoderCUE(const QString &url); + explicit DecoderCUE(const QString &url); virtual ~DecoderCUE(); // Standard Decoder API @@ -44,18 +44,18 @@ public: void next() override; private: - Decoder *m_decoder; - qint64 m_length; - qint64 m_offset; - qint64 length_in_bytes; - qint64 m_totalBytes; + Decoder *m_decoder = nullptr; + qint64 m_length = 0; + qint64 m_offset = 0; + qint64 length_in_bytes = 0; + qint64 m_totalBytes = 0; QString m_path; - CueFile *m_cueFile; - int m_track; - char *m_buf; //buffer for remainig data - qint64 m_buf_size; - qint64 m_sz; //sample size - QIODevice *m_input; + CueFile *m_cueFile = nullptr; + int m_track = 0; + char *m_buf = nullptr; //buffer for remainig data + qint64 m_buf_size = 0; + qint64 m_sz = 0; //sample size + QIODevice *m_input = nullptr; }; #endif // DECODER_CUE_H diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp index 986528d19..b9d890770 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp @@ -35,12 +35,12 @@ static int ffmpeg_read(void *data, uint8_t *buf, int size) if(d->input()->atEnd()) return AVERROR_EOF; #endif - return (int)d->input()->read((char*)buf, size); + return static_cast<int>(d->input()->read((char*)buf, size)); } static int64_t ffmpeg_seek(void *data, int64_t offset, int whence) { - DecoderFFmpeg *d = (DecoderFFmpeg*)data; + DecoderFFmpeg *d = static_cast<DecoderFFmpeg*>(data); int64_t absolute_pos = 0; /*if(d->input()->isSequential()) return -1;*/ @@ -66,10 +66,10 @@ static int64_t ffmpeg_seek(void *data, int64_t offset, int whence) } // Decoder class -DecoderFFmpeg::DecoderFFmpeg(const QString &path, QIODevice *i) - : Decoder(i) +DecoderFFmpeg::DecoderFFmpeg(const QString &path, QIODevice *i) : Decoder(i), + m_path(path) + { - m_path = path; m_pkt = av_packet_alloc(); } @@ -410,9 +410,9 @@ void DecoderFFmpeg::fillBuffer() if((m_eof || send_error < 0) && recv_error < 0) { - char errbuf[AV_ERROR_MAX_STRING_SIZE] = { 0 }; if(!m_eof) { + char errbuf[AV_ERROR_MAX_STRING_SIZE] = { 0 }; av_strerror(send_error, errbuf, sizeof(errbuf)); qWarning("DecoderFFmpeg: avcodec_send_packet error: %s", errbuf); av_strerror(recv_error, errbuf, sizeof(errbuf)); diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.h b/src/plugins/Input/ffmpeg/decoder_ffmpeg.h index 5bea3901d..303234f2c 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.h +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.h @@ -36,7 +36,7 @@ extern "C"{ class DecoderFFmpeg : public Decoder { public: - DecoderFFmpeg(const QString &, QIODevice *i); + explicit DecoderFFmpeg(const QString &, QIODevice *i); virtual ~DecoderFFmpeg(); // Standard Decoder API diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpegcue.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpegcue.cpp index b85ff55db..a27a687fe 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpegcue.cpp +++ b/src/plugins/Input/ffmpeg/decoder_ffmpegcue.cpp @@ -25,12 +25,9 @@ #include "decoder_ffmpeg.h" #include "decoder_ffmpegcue.h" - -DecoderFFmpegCue::DecoderFFmpegCue(const QString &url) - : Decoder() -{ - m_url = url; -} +DecoderFFmpegCue::DecoderFFmpegCue(const QString &url) : Decoder(), + m_url(url) +{} DecoderFFmpegCue::~DecoderFFmpegCue() { diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpegcue.h b/src/plugins/Input/ffmpeg/decoder_ffmpegcue.h index 7edb372b2..b8203e70c 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpegcue.h +++ b/src/plugins/Input/ffmpeg/decoder_ffmpegcue.h @@ -33,7 +33,7 @@ class CueParser; class DecoderFFmpegCue : public Decoder { public: - DecoderFFmpegCue(const QString &url); + explicit DecoderFFmpegCue(const QString &url); virtual ~DecoderFFmpegCue(); // Standard Decoder API diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index fccd90bd3..4fb284b98 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -174,14 +174,14 @@ Decoder *DecoderFFmpegFactory::create(const QString &path, QIODevice *input) QList<TrackInfo *> DecoderFFmpegFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { - int track = -1; //cue track + int cueTrack = -1; //cue track QString filePath = path; if(path.contains("://")) //is it cue track? { filePath.remove("ffmpeg://"); filePath.remove(QRegExp("#\\d+$")); - track = path.section("#", -1).toInt(); + cueTrack = path.section("#", -1).toInt(); parts = TrackInfo::AllParts; //extract all metadata for single cue track } @@ -240,7 +240,7 @@ QList<TrackInfo *> DecoderFFmpegFactory::createPlayList(const QString &path, Tra avformat_close_input(&in); delete info; - return (track > 0) ? parser.createPlayList(track) : parser.createPlayList(); + return (cueTrack > 0) ? parser.createPlayList(cueTrack) : parser.createPlayList(); } AVDictionaryEntry *album = av_dict_get(in->metadata,"album",nullptr,0); diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h index 13d040231..9e18add0a 100644 --- a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h @@ -26,7 +26,7 @@ class FFmpegMetaDataModel : public MetaDataModel { public: - FFmpegMetaDataModel(const QString &path); + explicit FFmpegMetaDataModel(const QString &path); ~FFmpegMetaDataModel(); QPixmap cover() const override; diff --git a/src/plugins/Input/ffmpeg/replaygainreader.h b/src/plugins/Input/ffmpeg/replaygainreader.h index 2002b15b6..6b11ab868 100644 --- a/src/plugins/Input/ffmpeg/replaygainreader.h +++ b/src/plugins/Input/ffmpeg/replaygainreader.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2016 by Ilya Kotov * + * Copyright (C) 2016-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -35,7 +35,7 @@ extern "C"{ class ReplayGainReader { public: - ReplayGainReader(AVFormatContext *ic); + explicit ReplayGainReader(AVFormatContext *ic); QMap <Qmmp::ReplayGainKey, double> replayGainInfo() const; private: diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp index cfc34a35e..d95b1a9f3 100644 --- a/src/plugins/Input/flac/decoder_flac.cpp +++ b/src/plugins/Input/flac/decoder_flac.cpp @@ -84,9 +84,9 @@ static size_t pack_pcm_signed (FLAC__byte *output, return samples * channels * bps / 8; } -static int flac_decode (void *void_data, unsigned char *buf, int buf_len) +static int flac_decode (void *client_data, unsigned char *buf, int buf_len) { - flac_data *data = (flac_data *) void_data; + flac_data *data = static_cast<flac_data *>(client_data); unsigned to_copy; if (!data->sample_buffer_fill) @@ -120,7 +120,7 @@ static FLAC__StreamDecoderReadStatus flac_callback_read (const FLAC__StreamDecod size_t *bytes, void *client_data) { - flac_data *data = (flac_data *) client_data; + flac_data *data = static_cast<flac_data *>(client_data); qint64 res = data->input->read((char *)buffer, *bytes); if (res > 0) @@ -143,7 +143,7 @@ static FLAC__StreamDecoderWriteStatus flac_callback_write (const FLAC__StreamDec const FLAC__int32* const buffer[], void *client_data) { - flac_data *data = (flac_data *) client_data; + flac_data *data = static_cast<flac_data *>(client_data); const unsigned wide_samples = frame->header.blocksize; if (data->abort) @@ -185,7 +185,7 @@ static FLAC__StreamDecoderTellStatus flac_callback_tell (const FLAC__StreamDecod FLAC__uint64 *offset, void *client_data) { - flac_data *data = (flac_data *) client_data; + flac_data *data = static_cast<flac_data *>(client_data); if(data->input->isSequential()) return FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED; @@ -197,7 +197,7 @@ static FLAC__StreamDecoderSeekStatus flac_callback_seek (const FLAC__StreamDecod FLAC__uint64 offset, void *client_data) { - flac_data *data = (flac_data *) client_data; + flac_data *data = static_cast<flac_data *>(client_data); if(data->input->isSequential()) return FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED; @@ -210,7 +210,7 @@ static FLAC__StreamDecoderLengthStatus flac_callback_length (const FLAC__StreamD FLAC__uint64 *stream_length, void *client_data) { - flac_data *data = (flac_data *) client_data; + flac_data *data = static_cast<flac_data *>(client_data); if(data->input->isSequential()) return FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED; @@ -222,7 +222,7 @@ static void flac_callback_metadata (const FLAC__StreamDecoder *, const FLAC__StreamMetadata *metadata, void *client_data) { - flac_data *data = (flac_data *) client_data; + flac_data *data = static_cast<flac_data *>(client_data); if (metadata->type == FLAC__METADATA_TYPE_STREAMINFO) { @@ -262,12 +262,10 @@ static void flac_callback_error (const FLAC__StreamDecoder *, // Decoder class -DecoderFLAC::DecoderFLAC(const QString &path, QIODevice *i) - : Decoder(i) +DecoderFLAC::DecoderFLAC(const QString &path, QIODevice *i) : Decoder(i), + m_path(path) { - m_path = path; m_data = new flac_data; - m_data->decoder = nullptr; m_data->input = i; } diff --git a/src/plugins/Input/flac/decoder_flac.h b/src/plugins/Input/flac/decoder_flac.h index 73ad194e3..500ebe2a3 100644 --- a/src/plugins/Input/flac/decoder_flac.h +++ b/src/plugins/Input/flac/decoder_flac.h @@ -61,7 +61,7 @@ struct flac_data class DecoderFLAC : public Decoder { public: - DecoderFLAC(const QString &path, QIODevice *i); + explicit DecoderFLAC(const QString &path, QIODevice *i); virtual ~DecoderFLAC(); // Standard Decoder API diff --git a/src/plugins/Input/flac/flacmetadatamodel.cpp b/src/plugins/Input/flac/flacmetadatamodel.cpp index b42922f21..ee7824ae9 100644 --- a/src/plugins/Input/flac/flacmetadatamodel.cpp +++ b/src/plugins/Input/flac/flacmetadatamodel.cpp @@ -33,12 +33,12 @@ FLACMetaDataModel::FLACMetaDataModel(const QString &path, bool readOnly) #ifdef HAS_PICTURE_LIST - : MetaDataModel(true, MetaDataModel::IsCoverEditable) + : MetaDataModel(true, MetaDataModel::IsCoverEditable), #else - : MetaDataModel(true) + : MetaDataModel(true), #endif + m_path(path) { - m_path = path; if(path.startsWith("flac://")) { m_path.remove("flac://"); diff --git a/src/plugins/Input/gme/decoder_gme.cpp b/src/plugins/Input/gme/decoder_gme.cpp index fd9754a8e..171137311 100644 --- a/src/plugins/Input/gme/decoder_gme.cpp +++ b/src/plugins/Input/gme/decoder_gme.cpp @@ -23,11 +23,9 @@ #include "decoder_gme.h" // Decoder class -DecoderGme::DecoderGme(const QString &path) : Decoder() -{ - m_path = path; - m_emu = nullptr; -} +DecoderGme::DecoderGme(const QString &path) : Decoder(), + m_path(path) +{} DecoderGme::~DecoderGme() {} diff --git a/src/plugins/Input/gme/decoder_gme.h b/src/plugins/Input/gme/decoder_gme.h index bd871931d..a0707a3be 100644 --- a/src/plugins/Input/gme/decoder_gme.h +++ b/src/plugins/Input/gme/decoder_gme.h @@ -32,7 +32,7 @@ class GmeHelper; class DecoderGme : public Decoder { public: - DecoderGme(const QString &path); + explicit DecoderGme(const QString &path); virtual ~DecoderGme(); // Standard Decoder API @@ -44,7 +44,7 @@ public: private: GmeHelper m_helper; - Music_Emu *m_emu; + Music_Emu *m_emu = nullptr; qint64 m_totalTime; QString m_path; }; diff --git a/src/plugins/Input/modplug/archivereader.h b/src/plugins/Input/modplug/archivereader.h index 7a714e385..3c55da753 100644 --- a/src/plugins/Input/modplug/archivereader.h +++ b/src/plugins/Input/modplug/archivereader.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008 by Ilya Kotov * + * Copyright (C) 2008-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,7 @@ class ArchiveReader : public QObject { Q_OBJECT public: - ArchiveReader(QObject *parent = nullptr); + explicit ArchiveReader(QObject *parent = nullptr); ~ArchiveReader(); diff --git a/src/plugins/Input/modplug/decoder_modplug.cpp b/src/plugins/Input/modplug/decoder_modplug.cpp index a2924c183..db046dd1d 100644 --- a/src/plugins/Input/modplug/decoder_modplug.cpp +++ b/src/plugins/Input/modplug/decoder_modplug.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2016 by Ilya Kotov * + * Copyright (C) 2008-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -41,19 +41,10 @@ DecoderModPlug* DecoderModPlug::m_instance = nullptr; -DecoderModPlug::DecoderModPlug(const QString &path) : Decoder(nullptr) +DecoderModPlug::DecoderModPlug(const QString &path) : Decoder(nullptr), + m_path(path) { - m_path = path; - m_freq = 0; - m_bitrate = 0; - m_totalTime = 0; - m_chan = 0; - m_soundFile = nullptr; - m_sampleSize = 0; - m_instance = this; - m_bps = 0; - m_preampFactor = 0.0f; - m_usePreamp = false; + m_instance = this; } DecoderModPlug::~DecoderModPlug() diff --git a/src/plugins/Input/modplug/decoder_modplug.h b/src/plugins/Input/modplug/decoder_modplug.h index 8797b2d59..7adbeb463 100644 --- a/src/plugins/Input/modplug/decoder_modplug.h +++ b/src/plugins/Input/modplug/decoder_modplug.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2009 by Ilya Kotov * + * Copyright (C) 2008-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -28,7 +28,7 @@ class CSoundFile; class DecoderModPlug : public Decoder { public: - DecoderModPlug(const QString &path); + explicit DecoderModPlug(const QString &path); virtual ~DecoderModPlug(); void readSettings(); @@ -45,15 +45,15 @@ private: //helper function void deinit(); - CSoundFile *m_soundFile; + CSoundFile *m_soundFile = nullptr; int m_bps; //bits per sample QByteArray m_input_buf; //input buffer - quint32 m_freq; - int m_chan, m_sampleSize, m_bitrate; - qint64 m_totalTime; - double m_preampFactor; - bool m_usePreamp; + quint32 m_freq = 0; + int m_chan = 0, m_sampleSize = 0, m_bitrate = 0; + qint64 m_totalTime = 0; + double m_preampFactor = 0.0f; + bool m_usePreamp = false; QString m_path; static DecoderModPlug* m_instance; }; diff --git a/src/plugins/Input/modplug/modplugmetadatamodel.cpp b/src/plugins/Input/modplug/modplugmetadatamodel.cpp index a76d7c449..604e15b5f 100644 --- a/src/plugins/Input/modplug/modplugmetadatamodel.cpp +++ b/src/plugins/Input/modplug/modplugmetadatamodel.cpp @@ -29,10 +29,9 @@ #define MAX_MESSAGE_LENGTH 4000 -ModPlugMetaDataModel::ModPlugMetaDataModel(const QString &path) : MetaDataModel(true) +ModPlugMetaDataModel::ModPlugMetaDataModel(const QString &path) : MetaDataModel(true), + m_path(path) { - m_soundFile = nullptr; - m_path = path; ArchiveReader reader(nullptr); if(reader.isSupported(m_path)) { diff --git a/src/plugins/Input/modplug/modplugmetadatamodel.h b/src/plugins/Input/modplug/modplugmetadatamodel.h index bc930ecfb..e80fc452c 100644 --- a/src/plugins/Input/modplug/modplugmetadatamodel.h +++ b/src/plugins/Input/modplug/modplugmetadatamodel.h @@ -29,14 +29,14 @@ class ModPlugMetaDataModel : public MetaDataModel { Q_DECLARE_TR_FUNCTIONS(ModPlugMetaDataModel) public: - ModPlugMetaDataModel(const QString &path); + explicit ModPlugMetaDataModel(const QString &path); ~ModPlugMetaDataModel(); QList<MetaDataItem> extraProperties() const override; QList<MetaDataItem> descriptions() const override; static QString getTypeName(quint32 type); private: - CSoundFile* m_soundFile; + CSoundFile* m_soundFile = nullptr; QByteArray m_buffer; QString m_path; }; diff --git a/src/plugins/Input/mpc/decoder_mpc.cpp b/src/plugins/Input/mpc/decoder_mpc.cpp index 22d721d27..63827c4a4 100644 --- a/src/plugins/Input/mpc/decoder_mpc.cpp +++ b/src/plugins/Input/mpc/decoder_mpc.cpp @@ -18,7 +18,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ - #include <QObject> #include <QIODevice> #include <qmmp/buffer.h> @@ -30,44 +29,38 @@ static mpc_int32_t mpc_callback_read (mpc_reader *reader, void *buffer, mpc_int32_t size) { - DecoderMPC *dmpc = (DecoderMPC *) reader->data; + DecoderMPC *dmpc = static_cast<DecoderMPC *>(reader->data); return dmpc->input()->read((char *)buffer, size); } static mpc_bool_t mpc_callback_seek (mpc_reader *reader, mpc_int32_t offset) { - DecoderMPC *dmpc = (DecoderMPC *) reader->data; + DecoderMPC *dmpc = static_cast<DecoderMPC *>(reader->data); return dmpc->input()->seek(offset); } static mpc_int32_t mpc_callback_tell (mpc_reader *reader) { - DecoderMPC *dmpc = (DecoderMPC *) reader->data; + DecoderMPC *dmpc = static_cast<DecoderMPC *>(reader->data); return dmpc->input()->pos (); } static mpc_bool_t mpc_callback_canseek (mpc_reader *reader) { - DecoderMPC *dmpc = (DecoderMPC *) reader->data; + DecoderMPC *dmpc = static_cast<DecoderMPC *>(reader->data); return !dmpc->input()->isSequential () ; } static mpc_int32_t mpc_callback_get_size (mpc_reader *reader) { - DecoderMPC *dmpc = (DecoderMPC *) reader->data; + DecoderMPC *dmpc = static_cast<DecoderMPC *>(reader->data); return dmpc->input()->size(); } // Decoder class -DecoderMPC::DecoderMPC(QIODevice *i) - : Decoder(i) -{ - m_len = 0; - m_bitrate = 0; - m_totalTime = 0.0; - m_data = nullptr; -} +DecoderMPC::DecoderMPC(QIODevice *i) : Decoder(i) +{} DecoderMPC::~DecoderMPC() { @@ -164,5 +157,4 @@ qint64 DecoderMPC::read(unsigned char *audio, qint64 maxSize) void DecoderMPC::seek(qint64 pos) { mpc_demux_seek_second(data()->demuxer, (double)pos/1000); - } diff --git a/src/plugins/Input/mpc/decoder_mpc.h b/src/plugins/Input/mpc/decoder_mpc.h index 7024020d3..007f3adad 100644 --- a/src/plugins/Input/mpc/decoder_mpc.h +++ b/src/plugins/Input/mpc/decoder_mpc.h @@ -26,7 +26,7 @@ struct mpc_data { - mpc_demux *demuxer; + mpc_demux *demuxer = nullptr; mpc_reader reader; mpc_streaminfo info; }; @@ -34,7 +34,7 @@ struct mpc_data class DecoderMPC : public Decoder { public: - DecoderMPC(QIODevice *i); + explicit DecoderMPC(QIODevice *i); virtual ~DecoderMPC(); struct mpc_data *data() @@ -50,11 +50,10 @@ public: void seek(qint64 time) override; private: - - struct mpc_data *m_data; - long m_len; - int m_bitrate; - qint64 m_totalTime; + struct mpc_data *m_data = nullptr; + long m_len = 0; + int m_bitrate = 0; + qint64 m_totalTime = 0; }; diff --git a/src/plugins/Input/mpc/mpcmetadatamodel.cpp b/src/plugins/Input/mpc/mpcmetadatamodel.cpp index ee9368477..81eeca5b7 100644 --- a/src/plugins/Input/mpc/mpcmetadatamodel.cpp +++ b/src/plugins/Input/mpc/mpcmetadatamodel.cpp @@ -45,11 +45,11 @@ QList<TagModel* > MPCMetaDataModel::tags() const return m_tags; } -MPCFileTagModel::MPCFileTagModel(TagLib::MPC::File *file, TagLib::MPC::File::TagTypes tagType) - : TagModel() +MPCFileTagModel::MPCFileTagModel(TagLib::MPC::File *file, TagLib::MPC::File::TagTypes tagType): TagModel(), + m_file(file), + m_tagType(tagType) { - m_tagType = tagType; - m_file = file; + if (m_tagType == TagLib::MPC::File::ID3v1) { m_tag = m_file->ID3v1Tag(); diff --git a/src/plugins/Input/mpeg/decoder_mad.cpp b/src/plugins/Input/mpeg/decoder_mad.cpp index f6645119d..58f48f680 100644 --- a/src/plugins/Input/mpeg/decoder_mad.cpp +++ b/src/plugins/Input/mpeg/decoder_mad.cpp @@ -3,7 +3,7 @@ * * * Copyright (c) 2000-2001 Brad Hughes <bhughes@trolltech.com> * * Copyright (C) 2000-2004 Robert Leslie <rob@mars.org> * - * Copyright (C) 2009-2018 Ilya Kotov forkotov02@ya.ru * + * Copyright (C) 2009-2020 Ilya Kotov forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -34,20 +34,7 @@ #define INPUT_BUFFER_SIZE (32*1024) DecoderMAD::DecoderMAD(QIODevice *i) : Decoder(i) -{ - m_inited = false; - m_totalTime = 0; - m_channels = 0; - m_bitrate = 0; - m_freq = 0; - m_len = 0; - m_input_buf = nullptr; - m_input_bytes = 0; - m_skip_frames = 0; - m_eof = false; - m_skip_bytes = 0; - m_play_bytes = -1; -} +{} DecoderMAD::~DecoderMAD() { diff --git a/src/plugins/Input/mpeg/decoder_mad.h b/src/plugins/Input/mpeg/decoder_mad.h index bd986b80f..d8640634c 100644 --- a/src/plugins/Input/mpeg/decoder_mad.h +++ b/src/plugins/Input/mpeg/decoder_mad.h @@ -3,7 +3,7 @@ * * * Copyright (c) 2000-2001 Brad Hughes <bhughes@trolltech.com> * * Copyright (C) 2000-2004 Robert Leslie <rob@mars.org> * - * Copyright (C) 2009-2018 Ilya Kotov forkotov02@ya.ru * + * Copyright (C) 2009-2020 Ilya Kotov forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,7 +31,7 @@ class DecoderMAD : public Decoder { public: - DecoderMAD(QIODevice *i); + explicit DecoderMAD(QIODevice *i); virtual ~DecoderMAD(); // standard decoder API @@ -61,36 +61,28 @@ private: bool findXingHeader(struct mad_bitptr, unsigned int bitlen); LameHeader *findLameHeader(struct mad_bitptr ptr, unsigned int bitlen); uint findID3v2(uchar *data, ulong size); - bool m_inited, m_eof; - qint64 m_totalTime; - int m_channels, m_skip_frames; - uint m_bitrate; - long m_freq, m_len; + + bool m_inited = false, m_eof = false; + qint64 m_totalTime = 0; + int m_channels = 0, m_skip_frames = 0; + uint m_bitrate = 0; + long m_freq = 0, m_len = 0; // file input buffer - char *m_input_buf; - qint64 m_input_bytes; + char *m_input_buf = nullptr; + qint64 m_input_bytes = 0; // MAD decoder //xing header struct XingHeader { - int flags; - unsigned long frames; - unsigned long bytes; - unsigned char toc[100]; - long scale; - LameHeader *lame; - - XingHeader() - { - flags = 0; - frames = 0; - bytes = 0; - scale = 0; - lame = nullptr; - } + int flags = 0; + unsigned long frames = 0; + unsigned long bytes = 0; + unsigned char toc[100] = { 0 }; + long scale = 0; + LameHeader *lame = nullptr; }; XingHeader m_xing; @@ -105,7 +97,7 @@ private: struct mad_stream m_stream; struct mad_frame m_frame; struct mad_synth m_synth; - qint64 m_skip_bytes, m_play_bytes; + qint64 m_skip_bytes = 0, m_play_bytes = -1; }; diff --git a/src/plugins/Input/mpeg/decoder_mpg123.cpp b/src/plugins/Input/mpeg/decoder_mpg123.cpp index e359f455d..a830c2c0c 100644 --- a/src/plugins/Input/mpeg/decoder_mpg123.cpp +++ b/src/plugins/Input/mpeg/decoder_mpg123.cpp @@ -29,13 +29,13 @@ ssize_t mpg123_read_cb (void *src, void *buf, size_t size) { - DecoderMPG123 *d = (DecoderMPG123 *) src; + DecoderMPG123 *d = static_cast<DecoderMPG123 *>(src); return d->input()->read((char *)buf, size); } off_t mpg123_seek_cb(void *src, off_t offset, int whence) { - DecoderMPG123 *d = (DecoderMPG123 *) src; + DecoderMPG123 *d = static_cast<DecoderMPG123 *>(src); if (d->input()->isSequential()) return -1; @@ -61,14 +61,7 @@ off_t mpg123_seek_cb(void *src, off_t offset, int whence) } DecoderMPG123::DecoderMPG123(QIODevice *i) : Decoder(i) -{ - m_totalTime = 0; - m_rate = 0; - m_frame_info.bitrate = 0; - m_mpg123_encoding = MPG123_ENC_SIGNED_16; - m_handle = nullptr; - m_errors = 0; -} +{} DecoderMPG123::~DecoderMPG123() { diff --git a/src/plugins/Input/mpeg/decoder_mpg123.h b/src/plugins/Input/mpeg/decoder_mpg123.h index 80f4a61ac..a72d7e15a 100644 --- a/src/plugins/Input/mpeg/decoder_mpg123.h +++ b/src/plugins/Input/mpeg/decoder_mpg123.h @@ -30,7 +30,7 @@ class QIODevice; class DecoderMPG123 : public Decoder { public: - DecoderMPG123(QIODevice *i); + explicit DecoderMPG123(QIODevice *i); virtual ~DecoderMPG123(); // standard decoder API @@ -43,12 +43,12 @@ public: private: void cleanup(mpg123_handle *handle); void setMPG123Format(int encoding); - mpg123_handle *m_handle; + mpg123_handle *m_handle = nullptr; mpg123_frameinfo m_frame_info; - qint64 m_totalTime; - long m_rate; - int m_mpg123_encoding; - int m_errors; + qint64 m_totalTime = 0; + long m_rate = 0; + int m_mpg123_encoding = MPG123_ENC_SIGNED_16; + int m_errors = 0; }; diff --git a/src/plugins/Input/mpeg/mpegmetadatamodel.cpp b/src/plugins/Input/mpeg/mpegmetadatamodel.cpp index 31b6bad07..a9ecad0ce 100644 --- a/src/plugins/Input/mpeg/mpegmetadatamodel.cpp +++ b/src/plugins/Input/mpeg/mpegmetadatamodel.cpp @@ -146,11 +146,11 @@ void MPEGMetaDataModel::removeCover() } MpegFileTagModel::MpegFileTagModel(bool using_rusxmms, TagLib::MPEG::File *file, TagLib::MPEG::File::TagTypes tagType) - : TagModel() + : TagModel(), + m_using_rusxmms(using_rusxmms), + m_file(file), + m_tagType(tagType) { - m_tagType = tagType; - m_file = file; - m_using_rusxmms = using_rusxmms; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("MPEG"); if (m_tagType == TagLib::MPEG::File::ID3v1) diff --git a/src/plugins/Input/mpeg/settingsdialog.h b/src/plugins/Input/mpeg/settingsdialog.h index 26a5f23da..d2faf9b67 100644 --- a/src/plugins/Input/mpeg/settingsdialog.h +++ b/src/plugins/Input/mpeg/settingsdialog.h @@ -30,7 +30,7 @@ class SettingsDialog : public QDialog { Q_OBJECT public: - SettingsDialog(bool using_rusxmms, QWidget *parent = nullptr); + explicit SettingsDialog(bool using_rusxmms, QWidget *parent = nullptr); ~SettingsDialog(); diff --git a/src/plugins/Input/mpeg/tagextractor.cpp b/src/plugins/Input/mpeg/tagextractor.cpp index e94a1368f..715cc1ace 100644 --- a/src/plugins/Input/mpeg/tagextractor.cpp +++ b/src/plugins/Input/mpeg/tagextractor.cpp @@ -29,11 +29,8 @@ #include "tagextractor.h" -TagExtractor::TagExtractor(QIODevice *d) -{ - m_d = d; -} - +TagExtractor::TagExtractor(QIODevice *d) : m_d(d) +{} TagExtractor::~TagExtractor() { @@ -100,14 +97,19 @@ const QMap<Qmmp::MetaData, QString> TagExtractor::id3v2tag() return m_tag; } -ID3v2Tag::ID3v2Tag(QByteArray *array, long offset) : TagLib::ID3v2::Tag() +ID3v2Tag::ID3v2Tag(QByteArray *array, long offset) : TagLib::ID3v2::Tag(), + m_offset(offset) { m_buf = new QBuffer(array); m_buf->open(QIODevice::ReadOnly); - m_offset = offset; read(); } +ID3v2Tag::~ID3v2Tag() +{ + delete m_buf; +} + void ID3v2Tag::read () { m_buf->seek(m_offset); diff --git a/src/plugins/Input/mpeg/tagextractor.h b/src/plugins/Input/mpeg/tagextractor.h index cabccf4b8..45280daf9 100644 --- a/src/plugins/Input/mpeg/tagextractor.h +++ b/src/plugins/Input/mpeg/tagextractor.h @@ -40,7 +40,7 @@ class QByteArray; class TagExtractor { public: - TagExtractor(QIODevice *d); + explicit TagExtractor(QIODevice *d); ~TagExtractor(); @@ -56,9 +56,10 @@ class ID3v2Tag : public TagLib::ID3v2::Tag { public: ID3v2Tag(QByteArray *array, long offset); + ~ID3v2Tag(); protected: - void read (); + void read(); private: QBuffer *m_buf; diff --git a/src/plugins/Input/opus/decoder_opus.cpp b/src/plugins/Input/opus/decoder_opus.cpp index 5a6ffdb78..0f6cca847 100644 --- a/src/plugins/Input/opus/decoder_opus.cpp +++ b/src/plugins/Input/opus/decoder_opus.cpp @@ -27,13 +27,13 @@ // ic functions for libopusfile static int opusread (void *src, unsigned char *buf,int size) { - DecoderOpus *d = (DecoderOpus *) src; + DecoderOpus *d = static_cast<DecoderOpus *>(src); return d->input()->read((char *) buf, size); } static int opusseek(void *src, opus_int64 offset, int whence) { - DecoderOpus *d = (DecoderOpus *) src; + DecoderOpus *d = static_cast<DecoderOpus *>(src); if (d->input()->isSequential()) return -1; long start = 0; @@ -57,21 +57,16 @@ static int opusseek(void *src, opus_int64 offset, int whence) return -1; } -static opus_int64 opustell(void *src) +static opus_int64 opustell(void *src) { - DecoderOpus *dogg = (DecoderOpus *) src; - return (long) dogg->input()->pos(); + DecoderOpus *d = static_cast<DecoderOpus *>(src); + return (opus_int64)d->input()->pos(); } // Decoder class -DecoderOpus::DecoderOpus(const QString &url, QIODevice *i) : Decoder(i) -{ - m_totalTime = 0; - m_opusfile = nullptr; - m_chan = 0; - m_bitrate = 0; - m_url = url; -} +DecoderOpus::DecoderOpus(const QString &url, QIODevice *i) : Decoder(i), + m_url(url) +{} DecoderOpus::~DecoderOpus() { diff --git a/src/plugins/Input/opus/decoder_opus.h b/src/plugins/Input/opus/decoder_opus.h index b31492938..f2abbffcf 100644 --- a/src/plugins/Input/opus/decoder_opus.h +++ b/src/plugins/Input/opus/decoder_opus.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013-2016 by Ilya Kotov * + * Copyright (C) 2013-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -44,10 +44,10 @@ private: // helper functions ChannelMap findChannelMap(int channels); - OggOpusFile *m_opusfile; - qint64 m_totalTime; - int m_bitrate; - int m_chan; + OggOpusFile *m_opusfile = nullptr; + qint64 m_totalTime = 0; + int m_bitrate = 0; + int m_chan = 0; QString m_url; }; diff --git a/src/plugins/Input/opus/opusmetadatamodel.cpp b/src/plugins/Input/opus/opusmetadatamodel.cpp index c847f2587..bc132a5a6 100644 --- a/src/plugins/Input/opus/opusmetadatamodel.cpp +++ b/src/plugins/Input/opus/opusmetadatamodel.cpp @@ -30,12 +30,12 @@ OpusMetaDataModel::OpusMetaDataModel(const QString &path, bool readOnly) #ifdef HAS_PICTURE_LIST - : MetaDataModel(readOnly, MetaDataModel::IsCoverEditable) + : MetaDataModel(readOnly, MetaDataModel::IsCoverEditable), #else - : MetaDataModel(readOnly) + : MetaDataModel(readOnly), #endif + m_path(path) { - m_path = path; m_stream = new TagLib::FileStream(QStringToFileName(path), readOnly); m_file = new TagLib::Ogg::Opus::File(m_stream); m_tags << new VorbisCommentModel(m_file); diff --git a/src/plugins/Input/opus/opusmetadatamodel.h b/src/plugins/Input/opus/opusmetadatamodel.h index f0dc88f42..725cb100b 100644 --- a/src/plugins/Input/opus/opusmetadatamodel.h +++ b/src/plugins/Input/opus/opusmetadatamodel.h @@ -54,7 +54,7 @@ private: class VorbisCommentModel : public TagModel { public: - VorbisCommentModel(TagLib::Ogg::Opus::File *file); + explicit VorbisCommentModel(TagLib::Ogg::Opus::File *file); ~VorbisCommentModel(); QString name() const override; QString value(Qmmp::MetaData key) const override; diff --git a/src/plugins/Input/sid/decoder_sid.cpp b/src/plugins/Input/sid/decoder_sid.cpp index 31994a2cc..2a6c8e566 100644 --- a/src/plugins/Input/sid/decoder_sid.cpp +++ b/src/plugins/Input/sid/decoder_sid.cpp @@ -32,15 +32,12 @@ #include "decoder_sid.h" // Decoder class -DecoderSID::DecoderSID(SidDatabase *db, const QString &url) : Decoder(), m_tune(nullptr) -{ - m_db = db; - m_url = url; - m_player = new sidplayfp(); - m_length = 0; - m_length_in_bytes = 0; - m_read_bytes = 0; -} +DecoderSID::DecoderSID(SidDatabase *db, const QString &url) : Decoder(), + m_url(url), + m_player(new sidplayfp()), + m_db(db), + m_tune(nullptr) +{} DecoderSID::~DecoderSID() { diff --git a/src/plugins/Input/sid/decoder_sid.h b/src/plugins/Input/sid/decoder_sid.h index a97f90ba6..36dd9bbc1 100644 --- a/src/plugins/Input/sid/decoder_sid.h +++ b/src/plugins/Input/sid/decoder_sid.h @@ -47,9 +47,9 @@ private: QString m_url; sidplayfp *m_player; SidDatabase *m_db; - int m_length; - qint64 m_length_in_bytes; - qint64 m_read_bytes; + int m_length = 0; + qint64 m_length_in_bytes = 0; + qint64 m_read_bytes = 0; SidTune m_tune; }; diff --git a/src/plugins/Input/sid/settingsdialog.cpp b/src/plugins/Input/sid/settingsdialog.cpp index dc247d97b..9b028f156 100644 --- a/src/plugins/Input/sid/settingsdialog.cpp +++ b/src/plugins/Input/sid/settingsdialog.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013-2016 by Ilya Kotov * + * Copyright (C) 2013-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -24,9 +24,9 @@ #include <sidplayfp/SidConfig.h> #include "settingsdialog.h" -SettingsDialog::SettingsDialog(SidDatabase *db, QWidget *parent) : QDialog(parent) +SettingsDialog::SettingsDialog(SidDatabase *db, QWidget *parent) : QDialog(parent), + m_db(db) { - m_db = db; m_ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose); diff --git a/src/plugins/Input/sid/settingsdialog.h b/src/plugins/Input/sid/settingsdialog.h index 42a501176..5749e23fc 100644 --- a/src/plugins/Input/sid/settingsdialog.h +++ b/src/plugins/Input/sid/settingsdialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013 by Ilya Kotov * + * Copyright (C) 2013-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,7 +31,7 @@ class SettingsDialog : public QDialog { Q_OBJECT public: - SettingsDialog(SidDatabase *db, QWidget *parent = nullptr); + explicit SettingsDialog(SidDatabase *db, QWidget *parent = nullptr); virtual ~SettingsDialog(); diff --git a/src/plugins/Input/sid/sidhelper.cpp b/src/plugins/Input/sid/sidhelper.cpp index e619cdfc4..701f269a6 100644 --- a/src/plugins/Input/sid/sidhelper.cpp +++ b/src/plugins/Input/sid/sidhelper.cpp @@ -22,11 +22,8 @@ #include <sidplayfp/SidDatabase.h> #include "sidhelper.h" -SIDHelper::SIDHelper(SidDatabase *db) -{ - m_tune = nullptr; - m_db = db; -} +SIDHelper::SIDHelper(SidDatabase *db) : m_db(db) +{} SIDHelper::~SIDHelper() { diff --git a/src/plugins/Input/sid/sidhelper.h b/src/plugins/Input/sid/sidhelper.h index f25a20ff5..9357021cc 100644 --- a/src/plugins/Input/sid/sidhelper.h +++ b/src/plugins/Input/sid/sidhelper.h @@ -34,14 +34,14 @@ class SIDHelper { public: - SIDHelper(SidDatabase *db); + explicit SIDHelper(SidDatabase *db); ~SIDHelper(); SidTune *load(const QString &url); QList<TrackInfo *> createPlayList(TrackInfo::Parts parts); private: QString m_path; - SidTune *m_tune; + SidTune *m_tune = nullptr; SidDatabase *m_db; }; diff --git a/src/plugins/Input/sndfile/decoder_sndfile.cpp b/src/plugins/Input/sndfile/decoder_sndfile.cpp index 45607cb24..94e399996 100644 --- a/src/plugins/Input/sndfile/decoder_sndfile.cpp +++ b/src/plugins/Input/sndfile/decoder_sndfile.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2016 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -29,7 +29,7 @@ sf_count_t sndfile_sf_vio_get_filelen(void *data) { - return ((QIODevice*) data)->size(); + return static_cast<QIODevice*>(data)->size(); } sf_count_t sndfile_sf_vio_seek(sf_count_t offset, int whence, void *data) @@ -59,7 +59,7 @@ sf_count_t sndfile_sf_vio_seek(sf_count_t offset, int whence, void *data) sf_count_t sndfile_sf_vio_read(void *ptr, sf_count_t count, void *data) { - return ((QIODevice*) data)->read((char *)ptr, count); + return static_cast<QIODevice*>(data)->read((char *)ptr, count); } sf_count_t sndfile_sf_vio_write(const void *, sf_count_t, void *) @@ -69,19 +69,13 @@ sf_count_t sndfile_sf_vio_write(const void *, sf_count_t, void *) sf_count_t sndfile_sf_vio_tell(void *data) { - return ((QIODevice*) data)->pos(); + return static_cast<QIODevice*>(data)->pos(); } // Decoder class DecoderSndFile::DecoderSndFile(QIODevice *input) : Decoder(input) -{ - //m_path = input; - m_bitrate = 0; - m_totalTime = 0; - m_sndfile = nullptr; - m_freq = 0; -} +{} DecoderSndFile::~DecoderSndFile() { diff --git a/src/plugins/Input/sndfile/decoder_sndfile.h b/src/plugins/Input/sndfile/decoder_sndfile.h index d202ad546..d651a87f7 100644 --- a/src/plugins/Input/sndfile/decoder_sndfile.h +++ b/src/plugins/Input/sndfile/decoder_sndfile.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2016 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,7 @@ class DecoderSndFile : public Decoder { public: - DecoderSndFile(QIODevice *input); + explicit DecoderSndFile(QIODevice *input); virtual ~DecoderSndFile(); // Standard Decoder API @@ -43,14 +43,13 @@ public: void seek(qint64 time) override; private: - // helper functions void deinit(); - SNDFILE *m_sndfile; - int m_bitrate; - quint32 m_freq; - qint64 m_totalTime; + SNDFILE *m_sndfile = nullptr; + int m_bitrate = 0; + quint32 m_freq = 0; + qint64 m_totalTime = 0; SF_VIRTUAL_IO m_vio; }; diff --git a/src/plugins/Input/vorbis/decoder_vorbis.cpp b/src/plugins/Input/vorbis/decoder_vorbis.cpp index bcf051c04..cad4a2082 100644 --- a/src/plugins/Input/vorbis/decoder_vorbis.cpp +++ b/src/plugins/Input/vorbis/decoder_vorbis.cpp @@ -16,16 +16,14 @@ // ic functions for OggVorbis static size_t oggread (void *buf, size_t size, size_t nmemb, void *src) { - if (! src) return 0; - - DecoderVorbis *dogg = (DecoderVorbis *) src; + DecoderVorbis *dogg = static_cast<DecoderVorbis *>(src); int len = dogg->input()->read((char *) buf, (size * nmemb)); return len / size; } static int oggseek(void *src, ogg_int64_t offset, int whence) { - DecoderVorbis *dogg = (DecoderVorbis *) src; + DecoderVorbis *dogg = static_cast<DecoderVorbis *>(src); if ( dogg->input()->isSequential ()) return -1; @@ -60,7 +58,7 @@ static int oggclose(void *) static long oggtell(void *src) { - DecoderVorbis *dogg = (DecoderVorbis *) src; + DecoderVorbis *dogg = static_cast<DecoderVorbis *>(src); long t = dogg->input()->pos(); return t; } @@ -68,14 +66,8 @@ static long oggtell(void *src) // Decoder class -DecoderVorbis::DecoderVorbis(QIODevice *i) - : Decoder(i) +DecoderVorbis::DecoderVorbis(QIODevice *i) : Decoder(i) { - m_inited = false; - m_totalTime = 0; - m_last_section = -1; - m_bitrate = 0; - len = 0; memset(&oggfile, 0, sizeof(OggVorbis_File)); } @@ -150,7 +142,6 @@ int DecoderVorbis::bitrate() const return m_bitrate; } - void DecoderVorbis::deinit() { if (m_inited) diff --git a/src/plugins/Input/vorbis/decoder_vorbis.h b/src/plugins/Input/vorbis/decoder_vorbis.h index 8f23236c4..60660e779 100644 --- a/src/plugins/Input/vorbis/decoder_vorbis.h +++ b/src/plugins/Input/vorbis/decoder_vorbis.h @@ -15,7 +15,7 @@ class DecoderVorbis : public Decoder { public: - DecoderVorbis(QIODevice *i); + explicit DecoderVorbis(QIODevice *i); virtual ~DecoderVorbis(); // Standard Decoder API @@ -34,11 +34,11 @@ private: // OggVorbis Decoder OggVorbis_File oggfile; - qint64 m_totalTime; - long len; - int m_last_section; - int m_bitrate; - bool m_inited; + qint64 m_totalTime = 0; + long len = 0; + int m_last_section = -1; + int m_bitrate = 0; + bool m_inited = false; }; diff --git a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp index 9c1117c6c..3ff4c8c46 100644 --- a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp +++ b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp @@ -30,12 +30,12 @@ VorbisMetaDataModel::VorbisMetaDataModel(const QString &path, bool readOnly) #ifdef HAS_PICTURE_LIST - : MetaDataModel(readOnly, MetaDataModel::IsCoverEditable) + : MetaDataModel(readOnly, MetaDataModel::IsCoverEditable), #else - : MetaDataModel(readOnly) + : MetaDataModel(readOnly), #endif + m_path(path) { - m_path = path; m_stream = new TagLib::FileStream(QStringToFileName(path), readOnly); m_file = new TagLib::Ogg::Vorbis::File(m_stream); m_tag = m_file->tag(); diff --git a/src/plugins/Input/vorbis/vorbismetadatamodel.h b/src/plugins/Input/vorbis/vorbismetadatamodel.h index e773ef6d5..064c9da39 100644 --- a/src/plugins/Input/vorbis/vorbismetadatamodel.h +++ b/src/plugins/Input/vorbis/vorbismetadatamodel.h @@ -58,7 +58,7 @@ private: class VorbisCommentModel : public TagModel { public: - VorbisCommentModel(VorbisMetaDataModel *model); + explicit VorbisCommentModel(VorbisMetaDataModel *model); ~VorbisCommentModel(); QString name() const override; QString value(Qmmp::MetaData key) const override; diff --git a/src/plugins/Input/wavpack/decoder_wavpack.cpp b/src/plugins/Input/wavpack/decoder_wavpack.cpp index db0dad1c2..c134e6659 100644 --- a/src/plugins/Input/wavpack/decoder_wavpack.cpp +++ b/src/plugins/Input/wavpack/decoder_wavpack.cpp @@ -31,11 +31,9 @@ // Decoder class -DecoderWavPack::DecoderWavPack(const QString &path) - : Decoder() -{ - m_path = path; -} +DecoderWavPack::DecoderWavPack(const QString &path) : Decoder(), + m_path(path) +{} DecoderWavPack::~DecoderWavPack() { diff --git a/src/plugins/Input/wavpack/decoder_wavpack.h b/src/plugins/Input/wavpack/decoder_wavpack.h index 503aed11c..14fd58eea 100644 --- a/src/plugins/Input/wavpack/decoder_wavpack.h +++ b/src/plugins/Input/wavpack/decoder_wavpack.h @@ -31,7 +31,7 @@ class CueParser; class DecoderWavPack : public Decoder { public: - DecoderWavPack(const QString &); + explicit DecoderWavPack(const QString &); virtual ~DecoderWavPack(); // Standard Decoder API diff --git a/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp b/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp index 414d27d70..bbb56d0a1 100644 --- a/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp +++ b/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp @@ -22,10 +22,9 @@ #include <qmmp/metadatamanager.h> #include "wavpackmetadatamodel.h" -WavPackMetaDataModel::WavPackMetaDataModel(const QString &path, bool readOnly) - : MetaDataModel(readOnly) +WavPackMetaDataModel::WavPackMetaDataModel(const QString &path, bool readOnly) : MetaDataModel(readOnly), + m_path(path) { - m_path = path; if(m_path.contains("://")) { m_path.remove("wvpack://"); @@ -82,10 +81,9 @@ QString WavPackMetaDataModel::coverPath() const return MetaDataManager::instance()->findCoverFile(m_path); } -WavPackFileTagModel::WavPackFileTagModel(WavpackContext *ctx) : TagModel(TagModel::Save) -{ - m_ctx = ctx; -} +WavPackFileTagModel::WavPackFileTagModel(WavpackContext *ctx) : TagModel(TagModel::Save), + m_ctx(ctx) +{} WavPackFileTagModel::~WavPackFileTagModel() {} diff --git a/src/plugins/Input/wavpack/wavpackmetadatamodel.h b/src/plugins/Input/wavpack/wavpackmetadatamodel.h index 8ec8db536..af95a885f 100644 --- a/src/plugins/Input/wavpack/wavpackmetadatamodel.h +++ b/src/plugins/Input/wavpack/wavpackmetadatamodel.h @@ -45,7 +45,7 @@ private: class WavPackFileTagModel : public TagModel { public: - WavPackFileTagModel(WavpackContext *ctx); + explicit WavPackFileTagModel(WavpackContext *ctx); ~WavPackFileTagModel(); QString name() const override; QString value(Qmmp::MetaData key) const override; @@ -54,7 +54,6 @@ public: private: WavpackContext *m_ctx; - QString m_path; }; #endif // WAVPACKMETADATAMODEL_H diff --git a/src/plugins/Input/wildmidi/decoder_wildmidi.cpp b/src/plugins/Input/wildmidi/decoder_wildmidi.cpp index f3c2e459c..7ff0c2690 100644 --- a/src/plugins/Input/wildmidi/decoder_wildmidi.cpp +++ b/src/plugins/Input/wildmidi/decoder_wildmidi.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2016 by Ilya Kotov * + * Copyright (C) 2008-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,12 +23,9 @@ #include "decoder_wildmidi.h" // Decoder class -DecoderWildMidi::DecoderWildMidi(const QString &path) : Decoder() -{ - m_path = path; - midi_ptr = nullptr; - m_sample_rate = 0; -} +DecoderWildMidi::DecoderWildMidi(const QString &path) : Decoder(), + m_path(path) +{} DecoderWildMidi::~DecoderWildMidi() { diff --git a/src/plugins/Input/wildmidi/decoder_wildmidi.h b/src/plugins/Input/wildmidi/decoder_wildmidi.h index 0f2ded8c4..5931ed21e 100644 --- a/src/plugins/Input/wildmidi/decoder_wildmidi.h +++ b/src/plugins/Input/wildmidi/decoder_wildmidi.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2016 by Ilya Kotov * + * Copyright (C) 2008-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -29,7 +29,7 @@ extern "C"{ class DecoderWildMidi : public Decoder { public: - DecoderWildMidi(const QString &path); + explicit DecoderWildMidi(const QString &path); virtual ~DecoderWildMidi(); // Standard Decoder API @@ -40,9 +40,9 @@ public: void seek(qint64) override; private: - void *midi_ptr; - qint64 m_totalTime; - quint32 m_sample_rate; + void *midi_ptr = nullptr; + qint64 m_totalTime = 0; + quint32 m_sample_rate = 0; QString m_path; }; diff --git a/src/plugins/Input/wildmidi/wildmidihelper.cpp b/src/plugins/Input/wildmidi/wildmidihelper.cpp index 186389b7d..3af943ba6 100644 --- a/src/plugins/Input/wildmidi/wildmidihelper.cpp +++ b/src/plugins/Input/wildmidi/wildmidihelper.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2013 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,8 +31,6 @@ WildMidiHelper *WildMidiHelper::m_instance = nullptr; WildMidiHelper::WildMidiHelper(QObject *parent) : QObject(parent) { - m_inited = false; - m_sample_rate = 0; m_instance = this; } diff --git a/src/plugins/Input/wildmidi/wildmidihelper.h b/src/plugins/Input/wildmidi/wildmidihelper.h index 7d50775c7..b81d9eb27 100644 --- a/src/plugins/Input/wildmidi/wildmidihelper.h +++ b/src/plugins/Input/wildmidi/wildmidihelper.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2013 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -41,10 +41,10 @@ public: private: static WildMidiHelper *m_instance; - bool m_inited; + bool m_inited = false; QMutex m_mutex; QList <void *> m_ptrs; - quint32 m_sample_rate; + quint32 m_sample_rate = 0; }; #endif // WILDMIDIHELPER_H diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp index 2cc294c3b..47739d352 100644 --- a/src/plugins/Output/alsa/outputalsa.cpp +++ b/src/plugins/Output/alsa/outputalsa.cpp @@ -26,36 +26,31 @@ #include <stdlib.h> #include <string.h> #include <iostream> - #include <qmmp/buffer.h> #include <qmmp/visual.h> #include <qmmp/statehandler.h> #include "outputalsa.h" -OutputALSA::OutputALSA() : m_inited(false) +OutputALSA::OutputALSA() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); QString dev_name = settings.value("ALSA/device","default").toString(); m_use_mmap = settings.value("ALSA/use_mmap", false).toBool(); pcm_name = strdup(dev_name.toLatin1().data()); - pcm_handle = nullptr; - m_prebuf = nullptr; - m_prebuf_size = 0; - m_prebuf_fill = 0; - m_can_pause = false; - m_chunk_size = 0; - m_alsa_channels[SND_CHMAP_NA] = Qmmp::CHAN_NULL; - m_alsa_channels[SND_CHMAP_MONO] = Qmmp::CHAN_FRONT_CENTER; - m_alsa_channels[SND_CHMAP_FL] = Qmmp::CHAN_FRONT_LEFT; - m_alsa_channels[SND_CHMAP_FR] = Qmmp::CHAN_FRONT_RIGHT; - m_alsa_channels[SND_CHMAP_RL] = Qmmp::CHAN_REAR_LEFT; - m_alsa_channels[SND_CHMAP_RR] = Qmmp::CHAN_REAR_RIGHT; - m_alsa_channels[SND_CHMAP_FC] = Qmmp::CHAN_FRONT_CENTER; - m_alsa_channels[SND_CHMAP_LFE] = Qmmp::CHAN_LFE; - m_alsa_channels[SND_CHMAP_SL] = Qmmp::CHAN_SIDE_LEFT; - m_alsa_channels[SND_CHMAP_SR] = Qmmp::CHAN_SIDE_RIGHT; - m_alsa_channels[SND_CHMAP_RC] = Qmmp::CHAN_REAR_CENTER; + m_alsa_channels = { + { SND_CHMAP_NA, Qmmp::CHAN_NULL }, + { SND_CHMAP_MONO, Qmmp::CHAN_FRONT_CENTER }, + { SND_CHMAP_FL, Qmmp::CHAN_FRONT_LEFT }, + { SND_CHMAP_FR, Qmmp::CHAN_FRONT_RIGHT }, + { SND_CHMAP_RL, Qmmp::CHAN_REAR_LEFT }, + { SND_CHMAP_RR, Qmmp::CHAN_REAR_RIGHT }, + { SND_CHMAP_FC, Qmmp::CHAN_FRONT_CENTER }, + { SND_CHMAP_LFE, Qmmp::CHAN_LFE }, + { SND_CHMAP_SL, Qmmp::CHAN_SIDE_LEFT }, + { SND_CHMAP_SR, Qmmp::CHAN_SIDE_RIGHT }, + { SND_CHMAP_RC, Qmmp::CHAN_REAR_CENTER } + }; } OutputALSA::~OutputALSA() @@ -252,11 +247,11 @@ qint64 OutputALSA::latency() void OutputALSA::drain() { - long m = 0; snd_pcm_uframes_t l = snd_pcm_bytes_to_frames(pcm_handle, m_prebuf_fill); while (l > 0) { - if ((m = alsa_write(m_prebuf, l)) >= 0) + long m = alsa_write(m_prebuf, l); + if (m >= 0) { l -= m; m = snd_pcm_frames_to_bytes(pcm_handle, m); // convert frames to bytes diff --git a/src/plugins/Output/alsa/outputalsa.h b/src/plugins/Output/alsa/outputalsa.h index be28d4dd9..e0b8740b0 100644 --- a/src/plugins/Output/alsa/outputalsa.h +++ b/src/plugins/Output/alsa/outputalsa.h @@ -52,17 +52,17 @@ private: long alsa_write(unsigned char *data, long size); void uninitialize(); - bool m_inited; + bool m_inited = false; bool m_use_mmap; //alsa - snd_pcm_t *pcm_handle; + snd_pcm_t *pcm_handle = nullptr; char *pcm_name; - snd_pcm_uframes_t m_chunk_size; + snd_pcm_uframes_t m_chunk_size = 0; //prebuffer - uchar *m_prebuf; - qint64 m_prebuf_size; - qint64 m_prebuf_fill; - bool m_can_pause; + uchar *m_prebuf = nullptr; + qint64 m_prebuf_size = 0; + qint64 m_prebuf_fill = 0; + bool m_can_pause = false; //channel conversions QHash <quint16, Qmmp::ChannelPosition> m_alsa_channels; }; diff --git a/src/plugins/Output/directsound/outputdirectsound.cpp b/src/plugins/Output/directsound/outputdirectsound.cpp index 620b1d38a..1567a4e15 100644 --- a/src/plugins/Output/directsound/outputdirectsound.cpp +++ b/src/plugins/Output/directsound/outputdirectsound.cpp @@ -47,13 +47,6 @@ OutputDirectSound::DSoundChannels OutputDirectSound::m_dsound_pos[10] = { OutputDirectSound::OutputDirectSound() : Output()
{
- m_ds = nullptr;
- m_primaryBuffer = nullptr;
- m_dsBuffer = nullptr;
- m_dsBufferAt = 0;
- m_latency = 0;
- m_bytesPerSecond = 0;
- m_reset = false;
instance = this;
}
@@ -277,7 +270,7 @@ void OutputDirectSound::resume() HRESULT result = m_dsBuffer->Play(0,0,DSBPLAY_LOOPING);
if(result == DSERR_BUFFERLOST)
{
- result = m_dsBuffer->Play(0,0,DSBPLAY_LOOPING);
+ m_dsBuffer->Play(0,0,DSBPLAY_LOOPING);
m_dsBuffer->Restore();
}
}
diff --git a/src/plugins/Output/directsound/outputdirectsound.h b/src/plugins/Output/directsound/outputdirectsound.h index 9ee2f878f..21bfadcac 100644 --- a/src/plugins/Output/directsound/outputdirectsound.h +++ b/src/plugins/Output/directsound/outputdirectsound.h @@ -62,10 +62,10 @@ private: void uninitialize();
DWORD bytesToWrite();
- IDirectSound8 *m_ds;
- IDirectSoundBuffer *m_primaryBuffer;
- IDirectSoundBuffer8 *m_dsBuffer;
- DWORD m_dsBufferAt;
+ IDirectSound8 *m_ds = nullptr;
+ IDirectSoundBuffer *m_primaryBuffer = nullptr;
+ IDirectSoundBuffer8 *m_dsBuffer = nullptr;
+ DWORD m_dsBufferAt = 0;
typedef struct
{
@@ -74,9 +74,9 @@ private: } DSoundChannels;
static DSoundChannels m_dsound_pos[10];
- qint64 m_latency;
- qint32 m_bytesPerSecond;
- bool m_reset;
+ qint64 m_latency = 0;
+ qint32 m_bytesPerSecond = 0;
+ bool m_reset = false;
};
/**
diff --git a/src/plugins/Output/null/outputnull.cpp b/src/plugins/Output/null/outputnull.cpp index b70d65fe6..902573563 100644 --- a/src/plugins/Output/null/outputnull.cpp +++ b/src/plugins/Output/null/outputnull.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2014 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,9 +23,7 @@ OutputNull::OutputNull() : Output() -{ - m_bytes_per_second = 0; -} +{} OutputNull::~OutputNull() {} diff --git a/src/plugins/Output/null/outputnull.h b/src/plugins/Output/null/outputnull.h index 26b461753..501917b9b 100644 --- a/src/plugins/Output/null/outputnull.h +++ b/src/plugins/Output/null/outputnull.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2014 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -40,7 +40,7 @@ public: void reset() override; private: - qint64 m_bytes_per_second; + qint64 m_bytes_per_second = 0; }; diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp index 86d406926..2df3c1c24 100644 --- a/src/plugins/Output/oss/outputoss.cpp +++ b/src/plugins/Output/oss/outputoss.cpp @@ -44,7 +44,7 @@ extern "C" #include <qmmp/visual.h> #include "outputoss.h" -OutputOSS::OutputOSS() : Output(), m_audio_fd(-1) +OutputOSS::OutputOSS() : Output() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_audio_device = settings.value("OSS/device","/dev/dsp").toString(); @@ -151,8 +151,6 @@ void OutputOSS::reset() /***** MIXER *****/ VolumeOSS::VolumeOSS() { - m_master = true; - m_mixer_fd = -1; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_mixer_device = settings.value("OSS/mixer_device","/dev/mixer").toString(); openMixer(); diff --git a/src/plugins/Output/oss/outputoss.h b/src/plugins/Output/oss/outputoss.h index 59e366d5f..82fb18918 100644 --- a/src/plugins/Output/oss/outputoss.h +++ b/src/plugins/Output/oss/outputoss.h @@ -45,7 +45,7 @@ private: void sync(); QString m_audio_device; - int m_audio_fd; + int m_audio_fd = -1; }; class VolumeOSS : public Volume @@ -61,9 +61,9 @@ private: //oss mixer QString m_audio_device; void openMixer(); - int m_mixer_fd; + int m_mixer_fd = -1; QString m_mixer_device; - bool m_master; + bool m_master = true; }; diff --git a/src/plugins/Output/oss/settingsdialog.h b/src/plugins/Output/oss/settingsdialog.h index f336898fb..34f3cdb96 100644 --- a/src/plugins/Output/oss/settingsdialog.h +++ b/src/plugins/Output/oss/settingsdialog.h @@ -30,7 +30,7 @@ class SettingsDialog : public QDialog { Q_OBJECT public: - SettingsDialog(QWidget *parent = nullptr); + explicit SettingsDialog(QWidget *parent = nullptr); ~SettingsDialog(); diff --git a/src/plugins/Output/oss4/outputoss4.cpp b/src/plugins/Output/oss4/outputoss4.cpp index 0c5f1cd63..7d5a8e385 100644 --- a/src/plugins/Output/oss4/outputoss4.cpp +++ b/src/plugins/Output/oss4/outputoss4.cpp @@ -69,7 +69,6 @@ Qmmp::ChannelPosition OutputOSS4::m_oss_pos[16] = OutputOSS4::OutputOSS4() : Output() { - m_audio_fd = -1; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_audio_device = settings.value("OSS4/device", DEFAULT_DEV).toString(); m_instance = this; diff --git a/src/plugins/Output/oss4/outputoss4.h b/src/plugins/Output/oss4/outputoss4.h index 189e85613..2fec3c29e 100644 --- a/src/plugins/Output/oss4/outputoss4.h +++ b/src/plugins/Output/oss4/outputoss4.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2014 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -54,7 +54,7 @@ private: void post(); void sync(); QString m_audio_device; - int m_audio_fd; + int m_audio_fd = -1; static OutputOSS4 *m_instance; static Qmmp::ChannelPosition m_oss_pos[16]; diff --git a/src/plugins/Output/oss4/settingsdialog.h b/src/plugins/Output/oss4/settingsdialog.h index e4fc71e7e..86adc3dfd 100644 --- a/src/plugins/Output/oss4/settingsdialog.h +++ b/src/plugins/Output/oss4/settingsdialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -30,7 +30,7 @@ class SettingsDialog : public QDialog { Q_OBJECT public: - SettingsDialog(QWidget *parent); + explicit SettingsDialog(QWidget *parent); ~SettingsDialog(); private slots: diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp index e31e174ff..e64c02b33 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp +++ b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp @@ -30,21 +30,19 @@ VolumePulseAudio *OutputPulseAudio::volumeControl = nullptr; OutputPulseAudio::OutputPulseAudio(): Output() { - m_loop = nullptr; - m_ctx = nullptr; - m_stream = nullptr; - - m_pa_channels[Qmmp::CHAN_NULL] = PA_CHANNEL_POSITION_INVALID; - m_pa_channels[Qmmp::CHAN_FRONT_CENTER] = PA_CHANNEL_POSITION_MONO; - m_pa_channels[Qmmp::CHAN_FRONT_LEFT] = PA_CHANNEL_POSITION_FRONT_LEFT; - m_pa_channels[Qmmp::CHAN_FRONT_RIGHT] = PA_CHANNEL_POSITION_FRONT_RIGHT; - m_pa_channels[Qmmp::CHAN_REAR_LEFT] = PA_CHANNEL_POSITION_REAR_LEFT; - m_pa_channels[Qmmp::CHAN_REAR_RIGHT] = PA_CHANNEL_POSITION_REAR_RIGHT; - m_pa_channels[Qmmp::CHAN_FRONT_CENTER] = PA_CHANNEL_POSITION_FRONT_CENTER; - m_pa_channels[Qmmp::CHAN_LFE] = PA_CHANNEL_POSITION_LFE; - m_pa_channels[Qmmp::CHAN_SIDE_LEFT] = PA_CHANNEL_POSITION_SIDE_LEFT; - m_pa_channels[Qmmp::CHAN_SIDE_RIGHT] = PA_CHANNEL_POSITION_SIDE_RIGHT; - m_pa_channels[Qmmp::CHAN_REAR_CENTER] = PA_CHANNEL_POSITION_REAR_CENTER; + m_pa_channels = { + { Qmmp::CHAN_NULL, PA_CHANNEL_POSITION_INVALID }, + { Qmmp::CHAN_FRONT_CENTER, PA_CHANNEL_POSITION_MONO }, + { Qmmp::CHAN_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_LEFT }, + { Qmmp::CHAN_FRONT_RIGHT, PA_CHANNEL_POSITION_FRONT_RIGHT }, + { Qmmp::CHAN_REAR_LEFT, PA_CHANNEL_POSITION_REAR_LEFT }, + { Qmmp::CHAN_REAR_RIGHT, PA_CHANNEL_POSITION_REAR_RIGHT }, + { Qmmp::CHAN_FRONT_CENTER, PA_CHANNEL_POSITION_FRONT_CENTER }, + { Qmmp::CHAN_LFE, PA_CHANNEL_POSITION_LFE }, + { Qmmp::CHAN_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_LEFT }, + { Qmmp::CHAN_SIDE_RIGHT, PA_CHANNEL_POSITION_SIDE_RIGHT }, + { Qmmp::CHAN_REAR_CENTER, PA_CHANNEL_POSITION_REAR_CENTER } + }; instance = this; } @@ -323,19 +321,19 @@ void OutputPulseAudio::info_cb(pa_context *ctx, const pa_sink_input_info *info, volumeControl->updateVolume(info->volume, info->mute > 0); if(data) - *(bool *) data = true; + *static_cast<bool *>(data) = true; } void OutputPulseAudio::context_success_cb(pa_context *, int success, void *data) { if(data) - *(bool *)data = success != 0; + *static_cast<bool *>(data) = success != 0; } void OutputPulseAudio::stream_success_cb(pa_stream *, int success, void *data) { if(data) - *(bool *)data = success != 0; + *static_cast<bool *>(data) = success != 0; } //volume control diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.h b/src/plugins/Output/pulseaudio/outputpulseaudio.h index 392c50b55..3f583f942 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudio.h +++ b/src/plugins/Output/pulseaudio/outputpulseaudio.h @@ -66,9 +66,9 @@ private: static void context_success_cb(pa_context *, int success, void *data); static void stream_success_cb(pa_stream *, int success, void *data); - pa_mainloop *m_loop; - pa_context *m_ctx; - pa_stream *m_stream; + pa_mainloop *m_loop = nullptr; + pa_context *m_ctx = nullptr; + pa_stream *m_stream = nullptr; QHash <Qmmp::ChannelPosition, pa_channel_position_t> m_pa_channels; }; diff --git a/src/plugins/Output/qtmultimedia/outputqtmultimedia.cpp b/src/plugins/Output/qtmultimedia/outputqtmultimedia.cpp index 39ee1fafb..42eafe456 100644 --- a/src/plugins/Output/qtmultimedia/outputqtmultimedia.cpp +++ b/src/plugins/Output/qtmultimedia/outputqtmultimedia.cpp @@ -29,7 +29,7 @@ #include <unistd.h> -OutputQtMultimedia::OutputQtMultimedia() : Output(), m_buffer(nullptr), m_bytes_per_second(0) +OutputQtMultimedia::OutputQtMultimedia() : Output(), m_buffer(nullptr) { } @@ -154,10 +154,8 @@ void OutputQtMultimedia::resume() QMetaObject::invokeMethod(m_control, "resume", Qt::QueuedConnection); } -OutputControl::OutputControl(QAudioOutput *o) -{ - m_output = o; -} +OutputControl::OutputControl(QAudioOutput *o) : m_output(o) +{} void OutputControl::suspend() { diff --git a/src/plugins/Output/qtmultimedia/outputqtmultimedia.h b/src/plugins/Output/qtmultimedia/outputqtmultimedia.h index 6a1a4f413..e360dca63 100644 --- a/src/plugins/Output/qtmultimedia/outputqtmultimedia.h +++ b/src/plugins/Output/qtmultimedia/outputqtmultimedia.h @@ -50,7 +50,7 @@ private: QAudioOutput *m_output = nullptr; OutputControl *m_control = nullptr; QIODevice *m_buffer; - qint64 m_bytes_per_second; + qint64 m_bytes_per_second = 0; }; class OutputControl : public QObject @@ -58,7 +58,7 @@ class OutputControl : public QObject Q_OBJECT public: - OutputControl(QAudioOutput *o); + explicit OutputControl(QAudioOutput *o); public slots: void suspend(); diff --git a/src/plugins/Output/qtmultimedia/settingsdialog.h b/src/plugins/Output/qtmultimedia/settingsdialog.h index 3c5dd4923..87fc10fdd 100644 --- a/src/plugins/Output/qtmultimedia/settingsdialog.h +++ b/src/plugins/Output/qtmultimedia/settingsdialog.h @@ -30,7 +30,7 @@ class SettingsDialog : public QDialog { Q_OBJECT public: - SettingsDialog(QWidget *parent); + explicit SettingsDialog(QWidget *parent); ~SettingsDialog(); private: diff --git a/src/plugins/Output/shout/shoutoutput.cpp b/src/plugins/Output/shout/shoutoutput.cpp index b86e62a36..6252f945f 100644 --- a/src/plugins/Output/shout/shoutoutput.cpp +++ b/src/plugins/Output/shout/shoutoutput.cpp @@ -25,13 +25,8 @@ #include <qmmp/qmmp.h> #include "shoutoutput.h" -ShoutOutput::ShoutOutput(ShoutClient *m) +ShoutOutput::ShoutOutput(ShoutClient *m) : m_client(m) { - m_client = m; - m_soxr = nullptr; - m_ratio = 0; - m_soxr_buf = nullptr; - m_soxr_buf_frames = 0; qsrand(time(nullptr)); } diff --git a/src/plugins/Output/shout/shoutoutput.h b/src/plugins/Output/shout/shoutoutput.h index 6536f0a60..554c3fa9c 100644 --- a/src/plugins/Output/shout/shoutoutput.h +++ b/src/plugins/Output/shout/shoutoutput.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2017 by Ilya Kotov * + * Copyright (C) 2017-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -29,7 +29,7 @@ class ShoutOutput : public Output { public: - ShoutOutput(ShoutClient *m); + explicit ShoutOutput(ShoutClient *m); ~ShoutOutput(); bool initialize(quint32 freq, ChannelMap map, Qmmp::AudioFormat) override; @@ -49,10 +49,10 @@ private: vorbis_comment m_vc; //struct that stores all the user comments vorbis_dsp_state m_vd; //central working state for the packet->PCM decoder vorbis_block m_vb; //local working space for packet->PCM decode - soxr_t m_soxr; - float *m_soxr_buf; - size_t m_soxr_buf_frames; - double m_ratio; + soxr_t m_soxr = nullptr; + float *m_soxr_buf = nullptr; + size_t m_soxr_buf_frames = 0; + double m_ratio = 0; }; #endif // SHOUTOUTPUT_H diff --git a/src/plugins/Output/wasapi/outputwasapi.cpp b/src/plugins/Output/wasapi/outputwasapi.cpp index 1a803bf68..2db27cfc4 100644 --- a/src/plugins/Output/wasapi/outputwasapi.cpp +++ b/src/plugins/Output/wasapi/outputwasapi.cpp @@ -56,11 +56,6 @@ OutputWASAPI::DWASAPIChannels OutputWASAPI::m_wasapi_pos[10] = { OutputWASAPI::OutputWASAPI() : Output()
{
- m_pEnumerator = nullptr;
- m_pDevice = nullptr;
- m_pAudioClient = nullptr;
- m_pRenderClient = nullptr;
- m_pSimpleAudioVolume = nullptr;
instance = this;
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
m_id = settings.value("WASAPI/device", "default").toString();
diff --git a/src/plugins/Output/wasapi/outputwasapi.h b/src/plugins/Output/wasapi/outputwasapi.h index 10fd10cee..0c03a7e10 100644 --- a/src/plugins/Output/wasapi/outputwasapi.h +++ b/src/plugins/Output/wasapi/outputwasapi.h @@ -1,5 +1,5 @@ /***************************************************************************
- * Copyright (C) 2016 by Ilya Kotov *
+ * Copyright (C) 2016-2020 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -60,16 +60,16 @@ private: void status();
void uninitialize();
- IMMDeviceEnumerator *m_pEnumerator;
- IMMDevice *m_pDevice;
- IAudioClient *m_pAudioClient;
- IAudioRenderClient *m_pRenderClient;
- ISimpleAudioVolume *m_pSimpleAudioVolume;
+ IMMDeviceEnumerator *m_pEnumerator = nullptr;
+ IMMDevice *m_pDevice = nullptr;
+ IAudioClient *m_pAudioClient = nullptr;
+ IAudioRenderClient *m_pRenderClient = nullptr;
+ ISimpleAudioVolume *m_pSimpleAudioVolume = nullptr;
- UINT32 m_bufferFrames;
- int m_frameSize;
+ UINT32 m_bufferFrames = 0;
+ int m_frameSize = 0;
QString m_id;
- bool m_exclusive;
+ bool m_exclusive = false;
typedef struct
{
diff --git a/src/plugins/Output/wasapi/settingsdialog.cpp b/src/plugins/Output/wasapi/settingsdialog.cpp index d91d9ca9a..2d91c66e1 100644 --- a/src/plugins/Output/wasapi/settingsdialog.cpp +++ b/src/plugins/Output/wasapi/settingsdialog.cpp @@ -71,11 +71,14 @@ void SettingsDialog::enumDevices() IPropertyStore *pProps = nullptr;
UINT count = 0;
- result = pEnumerator->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &pEndpoints);
- if(result != S_OK)
+ if(pEnumerator)
{
- qWarning("SettingsDialog: IMMDeviceEnumerator::EnumAudioEndpoints failed, error code = 0x%lx", result);
- pEndpoints = nullptr;
+ result = pEnumerator->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &pEndpoints);
+ if(result != S_OK)
+ {
+ qWarning("SettingsDialog: IMMDeviceEnumerator::EnumAudioEndpoints failed, error code = 0x%lx", result);
+ pEndpoints = nullptr;
+ }
}
if(pEndpoints)
diff --git a/src/plugins/Output/waveout/outputwaveout.cpp b/src/plugins/Output/waveout/outputwaveout.cpp index b1f2713b1..f617ed310 100644 --- a/src/plugins/Output/waveout/outputwaveout.cpp +++ b/src/plugins/Output/waveout/outputwaveout.cpp @@ -74,10 +74,7 @@ free_memory (void) }
OutputWaveOut::OutputWaveOut() : Output()
-{
- m_totalWritten = 0;
- m_frameSize = 0;
-}
+{}
OutputWaveOut::~OutputWaveOut()
{
diff --git a/src/plugins/Output/waveout/outputwaveout.h b/src/plugins/Output/waveout/outputwaveout.h index 8cf188798..4e83de731 100644 --- a/src/plugins/Output/waveout/outputwaveout.h +++ b/src/plugins/Output/waveout/outputwaveout.h @@ -49,8 +49,8 @@ private: // helper functions
void status();
void uninitialize();
- qint64 m_totalWritten;
- qint32 m_frameSize;
+ qint64 m_totalWritten = 0;
+ qint32 m_frameSize = 0;
};
class VolumeWaveOut : public Volume
diff --git a/src/plugins/Transports/http/httpinputsource.h b/src/plugins/Transports/http/httpinputsource.h index fad94992d..515e7306b 100644 --- a/src/plugins/Transports/http/httpinputsource.h +++ b/src/plugins/Transports/http/httpinputsource.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2012 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,7 @@ class HTTPInputSource : public InputSource { Q_OBJECT public: - HTTPInputSource(const QString &path, QObject *parent = nullptr); + explicit HTTPInputSource(const QString &path, QObject *parent = nullptr); QIODevice *ioDevice() override; bool initialize() override; diff --git a/src/plugins/Transports/http/httpstreamreader.cpp b/src/plugins/Transports/http/httpstreamreader.cpp index 1faf8b6ee..29fccc4a6 100644 --- a/src/plugins/Transports/http/httpstreamreader.cpp +++ b/src/plugins/Transports/http/httpstreamreader.cpp @@ -37,7 +37,7 @@ static size_t curl_write_data(void *data, size_t size, size_t nmemb, void *pointer) { - HttpStreamReader *dl = (HttpStreamReader *)pointer; + HttpStreamReader *dl = static_cast<HttpStreamReader *>(pointer); dl->mutex()->lock(); if(dl->stream()->buf_fill > MAX_BUFFER_SIZE) @@ -77,7 +77,7 @@ static size_t curl_write_data(void *data, size_t size, size_t nmemb, static size_t curl_header(void *data, size_t size, size_t nmemb, void *pointer) { - HttpStreamReader *dl = (HttpStreamReader *)pointer; + HttpStreamReader *dl = static_cast<HttpStreamReader *>(pointer); dl->mutex()->lock (); size_t data_size = size * nmemb; if (data_size < 3) @@ -126,7 +126,7 @@ int curl_progress(void *pointer, double dltotal, double dlnow, double ultotal, d Q_UNUSED(dlnow); Q_UNUSED(ultotal); Q_UNUSED(ulnow); - HttpStreamReader *dl = (HttpStreamReader *)pointer; + HttpStreamReader *dl = static_cast<HttpStreamReader *>(pointer); dl->mutex()->lock (); bool aborted = dl->stream()->aborted; dl->mutex()->unlock(); @@ -135,21 +135,11 @@ int curl_progress(void *pointer, double dltotal, double dlnow, double ultotal, d return 0; } -HttpStreamReader::HttpStreamReader(const QString &url, HTTPInputSource *parent) : QIODevice(parent) +HttpStreamReader::HttpStreamReader(const QString &url, HTTPInputSource *parent) : QIODevice(parent), + m_url(url), + m_parent(parent) { - m_parent = parent; - m_url = url; curl_global_init(CURL_GLOBAL_ALL); - m_stream.buf_fill = 0; - m_stream.buf_size = 0; - m_stream.buf = nullptr; - m_stream.icy_meta_data = false; - m_stream.aborted = true; - m_stream.icy_metaint = 0; - m_handle = nullptr; - m_metacount = 0; - m_meta_sent = false; - m_ready = false; m_thread = new DownloadThread(this); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("HTTP"); @@ -162,8 +152,6 @@ HttpStreamReader::HttpStreamReader(const QString &url, HTTPInputSource *parent) if (!m_codec) m_codec = QTextCodec::codecForName ("UTF-8"); #ifdef WITH_ENCA - m_analyser = nullptr; - m_prevCodec = nullptr; if(settings.value("use_enca", false).toBool()) m_analyser = enca_analyser_alloc(settings.value("enca_lang").toByteArray ().constData()); if(m_analyser) diff --git a/src/plugins/Transports/http/httpstreamreader.h b/src/plugins/Transports/http/httpstreamreader.h index e63220525..e27195936 100644 --- a/src/plugins/Transports/http/httpstreamreader.h +++ b/src/plugins/Transports/http/httpstreamreader.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2016 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -42,14 +42,14 @@ class HTTPInputSource; */ struct HttpStreamData { - char *buf; - size_t buf_fill; - size_t buf_size; + char *buf = nullptr; + size_t buf_fill = 0; + size_t buf_size = 0; QString content_type; - bool aborted; + bool aborted = true; QHash <QString, QByteArray> header; - bool icy_meta_data; - size_t icy_metaint; + bool icy_meta_data = false; + size_t icy_metaint = 0; }; /*! @internal @@ -97,22 +97,22 @@ private: void readICYMetaData(); void parseICYMetaData(char *data, qint64 size); void sendStreamInfo(QTextCodec *codec); - CURL *m_handle; + CURL *m_handle = nullptr; QMutex m_mutex; HttpStreamData m_stream; QString m_url; QString m_userAgent; - size_t m_metacount; + size_t m_metacount = 0; QString m_title; - bool m_ready; - bool m_meta_sent; + bool m_ready = false; + bool m_meta_sent = false; size_t m_prebuffer_size; QTextCodec *m_codec; DownloadThread *m_thread; HTTPInputSource *m_parent; #ifdef WITH_ENCA - EncaAnalyser m_analyser; - QTextCodec *m_prevCodec; + EncaAnalyser m_analyser = nullptr; + QTextCodec *m_prevCodec = nullptr; #endif }; @@ -120,7 +120,7 @@ class DownloadThread : public QThread { Q_OBJECT public: - DownloadThread(HttpStreamReader *parent); + explicit DownloadThread(HttpStreamReader *parent); virtual ~DownloadThread (); private: diff --git a/src/plugins/Transports/mms/mmsinputsource.h b/src/plugins/Transports/mms/mmsinputsource.h index 990be1801..afe8aaa61 100644 --- a/src/plugins/Transports/mms/mmsinputsource.h +++ b/src/plugins/Transports/mms/mmsinputsource.h @@ -32,7 +32,7 @@ class MMSInputSource : public InputSource { Q_OBJECT public: - MMSInputSource(const QString &path, QObject *parent = nullptr); + explicit MMSInputSource(const QString &path, QObject *parent = nullptr); QIODevice *ioDevice() override; bool initialize() override; diff --git a/src/plugins/Transports/mms/mmsstreamreader.cpp b/src/plugins/Transports/mms/mmsstreamreader.cpp index f9320b7e6..5bfd30184 100644 --- a/src/plugins/Transports/mms/mmsstreamreader.cpp +++ b/src/plugins/Transports/mms/mmsstreamreader.cpp @@ -27,18 +27,14 @@ #include "mmsinputsource.h" #include "mmsstreamreader.h" -MMSStreamReader::MMSStreamReader(const QString &url, MMSInputSource *parent) : QIODevice(parent) +MMSStreamReader::MMSStreamReader(const QString &url, MMSInputSource *parent) : QIODevice(parent), + m_url(url), + m_parent(parent) { - m_parent = parent; - m_url = url; - m_handle = nullptr; - m_aborted = false; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_prebuf_size = settings.value("MMS/buffer_size",384).toInt() * 1024; m_buffer_size = m_prebuf_size; m_buffer = (char *)malloc(m_buffer_size); - m_ready = false; - m_buffer_at = 0; m_thread = new DownloadThread(this); } diff --git a/src/plugins/Transports/mms/mmsstreamreader.h b/src/plugins/Transports/mms/mmsstreamreader.h index 92b141495..22503b91b 100644 --- a/src/plugins/Transports/mms/mmsstreamreader.h +++ b/src/plugins/Transports/mms/mmsstreamreader.h @@ -75,12 +75,12 @@ private: QMutex m_mutex; QString m_url; - mmsx_t *m_handle; - bool m_aborted; + mmsx_t *m_handle = nullptr; + bool m_aborted = false; qint64 m_buffer_size, m_prebuf_size; char *m_buffer; - qint64 m_buffer_at; - bool m_ready; + qint64 m_buffer_at = 0; + bool m_ready = false; DownloadThread *m_thread; MMSInputSource *m_parent; }; @@ -89,7 +89,7 @@ class DownloadThread : public QThread { Q_OBJECT public: - DownloadThread(MMSStreamReader *parent); + explicit DownloadThread(MMSStreamReader *parent); virtual ~DownloadThread (); static void usleep(unsigned long usecs) { diff --git a/src/plugins/Ui/qsui/equalizer.cpp b/src/plugins/Ui/qsui/equalizer.cpp index 6777dc391..9e50cbc2c 100644 --- a/src/plugins/Ui/qsui/equalizer.cpp +++ b/src/plugins/Ui/qsui/equalizer.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2011-2016 by Ilya Kotov * + * Copyright (C) 2011-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -94,11 +94,11 @@ Equalizer::Equalizer(QWidget *parent) : QDialog(parent) slider->setRange(-20, 20); slider->setTickPosition(QSlider::TicksLeft); slider->setTickInterval(10); - QLabel *label = new QLabel(this); - label->setFrameShape(QFrame::Box); - label->setText(names.at(i)); + QLabel *eqLabel = new QLabel(this); + eqLabel->setFrameShape(QFrame::Box); + eqLabel->setText(names.at(i)); slidersLayout->addWidget(slider, 1, i, Qt::AlignHCenter); - slidersLayout->addWidget(label, 2, i, Qt::AlignHCenter); + slidersLayout->addWidget(eqLabel, 2, i, Qt::AlignHCenter); QLabel *label2 = new QLabel(this); label2->setText(tr("%1dB").arg(0)); diff --git a/src/plugins/Ui/qsui/filesystembrowser.cpp b/src/plugins/Ui/qsui/filesystembrowser.cpp index 6215f9c92..1692c6568 100644 --- a/src/plugins/Ui/qsui/filesystembrowser.cpp +++ b/src/plugins/Ui/qsui/filesystembrowser.cpp @@ -37,7 +37,7 @@ class FileSystemFilterProxyModel : public QSortFilterProxyModel { public: - FileSystemFilterProxyModel(QObject *parent) : QSortFilterProxyModel(parent) {} + explicit FileSystemFilterProxyModel(QObject *parent) : QSortFilterProxyModel(parent) {} protected: virtual bool filterAcceptsRow( diff --git a/src/plugins/Ui/qsui/listwidget.cpp b/src/plugins/Ui/qsui/listwidget.cpp index 823e31c1a..67771196d 100644 --- a/src/plugins/Ui/qsui/listwidget.cpp +++ b/src/plugins/Ui/qsui/listwidget.cpp @@ -41,33 +41,19 @@ #define INVALID_INDEX -1 -ListWidget::ListWidget(PlayListModel *model, QWidget *parent) - : QWidget(parent) +ListWidget::ListWidget(PlayListModel *model, QWidget *parent) : QWidget(parent), + m_pressed_index(INVALID_INDEX), + m_drop_index(INVALID_INDEX), + m_anchor_index(INVALID_INDEX), + m_model(model) { setFocusPolicy(Qt::StrongFocus); - m_popupWidget = nullptr; - m_ui_settings = QmmpUiSettings::instance(); - m_menu = nullptr; - m_filterMode = false; - m_model = model; m_timer = new QTimer(this); m_timer->setInterval(50); - m_header = new PlayListHeader(this); m_scrollBar = new QScrollBar(Qt::Vertical, this); m_hslider = new QScrollBar(Qt::Horizontal, this); m_hslider->setPageStep(50); - m_update = false; - m_drop_index = INVALID_INDEX; - m_scroll_direction = NONE; - m_prev_y = 0; - m_anchor_index = INVALID_INDEX; - m_pressed_index = INVALID_INDEX; - m_first = 0; - m_row_count = 0; - m_select_on_release = false; - m_count = 0; - m_firstItem = nullptr; setAcceptDrops(true); setMouseTracking(true); diff --git a/src/plugins/Ui/qsui/listwidget.h b/src/plugins/Ui/qsui/listwidget.h index 795560a9a..46c3f04d8 100644 --- a/src/plugins/Ui/qsui/listwidget.h +++ b/src/plugins/Ui/qsui/listwidget.h @@ -47,7 +47,7 @@ class ListWidget : public QWidget { Q_OBJECT public: - ListWidget(PlayListModel *model, QWidget *parent = nullptr); + explicit ListWidget(PlayListModel *model, QWidget *parent = nullptr); ~ListWidget(); @@ -120,24 +120,22 @@ private: void restoreFirstVisible(); void updateScrollBars(); - bool m_update; - int m_pressed_index; - QMenu *m_menu; + bool m_update = false; + int m_pressed_index, m_drop_index, m_anchor_index; + QMenu *m_menu = nullptr; PlayListModel *m_model; - int m_row_count, m_first, m_count; //visible rows, first visible index, total item count - PlayListItem *m_firstItem; //first visible item - int m_anchor_index; + int m_row_count = 0, m_first = 0, m_count = 0; //visible rows, first visible index, total item count + PlayListItem *m_firstItem = nullptr; //first visible item /*! * Scroll direction that is performing in current moment. */ - ScrollDirection m_scroll_direction; - int m_prev_y; - bool m_select_on_release; + ScrollDirection m_scroll_direction = NONE; + int m_prev_y = 0; + bool m_select_on_release = false; bool m_show_protocol; - int m_drop_index; QList<ListWidgetRow *> m_rows; QmmpUiSettings *m_ui_settings; - PlayListPopup::PopupWidget *m_popupWidget; + PlayListPopup::PopupWidget *m_popupWidget = nullptr; QTimer *m_timer; QScrollBar *m_scrollBar; ListWidgetDrawer m_drawer; @@ -145,7 +143,7 @@ private: QScrollBar *m_hslider; QString m_filterString; - bool m_filterMode; + bool m_filterMode = false; QList<PlayListItem *> m_filteredItems; }; diff --git a/src/plugins/Ui/qsui/listwidgetdrawer.cpp b/src/plugins/Ui/qsui/listwidgetdrawer.cpp index 706887f07..cae080b8a 100644 --- a/src/plugins/Ui/qsui/listwidgetdrawer.cpp +++ b/src/plugins/Ui/qsui/listwidgetdrawer.cpp @@ -229,7 +229,6 @@ void ListWidgetDrawer::prepareRow(ListWidgetRow *row) { row->titles[i] = metrics->elidedText (row->titles[i], Qt::ElideRight, size - 2 * m_padding); } - visible_width -= size; } } @@ -303,7 +302,7 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool int sy = row->rect.y() + m_metrics->overlinePos() - 1; painter->setFont(m_font); - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_group_text); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : m_group_text); if(rtl) sx = row->rect.right() - sx - m_metrics->horizontalAdvance(row->titles[0]); @@ -321,7 +320,7 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool row->rect.right() - row->numberColumnWidth - m_padding, sy); if(m_show_splitters && row->numberColumnWidth) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : m_splitter); painter->drawLine(row->rect.right() - row->numberColumnWidth, row->rect.top(), row->rect.right() - row->numberColumnWidth, row->rect.bottom() + 1); } @@ -333,7 +332,7 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool row->rect.width(), sy); if(m_show_splitters && row->numberColumnWidth) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : m_splitter); painter->drawLine(row->rect.left() + row->numberColumnWidth, row->rect.top(), row->rect.left() + row->numberColumnWidth, row->rect.bottom() + 1); } @@ -362,7 +361,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl else metrics = m_metrics; - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : textColor); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : textColor); if(rtl) { @@ -376,9 +375,9 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx + m_padding, sy, number); if(m_show_splitters) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : textColor); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : textColor); } } @@ -403,7 +402,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl { for(int i = 0; i < row->sizes.count(); i++) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : textColor); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : textColor); draw_extra = (i == row->trackStateColumn && !row->extraString.isEmpty()); if(row->alignment[i] == ListWidgetRow::ALIGN_LEFT) @@ -437,7 +436,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : m_splitter); painter->drawLine(sx - 1, row->rect.top(), sx - 1, row->rect.bottom() + 1); } } @@ -455,9 +454,9 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx - m_padding - metrics->horizontalAdvance(number), sy, number); if(m_show_splitters) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : textColor); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : textColor); } } @@ -482,7 +481,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl { for(int i = 0; i < row->sizes.count(); i++) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : textColor); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : textColor); draw_extra = (i == row->trackStateColumn && !row->extraString.isEmpty()); if(row->alignment[i] == ListWidgetRow::ALIGN_LEFT) @@ -516,7 +515,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_highlighted : m_splitter); painter->drawLine(sx - 1, row->rect.top(), sx - 1, row->rect.bottom() + 1); } } diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index a1347faa0..710d7fa42 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -675,7 +675,7 @@ void MainWindow::readSettings() toolBars.erase(it); break; } - it++; + ++it; } if(!found) diff --git a/src/plugins/Ui/qsui/playlistbrowser.cpp b/src/plugins/Ui/qsui/playlistbrowser.cpp index 9d831e400..15d54b4cf 100644 --- a/src/plugins/Ui/qsui/playlistbrowser.cpp +++ b/src/plugins/Ui/qsui/playlistbrowser.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2013 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,7 +31,8 @@ #include "actionmanager.h" #include "playlistbrowser.h" -PlayListBrowser::PlayListBrowser(PlayListManager *manager, QWidget *parent) : QWidget(parent) +PlayListBrowser::PlayListBrowser(PlayListManager *manager, QWidget *parent) : QWidget(parent), + m_pl_manager(manager) { m_lineEdit = new QLineEdit(this); m_lineEdit->installEventFilter(this); @@ -47,7 +48,6 @@ PlayListBrowser::PlayListBrowser(PlayListManager *manager, QWidget *parent) : QW layout->addWidget(m_listView); setLayout(layout); - m_pl_manager = manager; connect(m_pl_manager, SIGNAL(playListsChanged()), SLOT(updateList())); //actions m_listView->setContextMenuPolicy(Qt::ActionsContextMenu); diff --git a/src/plugins/Ui/qsui/playlistbrowser.h b/src/plugins/Ui/qsui/playlistbrowser.h index 98d613a13..69aae90bd 100644 --- a/src/plugins/Ui/qsui/playlistbrowser.h +++ b/src/plugins/Ui/qsui/playlistbrowser.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013 by Ilya Kotov * + * Copyright (C) 2013-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -38,7 +38,7 @@ class PlayListBrowser : public QWidget { Q_OBJECT public: - PlayListBrowser(PlayListManager *manager, QWidget *parent = nullptr); + explicit PlayListBrowser(PlayListManager *manager, QWidget *parent = nullptr); ~PlayListBrowser(); private slots: @@ -52,8 +52,8 @@ private: QLineEdit *m_lineEdit; QListView *m_listView; PlayListManager *m_pl_manager; - QStandardItemModel* m_listModel; - QSortFilterProxyModel* m_proxyModel; + QStandardItemModel *m_listModel; + QSortFilterProxyModel *m_proxyModel; }; #endif // PLAYLISTBROWSER_H diff --git a/src/plugins/Ui/qsui/playlistheader.cpp b/src/plugins/Ui/qsui/playlistheader.cpp index 2c4bdb9a9..ac12bc69c 100644 --- a/src/plugins/Ui/qsui/playlistheader.cpp +++ b/src/plugins/Ui/qsui/playlistheader.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2015-2016 by Ilya Kotov * + * Copyright (C) 2015-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,6 +32,7 @@ #include <QIcon> #include <QStyleOptionHeader> #include <QActionGroup> +#include <algorithm> #include <qmmp/qmmp.h> #include <qmmpui/playlistmanager.h> #include <qmmpui/playlistheadermodel.h> @@ -141,7 +142,7 @@ void PlayListHeader::readSettings() { m_model->setData(i, SIZE, INITAL_SIZE); m_model->setData(i, ALIGNMENT, (layoutDirection() == Qt::RightToLeft) ? - ListWidgetRow::ALIGN_LEFT : ListWidgetRow::ALIGN_LEFT); + ListWidgetRow::ALIGN_RIGHT : ListWidgetRow::ALIGN_LEFT); if(i < sizes.count()) m_model->setData(i, SIZE, sizes.at(i).toInt()); @@ -274,11 +275,8 @@ int PlayListHeader::maxScrollValue() const if(m_model->count() == 1) return 0; - int row_width = 0; - for(int size : sizes()) - { - row_width += size; - } + const QList<int> sizeList = sizes(); + int row_width = std::accumulate(sizeList.cbegin(), sizeList.cend(), 0); return qMax(0, row_width - width() + m_scrollbar_width + 10); } diff --git a/src/plugins/Ui/qsui/qsuivisualization.h b/src/plugins/Ui/qsui/qsuivisualization.h index 2de6d01dd..f905ec966 100644 --- a/src/plugins/Ui/qsui/qsuivisualization.h +++ b/src/plugins/Ui/qsui/qsuivisualization.h @@ -36,7 +36,7 @@ class QSUIVisualization : public Visual { Q_OBJECT public: - QSUIVisualization(QWidget *parent = nullptr); + explicit QSUIVisualization(QWidget *parent = nullptr); virtual ~QSUIVisualization(); void setCover(const QPixmap &pixmap); @@ -140,8 +140,8 @@ private: QColor m_peakColor; QSize m_cell_size; QBrush m_brush; - double m_peaks_falloff; - double m_analyzer_falloff; + double m_peaks_falloff = 0; + double m_analyzer_falloff = 0; bool m_show_peaks = false; double *m_intern_vis_data = nullptr; double *m_peaks = nullptr; diff --git a/src/plugins/Ui/qsui/qsuiwaveformseekbar.cpp b/src/plugins/Ui/qsui/qsuiwaveformseekbar.cpp index 540b04be9..d32bb211e 100644 --- a/src/plugins/Ui/qsui/qsuiwaveformseekbar.cpp +++ b/src/plugins/Ui/qsui/qsuiwaveformseekbar.cpp @@ -463,7 +463,7 @@ void QSUiWaveformScanner::run() if(counter >= samplesPerValue) { m_mutex.lock(); - for(int ch = 0; ch < channels; ++ch) + for(ch = 0; ch < channels; ++ch) { m_data << max[ch] * 1000; m_data << min[ch] * 1000; diff --git a/src/plugins/Ui/qsui/shortcutdialog.h b/src/plugins/Ui/qsui/shortcutdialog.h index f270b93d6..b390be0c2 100644 --- a/src/plugins/Ui/qsui/shortcutdialog.h +++ b/src/plugins/Ui/qsui/shortcutdialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2013 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,7 @@ class ShortcutDialog : public QDialog { Q_OBJECT public: - ShortcutDialog(const QString &key, QWidget *parent = nullptr); + explicit ShortcutDialog(const QString &key, QWidget *parent = nullptr); ~ShortcutDialog(); diff --git a/src/plugins/Ui/qsui/visualmenu.cpp b/src/plugins/Ui/qsui/visualmenu.cpp index b8f56dc39..4201142e2 100644 --- a/src/plugins/Ui/qsui/visualmenu.cpp +++ b/src/plugins/Ui/qsui/visualmenu.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2012 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -19,7 +19,6 @@ ***************************************************************************/ #include <QAction> - #include <qmmp/visual.h> #include <qmmp/visualfactory.h> #include "visualmenu.h" @@ -45,12 +44,11 @@ void VisualMenu::updateActions() } } -VisualAction::VisualAction(VisualFactory *factory, QWidget *parent) : - QAction(factory->properties().name, parent) +VisualAction::VisualAction(VisualFactory *factory, QWidget *parent) : QAction(factory->properties().name, parent), + m_factory(factory) { setCheckable (true); setChecked (Visual::isEnabled(factory)); - m_factory = factory; connect(this, SIGNAL(triggered(bool)), SLOT(select(bool))); } diff --git a/src/plugins/Ui/qsui/visualmenu.h b/src/plugins/Ui/qsui/visualmenu.h index 2994e40dd..24d8e5e9a 100644 --- a/src/plugins/Ui/qsui/visualmenu.h +++ b/src/plugins/Ui/qsui/visualmenu.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2012 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,7 @@ class VisualMenu : public QMenu { Q_OBJECT public: - VisualMenu(QWidget *parent = nullptr); + explicit VisualMenu(QWidget *parent = nullptr); ~VisualMenu(); @@ -44,7 +44,7 @@ class VisualAction : public QAction { Q_OBJECT public: - VisualAction(VisualFactory *factory, QWidget *parent = nullptr); + explicit VisualAction(VisualFactory *factory, QWidget *parent = nullptr); private slots: void select(bool); diff --git a/src/plugins/Ui/skinned/button.cpp b/src/plugins/Ui/skinned/button.cpp index e8474ff0f..c565fa7ed 100644 --- a/src/plugins/Ui/skinned/button.cpp +++ b/src/plugins/Ui/skinned/button.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2020 by Ilya Kotov * + * Copyright(C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * Based on Promoe, an XMMS2 Client * @@ -25,57 +25,56 @@ #include "skin.h" #include <QMouseEvent> -Button::Button (QWidget *parent, uint normal, uint pressed, uint cursor) - : PixmapWidget (parent) +Button::Button(QWidget *parent, uint normal, uint pressed, uint cursor) + : PixmapWidget(parent), + m_name_normal(normal), + m_name_pressed(pressed), + m_name_cursor(cursor) { - name_normal = normal; - name_pressed = pressed; - name_cursor = cursor; m_skin = Skin::instance(); setON (false); - setCursor (m_skin->getCursor (name_cursor)); - connect (m_skin, SIGNAL (skinChanged()), this, SLOT (updateSkin())); + setCursor(m_skin->getCursor (m_name_cursor)); + connect(m_skin, SIGNAL (skinChanged()), SLOT(updateSkin())); } - Button::~Button() {} void Button::updateSkin() { - setPixmap (m_skin->getButton (name_normal)); - setCursor (m_skin->getCursor (name_cursor)); + setPixmap (m_skin->getButton(m_name_normal)); + setCursor (m_skin->getCursor(m_name_cursor)); } -void Button::setON (bool on) +void Button::setON(bool on) { if (on) - setPixmap (m_skin->getButton (name_pressed)); + setPixmap(m_skin->getButton(m_name_pressed)); else - setPixmap (m_skin->getButton (name_normal)); + setPixmap(m_skin->getButton(m_name_normal)); } -void Button::mousePressEvent (QMouseEvent *e) +void Button::mousePressEvent(QMouseEvent *e) { if(e->button() != Qt::LeftButton) return; - setON (true); + setON(true); m_pressed = true; QWidget::mousePressEvent(e); } -void Button::mouseReleaseEvent (QMouseEvent *e) +void Button::mouseReleaseEvent(QMouseEvent *e) { - if (!m_pressed) + if(!m_pressed) return; m_pressed = false; if(rect().contains(e->pos())) { - setON (false); + setON(false); emit clicked(); } } -void Button::mouseMoveEvent (QMouseEvent *e) +void Button::mouseMoveEvent(QMouseEvent *e) { - setON (m_pressed && rect().contains(e->pos())); + setON(m_pressed && rect().contains(e->pos())); } diff --git a/src/plugins/Ui/skinned/button.h b/src/plugins/Ui/skinned/button.h index 5848c03dd..d47009930 100644 --- a/src/plugins/Ui/skinned/button.h +++ b/src/plugins/Ui/skinned/button.h @@ -45,8 +45,7 @@ private: //bool m_cursorin; bool m_pressed = false; void setON(bool); - uint name_normal, name_pressed; - uint name_cursor; + uint m_name_normal, m_name_pressed, m_name_cursor; protected: void mousePressEvent(QMouseEvent*) override; diff --git a/src/plugins/Ui/skinned/eqgraph.cpp b/src/plugins/Ui/skinned/eqgraph.cpp index 50522bf9b..a8c203a6a 100644 --- a/src/plugins/Ui/skinned/eqgraph.cpp +++ b/src/plugins/Ui/skinned/eqgraph.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -56,17 +56,15 @@ void EQGraph::clear () void EQGraph::init_spline (double * x, double * y, int n, double * y2) { - int i, k; - double p, qn, sig, un, *u; - - u = new double[n]; + double qn, un; + double *u = new double[n]; y2[0] = u[0] = 0.0; - for (i = 1; i < n - 1; i++) + for(int i = 1; i < n - 1; i++) { - sig = ((double) x[i] - x[i - 1]) / ((double) x[i + 1] - x[i - 1]); - p = sig * y2[i - 1] + 2.0; + double sig = ((double) x[i] - x[i - 1]) / ((double) x[i + 1] - x[i - 1]); + double p = sig * y2[i - 1] + 2.0; y2[i] = (sig - 1.0) / p; u[i] = (((double) y[i + 1] - y[i]) / (x[i + 1] - x[i])) - @@ -76,29 +74,25 @@ void EQGraph::init_spline (double * x, double * y, int n, double * y2) qn = un = 0.0; y2[n - 1] = (un - qn * u[n - 2]) / (qn * y2[n - 2] + 1.0); - for (k = n - 2; k >= 0; k--) + for(int k = n - 2; k >= 0; k--) y2[k] = y2[k] * y2[k + 1] + u[k]; delete[] u; } double EQGraph::eval_spline (double xa[], double ya[], double y2a[], int n, double x) { - int klo, khi, k; - double h, b, a; - - klo = 0; - khi = n - 1; + int klo = 0, khi = n - 1; while (khi - klo > 1) { - k = (khi + klo) >> 1; + int k = (khi + klo) >> 1; if (xa[k] > x) khi = k; else klo = k; } - h = xa[khi] - xa[klo]; - a = (xa[khi] - x) / h; - b = (x - xa[klo]) / h; + double h = xa[khi] - xa[klo]; + double a = (xa[khi] - x) / h; + double b = (x - xa[klo]) / h; return (a * ya[klo] + b * ya[khi] + ((a * a * a - a) * y2a[klo] + (b * b * b - b) * y2a[khi]) * (h * h) / 6.0); @@ -116,7 +110,6 @@ void EQGraph::draw() return; } - int i, y; double x[] = { 0, 11, 23, 35, 47, 59, 71, 83, 97, 109 }, yf[10]; double *bands = new double[10]; @@ -126,13 +119,10 @@ void EQGraph::draw() } init_spline (x, bands, 10, yf); - for (i = 0; i < 113; i++) + for (int i = 0; i < 113; i++) { - y = 9 - (int) ((eval_spline (x, bands, yf, 10, i) * 9.0) / 20.0); - if (y < 0) - y = 0; - if (y > 18) - y = 18; + int y = 9 - (int) ((eval_spline (x, bands, yf, 10, i) * 9.0) / 20.0); + y = qBound(0, y, 18); QPainter paint (&pixmap); paint.drawPixmap (i*m_ratio, y*m_ratio, m_skin->getEqSpline (y)); diff --git a/src/plugins/Ui/skinned/eqgraph.h b/src/plugins/Ui/skinned/eqgraph.h index 6373243ba..dd17732da 100644 --- a/src/plugins/Ui/skinned/eqgraph.h +++ b/src/plugins/Ui/skinned/eqgraph.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -30,7 +30,7 @@ class EQGraph : public PixmapWidget { Q_OBJECT public: - EQGraph (QWidget *parent = nullptr); + explicit EQGraph (QWidget *parent = nullptr); ~EQGraph(); diff --git a/src/plugins/Ui/skinned/eqwidget.cpp b/src/plugins/Ui/skinned/eqwidget.cpp index 891b4ee55..7e148784a 100644 --- a/src/plugins/Ui/skinned/eqwidget.cpp +++ b/src/plugins/Ui/skinned/eqwidget.cpp @@ -24,6 +24,7 @@ #include <QCloseEvent> #include <QFile> #include <QScreen> +#include <algorithm> #include <qmmpui/filedialog.h> #include <qmmpui/playlistmanager.h> #include <qmmp/soundcore.h> @@ -146,19 +147,15 @@ void EqWidget::setMimimalMode(bool b) void EqWidget::readSettings() { QSettings settings (Qmmp::configFile(), QSettings::IniFormat); - QScreen *screen = QGuiApplication::primaryScreen(); - QRect availableGeometry = screen->availableGeometry(); + QScreen *primaryScreen = QGuiApplication::primaryScreen(); + QRect availableGeometry = primaryScreen->availableGeometry(); QPoint pos = settings.value("Skinned/eq_pos", QPoint(100, 216)).toPoint(); int r = m_skin->ratio(); //TODO QGuiApplication::screenAt - for(const QScreen *screen : QGuiApplication::screens()) - { - if(screen->availableGeometry().contains(pos)) - { - availableGeometry = screen->availableGeometry(); - break; - } - } + const QList<QScreen *> screens = QGuiApplication::screens(); + auto it = std::find_if(screens.cbegin(), screens.cend(), [pos](QScreen *screen){ return screen->availableGeometry().contains(pos); }); + if(it != screens.cend()) + availableGeometry = (*it)->availableGeometry(); pos.setX(qBound(availableGeometry.left(), pos.x(), availableGeometry.right() - r*275)); pos.setY(qBound(availableGeometry.top(), pos.y(), availableGeometry.bottom() - r*116)); move(pos); //geometry @@ -396,19 +393,14 @@ void EqWidget::loadPreset(const QString &name) EQPreset *EqWidget::findPreset(const QString &name) { - for(EQPreset *preset : qAsConst(m_autoPresets)) - { - if (preset->text() == name) - return preset; - } - return nullptr; + auto it = std::find_if(m_autoPresets.cbegin(), m_autoPresets.cend(), [name](EQPreset *preset){ return preset->text() == name; }); + return it == m_autoPresets.cend() ? nullptr : *it; } void EqWidget::importWinampEQF() { char header[31]; - char name[257]; - char bands[11]; + QString path = FileDialog::getOpenFileName(this, tr("Import Preset"), QDir::homePath(), QString("Winamp EQF (*.q1)")); @@ -418,6 +410,8 @@ void EqWidget::importWinampEQF() file.read (header, 31); if (QString::fromLatin1(header).contains("Winamp EQ library file v1.1")) { + char name[257]; + char bands[11]; while (file.read (name, 257)) { EQPreset* preset = new EQPreset; diff --git a/src/plugins/Ui/skinned/eqwidget.h b/src/plugins/Ui/skinned/eqwidget.h index 0fe79b895..9ee6b0aaf 100644 --- a/src/plugins/Ui/skinned/eqwidget.h +++ b/src/plugins/Ui/skinned/eqwidget.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2016 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -42,7 +42,7 @@ class EqWidget : public PixmapWidget { Q_OBJECT public: - EqWidget(QWidget *parent = nullptr); + explicit EqWidget(QWidget *parent = nullptr); ~EqWidget(); diff --git a/src/plugins/Ui/skinned/keyboardmanager.h b/src/plugins/Ui/skinned/keyboardmanager.h index 29f5004b5..7238fd5ef 100644 --- a/src/plugins/Ui/skinned/keyboardmanager.h +++ b/src/plugins/Ui/skinned/keyboardmanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2013 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -37,7 +37,7 @@ public: /*! * Constructor. Takes \b PlayList object as an argument. */ - KeyboardManager (ListWidget *l); + explicit KeyboardManager (ListWidget *l); /*! * Handles key press events from \b PlayList object. Returns \b true * if the key was handled, otherwise \b false. diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index bb5fff5f7..4ee378b04 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -43,8 +43,10 @@ #define INVALID_INDEX -1 -ListWidget::ListWidget(QWidget *parent) - : QWidget(parent) +ListWidget::ListWidget(QWidget *parent) : QWidget(parent), + m_pressed_index(INVALID_INDEX), + m_anchor_index(INVALID_INDEX), + m_drop_index(INVALID_INDEX) { m_popupWidget = nullptr; @@ -56,17 +58,6 @@ ListWidget::ListWidget(QWidget *parent) m_header = new PlayListHeader(this); m_hslider = new HorizontalSlider(this); - m_update = false; - m_drop_index = INVALID_INDEX; - m_scroll_direction = NONE; - m_prev_y = 0; - m_anchor_index = INVALID_INDEX; - m_pressed_index = INVALID_INDEX; - m_first = 0; - m_row_count = 0; - m_count = 0; - m_firstItem = nullptr; - m_select_on_release = false; setAcceptDrops(true); setMouseTracking(true); diff --git a/src/plugins/Ui/skinned/listwidget.h b/src/plugins/Ui/skinned/listwidget.h index 378b5a04d..7f95c84a4 100644 --- a/src/plugins/Ui/skinned/listwidget.h +++ b/src/plugins/Ui/skinned/listwidget.h @@ -112,22 +112,20 @@ private: bool updateRowCount(); void restoreFirstVisible(); - bool m_update; - int m_pressed_index; + bool m_update = false; + int m_pressed_index, m_anchor_index, m_drop_index; QMenu *m_menu; PlayListModel *m_model; - int m_row_count, m_first, m_count; //visible rows, first visible index, total item count - PlayListItem *m_firstItem; //first visible item + int m_row_count = 0, m_first = 0, m_count = 0; //visible rows, first visible index, total item count + PlayListItem *m_firstItem = nullptr; //first visible item Skin *m_skin; - int m_anchor_index; /*! * Scroll direction that is performing in current moment. */ - ScrollDirection m_scroll_direction; - int m_prev_y; - bool m_select_on_release; - bool m_show_protocol; - int m_drop_index; + ScrollDirection m_scroll_direction = NONE; + int m_prev_y = 0; + bool m_select_on_release = false; + bool m_show_protocol = false; QList<ListWidgetRow *> m_rows; QmmpUiSettings *m_ui_settings; PlayListPopup::PopupWidget *m_popupWidget; diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp index 301bf7b61..ebd6283cc 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp +++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp @@ -203,7 +203,6 @@ void ListWidgetDrawer::prepareRow(ListWidgetRow *row) { row->titles[i] = m_metrics->elidedText (row->titles[i], Qt::ElideRight, size - 2 * m_padding); } - visible_width -= size; } } @@ -277,7 +276,7 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool int sy = row->rect.y() + m_metrics->overlinePos() - 1; painter->setFont(m_font); - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_group_text); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_selected_text : m_group_text); if(rtl) sx = row->rect.right() - sx - m_metrics->horizontalAdvance(row->titles[0]); @@ -343,7 +342,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx + m_padding, sy, number); if(m_show_splitters) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_selected_text : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); painter->setPen(textColor); } @@ -405,7 +404,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_selected_text : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); } } @@ -419,12 +418,12 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl if(row->numberColumnWidth) { sx += row->numberColumnWidth; - painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); + painter->setPen((row->flags & ListWidgetRow::CURRENT) ? m_current : m_normal); QString number = QString("%1").arg(row->number); painter->drawText(sx - m_padding - m_metrics->horizontalAdvance(number), sy, number); if(m_show_splitters) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_selected_text : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); painter->setPen(textColor); } @@ -486,7 +485,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); + painter->setPen((row->flags & ListWidgetRow::SELECTED) ? m_selected_text : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); } } diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp index 5bef7a1c0..56ec1d2f1 100644 --- a/src/plugins/Ui/skinned/mainwindow.cpp +++ b/src/plugins/Ui/skinned/mainwindow.cpp @@ -23,6 +23,7 @@ #include <QAction> #include <QMenu> #include <QScreen> +#include <algorithm> #include <math.h> #include <qmmp/soundcore.h> #include <qmmp/visual.h> @@ -275,18 +276,14 @@ void MainWindow::readSettings() } else { - QScreen *screen = QGuiApplication::primaryScreen(); - QRect availableGeometry = screen->availableGeometry(); + QScreen *primaryScreen = QGuiApplication::primaryScreen(); + QRect availableGeometry = primaryScreen->availableGeometry(); QPoint pos = settings.value("mw_pos", QPoint(100, 100)).toPoint(); int r = m_skin->ratio(); - for(const QScreen *screen : QGuiApplication::screens()) - { - if(screen->availableGeometry().contains(pos)) - { - availableGeometry = screen->availableGeometry(); - break; - } - } + const QList<QScreen *> screens = QGuiApplication::screens(); + auto it = std::find_if(screens.cbegin(), screens.cend(), [pos](QScreen *screen){ return screen->availableGeometry().contains(pos); }); + if(it != screens.cend()) + availableGeometry = (*it)->availableGeometry(); pos.setX(qBound(availableGeometry.left(), pos.x(), availableGeometry.right() - r*275)); pos.setY(qBound(availableGeometry.top(), pos.y(), availableGeometry.bottom() - r*116)); move(pos); //geometry diff --git a/src/plugins/Ui/skinned/playlist.cpp b/src/plugins/Ui/skinned/playlist.cpp index bcedd034e..3f3b0a716 100644 --- a/src/plugins/Ui/skinned/playlist.cpp +++ b/src/plugins/Ui/skinned/playlist.cpp @@ -25,6 +25,7 @@ #include <QCloseEvent> #include <QInputDialog> #include <QScreen> +#include <algorithm> #include <qmmpui/playlistitem.h> #include <qmmpui/playlistmodel.h> #include <qmmpui/playlistmanager.h> @@ -55,11 +56,8 @@ PlayList::PlayList (PlayListManager *manager, QWidget *parent) setWindowTitle(tr("Playlist")); m_pl_manager = manager; m_ui_settings = QmmpUiSettings::instance(); - m_update = false; - m_resize = false; m_skin = Skin::instance(); m_ratio = m_skin->ratio(); - m_shaded = false; m_pl_browser = nullptr; m_pl_selector = nullptr; @@ -470,19 +468,15 @@ void PlayList::readSettings() } else { - QScreen *screen = QGuiApplication::primaryScreen(); - QRect availableGeometry = screen->availableGeometry(); + QScreen *primaryScreen = QGuiApplication::primaryScreen(); + QRect availableGeometry = primaryScreen->availableGeometry(); QPoint pos = settings.value ("Skinned/pl_pos", QPoint (100, 332)).toPoint(); m_ratio = m_skin->ratio(); //TODO QGuiApplication::screenAt - for(const QScreen *screen : QGuiApplication::screens()) - { - if(screen->availableGeometry().contains(pos)) - { - availableGeometry = screen->availableGeometry(); - break; - } - } + const QList<QScreen *> screens = QGuiApplication::screens(); + auto it = std::find_if(screens.cbegin(), screens.cend(), [pos](QScreen *screen){ return screen->availableGeometry().contains(pos); }); + if(it != screens.cend()) + availableGeometry = (*it)->availableGeometry(); pos.setX(qBound(availableGeometry.left(), pos.x(), availableGeometry.right() - m_ratio*275)); pos.setY(qBound(availableGeometry.top(), pos.y(), availableGeometry.bottom() - m_ratio*116)); move(pos); //position diff --git a/src/plugins/Ui/skinned/playlist.h b/src/plugins/Ui/skinned/playlist.h index 44a854d27..31b0aa8af 100644 --- a/src/plugins/Ui/skinned/playlist.h +++ b/src/plugins/Ui/skinned/playlist.h @@ -49,7 +49,7 @@ class PlayList : public QWidget { Q_OBJECT public: - PlayList (PlayListManager *manager, QWidget *parent = nullptr); + explicit PlayList(PlayListManager *manager, QWidget *parent = nullptr); virtual ~PlayList(); void readSettings(); @@ -126,16 +126,16 @@ class PlayList : public QWidget ListWidget *m_listWidget; PlayListTitleBar *m_titleBar; PlayListSlider *m_plslider; - bool m_resize; - bool m_update; + bool m_resize = false; + bool m_update = false; int m_ratio; int m_height; - bool m_shaded; + bool m_shaded = false; PlayListManager *m_pl_manager; QmmpUiSettings *m_ui_settings; KeyboardManager* m_keyboardManager; QPointer <PlayListBrowser> m_pl_browser; - PlayListSelector *m_pl_selector; + PlayListSelector *m_pl_selector = nullptr; #ifdef QMMP_WS_X11 bool m_compiz; #endif diff --git a/src/plugins/Ui/skinned/playlistbrowser.h b/src/plugins/Ui/skinned/playlistbrowser.h index d0a3b2ff0..f445b4bc0 100644 --- a/src/plugins/Ui/skinned/playlistbrowser.h +++ b/src/plugins/Ui/skinned/playlistbrowser.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2013 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -36,7 +36,7 @@ class PlayListBrowser : public QDialog { Q_OBJECT public: - PlayListBrowser(PlayListManager *manager, QWidget *parent = nullptr); + explicit PlayListBrowser(PlayListManager *manager, QWidget *parent = nullptr); ~PlayListBrowser(); private slots: diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 0c858e0a7..ce59725ed 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -32,6 +32,7 @@ #include <QIcon> #include <QHash> #include <QActionGroup> +#include <algorithm> #include <qmmp/qmmp.h> #include <qmmpui/playlistmanager.h> #include <qmmpui/playlistheadermodel.h> @@ -144,7 +145,7 @@ void PlayListHeader::readSettings() { m_model->setData(i, SIZE, INITAL_SIZE); m_model->setData(i, ALIGNMENT, (layoutDirection() == Qt::RightToLeft) ? - ListWidgetRow::ALIGN_LEFT : ListWidgetRow::ALIGN_LEFT); + ListWidgetRow::ALIGN_RIGHT : ListWidgetRow::ALIGN_LEFT); if(i < sizes.count()) m_model->setData(i, SIZE, sizes.at(i).toInt()); @@ -286,11 +287,8 @@ int PlayListHeader::maxScrollValue() const if(m_model->count() == 1) return 0; - int row_width = 0; - for(int size : sizes()) - { - row_width += size; - } + const QList<int> sizeList = sizes(); + int row_width = std::accumulate(sizeList.cbegin(), sizeList.cend(), 0); return qMax(0, row_width - width() + 10); } diff --git a/src/plugins/Ui/skinned/playlistselector.h b/src/plugins/Ui/skinned/playlistselector.h index be3082c9d..3fd0411ca 100644 --- a/src/plugins/Ui/skinned/playlistselector.h +++ b/src/plugins/Ui/skinned/playlistselector.h @@ -39,7 +39,7 @@ class PlayListSelector : public QWidget { Q_OBJECT public: - PlayListSelector(PlayListManager *manager, QWidget *parent = nullptr); + explicit PlayListSelector(PlayListManager *manager, QWidget *parent = nullptr); ~PlayListSelector(); void readSettings(); diff --git a/src/plugins/Ui/skinned/preseteditor.cpp b/src/plugins/Ui/skinned/preseteditor.cpp index 42de31de3..75ae9f6b8 100644 --- a/src/plugins/Ui/skinned/preseteditor.cpp +++ b/src/plugins/Ui/skinned/preseteditor.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2012 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -28,29 +28,29 @@ PresetEditor::PresetEditor(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); + m_ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose); - connect(ui.loadButton,SIGNAL(clicked()),SLOT(loadPreset())); - connect(ui.deleteButton,SIGNAL(clicked()),SLOT(deletePreset())); - ui.loadButton->setIcon(QIcon::fromTheme("document-open")); - ui.deleteButton->setIcon(QIcon::fromTheme("edit-delete")); + connect(m_ui.loadButton,SIGNAL(clicked()),SLOT(loadPreset())); + connect(m_ui.deleteButton,SIGNAL(clicked()),SLOT(deletePreset())); + m_ui.loadButton->setIcon(QIcon::fromTheme("document-open")); + m_ui.deleteButton->setIcon(QIcon::fromTheme("edit-delete")); } PresetEditor::~PresetEditor() { - while (ui.presetListWidget->count () !=0) - ui.presetListWidget->takeItem (0); + while (m_ui.presetListWidget->count () !=0) + m_ui.presetListWidget->takeItem (0); - while (ui.autoPresetListWidget->count () !=0) - ui.autoPresetListWidget->takeItem (0); + while (m_ui.autoPresetListWidget->count () !=0) + m_ui.autoPresetListWidget->takeItem (0); } void PresetEditor::addPresets(const QList<EQPreset*> &presets) { for(QListWidgetItem *item : qAsConst(presets)) { - ui.presetListWidget->addItem(item); + m_ui.presetListWidget->addItem(item); } } @@ -58,17 +58,17 @@ void PresetEditor::addAutoPresets(const QList<EQPreset*> &presets) { for(QListWidgetItem *item : qAsConst(presets)) { - ui.autoPresetListWidget->addItem(item); + m_ui.autoPresetListWidget->addItem(item); } } void PresetEditor::loadPreset() { EQPreset* preset = nullptr; - if (ui.tabWidget->currentIndex () == 0) - preset = (EQPreset *) ui.presetListWidget->currentItem (); - if (ui.tabWidget->currentIndex () == 1) - preset = (EQPreset *) ui.autoPresetListWidget->currentItem (); + if (m_ui.tabWidget->currentIndex () == 0) + preset = static_cast<EQPreset *>(m_ui.presetListWidget->currentItem()); + if (m_ui.tabWidget->currentIndex () == 1) + preset = static_cast<EQPreset *>(m_ui.autoPresetListWidget->currentItem()); if (preset) emit presetLoaded(preset); } @@ -76,10 +76,10 @@ void PresetEditor::loadPreset() void PresetEditor::deletePreset() { EQPreset* preset = nullptr; - if (ui.tabWidget->currentIndex () == 0) - preset = (EQPreset *) ui.presetListWidget->currentItem (); - if (ui.tabWidget->currentIndex () == 1) - preset = (EQPreset *) ui.autoPresetListWidget->currentItem (); + if (m_ui.tabWidget->currentIndex () == 0) + preset = static_cast<EQPreset *>(m_ui.presetListWidget->currentItem()); + if (m_ui.tabWidget->currentIndex () == 1) + preset = static_cast<EQPreset *>(m_ui.autoPresetListWidget->currentItem()); if (preset) emit presetDeleted(preset); } diff --git a/src/plugins/Ui/skinned/preseteditor.h b/src/plugins/Ui/skinned/preseteditor.h index 842122506..5529ce8f3 100644 --- a/src/plugins/Ui/skinned/preseteditor.h +++ b/src/plugins/Ui/skinned/preseteditor.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -50,7 +50,7 @@ private slots: void deletePreset(); private: - Ui::PresetEditor ui; + Ui::PresetEditor m_ui; }; diff --git a/src/plugins/Ui/skinned/shadedbar.cpp b/src/plugins/Ui/skinned/shadedbar.cpp index b97dee3ae..9bc10125a 100644 --- a/src/plugins/Ui/skinned/shadedbar.cpp +++ b/src/plugins/Ui/skinned/shadedbar.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2009 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -25,12 +25,11 @@ #include "skin.h" #include "shadedbar.h" -ShadedBar::ShadedBar(QWidget *parent, uint slider1, uint slider2, uint slider3) - : QWidget(parent) +ShadedBar::ShadedBar(QWidget *parent, uint slider1, uint slider2, uint slider3) : QWidget(parent), + m_slider1(slider1), + m_slider2(slider2), + m_slider3(slider3) { - m_slider1 = slider1; - m_slider2 = slider2; - m_slider3 = slider3; m_skin = Skin::instance(); m_ratio = m_skin->ratio(); if(slider1 == Skin::EQ_VOLUME1) @@ -38,14 +37,9 @@ ShadedBar::ShadedBar(QWidget *parent, uint slider1, uint slider2, uint slider3) else resize(m_ratio*42,m_ratio*7); connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin())); - m_moving = false; - m_min = 0; - m_max = 100; - m_old = m_value = 0; draw(); } - ShadedBar::~ShadedBar() { } @@ -53,16 +47,16 @@ ShadedBar::~ShadedBar() void ShadedBar::mousePressEvent(QMouseEvent *e) { m_moving = true; - press_pos = e->x(); - if(m_pos<e->x() && e->x()<m_pos+3) + m_press_pos = e->x(); + if(m_pos < e->x() && e->x() < m_pos+3) { - press_pos = e->x()-m_pos; + m_press_pos = e->x() - m_pos; } else { - m_value = convert(qMax(qMin(width()-3,e->x()-1),0)); - press_pos = 1; - if (m_value!=m_old) + m_value = convert(qMax(qMin(width() - 3, e->x() - 1), 0)); + m_press_pos = 1; + if (m_value != m_old) { emit sliderMoved(m_value); } @@ -75,9 +69,9 @@ void ShadedBar::mouseMoveEvent (QMouseEvent *e) if(m_moving) { int po = e->x(); - po = po - press_pos; + po = po - m_press_pos; - if(0<=po && po<=width()-3) + if(0 <= po && po <= width() - 3) { m_value = convert(po); draw(); diff --git a/src/plugins/Ui/skinned/shadedbar.h b/src/plugins/Ui/skinned/shadedbar.h index e4ebb6b7f..c11c59d3a 100644 --- a/src/plugins/Ui/skinned/shadedbar.h +++ b/src/plugins/Ui/skinned/shadedbar.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2009 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -36,11 +36,11 @@ public: ShadedBar(QWidget *parent = nullptr, uint slider1 = 0, uint slider2 = 0, uint slider3 = 0); ~ShadedBar(); - int value() + inline int value() { return m_value; } - int isPressed() + inline int isPressed() { return m_moving; } @@ -57,9 +57,9 @@ private slots: private: Skin *m_skin; - bool m_moving; - int press_pos; - int m_max, m_min, m_pos, m_value, m_old, m_x; + bool m_moving = false; + int m_press_pos = 0; + int m_max = 100, m_min = 0, m_pos = 0, m_value = 0, m_old; QPixmap m_pixmap; int convert(int); // value = convert(position); void draw(); diff --git a/src/plugins/Ui/skinned/shadedvisual.cpp b/src/plugins/Ui/skinned/shadedvisual.cpp index 3a195d4e5..3016a2b0d 100644 --- a/src/plugins/Ui/skinned/shadedvisual.cpp +++ b/src/plugins/Ui/skinned/shadedvisual.cpp @@ -34,7 +34,6 @@ ShadedVisual::ShadedVisual(QWidget *parent) : Visual(parent) m_timer = new QTimer(this); connect(m_timer, SIGNAL (timeout()), this, SLOT (timeout())); connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin())); - m_running = false; m_timer->setInterval(50); m_timer->start(); clear(); @@ -84,21 +83,17 @@ void ShadedVisual::process () int pos = 0; int l = 0; int r = 0; - int j_l = 0, j_r = 0; for (int i = 0; i < 75; ++i) { pos += step; - j_l = abs(m_left_buffer[pos >> 8] * 8.0); - - if (j_l > 15) - j_l = 15; + int j_l = abs(m_left_buffer[pos >> 8] * 8.0); + j_l = qMin(j_l, 15); l = qMax(l, j_l); - j_r = abs(m_right_buffer[pos >> 8] * 8.0); - if (j_r > 15) - j_r = 15; + int j_r = abs(m_right_buffer[pos >> 8] * 8.0); + j_r = qMin(j_r, 15); r = qMax(r, j_r); } m_l -= 0.5; diff --git a/src/plugins/Ui/skinned/shadedvisual.h b/src/plugins/Ui/skinned/shadedvisual.h index 7828920fe..ef2b6514f 100644 --- a/src/plugins/Ui/skinned/shadedvisual.h +++ b/src/plugins/Ui/skinned/shadedvisual.h @@ -35,7 +35,7 @@ class ShadedVisual : public Visual { Q_OBJECT public: - ShadedVisual(QWidget *parent = nullptr); + explicit ShadedVisual(QWidget *parent = nullptr); ~ShadedVisual(); @@ -62,7 +62,7 @@ private: float m_right_buffer[QMMP_VISUAL_NODE_SIZE]; double m_l, m_r; int m_ratio; - bool m_running; + bool m_running = false; }; diff --git a/src/plugins/Ui/skinned/shortcutdialog.h b/src/plugins/Ui/skinned/shortcutdialog.h index f270b93d6..b390be0c2 100644 --- a/src/plugins/Ui/skinned/shortcutdialog.h +++ b/src/plugins/Ui/skinned/shortcutdialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2013 by Ilya Kotov * + * Copyright (C) 2010-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,7 @@ class ShortcutDialog : public QDialog { Q_OBJECT public: - ShortcutDialog(const QString &key, QWidget *parent = nullptr); + explicit ShortcutDialog(const QString &key, QWidget *parent = nullptr); ~ShortcutDialog(); diff --git a/src/plugins/Ui/skinned/timeindicator.cpp b/src/plugins/Ui/skinned/timeindicator.cpp index 34850e1e3..2cbcffa4d 100644 --- a/src/plugins/Ui/skinned/timeindicator.cpp +++ b/src/plugins/Ui/skinned/timeindicator.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2015 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -26,12 +26,7 @@ #include "timeindicator.h" -TimeIndicatorModel::TimeIndicatorModel(QObject *parent) - : QObject (parent) - , m_position (0) - , m_duration (0) - , m_elapsed (true) - , m_visible (false) +TimeIndicatorModel::TimeIndicatorModel(QObject *parent) : QObject (parent) { readSettings(); } diff --git a/src/plugins/Ui/skinned/timeindicator.h b/src/plugins/Ui/skinned/timeindicator.h index 83918e9cb..54c1ba1fb 100644 --- a/src/plugins/Ui/skinned/timeindicator.h +++ b/src/plugins/Ui/skinned/timeindicator.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2015 by Ilya Kotov * + * Copyright (C) 2006-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -35,13 +35,13 @@ class Skin; class TimeIndicatorModel : public QObject { Q_OBJECT public: - TimeIndicatorModel(QObject *parent = nullptr); + explicit TimeIndicatorModel(QObject *parent = nullptr); ~TimeIndicatorModel(); - int position() { return m_position; } - int duration() { return m_duration; } - bool elapsed() { return m_elapsed; } - bool visible() { return m_visible; } + inline int position() const { return m_position; } + inline int duration() const { return m_duration; } + inline bool elapsed() const { return m_elapsed; } + inline bool visible() const { return m_visible; } void setPosition(int position); void setDuration(int duration); @@ -60,10 +60,10 @@ private: void readSettings(); void writeSettings(); - int m_position; - int m_duration; - bool m_elapsed; - bool m_visible; + int m_position = 0; + int m_duration = 0; + bool m_elapsed = true; + bool m_visible = false; }; @@ -77,7 +77,7 @@ class TimeIndicator : public PixmapWidget { Q_OBJECT public: - TimeIndicator(TimeIndicatorModel *model, QWidget *parent = nullptr); + explicit TimeIndicator(TimeIndicatorModel *model, QWidget *parent = nullptr); ~TimeIndicator(); protected: diff --git a/src/plugins/Ui/skinned/titlebar.cpp b/src/plugins/Ui/skinned/titlebar.cpp index 81ba910a7..3773341ab 100644 --- a/src/plugins/Ui/skinned/titlebar.cpp +++ b/src/plugins/Ui/skinned/titlebar.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2016 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -37,18 +37,12 @@ // TODO skin cursor with shade mode TitleBar::TitleBar(TimeIndicatorModel *model, QWidget *parent) - : PixmapWidget(parent) - , m_model(model) + : PixmapWidget(parent), + m_model(model) { - m_align = false; m_skin = Skin::instance(); setPixmap(m_skin->getTitleBar(Skin::TITLEBAR_A)); m_mw = qobject_cast<MainWindow*>(parent->parent()); - m_shaded = false; - m_shade2 = nullptr; - m_currentTime = nullptr; - m_control = nullptr; - m_visual = nullptr; //buttons m_menu = new Button(this,Skin::BT_MENU_N,Skin::BT_MENU_P, Skin::CUR_MAINMENU); connect(m_menu,SIGNAL(clicked()),this,SLOT(showMainMenu())); diff --git a/src/plugins/Ui/skinned/titlebar.h b/src/plugins/Ui/skinned/titlebar.h index 8d768a376..c6c80391d 100644 --- a/src/plugins/Ui/skinned/titlebar.h +++ b/src/plugins/Ui/skinned/titlebar.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2016 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -22,7 +22,6 @@ #include <QMainWindow> #include <QPoint> - #include "pixmapwidget.h" #include "playlist.h" @@ -42,7 +41,7 @@ class TitleBar : public PixmapWidget { Q_OBJECT public: - TitleBar(TimeIndicatorModel *model, QWidget *parent = nullptr); + explicit TitleBar(TimeIndicatorModel *model, QWidget *parent = nullptr); ~TitleBar(); @@ -61,14 +60,14 @@ private: Button *m_menu; Button *m_minimize; Button *m_shade; - Button *m_shade2; + Button *m_shade2 = nullptr; Button *m_close; - SymbolDisplay *m_currentTime; + SymbolDisplay *m_currentTime = nullptr; QString formatTime (int); - bool m_shaded; - bool m_align; - TitleBarControl *m_control; - ShadedVisual *m_visual; + bool m_shaded = false; + bool m_align = false; + TitleBarControl *m_control = nullptr; + ShadedVisual *m_visual = nullptr; TimeIndicatorModel *m_model; void updatePositions(); diff --git a/src/plugins/Ui/skinned/visualmenu.cpp b/src/plugins/Ui/skinned/visualmenu.cpp index 6135eda10..4201142e2 100644 --- a/src/plugins/Ui/skinned/visualmenu.cpp +++ b/src/plugins/Ui/skinned/visualmenu.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2012 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -44,12 +44,11 @@ void VisualMenu::updateActions() } } -VisualAction::VisualAction(VisualFactory *factory, QWidget *parent) : - QAction(factory->properties().name, parent) +VisualAction::VisualAction(VisualFactory *factory, QWidget *parent) : QAction(factory->properties().name, parent), + m_factory(factory) { setCheckable (true); setChecked (Visual::isEnabled(factory)); - m_factory = factory; connect(this, SIGNAL(triggered(bool)), SLOT(select(bool))); } diff --git a/src/plugins/Ui/skinned/visualmenu.h b/src/plugins/Ui/skinned/visualmenu.h index 2994e40dd..24d8e5e9a 100644 --- a/src/plugins/Ui/skinned/visualmenu.h +++ b/src/plugins/Ui/skinned/visualmenu.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007-2012 by Ilya Kotov * + * Copyright (C) 2007-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -32,7 +32,7 @@ class VisualMenu : public QMenu { Q_OBJECT public: - VisualMenu(QWidget *parent = nullptr); + explicit VisualMenu(QWidget *parent = nullptr); ~VisualMenu(); @@ -44,7 +44,7 @@ class VisualAction : public QAction { Q_OBJECT public: - VisualAction(VisualFactory *factory, QWidget *parent = nullptr); + explicit VisualAction(VisualFactory *factory, QWidget *parent = nullptr); private slots: void select(bool); |
