Commit Graph

469 Commits

Author SHA1 Message Date
Michaël Bouchaud (yoz) fba185798c Revert "mixer: do not set back the value from emix once the drag is finished"
This reverts commit 8724313b8e.
2017-02-22 22:59:13 +01:00
Michaël Bouchaud (yoz) dbdf411b48 mixer: use VOLSET macro in volume output set 2017-02-22 22:59:13 +01:00
Carsten Haitzler 35bb87529f e mixer module - run pulseaudio if connect fails
so i have a situatioon where pulse is not started automagically. if
e's mixer it set to pulse... then stick to it, run pulse and keep
trying to connect every 0.2 sec until connection works. this makes
sound "just work" tm as it should...

@fix
2017-02-20 22:58:59 +09:00
Michael Bouchaud 9320b0e4ea e_client_volume: forget to remove the separator 2017-02-20 01:48:40 +01:00
Michael Bouchaud 51a5ec4e6a e_client_volume: display a control per stream in the popup volume
This commit enhance the e_client_volume popup. Now you could see which sink
belongs to an e_client and allow you to control it. Sadly I haven't added a
scroller to this popup, I will add it later. Lots of calcs is needed to
display it correctly.
2017-02-20 02:23:16 +01:00
Michael Bouchaud 0a73905895 e_client_volume: add E_EVENT_CLIENT_VOLUME_SINK handler
This commit introduce 3 new handlers to e_client_volume API. These allow to
catch event about sink add, del and update
2017-02-20 02:21:14 +01:00
Michael Bouchaud 939ac0b93d e_client_volume: add sink_name_get API to e_client_volume 2017-02-20 00:46:59 +01:00
Carsten Haitzler 26b68f8c7e e mixer pulse backened -f ix warning about use of uninit var
display really isn't uninitialized due to the logic, but compielr is
kind of right in theory... but less warnings is better so we fix the
real problems more easily. fix.
2017-02-12 16:25:35 +09:00
Derek Foreman 4cf555f36e Replace all timer_reset with timer_loop_reset
Another sed bomb - didn't occur to me first time around to
check for this.  Cleans up more clock_gettime calls.
2017-02-06 15:59:25 -06:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Mike Blumenkrantz 49d9cea5aa center menu-triggered volume popup on same zone as client 2016-11-07 11:26:46 -05:00
Michaël Bouchaud (yoz) be154b60c8 mixer: close the file descriptor on error.
CID: 1365407
2016-11-07 10:32:04 +01:00
Michaël Bouchaud (yoz) 568a676073 mixer: Don't sync volume sink with e_client if they have more than one.
If we got more than one volume sink in e_client and we change the volume
of one of them all sink of this e_client are updated to the same volume.
So don't update e_client volume if we got more than 1 sink.

T4821
2016-11-07 10:26:56 +01:00
Michaël Bouchaud (yoz) ec12cff9f4 mixer: fix a typo spotted by coverity
CID: 1365340
2016-11-07 10:19:28 +01:00
Michaël Bouchaud (yoz) 2a0b4dfbc4 mixer: fix coverity issues 2016-11-02 15:27:38 +01:00
Stefan Schmidt b13486599e mixer: remove unused variables 2016-10-31 11:34:31 +01:00
Stefan Schmidt f606935067 mixer: mark unused function parameter as such 2016-10-31 11:34:02 +01:00
Marcel Hollerbach 8724313b8e mixer: do not set back the value from emix once the drag is finished
emix can still have wrong values from pa, and thus the value will jump
back and later come back to the right pos:

Here a video of what is happening:
http://omicron.homeip.net/filedump/mixer_gadget_bug.ogv

Thank you morluxus!
2016-10-28 11:41:00 +02:00
Michaël Bouchaud (yoz) b2d67bd68a Revert "mixer: lock up the slider for the case a drag is in progress"
This reverts commit eed35d3c4f.

This is a bad workaround, I have fixed the issue so we don't need it
anymore.
2016-10-27 22:38:46 +02:00
Michaël Bouchaud (yoz) b65cb5df92 mixer: add volume control to e_client menu
Add a button to the window menu, when clicked this one make a new window to
control the volume of the app.

@features
2016-10-27 22:34:17 +02:00
Michaël Bouchaud (yoz) 307f0831ce mixer: use the new e_client api to export volume control by app.
We use the pulseaudio backend to export volume control by app.
This commit introduce 3 news shortcuts to control the volume with the current
focused window.

