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
|
||||
VolumeSlider::changePixmap ()
|
||||
{
|
||||
XMMSHandler *xmmsh = XMMSHandler::getInstance ();
|
||||
xmmsh->volumeSet (m_volume_base100);
|
||||
|
||||
m_volslider = m_skin->getVol (m_volume);
|
||||
drawPixmaps ();
|
||||
}
|
||||
|
|
|
@ -294,6 +294,21 @@ XMMSHandler::volumeGet (void)
|
|||
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
|
||||
XMMSHandler::volume_changed (XMMSResult *res)
|
||||
{
|
||||
|
@ -308,12 +323,22 @@ XMMSHandler::volume_get (XMMSResultDict *res)
|
|||
QListIterator<QString> vol (Values);
|
||||
|
||||
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)
|
||||
emit getVolume (left);
|
||||
m_masterchan = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
emit getVolume (right);
|
||||
m_masterchan = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ class XMMSHandler : public QObject, public sigc::trackable {
|
|||
uint medialibQuery (QString);
|
||||
void medialibQueryAdd (QString q) { delete m_xmmsc->medialib_add_to_playlist (q.toUtf8 ()); }
|
||||
void volumeGet (void);
|
||||
void volumeSet (uint volume);
|
||||
|
||||
|
||||
const XMMSClient *getXMMS () { return m_xmmsc; }
|
||||
|
@ -80,6 +81,7 @@ class XMMSHandler : public QObject, public sigc::trackable {
|
|||
XMMSClient *m_xmmsc;
|
||||
static XMMSHandler *singleton;
|
||||
int m_currentid;
|
||||
bool m_masterchan;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue