← Back to team overview

ubuntu-phone team mailing list archive

Re: [Development] How can I help? + Volume Roles app

 

Hi!

Thank you all! I didn't know about band-aids project, I'll take a look as
soon as I find something useful to resolve the bug Jim sent (I'm still
trying to reproduce it)

@Andrea: I don't have a blog, so I'll just write here few lines about the
app. The backend is a Qt DBus client that consumes PulseAudio (especially
org.PulseAudio.Ext.StreamRestore1 [1] interface) and
com.canonical.indicator.sound services. Looking at System
Setting source code I found how volume setting works ([2]) and inspected
the DBus service in Terminal to find a way to set microphone volume too, I
found mic-volume org.Gtk.Action and implemented it, this was easy after
reading system-settings and indicator-sound source codes (and a lot of
documentation). Later, searching for a way to control a single role volume,
I found bug #1368827 [3] which explains how roles works in Ubuntu Touch and
implemented PulseAudio service too. I think this was really a good
exercise, I learned a lot about DBus developing it :)

Thank you again,
Devid

[1]
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/Clients/DBus/StreamRestore/
[2]
http://bazaar.launchpad.net/~system-settings-touch/ubuntu-system-settings/trunk/view/head:/plugins/sound/PageComponent.qml
[3] https://bugs.launchpad.net/ubuntu/+source/indicator-sound/+bug/1368827


On Mon, Aug 1, 2016 at 12:03 PM, Andrea Bernabei <
andrea.bernabei@xxxxxxxxxxxxx> wrote:

>
>
> On Fri, Jul 29, 2016 at 9:06 PM, Devid Antonio Filoni <d.filoni@xxxxxxxxxx
> > wrote:
>
>> Hi guys,
>>
>>
> Hi Devid!
>
>
>> this is my first message on an Ubuntu mailing list after years so I would
>> like to spend few words for my apologies: I was an active Ubuntu
>> contributor many years ago (MOTU, SRU, translations...) but due to personal
>> matters I was not able to "properly contribute" anymore, I also started to
>> work as web developer and my employment was horrible in a such way it
>> alienated me from the Internet world (not only Ubuntu). I'm really really
>> sorry this stopped me from being here around, I love(d) this community.
>> However, last year I got a job in a new company, fixed my internet
>> intolerance and so I would like to contribute again as I can! :)
>>
>>
> That's great, we'll make sure you find yourself at home! :)
>
>
>> I bought a secondhand Nexus 4 last month only to help development but I
>> liked Ubuntu Phone, so I'm a daily user. First I noticed an issue in the
>> microphone [1] and everyone in the bug report was asking for a way to
>> adjust microphone volume. Looking for that I found a post in this mailing
>> list [2] about volume roles and (also) the fact there is no way to know
>> device volume levels.
>> I decided to write a simple app to control speakers, mic and roles volume
>> levels in order to develop in C++ (like it), learn Qt/QML and find more
>> about ubuntu-sdk and phone system. I'm sharing the code I wrote in last two
>> weeks, it is almost ready and the app works fine. I won't publish the app
>> in the store because I don't know if you'll approve its usage and, as it
>> uses DBus services which are not handled by apparmor policy, the app is
>> unconfined. I also think this app should be used only by experienced users
>> (for example: I still don't understand some roles purpose only by their
>> name but my english is not really good as you can notice in this email too,
>> so maybe it's just me) and usually they're able to build a source code ;)
>> Everyone can fork it, I think it's a good learning project. Please tell
>> (you can also insult) me if I did something wrong in the code, any
>> suggestion is welcome, sharing is good for humanity knowledge :)
>> Code: [3]
>> Screens (imgurl album): [4]
>> What's missing: app doesn't intercept roles volume change from other
>> apps, I don't know which apps change roles volume. I'll try using terminal.
>>
>>
> That's a very interesting app, make sure you write a blog post about it!
> I'm sure a lot of people would want to read more about how it works in the
> backend (me included!)
>
>
>> Now the real question:
>> How can I help Ubuntu Phone development? I would like to focus on
>> "backend" stuff such as libhybris, aosp, aethercast (I don't have a WifiTV
>> :( ) and so on but I really don't know where to start from, I don't even
>> know installed core libraries, actually IMHO wiki is not very
>> updated/useful in this (it's app-oriented). Is there any
>> important/asked-many-times/low-priority-due-to-resources bug open I can
>> work on and involves core-developing? If it is difficult don't worry, I
>> like to get my hands dirty on code, if it's really difficult I'll tell you
>> I'm not able to work on it but please take a look at my code before
>> pointing me to an issue/wishlist, I'm sure I'm not a real C++ developer
>> (missing exp) but I'm not sure I'm not a bad C++ developer :D and I don't
>> want you to lose your time reviewing bad/useless merge requests, I can help
>> in other ways (translations, etc...)
>>
>>
> As Julia mentioned, we have a band-aids project that is meant to collect
> bite-size bugs that community contributors can use to get started with the
> contribution process.
>
> From what I understand you're already familiar with Launchpad, MRs,
> etc...I'm sure there are plenty of things you could help us with! :)
>
> I'd also try asking on #ubuntu-touch IRC channel (FreeNode server).
>
> Thank you!
>> Devid
>>
>>
> Thank you! It's great to have you back! :)
>
> Andrea (faenil)
>
>
>> (I'll be on holidays next week and I wan't be able to reply to this
>> thread until 7th.)
>>
>> [1] https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/131836
>> [2] https://lists.launchpad.net/ubuntu-phone/msg15687.html
>> [3] https://code.launchpad.net/~d.filoni/+junk/uvolman.dfiloni
>> [4] http://imgur.com/a/4S5VF
>>
>> --
>> Mailing list: https://launchpad.net/~ubuntu-phone
>> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~ubuntu-phone
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>

References