@features
2016-10-27 21:54:40 +02:00
Michaël Bouchaud (yoz) 1943cee080 mixer: fix the volume conversion calc into pulseaudio backend
a get and a set don't give the same result

@fix
2016-10-27 21:54:39 +02:00
Marcel Hollerbach 838dde02ee mixer: we changed that name when we merged the mixer in 2016-10-11 14:16:53 +02:00
Marcel Hollerbach eed35d3c4f mixer: lock up the slider for the case a drag is in progress
if you click on the slider in the gadget the slider jumps a back to the
old volume and then to the new volume, this is because a pulseaudio
update is sent while the last changed event was called, but not the
drag_stop callback.
2016-09-14 10:43:17 +02:00
Marcel Hollerbach 1a3086b2c2 mixer: introduce emix_max_volume_get
This lets the module decide what its maximum value is.
Everything over 100% is considered overloading. And is protected by the
mixer and the gadget.
2016-09-07 11:05:11 +02:00
Marcel Hollerbach 1da2bbcd9c mixer: introduce Barrier checks
in this barrier checks the module checks that the user is explicit going
over the value of 100%
2016-09-07 11:05:11 +02:00
Flavio Ceolin 5df7963ad1 emix: when in alsa mode only operate on master 2016-09-06 11:54:51 +02:00
Marcel Hollerbach 4f0e3bce84 emix: update sink of sink_input when changed
this fixes none changing sinks in the app.
2016-06-25 17:12:35 +02:00
Mike Blumenkrantz 366193f2d2 remove pulse sinks/sources from list before running cbs which access the list
this guarantees a crash any time the default sink gets removed since it will
always re-set the about-to-be-deleted default sink as the default sink

fix T3277 probably
2016-05-17 15:05:18 -04:00
Mike Blumenkrantz 01c261e9f7 unset DISPLAY during mixer's pulse backend startup
fixes more xwayland deadlocks
2016-05-06 13:40:03 -04:00
Mike Blumenkrantz ed25a5005f clean up mixer includes
config.h needs to be included. always.
2016-05-06 13:38:09 -04:00
Mike Blumenkrantz b64a637428 allow mixer volume increase actions to exceed 100%
ref 0bbb20a3be

cc @raster probably should have some kind of theme indicator in the theme
for "high" volumes > 100%
2016-04-18 11:44:52 -04:00
Mike Blumenkrantz fe34f45995 Revert "mixer: try to fix a possible bug"
This reverts commit 61182d6434.

accidentally pushed, does not resolve anything
2016-04-12 13:38:44 -04:00
Marcel Hollerbach 61182d6434 mixer: try to fix a possible bug
for the case the default sink was removed the gadget will get a new
  default sink again, for the case of pa there is the possibility that
  at this time the sink is still the default one, but the sink gets
  removed. so we better set the default index to -1 and return just some
  sink for the case the default is deleted.
2016-04-12 13:33:54 -04:00
Mike Blumenkrantz d1d30029d1 select mixer popup sink after popup has been fully initialized
attempting to select too early results in callbacks being triggered
before various widgets are available
2016-01-08 12:05:41 -05:00
Derek Foreman 1965c7965e emix: Rename parameter bool to mute
Summary: Broke my wayland build because something included stdbool.h

Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3467
2015-12-18 16:42:30 -05:00
Marcel Hollerbach f174008a83 mixer: only save state if not in init
If we are calling emix_config_save_state_get while in init, we are
freeing the list emix_config_save_state_restore is iterating over.
This leads to crashes.

@fix T2942
@fix T2906
2015-12-18 13:21:08 +01:00
Marcel Hollerbach d9e01e851f alsa: fix a valgrind warning
Valgrind was warning about the values not initialized
2015-12-18 13:20:48 +01:00
Stefan Schmidt 7ed2381722 pulse backend: correct declaration of function with no parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.

Thanks for the sparse semantic parser for pointing this out.
2015-11-26 18:10:47 +01:00
Carsten Haitzler e5f56f95e9 e mixer fix - fix default mixer to pulse if there
this makes e use the correct mixer backend if pulse is available as
opposed to using alsa going behind pulses back.

