diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-10-22 13:05:01 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-10-22 13:05:01 +0000 |
| commit | 065387600c5d8e3b045802d82c5d4ab12b208e2a (patch) | |
| tree | 9e074d87ad91d269445488225f3a977593a47266 /src/plugins | |
| parent | 49284bb0d33a2598f96645182984bc3fa671b932 (diff) | |
| download | qmmp-065387600c5d8e3b045802d82c5d4ab12b208e2a.tar.gz qmmp-065387600c5d8e3b045802d82c5d4ab12b208e2a.tar.bz2 qmmp-065387600c5d8e3b045802d82c5d4ab12b208e2a.zip | |
changed SoundCore API, fixed displaying bits per sample (#926)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7613 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
| -rw-r--r-- | src/plugins/Engines/mplayer/mplayerengine.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/General/mpris/mpris1/playerobject.cpp | 4 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/display.cpp | 15 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/display.h | 5 |
5 files changed, 20 insertions, 19 deletions
diff --git a/src/plugins/Engines/mplayer/mplayerengine.cpp b/src/plugins/Engines/mplayer/mplayerengine.cpp index ad7ee07d7..08196b05e 100644 --- a/src/plugins/Engines/mplayer/mplayerengine.cpp +++ b/src/plugins/Engines/mplayer/mplayerengine.cpp @@ -202,11 +202,7 @@ void MplayerEngine::readStdOut() { StateHandler::instance()->dispatch(Qmmp::Playing); m_currentTime = (qint64) rx_av.cap(1).toDouble(); - StateHandler::instance()->dispatch(m_currentTime * 1000, - m_bitrate, - m_samplerate, - m_bitsPerSample, - m_channels); + StateHandler::instance()->dispatch(m_currentTime * 1000, m_bitrate); } else if (rx_pause.indexIn(line) > -1) { @@ -244,6 +240,8 @@ void MplayerEngine::readStdOut() m_channels = rx_audio.cap(2).toInt(); m_bitsPerSample = rx_audio.cap(3).toDouble(); m_bitrate = rx_audio.cap(4).toDouble(); + AudioParameters ap(m_samplerate, ChannelMap(m_channels), AudioParameters::findAudioFormat(m_bitsPerSample)); + StateHandler::instance()->dispatch(ap); } #ifdef MPLAYER_DEBUG else diff --git a/src/plugins/General/mpris/mpris1/playerobject.cpp b/src/plugins/General/mpris/mpris1/playerobject.cpp index 3605c51a0..866a9858b 100644 --- a/src/plugins/General/mpris/mpris1/playerobject.cpp +++ b/src/plugins/General/mpris/mpris1/playerobject.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2013 by Ilya Kotov * + * Copyright (C) 2008-2017 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -143,7 +143,7 @@ QVariantMap PlayerObject::GetMetadata() map.insert("genre", m_core->metaData(Qmmp::GENRE)); map.insert("comment", m_core->metaData(Qmmp::COMMENT)); map.insert("audio-bitrate", (quint32)m_core->bitrate()); - map.insert("audio-samplerate", (quint32)m_core->frequency()); + map.insert("audio-samplerate", (quint32)m_core->audioParameters().sampleRate()); map.insert("year", m_core->metaData(Qmmp::YEAR).toUInt()); return map; } diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index e92ed21a3..56f5622ca 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -369,11 +369,12 @@ void MainWindow::updateStatus() if(m_core->state() == Qmmp::Playing || m_core->state() == Qmmp::Paused) { + AudioParameters ap = m_core->audioParameters(); m_statusLabel->setText(tr("<b>%1</b>|%2 bit|%3 ch|%4 Hz|tracks: %5|total time: %6|%7 kbps|") .arg(m_core->state() == Qmmp::Playing ? tr("Playing") : tr("Paused")) - .arg(m_core->sampleSize()) - .arg(m_core->channels()) - .arg(m_core->frequency()) + .arg(ap.validBitsPerSample()) + .arg(ap.channels()) + .arg(ap.sampleRate()) .arg(tracks) .arg(MetaDataFormatter::formatLength(length, false)) .arg(m_core->bitrate())); diff --git a/src/plugins/Ui/skinned/display.cpp b/src/plugins/Ui/skinned/display.cpp index 9c98b50cb..d4fd519a4 100644 --- a/src/plugins/Ui/skinned/display.cpp +++ b/src/plugins/Ui/skinned/display.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2016 by Ilya Kotov * + * Copyright (C) 2006-2017 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -122,8 +122,7 @@ MainDisplay::MainDisplay (MainWindow *parent) m_core = SoundCore::instance(); connect(m_core, SIGNAL(elapsedChanged(qint64)), SLOT(setTime(qint64))); connect(m_core, SIGNAL(bitrateChanged(int)), m_kbps, SLOT(display(int))); - connect(m_core, SIGNAL(frequencyChanged(quint32)), SLOT(setSampleRate(quint32))); - connect(m_core, SIGNAL(channelsChanged(int)), m_monoster, SLOT(setChannels(int))); + connect(m_core, SIGNAL(audioParametersChanged(AudioParameters)), SLOT(onAudioPatametersChanged(AudioParameters))); connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(setState(Qmmp::State))); connect(m_core, SIGNAL(volumeChanged(int)), m_volumeBar, SLOT(setValue(int))); connect(m_core, SIGNAL(balanceChanged(int)), m_balanceBar, SLOT(setValue(int))); @@ -205,6 +204,12 @@ void MainDisplay::setState(Qmmp::State state) } } +void MainDisplay::onAudioPatametersChanged(const AudioParameters &p) +{ + m_monoster->setChannels(p.channels()); + m_freq->display(int(p.sampleRate()) / 1000); +} + void MainDisplay::updateSkin() { setPixmap (m_skin->getMain()); @@ -240,10 +245,6 @@ void MainDisplay::setActive(bool b) m_titlebar->setActive(b); } -void MainDisplay::setSampleRate(quint32 rate) -{ - m_freq->display((int) rate/1000); -} //TODO optimize this connections void MainDisplay::setEQ (QWidget* w) { diff --git a/src/plugins/Ui/skinned/display.h b/src/plugins/Ui/skinned/display.h index b11374b7b..95781eb94 100644 --- a/src/plugins/Ui/skinned/display.h +++ b/src/plugins/Ui/skinned/display.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2013 by Ilya Kotov * + * Copyright (C) 2006-2017 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -22,6 +22,7 @@ #include <QPixmap> #include <qmmp/statehandler.h> +#include <qmmp/audioparameters.h> #include "pixmapwidget.h" class TimeIndicator; @@ -81,9 +82,9 @@ private slots: void displayVolume(); void showPosition(); void updatePosition(); - void setSampleRate(quint32 rate); void setTime(qint64); void setState(Qmmp::State state); + void onAudioPatametersChanged(const AudioParameters &p); private: void updatePositions(); |
