xfce4-mixer development

Steve Dodier-Lazaro sidnioulz at gmail.com
Thu Aug 4 11:06:49 CEST 2016


Hi Tim,

Firstly, thanks for volunteering! I've had a quick look at gtk-alsamixer
and it doesn't seem to have any obsolete dependencies, so that's good. The
bugs all look trivial to fix. However, the UI is nowhere near the quality
standards set for Xfce :-)

I think what would be the best for Xfce users is to fork xfce4-mixer and
replace all the GStreamer code with ALSA code. You could use gtk-alsamixer
as an inspiration, since it contains all the functions you'll need, and
modify the following files in our mixer:

 * libxfce4mixer/libxfce4mixer.c
 * xfce4-mixer/xfce-mixer-container.c
 * xfce4-mixer/xfce-mixer-switch.c
 * xfce4-mixer/xfce-mixer-application.c
 * xfce4-mixer/xfce-mixer-controls-dialog.c
 * xfce4-mixer/xfce-mixer-option.c
 * xfce4-mixer/xfce-mixer-track.c
 * xfce4-mixer/xfce-mixer-track.h

(so basically anything with gst_) My advice for you would be to extract all
the gst_ starting functions to an Excel file, and find the ALSA
equivalents. There should be direct equivalents from the gtk-alsamixer for
all things like reading / writing the current volume, and for toggling
mute/record states. Where I expect you'll find difficulties is for
xfce_mixer_container_bus_message. It looks like a DBus iface and most
likely the libalsa one will differ, but gtk-alsamixer does update itself
when modifications are made to the track by another app, so there is a
replacement method somewhere in there.

No need to modify the panel plugin, however. We should fork the PulseAudio
one instead, it has a more modern UI. Let's first see how far you can go
with the mixer itself. If you can pull it off, the panel plugin and volume
daemon should be trivial to port!

Xfce apps are nothing special, they're regular GTK+ apps and they use the
same Human Interface Guidelines as GNOME 2. If you run into bugs and are
stuck, upload your code somewhere on a Git repo and ask for help in
#xfce-dev. I'm sidi there.

Cheers,

On 3 August 2016 at 20:41, Tim Tassonis <timtas at cubic.ch> wrote:

> Hi Steve
>
> On 07/15/16 09:11, Steve Dodier-Lazaro wrote:
>
>> Hi,
>>
>> Before starting this I should say I have *no* time in the next year, and
>> several more urgent work packages for Xfce. But, I do intend some day to
>> write an update to the mixer and volume daemon to use ALSA directly
>> without GStreamer. I cannot use PulseAudio so I really need it, but like
>> I said, no time.
>>
>
>
> I would very much appreciate this, as I also don't use pulseaudio and I am
> perfectly fine with alsa for general sound and jack for professional sound.
> Haven't come across a situation where the bloated pulseaudio is of any
> particular use.
>
> As xfce4-mixer does not work anymore, I have recently switched to
> gtk-alsamixer. I compiles with tons of errors and I had to patch it to get
> a reasonable initial window size, but apart from that, it just seems to
> work fine. I also added a desktop file and an icon. It currently resides at:
>
> https://github.com/stop-n-drink/gtk-alsamixer
>
>
> The current maintainer of gtk-alsamixer does not seem to be very
> responsive, but I would be very willing to port gtk-alsamixer to a
> xfce4-alsamixer.
>
> If anyone is interested in that, I will start work on this. I would be
> very glad to some pointers how to convert a plain gtk application to use
> the xfce stuff.
>
>
> Kind regards
> Tim
>
>
>
>> Now, the same thing formulated in PR-speak:
>>
>> The official sound packages are the PulseAudio ones. The GStreamer 0.1
>> packages can be provided as a matter of convenience but rely on obsolete
>> dependencies. In the future, a replacement may become available for
>> those who prefer to use ALSA, which will not be recommended to be used
>> as default; though distributors have the last say on this.
>>
>> Cheers,
>>
>> On 14 July 2016 at 00:29, Mukundan Ragavan <nonamedotc at gmail.com
>> <mailto:nonamedotc at gmail.com>> wrote:
>>
>>
>>
>>
>>     Hi folks,
>>
>>     I am one of the co-maintainers of several Xfce packages in Fedora and
>>     would like to get an update about xfce4-mixer.
>>
>>     Based on the conversation at [1], I understood that xfce4-mixer is
>> going
>>     to be obsoleted in favor of xfce4-pulseaudio-plugin. One of the emails
>>     in that thread mentioned Slackware, which, with the release of v14.2
>>     also carries pulseaudio (at least officially).
>>
>>     Is this - pulseaudio-plugin obsoleting mixer - still the case?
>>
>>     Many thanks,
>>     Mukundan.
>>
>>
>>     [1] https://mail.xfce.org/pipermail/xfce4-dev/2015-June/031290.html
>>
>>     --
>>     GPG Key - E5C8BC67
>>     -------
>>
>>
>>
>>
>>
>>
>>     _______________________________________________
>>     Xfce4-dev mailing list
>>     Xfce4-dev at xfce.org <mailto:Xfce4-dev at xfce.org>
>>     https://mail.xfce.org/mailman/listinfo/xfce4-dev
>>
>>
>>
>>
>> --
>> Steve Dodier-Lazaro
>> PhD Student
>> University College London
>> Free Software Developer
>>
>>
>> _______________________________________________
>> Xfce4-dev mailing list
>> Xfce4-dev at xfce.org
>> https://mail.xfce.org/mailman/listinfo/xfce4-dev
>>
>>
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> https://mail.xfce.org/mailman/listinfo/xfce4-dev
>



-- 
Steve Dodier-Lazaro
PhD Student
University College London
Free Software Developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.xfce.org/pipermail/xfce4-dev/attachments/20160804/3f677749/attachment.html>


More information about the Xfce4-dev mailing list