@fix
2015-11-14 10:14:30 +09:00
Mike Blumenkrantz 3ad521ab9c ensure that all mixer volumes resolve to the appropriate gadget icon
reported by Jef91 in #e
2015-11-11 11:54:58 -05:00
Flavio Ceolin a524d165bc modules:mixer: Avoid pa backend from crash
Check the pulseaudio's context error and if info is not null before
get server's information.
2015-10-24 19:10:40 -02:00
Amitesh Singh de740b2520 pulseaudio: pass big data as pass by reference
CID: 1308394
2015-10-14 21:51:00 +05:30
Marcel Hollerbach 2fd6f95a9b mixer: start app from bin directory
before the app was installed into the modules directory, now its
installed to the bin directory
2015-10-13 22:06:00 +02:00
Marcel Hollerbach 03888cf941 mixer: install icon and .desktop file 2015-10-13 22:06:00 +02:00
Carsten Haitzler 9c5b6acb05 e mixer - be more robust if pulse exits/crashes and def sink is null
ensure there are protections everywhere for when default sink is null
- mixer did crash when pulse crashed and a popup was to be shown...
2015-10-10 11:07:24 +09:00
Carsten Haitzler 530c8613c8 e mixer - shut up coverity CID 1323098 2015-09-09 11:02:23 +09:00
Carsten Haitzler 2a0b1c024b e mixer - save state when we get change events too
this plugs a gap where wrong state is saved.
2015-09-06 20:04:22 +09:00
Carsten Haitzler 04496541c4 e mixer - fix up saving to save everything
as pointed out by jackdanielsz and bu5hm4n - this doesnt save
everything. like all the outputs and ports and... so now it does.
everything is saved and restored is "remember" is enabled. now
everything should be fine.
2015-09-02 18:31:44 +09:00
Carsten Haitzler f18d9258fc e mixer - discovered bug as a lack of feature - does not remember volume
i have never seen this before until last night. on some systems audio
starts up volume 0 and muted (either or) and thus on login the volume
is not where you left it and you have to manually fix it every time.
this fixes this by having mixer remember the last volume and mute
state you set (option to enable/disable too) and handles "upgrading"
to remember by default if you have old config

@feature / @fix
2015-09-02 12:49:42 +09:00
Carsten Haitzler bdcbf06b0f e - mixer - fix leak when seting volume
fixes a lieak i spotted in mixer after moving to epulse core. fix for
e20
2015-09-02 00:03:57 +09:00
Marcel Hollerbach c61320ce72 Merge branch 'devs/bu5hm4n/mixer'
This merge fixes problems which where discovered by the mail "[e-users] alsa NOT mixer?"
2015-08-10 19:48:23 +02:00
Marcel Hollerbach 5675ed26cd mixer: Fix segfault when backend does not have any sink 2015-08-10 19:25:27 +02:00
Marcel Hollerbach 81e8a349bb mixer: only list playbackdevices if they are _real_ playbackdevices 2015-08-10 19:23:31 +02:00
Marcel Hollerbach d6833f0749 mixer: update internal volume and call the changed event 2015-08-10 19:17:43 +02:00
Marcel Hollerbach 91f34cb1f7 mixer: get volume after setting channels 2015-08-10 19:15:59 +02:00
Marcel Hollerbach 0a26246848 mixer: this if does not make much sense 2015-08-10 19:14:51 +02:00
Flavio Ceolin 7c195e383c modules:mixer:pulse Update default sink
Update the default sink when it changes (for instance when it is changed
on pavucontrol).
2015-08-07 16:53:51 -03:00
Chris Michael 3a395b4223 mixer: Fix resource leaks
This fixes Coverity CID1308395: Resource leak. Basically, don't bother
allocating 'source' if we are just going to end up returning due to
'eol' variable tests

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-26 10:25:42 -04:00
Carsten Haitzler 0bbb20a3be e - mixer - allow to 150% volume with some "stickynedd" from 100 to 120 2015-06-14 15:01:44 +09:00
Carsten Haitzler 921d4dee2b e - mixer - clean up popup a bit with mute next to slider etc. 2015-06-09 17:22:40 +09:00
Carsten Haitzler dd6e4f33f8 e mixer - fix segv on desklock if default sink not set yet 2015-06-09 16:18:24 +09:00
Carsten Haitzler 5d7fa51309 mixer - dont make list scrollable horizontally for nicer look 2015-06-09 16:17:07 +09:00
Carsten Haitzler e63f358933 Revert "Revert "fix mixer gcc class name""
This reverts commit 6bacf20705.

oops - i was wrong. totally misread that patch i thinkg it changed
mixer -> emix
2015-06-09 14:39:15 +09:00
Carsten Haitzler 918f4bffcc e - mixer - don't do anything on desklock if no mixer context exists 2015-06-09 11:10:35 +09:00
Carsten Haitzler 6bacf20705 Revert "fix mixer gcc class name"
This reverts commit 718b3206cb.

no - this REPLACEs the mixer module. the same old mixer gadget that
was originally in e now will be replaced by this new epulse/emixer
gadget. thus the "mixer" gadcon name.
2015-06-09 11:09:12 +09:00
Mike Blumenkrantz 718b3206cb fix mixer gcc class name 2015-06-08 15:02:24 -04:00
Carsten Haitzler 4f6df6b7ca e mixer - replace with epulse/emixer
this is emixer (epulse) from

http://git.enlightenment.org/devs/ceolin/epulse.git

the emixer binar is rewritten though and the emix lib is compiled-in
into the module and into the binary as oppopsed to a shared lib with
loadable modules. this supports alsa and pulse. a much more solid mixer.
2015-06-08 21:15:09 +09:00
Carsten Haitzler d17851f714 fix leak in randr2 when matching clone modes 2015-06-08 20:53:13 +09:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Conrad Meyer d96517fce3 Mixer Pulse: Fix trivial use-after-free.
Summary: Don't use memory after freeing it.

Fixes T2274

@fix

Reviewers: raster, zmike

Subscribers: abyomi0, zmike

Projects: #enlightenment-git

Maniphest Tasks: T2274

Differential Revision: https://phab.enlightenment.org/D2301

Commit message updates by: Tom Hacohen
2015-04-09 10:37:59 +01:00
Mike Blumenkrantz a5012da244 remove all debug output from mixer module
fix T2274
2015-04-07 19:35:50 -04:00
Mike Blumenkrantz 58447e9508 completely remove E_Manager
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz 09ec213a31 remove e_util_zone_current_get() usage 2015-03-13 17:58:45 -04:00
Mike Blumenkrantz ed897a231e de-e_comp_get()ify e
mrw I remember how to regex http://i.giphy.com/dC9dujPVeAfIY.gif
2015-03-13 15:12:20 -04:00
Mike Blumenkrantz 3fc96af2dd Revert "revert all the ui breakes in e - going the wrong direction in the"
This reverts commit 3ea6a3569d.
2015-01-15 03:04:42 -05:00
Carsten Haitzler 3ea6a3569d revert all the ui breakes in e - going the wrong direction in the
first place anyway. shoudl replace the entire dialgo one at a time by
an elm version not try and stuff elm widgets into where e widgets used
to be. this doesnt improve e's config dialogs, just makes them buggy
as all hell in the name of a move to elm.

Revert "e_widget_button -> elm_button conversion"
This reverts commit b1c976d80d.

Revert "update widget size hints when setting a resize object"
This reverts commit fdab0218b2.

Revert "remove no-longer-necessary size hinting in list widgets"
This reverts commit 21479f5019.

Revert "e_widget_textblock -> elm_entry conversion"
This reverts commit 8fe2f00f75.

Revert "e frame -> elm_frame conversion"
This reverts commit e9da6a02fc.

Revert "remove unnecessary size hinting"
This reverts commit b596623efd.

Revert "e_label -> elm_label conversion"
This reverts commit 049b318679.

Revert "set evas size hint min in widget min size"
This reverts commit 2f09aa2fda.

Revert "e_table -> elm_table conversion"
This reverts commit 6434012982.

Revert "remove unused vars"
This reverts commit b19e706b23.
2015-01-15 12:13:53 +09:00
Mike Blumenkrantz 6434012982 e_table -> elm_table conversion
if rebases were monopoly money, this commit would be able to buy mediterranean ave.

 #teamborker
2015-01-13 22:44:55 -05:00
Mike Blumenkrantz c978a045e6 e_entry -> elm_entry conversion
another dice roll in the board game of enlightenment development. next, I will attempt to roll doubles to get out of jail.

 #teamborker

fix T1906
2015-01-11 12:20:46 -05:00
Mike Blumenkrantz ac7a786b59 don't show mixer popup during nocomp
fix T1270
2014-12-30 17:00:23 -05:00
Carsten Haitzler 6510e8bd0e Revert "all dialogs are now resizable"
This reverts commit 9157ca8ca7.

this also makes all dialogs that have content in a toolbar that goes
off window at min size resizable - this is actually what you wanted ..
bgut this previous "all dialogs are resizable" thing was uber-lazy.

