<?xml version="1.0" encoding="utf-16"?><html><head><style type="text/css"><!--blockquote.cite2
{margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right: 0px; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 3px; padding-top: 0px;}
body
{font-family: Tahoma; font-size: 12pt;}
--></style></head><body><div>You need following: <a href="https://github.com/CODeRUS/harbour-lgremote-webos/blob/master/qml/main.qml#L58" style="font-size: 12pt;">https://github.com/CODeRUS/harbour-lgremote-webos/blob/master/qml/main.qml#L58</a></div><div><br /></div>
<div>------ Исходное сообщение ------</div>
<div>От: "jerome levreau" <<a href="mailto:levreau.jerome@vostoksystem.eu">levreau.jerome@vostoksystem.eu</a>></div>
<div>Кому: "Sailfish OS Developers" <<a href="mailto:devel@lists.sailfishos.org">devel@lists.sailfishos.org</a>></div>
<div>Отправлено: 26.10.2016 19:58:12</div>
<div>Тема: [SailfishDevel] listening for volume change</div><div><br /></div>
<div id="xe25b797613cf46b"><blockquote cite="CAMmFk5weLpV=-ZQn++XJE-NEv7U22tRCVmTTN88_LEWrwqzGEw@mail.gmail.com" type="cite" class="cite2">
<div dir="ltr"><div><div><div>hi everyone,<br /><br /></div>Here where I'm stuck : In my audio app, for a new functionality I would like to control volume. Now I'm trying to get a response (dbus signal) when user is changing volume with button (physical).<br /></div>My app has mpris2 control, I monitoring a read to the volume property (of org.mpris.MediaPlayer2.Player ) but never a write. I tried to look for a propertiesChanged in org.freedesktop.DBus.Properties, I'm seeing response in playback status, position, metadata, etc.. but never from volume change.<br /><br /></div>Right now, I'm looking into pulseaudio with com.meego.mainvolume2<br /><h3><span style="font-weight:normal"><a href="https://wiki.merproject.org/wiki/Nemo/Audio/MainVolume">https://wiki.merproject.org/wiki/Nemo/Audio/MainVolume</a></span></h3><p>I connect to pulse, I read current volume (CurrentStep), I can see it's changing between my tests, but my slot to the StepsUpdated signal never been called. <br /></p><p>Here my current code :</p><p>//******************************************</p><p>QDBusConnection bus = QDBusConnection::sessionBus();<br />QDBusMessage call = QDBusMessage::createMethodCall("org.PulseAudio1",<br /> "/org/pulseaudio/server_lookup1",<br /> "org.freedesktop.DBus.Properties",<br /> "Get" );<br />call << "org.PulseAudio.ServerLookup1" << "Address";<br />QDBusReply<QDBusVariant> r = bus.call(call);</p><p>if (r.isValid()) {<br /> pulse = new QDBusConnection(QDBusConnection::connectToPeer(<br /> r.value().variant().toString(), "org.PulseAudio1"));<br /><br /> //****** this is working ****<br /> call = QDBusMessage::createMethodCall("",<br /> "/com/meego/mainvolume2",<br /> "org.freedesktop.DBus.Properties",<br /> "Get");<br /> call << "com.Meego.MainVolume2" << "CurrentStep";<br /> qDebug() << "CurrentStep : " << pulse->call(call).value().variant().toUInt();<br /></p><p>//***** connect, but never raise a callback ****<br />//***** doing something similar with org.nemomobile.voicecall.VoiceCall and it's working fine <br /> pulse->connect("",<br /> "/com/meego/mainvolume2",<br /> "com.Meego.MainVolume2",<br /> "StepsUpdated",<br /> this, SLOT(StepsUpdated(uint,uint)));<br />}<br /></p><p>// *** my public slot code, never getting an answer<br />void modeNuitService::StepsUpdated(uint StepCount, uint CurrentStep) {<br /> qDebug() << "StepsUpdated " << StepCount << " " << CurrentStep;<br />}<br /></p><p>//******************************************</p><p>What do you think ? bad argument, bad method signature or just bad solution ?<br /></p></div>
</blockquote></div>
</body></html>