void VolumeBarLogic::openConnection () { if(!mPAThread){ mPAThread = new pulseaudio_thread(); connect(mPAThread,SIGNAL(volumeChanged(quint32,quint32)),this,SLOT(stepsUpdated(quint32,quint32))); connect(this,SIGNAL(changeVolume(quint32)),mPAThread,SLOT(changeVolume(quint32))); mPAThread->start(); hwkeys->start(); } }
/* * This function should be called before we're showing the * current volume on the screen... * * Because sometimes we can lost the connection to PulseAudio, * and meanwhile PulseAudio volume-values changed, and we * didn't get any info about those... */ void VolumeBarLogic::ping () { if ((dbus_conn != NULL) && (dbus_connection_get_is_connected (dbus_conn))) return; /* * Connection lost, re-query the values */ openConnection (true); stepsUpdated (currentvolume, currentmax); }