Volume slider now 100% operational. Setting volume from promoe works!
This commit is contained in:
parent
2c20ddf6fc
commit
8807e630f1
3 changed files with 33 additions and 3 deletions
|
@ -86,6 +86,9 @@ VolumeSlider::setPixmaps (Skin *skin)
|
||||||
void
|
void
|
||||||
VolumeSlider::changePixmap ()
|
VolumeSlider::changePixmap ()
|
||||||
{
|
{
|
||||||
|
XMMSHandler *xmmsh = XMMSHandler::getInstance ();
|
||||||
|
xmmsh->volumeSet (m_volume_base100);
|
||||||
|
|
||||||
m_volslider = m_skin->getVol (m_volume);
|
m_volslider = m_skin->getVol (m_volume);
|
||||||
drawPixmaps ();
|
drawPixmaps ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -294,6 +294,21 @@ XMMSHandler::volumeGet (void)
|
||||||
p->connect (sigc::mem_fun (this, &XMMSHandler::volume_get));
|
p->connect (sigc::mem_fun (this, &XMMSHandler::volume_get));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
XMMSHandler::volumeSet (uint volume)
|
||||||
|
{
|
||||||
|
if(m_masterchan)
|
||||||
|
{
|
||||||
|
delete m_xmmsc->playback_volume_set ("master", volume);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
delete m_xmmsc->playback_volume_set ("left", volume);
|
||||||
|
delete m_xmmsc->playback_volume_set ("right", volume);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
XMMSHandler::volume_changed (XMMSResult *res)
|
XMMSHandler::volume_changed (XMMSResult *res)
|
||||||
{
|
{
|
||||||
|
@ -308,12 +323,22 @@ XMMSHandler::volume_get (XMMSResultDict *res)
|
||||||
QListIterator<QString> vol (Values);
|
QListIterator<QString> vol (Values);
|
||||||
|
|
||||||
uint right = atol (vol.next().toAscii());
|
uint right = atol (vol.next().toAscii());
|
||||||
uint left = atol (vol.next().toAscii());
|
if(vol.hasNext())
|
||||||
|
{
|
||||||
|
uint left = atol (vol.next().toAscii());
|
||||||
|
|
||||||
|
if(left > right)
|
||||||
|
emit getVolume (left);
|
||||||
|
else
|
||||||
|
emit getVolume (right);
|
||||||
|
|
||||||
if(left > right)
|
m_masterchan = false;
|
||||||
emit getVolume (left);
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
emit getVolume (right);
|
emit getVolume (right);
|
||||||
|
m_masterchan = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@ class XMMSHandler : public QObject, public sigc::trackable {
|
||||||
uint medialibQuery (QString);
|
uint medialibQuery (QString);
|
||||||
void medialibQueryAdd (QString q) { delete m_xmmsc->medialib_add_to_playlist (q.toUtf8 ()); }
|
void medialibQueryAdd (QString q) { delete m_xmmsc->medialib_add_to_playlist (q.toUtf8 ()); }
|
||||||
void volumeGet (void);
|
void volumeGet (void);
|
||||||
|
void volumeSet (uint volume);
|
||||||
|
|
||||||
|
|
||||||
const XMMSClient *getXMMS () { return m_xmmsc; }
|
const XMMSClient *getXMMS () { return m_xmmsc; }
|
||||||
|
@ -80,6 +81,7 @@ class XMMSHandler : public QObject, public sigc::trackable {
|
||||||
XMMSClient *m_xmmsc;
|
XMMSClient *m_xmmsc;
|
||||||
static XMMSHandler *singleton;
|
static XMMSHandler *singleton;
|
||||||
int m_currentid;
|
int m_currentid;
|
||||||
|
bool m_masterchan;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue