Commit Graph

440 Commits

Author SHA1 Message Date
Carsten Haitzler 048a658ff9 emix - mixer backend - fix string compare to compare wholes string 2020-10-04 22:17:02 +01:00
Carsten Haitzler 0b1c4100ef e gadgets - as per email to e-devbel - it's easier to fix old so rm new
new gadget infra--
2020-07-07 23:34:27 +01:00
Carsten Haitzler 6fad7e2a76 Revert "e_client_volume: Reparent sink if a new window comes and match this one"
this is also causing issues. segv's. asan is finding them. re-open D8929

This reverts commit eae3cd37e8.
2020-05-14 12:20:53 +01:00
Michael Bouchaud (yoz) eae3cd37e8 e_client_volume: Reparent sink if a new window comes and match this one
Summary:
 This commit avoid multiple windows got the same sink. Like launching
 rage from terminology, gstreamer sink could be associated with terminology
 and rage window too.

Reviewers: raster, devilhorns

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D8929
2020-05-14 11:23:04 +01:00
Carsten Haitzler 8392fc4769 emix - fix symbols to point to correct extern sym 2020-05-10 18:11:43 +01:00
Carsten Haitzler 9c85c91b4e emixer - dont mul by elm scale - toolbar does this 2020-05-05 15:28:32 +01:00
Alastair Poole fbf077380e emixer: Let toolbar scale.
As we scale, toolbar icons scale.
2020-05-05 12:48:14 +01:00
Carsten Haitzler 466d95e2f6 whitespace-- 2020-04-19 18:49:52 +01:00
Carsten Haitzler d0e7a1907c emixer - actually count cards 2020-04-19 18:48:15 +01:00
Carsten Haitzler bb8f1a84ee emixer - if no cards are found put "not connected" there 2020-04-19 18:45:27 +01:00
Carsten Haitzler 61edb7bd8c mixer - emixer - add padding around the list items to space things out
a bit more. use frames with pad_medium style
2020-04-19 15:42:33 +01:00
Carsten Haitzler be8286e154 emixer - limit icon sizes in toolbar to be... nicer 2020-04-16 10:32:18 +01:00
Simon Tischer 06b7b9205a (e)mixer - add possibility to translate strings
Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11702
2020-04-14 08:17:49 -04:00
Simon Tischer 4a7ebe86bc emixer - add icons to toolbar
Differential Revision: https://phab.enlightenment.org/D11658
2020-04-08 12:30:02 -04:00
Simon Tischer 039f96df91 emixer - add icon for playback device
Summary:
add playback icons

emixer - add playback icons

Reviewers: devilhorns, raster

Subscribers: raster, bu5hm4n, cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D11640
2020-04-06 14:27:44 +01:00
Alastair Poole b320eda808 emixer.png: install in correct place.
Icon not displaying. Install in hicolor as per FDO.
2020-04-02 18:21:38 +01:00
Carsten Haitzler 6435e9a075 emixer - desktop - limit groups to one only and only show in e 2020-03-25 17:11:32 +00:00
Carsten Haitzler 2747af8e07 mixer - try not to create notifications for no change in volume 2019-09-20 13:48:31 +01:00
Carsten Haitzler 96ae312d6e mixer pulse - handle alloc failure better and dont access null
fix CID 1403930
2019-08-06 19:00:46 +01:00
Carsten Haitzler dccf124ff3 mixer backend - fix null checks to cover all uses
fix CID 1403937
2019-08-06 18:53:30 +01:00
Carsten Haitzler af92895931 e - fix issue in emixer where sliders will not get disabled right
recent changes to try disable sliders won't handle the slider list vs
single slider right - warning pointed this out so fix it right.
2019-06-04 12:38:34 +01:00
maxerba e83259bccd Fix typos in messages 2019-05-25 21:43:24 +02:00
Michael Bouchaud (yoz) 5aedf54042 emixer: Add volume channels control on emixer
Summary:
This commit allow the user to control each volumes channels in emixer.
A lock flag is introduced to manage volume as before.

@feature

Reviewers: zmike!, devilhorns, raster

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7639
2019-05-21 14:41:24 +01:00
Michael Bouchaud (yoz) fb23acf874 mixer: factorize backend emix infra
Summary:
The mixer gadgets suffer of a bad design between old and new gadget infra.
This commit refactorize the mixer backend to get only one instance
between old and new gadget. This resolve many problems as e_client_volume
integration or the default_sink choosen in one of this modules.
Now it will be easier to maintain this code and better support when we will
remove old gadget infra.

Reviewers: zmike, devilhorns, stephenmhouston

Reviewed By: zmike

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7718
2019-03-18 08:54:42 -04:00
Stephen 'Okra' Houston 4097a9d2f6 Mixer Gadget: Give the mixer gadget its own actions as to not conflict with the shelf module.
Fixes T7263
2019-01-17 11:34:13 -06:00
Michael Bouchaud (yoz) 1527599b78 mixer: Add cards settings into pulseaudio backend
Summary:
This commit bring the support to set a profile on audio hardware via
pulseaudio. You are now able to configure the output of your audio
hardware via emixer without the help of pavucontrol.

@fix T3127

Reviewers: zmike!, devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Maniphest Tasks: T3127

Differential Revision: https://phab.enlightenment.org/D7569
2019-01-16 17:10:09 +00:00
Carsten Haitzler a0611d0026 mixer - mirror changes to new gadget code too 2019-01-16 16:48:28 +00:00
Carsten Haitzler 3b359b4ea7 mixer - put back parent process hunting for things like spotify 2019-01-16 16:40:20 +00:00
Carsten Haitzler a841544d03 e client mixer handling - fix segv where inputs/sink cause segvs
so i've been seeing this thing where inputs are deleted and then the
sink is appropriately deleted from clients but not all the client
windows it could have been on. the problem seems to manifest if
multiple windows come from the same app playing audio so the sink may
be assigned to only 1 window not all of them.

this seems to nuke the segv as the sink/input was being left dangling on a
window due to the logic in the add/del handling to give up when it finds the
first window target and not all of them.

so after a day or so of testing my segv's are gone. yay!

@fix.
2019-01-16 11:31:41 +00:00
Michael Bouchaud (yoz) 797425c7d4 emixer: avoid a stringshare leak on sink changed signal
Summary:
emixer: avoid memleak when converting pulseaudio value

@fix T2806

Reviewers: zmike, devilhorns

Reviewed By: zmike

Subscribers: cedric

Tags: #enlightenment-git

Maniphest Tasks: T2806

Differential Revision: https://phab.enlightenment.org/D7583
2019-01-11 10:33:20 +01:00
Michael Bouchaud (yoz) 4cc4260c42 mixer: Add sink_input association on client add event
Summary:
As the pulseaudio sink could be created before the window, we list
sink_inputs from pulseaudio on client add event. This make to not miss
an association and provide the volume control feature as expected.

Reviewers: zmike, devilhorns

Reviewed By: zmike

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7559
2019-01-10 11:34:23 +01:00
Carsten Haitzler e4339f4819 bryce - improve usability from code and user by having std right menu
now right click on any gagdte in bryce and they ALL have a menu that
allows removal of the gagdte bar or the gadget as well as access to
gadget settings AND the ability for gadgets to extendthis menu like
lunhcer does per icon. now it's standard behavior everywhere which is
much easier to use and discover. it also removes code from every
gadget to do their own "button 3" handling as its handled centrally
making the code in gadgets simpler.

this is part of my effort to improve usability (mostly discoverability
and accessibility of settings/features).

also  long press left mouse gets u gadget right click menu

this has to move many modules/gadgets actions to mouse up instead of
mouse down so the bryce has a chance to trap the events first and set
hold flags. but now long press for 0.5 sec and bryce menu come sup
(with left mouse .. so touch friendly).

in addition move context menu hanbdling to e_gadget instead of in
bryce and in e_gadget. a context callback is called so different
systems can still do different things. this should probably change to
always pop up a mnenu and simple call populate callbacks for site
owner specific content.

all in all it makes the new gagdtes more consistent, easier to use
(without a right mouse button), doesn't need special action bindings
etc. etc.
2018-10-11 16:25:10 +01:00
Carsten Haitzler 7c6702e2fd mixer - fix exe handler del and handle to stop crashes after mixer run
running emixer from the mixer module popup was resulting in crashes.
it was this exe event handler handle and leaving a dangling garbage
ptr after it was deleted.

@fix
2018-05-19 00:58:03 +09:00
Carsten Haitzler ab1360c224 emxier desktop - fix categories to match well known cat names
Audio is not a well known/valid one. AudioVideo is. fixes T5076

@fix
2018-05-18 21:45:20 +09:00
Ross Vandegrift 629f7d41c8 clean up .desktop files and misc typos
Summary:
Drop deprecated Encoding key from desktop files

The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded.  See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html

Fix various typos and misspellings

lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries.  This change fixes the ones it identified in 0.22.1.

Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5585
2018-01-04 09:57:52 -05:00
Marcel Hollerbach c1177a1c15 meson: fix build
everything that includes e.h needs deps_e as dependencys, otherwise headers may not be found
2017-12-03 13:14:39 +00:00
Mike Blumenkrantz bd88282047 remove autotools 2017-11-20 07:05:36 -05:00
Carsten Haitzler b9d166f804 use safer ecore_exe flags that close stdin/out/err if possible
this is specifically needed for wayland but is relevant to x with
startx too ... dont let processes that e runs like apps inherit
stdin/out/err as it may be a tty and thus allow apps to do nasty
things with that tty.

@fix
2017-09-23 23:10:35 +09:00
Mike Blumenkrantz 164c87b1db resolve desktop spec issues with emixer.desktop
fix T5076
2017-09-13 10:34:06 -04:00
Mike Blumenkrantz b5e75eb264 formatting
lot of mixed spaces/tabs here made the code unreadable
2017-08-29 15:32:18 -04:00
Stephen 'Okra' Houston ad46d041a8 Gadgets: Don't set gadgets to expand. 2017-08-23 09:55:59 -05:00
Carsten Haitzler 638ffe5853 mixer - fix segv on shutdown
this just got added... dont shutdown actions if no gmixer has been
created.
2017-08-23 17:39:14 +09:00
Mike Blumenkrantz 38a95f0930 do not add del callback for demo mixer gadgets
fixes crash when destroying demo mixer gadgets if no real gadget exists
2017-08-22 18:31:35 -04:00
Stephen 'Okra' Houston 0332eca3c7 Mixer Gadget: Use demo gadget in places where demo gadgets are used. 2017-08-22 11:54:52 -05:00
Marcel Hollerbach 338ce6f11c meson: install emixer correctly 2017-08-22 09:30:36 +02:00
Carsten Haitzler da791a0bf5 e mixer - handle pulse exit/disconnect and not keep e client sinks
we keps e client sinks even if we were dicsonnected from pulse... this
caused fun crashes. fix

@fix
2017-08-20 01:02:03 +09:00
Marcel Hollerbach bf146faf72 mixer: find a better name
if pa does not provide the name via the proplist we can just use the
information from name if the name exists
2017-08-14 17:35:36 +02:00
Carsten Haitzler 5e59869a62 meson build - mixer - simplify for module build setup
it's still complex anyway... :( but a little smaller
2017-08-12 13:40:44 +09:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00
Mike Blumenkrantz 403819fc21 fix mixer logging to use mixer log domain 2017-07-28 15:44:55 -04:00