[SailfishDevel] listening for volume change
Andrey Kozhevnikov
coderusinbox at gmail.com
Wed Oct 26 18:32:10 UTC 2016
You need following:
https://github.com/CODeRUS/harbour-lgremote-webos/blob/master/qml/main.qml#L58
------ Исходное сообщение ------
От: "jerome levreau" <levreau.jerome at vostoksystem.eu>
Кому: "Sailfish OS Developers" <devel at lists.sailfishos.org>
Отправлено: 26.10.2016 19:58:12
Тема: [SailfishDevel] listening for volume change
>hi everyone,
>
>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).
>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.
>
>Right now, I'm looking into pulseaudio with com.meego.mainvolume2
>https://wiki.merproject.org/wiki/Nemo/Audio/MainVolume
>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.
>
>Here my current code :
>
>//******************************************
>
>QDBusConnection bus = QDBusConnection::sessionBus();
>QDBusMessage call = QDBusMessage::createMethodCall("org.PulseAudio1",
>
>"/org/pulseaudio/server_lookup1",
>
>"org.freedesktop.DBus.Properties",
> "Get" );
>call << "org.PulseAudio.ServerLookup1" << "Address";
>QDBusReply<QDBusVariant> r = bus.call(call);
>
>if (r.isValid()) {
> pulse = new QDBusConnection(QDBusConnection::connectToPeer(
> r.value().variant().toString(),
>"org.PulseAudio1"));
>
> //****** this is working ****
> call = QDBusMessage::createMethodCall("",
> "/com/meego/mainvolume2",
>
>"org.freedesktop.DBus.Properties",
> "Get");
> call << "com.Meego.MainVolume2" << "CurrentStep";
> qDebug() << "CurrentStep : " <<
>pulse->call(call).value().variant().toUInt();
>
>//***** connect, but never raise a callback ****
>//***** doing something similar with org.nemomobile.voicecall.VoiceCall
>and it's working fine
> pulse->connect("",
> "/com/meego/mainvolume2",
> "com.Meego.MainVolume2",
> "StepsUpdated",
> this,
>SLOT(StepsUpdated(uint,uint)));
>}
>
>// *** my public slot code, never getting an answer
>void modeNuitService::StepsUpdated(uint StepCount, uint CurrentStep) {
> qDebug() << "StepsUpdated " << StepCount << " " << CurrentStep;
>}
>
>//******************************************
>
>What do you think ? bad argument, bad method signature or just bad
>solution ?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20161026/6d48fe4b/attachment.html>
More information about the Devel
mailing list