Conflicts:
	src/modules/bluez4/e_mod_main.c
	src/modules/conf_bindings/e_int_config_signalbindings.c
	src/modules/conf_theme/e_int_config_theme.c
	src/modules/mixer/conf_gadget.c
	src/modules/shot/e_mod_main.c
2014-12-22 23:02:05 +09:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Stefan Schmidt 98457f7332 modules/mixer: Check fcntl setting CLOEXEC for success
We still keep going if this fails but print out an error.

CID: 1039960
2014-09-19 11:30:38 +02:00
Carsten Haitzler 1412f28b51 mixer: Optionally select an external mixer application.
This feature allows to define an external mixer application, which replaces
the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature

this re-commits this with tab fixes (no tabs)
2014-09-17 13:31:02 +09:00
Mike Blumenkrantz e7c0ae402f Revert "mixer: Optionally select an external mixer application."
This reverts commit 97b1caef37.

we don't use tabs, don't even start with this.
2014-09-15 19:28:08 -04:00
Brian 'morlenxus' Miculcy 97b1caef37 mixer: Optionally select an external mixer application.
This feature allows to define an external mixer application, which replaces the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
2014-09-15 19:27:17 +02:00
maxerba fac4e89dfa Updating desktop files, eo.po and fr.po 2014-09-11 21:14:58 +02:00
Mike Blumenkrantz ee5be41194 Revert "mixer: Optionally select an external mixer application."
This reverts commit e4e2550484.

apparently some people don't know what "feature freeze" means...
2014-08-29 10:38:51 -04:00
Brian 'morlenxus' Miculcy e4e2550484 mixer: Optionally select an external mixer application.
This feature allows to define an external mixer application, which replaces the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
2014-08-29 15:32:05 +02:00
Mike Blumenkrantz 290e2369d3 s/sumary/summary/g 2014-07-30 19:18:24 -04:00
Mike Blumenkrantz 30e4ed9439 block mixer crashes during init
fix T1305
2014-06-02 09:13:55 -04:00
Chris Michael 3441777965 fix formatting
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-05-17 17:54:26 +01:00
Chris Michael 05ecdaab79 add missing EINA_UNUSED for unused param
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-05-17 17:54:05 +01:00
Mike Blumenkrantz 9157ca8ca7 all dialogs are now resizable
any bug reports regarding issues resulting this will be ignored.
2014-05-14 13:00:35 -04:00
Jérémy Zurcher 7ff5a2a744 fix launch mixer from config panel, select card and channel 2014-05-07 14:44:10 +02:00
Mike Blumenkrantz e6e764cba9 check more pulse mixer returns
CID 1039959, 1039960
2014-04-04 15:04:28 -04:00
Mike Blumenkrantz ed4eb3b6e0 check pulse mixer fd dup return
CID 1040123
2014-04-04 15:04:28 -04:00
Mike Blumenkrantz 4b58fa9a4e replace ev->keyname with ev->key
see efl 5ae4cfd1923e502731f4d8fc2bf67b1f536a9216
2014-03-13 13:03:34 -04:00
Mike Blumenkrantz 94072211c3 fix mixer config leak on config failure
CID 1135539
2014-03-13 10:31:07 -04:00
Jean-Philippe Andre 7ffc096341 Mixer: Fix crash when closing mixer settings
app can already be NULL at this point, when called from _cb_win_del().
2014-01-15 12:37:59 +09:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Mike Blumenkrantz 4c9123c9b4 fix weird pulse crash when sink name is NULL (wtf?) 2014-01-14 20:22:01 -05:00
Mike Blumenkrantz 2a01f4b3cb bugfix: delete mixer's pulse exe handler after it's started so desklock doesn't break 2013-12-23 14:02:06 -05:00
Mike Blumenkrantz be6351f15e fix mixer regression which broke non-pulseaudio support 2013-12-21 09:26:57 -05:00
Mike Blumenkrantz 02e95afdf3 use regular ecore-exe for pulse start to not track launch 2013-12-16 08:16:36 -05:00
Mike Blumenkrantz c7a23ab5bd don't crash when pulse exec deletes itself during startup timer 2013-12-15 17:03:38 -05:00
Mike Blumenkrantz 39cf0a5a1b try connecting to pulse on a timer after it gets started in case it's a slow startup 2013-12-15 10:13:37 -05:00
Mike Blumenkrantz bccda8e7b3 try running start-pulseaudio-x11 from mixer 2013-12-15 08:56:52 -05:00
Carsten Haitzler 9da3c339ba mixer - address duplicate bindings for the same action with timeout
use time logging to not allow actions within a small window of time
from eachother. this fixes T620 - or should.
2013-12-10 18:48:20 +09:00
Jérémy Zurcher ac094ed72a mixer: add option disable_pulseaudio
- checkbox in module config
  - default to false
  - if set, do not start pulseaudio even if available
