Commit Graph

148 Commits

Author SHA1 Message Date
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
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
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 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 5675ed26cd mixer: Fix segfault when backend does not have any sink 2015-08-10 19:25:27 +02:00
Marcel Hollerbach 0a26246848 mixer: this if does not make much sense 2015-08-10 19:14:51 +02: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
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 ac7a786b59 don't show mixer popup during nocomp
fix T1270
2014-12-30 17:00:23 -05: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
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
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
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
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
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
discomfitor c34a28707f e_popup_autoclose() now also allows a delete function to replace normal popup deletion 2013-05-18 19:39:52 +01: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 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