2013-12-06 09:52:15 +01:00
Jérémy Zurcher be68dc962e mixer: load module config in e_modapi_init(), same as others 2013-12-06 09:50:39 +01:00
Mike Blumenkrantz fc9e8865cf only try to start pulseaudio once 2013-11-30 16:37:27 -05:00
Mike Blumenkrantz dc63fb0a0c remove some eldbus stragglers from pulse mixer 2013-11-30 11:16:20 -05:00
Mike Blumenkrantz 8c1f521738 fix pulse mixer startup
dbus starting this is the wrong way to go I guess, e_exec is much simpler

fix T410 just in time for release!
2013-11-30 11:11:30 -05:00
Jérémy Zurcher 1a2865abec mixer: gadget conf set card name when none 2013-09-26 16:50:54 +02:00
Igor Murzov 519c4de7f6 Revert "updating desktop files"
This reverts commit 22f7a34e23.
2013-09-04 04:11:13 +04:00
maxerba 22f7a34e23 updating desktop files 2013-07-31 12:08:42 +02:00
maxerba b7ba1dea64 Adding serbian localization in desktop files 2013-07-08 13:33:29 +02:00
maxerba 26303bbe1f Fixed sorting in desktop files 2013-07-05 19:02:53 +02:00
maxerba 5deed35ac2 adding catalan translation and sorting lines alphabetically 2013-06-05 00:16:38 +02:00
Carsten Haitzler 6ce67eca01 ensure pa autho info is 0'd out so valgrind doesnt complain about reading uninitialized data. 2013-05-23 21:39:33 +09:00
discomfitor c34a28707f e_popup_autoclose() now also allows a delete function to replace normal popup deletion 2013-05-18 19:39:52 +01:00
Lucas De Marchi f8a2dd4d95 Rename edbus->eldbus 2013-04-23 12:37:43 -03:00
Jérémy Zurcher 21be5a7e61 mixer: factorize popup&gadget balance&volume code 2013-04-23 15:03:21 +02:00
Jérémy Zurcher c24bdf66df mixer: prevent mem leak and let default card setup on empty module
config
2013-04-23 10:57:28 +02:00
Carsten Haitzler 1bd06b4a8d oops - didnt fix pa RIGHT... now its fixed - detects pa native socket
properly if its an XDG_RUNTIME dir.
2013-04-22 00:31:22 +09:00
Carsten Haitzler 2a7a3a557f e17 mixer - use XDG_RUNTIME_DIR for finding pulse... and have more
generous fallbacks.
2013-04-21 00:42:34 +09:00
Carsten Haitzler 0985de0051 if inst->channel is null... dont segv at least in mixer. 2013-04-21 00:17:12 +09:00
Jérémy Zurcher 3f34680b7a reprotect _mixer_popup_key_down_cb
/me still asleep, it's better like this
2013-03-30 10:14:45 +01:00
Jérémy Zurcher cf2ef255c4 fix _e_popup_autoclose_key_down_cb
- uses autoclose_popup->key_data as autoclose_popup->key_cb data
  key_data is provided at cb registration through e_popup_autoclose(…)
- re-enable _mixer_popup_key_down_cb
2013-03-30 10:07:05 +01:00
Carsten Haitzler 8fc839e9c8 mixer key control broken .. to the point it segs now. :) patch over
seg. :)
2013-03-29 19:24:22 +09:00
Jérémy Zurcher 46230e204c mixer: cleanup card and channel selection code path
_populate_channel_editor:
   use app->sys_card_name instead of
e_mod_mixer_card_name_get _populate_channels:
   select default channel or first one
_create_cards:
   do not reselect card and channel
e_mixer_app_dialog_select:
   cleanup, remove unused _find_card_by_name and _find_channel_by_name
_mixer_popup_cb_mixer:
   do not modifiy current selection on popup
2013-03-06 16:05:20 +01:00
Jérémy Zurcher 01e98a4534 mixer: remove unused mixer functions
remove e_mod_mixer_channel_name_get, e_mixer_xxxx_get_channel_name e_mixer_xxxx_set_state
2013-03-06 16:05:20 +01:00
Jérémy Zurcher 6ef3c743ef mixer: use channel capabilities in alsa subsystem
use capabilities bitmap to more precisely target the right alsa calls
2013-03-06 16:05:20 +01:00
Jérémy Zurcher cadd6ca38f mixer: remove e_mod_mixer_mutable_get and e_mod_mixer_capture_get
it's handled by channel capabilities
2013-03-06 16:05:20 +01:00
Jérémy Zurcher 00681f3ada mixer: take advantage of Channel capabilities bitmap
split channels list into 4 groups:
   Playback, Capture, Switch, Boost
nicely disable volume sliders and mute check when appropriate
2013-03-06 16:05:20 +01:00
Jérémy Zurcher b34e7b440d mixer: replace E_Mixer_Channel_Info has_capture with capabilities
capabilities is a bitmap with the following defined bits:
   E_MIXER_CHANNEL_CAN_MUTE       0x01
   E_MIXER_CHANNEL_IS_MONO        0x02
   E_MIXER_CHANNEL_HAS_CAPTURE    0x04
   E_MIXER_CHANNEL_HAS_PLAYBACK   0x08
2013-03-06 16:05:19 +01:00
Jérémy Zurcher 330490ad85 mixer: add const to immutable params of mixer api
strengthen mixer's api
2013-03-06 16:05:19 +01:00
Jérémy Zurcher d75622c33c mixer: use E_Mixer_Channel_Info as subsystem fct param
E_Mixer_Channel is only used within audio subsystems
e_mod_mixer_channel_info_get_by_name returns a E_Mixer_Channel_Info
use e_mod_mixer_channel_info_free to free a single channel_info
2013-03-06 16:05:19 +01:00
Jérémy Zurcher ab7edf7ff6 mixer: fix grammar
a farm of pigs is a pig farm, says my irish wife;
info should stay singular but for better understanding, use plural
2013-03-06 16:05:19 +01:00
Jérémy Zurcher 146e3d3643 mixer: add missing _e_mixer_dummy_set calls to sys_dummy 2013-03-06 16:05:19 +01:00
Jérémy Zurcher 488904c95d mixer: factorise get/free card names
e_mod_mixer_card_names_free in e_mod_mixer.c is used
to free Eina_List build by e_mod_mixer_card_names_get
2013-03-06 16:05:19 +01:00
Jérémy Zurcher 640b339a80 mixer: factorise get/free channels info and names
E_Mixer_Channel_Info allocated in subsystems,
then freed in generic functions in e_mod_mixer.c
2013-03-06 16:05:19 +01:00
Jérémy Zurcher 03b9522b04 mixer: replace struct channel_info with E_Mixer_Channel_Info
E_Mixer_Channel_Info is defined in e_mod_mixer.h
subsystems will allocte it returning Eina_List
generic functions in e_mod_mixer will free the structs
2013-03-06 16:05:19 +01:00
Jérémy Zurcher a67cc20580 mixer: replace e_mod_system.h with e_mod_mixer.hc
provide a neat mixer api, easier to upgrade
2013-03-06 16:05:19 +01:00
Jérémy Zurcher 55ef1af90a mixer: pulse use const eina_stringshare as channel name
neat as done in sys_dummy
2013-03-06 16:05:19 +01:00
Mike Blumenkrantz f36ecd9d3d giant comp rejiggering commit #2: popups are now objects drawn directly onto the compositor canvas with no xwindows of their own
* added a number of new e_comp functions and macros

* options for disabling effects on objects: this option does not currently have any effect

* all modules which used gadcon popups have been adjusted

* all modules which used input windows to detect close events for gadcon popups have been adjusted to use new popup autoclose functionality

* shelves are now always drawn on the compositor canvas, meaning objects will never get clipped by the shelf (ticket #1810)

* shelves no longer have an event object

SVN revision: 84060
2013-02-18 13:43:47 +00:00
Carsten Haitzler cb2b350872 revert mixer back to a working state -> rev 83903
SVN revision: 84013
2013-02-17 03:31:45 +00:00
Jérémy Zurcher 8425ee72ef e_mixer: cleanup mixer card and channel selection code path
SVN revision: 83959
2013-02-15 16:53:04 +00:00