Commit Graph

112 Commits

Author SHA1 Message Date
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
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 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 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
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
Jérémy Zurcher 577019db54 e_mixer: volume,mute,state set/get use channel info and capabilities
SVN revision: 83920
2013-02-14 20:28:37 +00:00
Jérémy Zurcher e648742e2d e_mixer: ui uses e_mod_mixer_channel_is_mono
SVN revision: 83918
2013-02-14 20:28:31 +00:00
Jérémy Zurcher 0c42626d89 e_mixer: use macro for capabilities queries
SVN revision: 83917
2013-02-14 20:28:28 +00:00
Jérémy Zurcher d80eb52a35 e_mixer: replace has_capture with capabilities bit map
xx_can_mute and xx_has_capture fuctions can disapear
 !?! e_slider_disabled_set does not work !?!

SVN revision: 83914
2013-02-14 20:28:20 +00:00
Jérémy Zurcher 4085613b1d e_mixer: channel_get_by_name returns a E_Mixer_Channel_Info
this opens the gates to capabilities bit map stored in E_Mixer_Channel_Info

SVN revision: 83913
2013-02-14 20:28:17 +00:00
Jérémy Zurcher 1bb5a7b531 e_mixer: set pulse ready and update callbacks through e_mixer_pulse_init parameters
SVN revision: 83908
2013-02-14 20:28:02 +00:00
Jérémy Zurcher 8c1d5a2146 e_mixer: extract mixer API into e_mod_mixer
SVN revision: 83907
2013-02-14 20:27:59 +00:00
Jérémy Zurcher 8d86519b5e e_mixer: rename alsa functions e_mixer_system_ to e_mixer_alsa_
SVN revision: 83906
2013-02-14 20:27:56 +00:00
Jérémy Zurcher fbf6de511a e_mixer: remove spaces
SVN revision: 83903
2013-02-14 20:27:46 +00:00
Mike Blumenkrantz c48fd0b06d giant commit that wipes all bindi^W^W^Wsplits out binding configs into a separate config domain so they can be more easily copied and so they won't be wiped in the event that primary config is wiped
also splits all binding lists out of e_config: they are now conveniently located in the global "e_bindings" struct


SVN revision: 83544
2013-02-01 10:21:54 +00:00
Chidambar Zinnoury f0eb778f50 e mixer and battery modules: reuse notifications.
SVN revision: 82931
2013-01-17 10:47:53 +00:00
José Roberto de Souza d9955d5739 e: Use internal client notification API
Modules:
 - notification
 - battery
 - mixer

Patch by: José Roberto de Souza  <zehortigoza@profusion.mobi>



SVN revision: 82122
2013-01-03 22:08:24 +00:00
Mike Blumenkrantz 0f01a6b279 in a move which will make me tremendously unpopular, config versioning has been changed from hex to dec across the whole tree, including helper functions and modules
PS. HAHAHAHAHAHAHAHA


SVN revision: 81624
2012-12-21 23:57:05 +00:00
Carsten Haitzler fec11b1b7d sorry jeremy - back out your patch. mier more broken than before.
SVN revision: 81382
2012-12-19 15:57:56 +00:00
Jérémy Zurcher 4ad440dd44 From: Jérémy Zurcher <jeremy@asynk.ch>
Subject: [E-devel] mixer module alsa input and mono patch

- fixes the input channel detection
- if channel is mono force right to 0, disable right slider and lock
- add missing dummy implementation of e_mixer_system_is_mono
 


SVN revision: 81317
2012-12-19 01:30:15 +00:00
Massimo Maiurana 9f1d6e067e Store and handle action names correctly. (patch from Igor Murzov)
SVN revision: 81049
2012-12-16 16:58:17 +00:00
Mike Blumenkrantz 8e45282ad3 fix mixer crash on disconnect
SVN revision: 80590
2012-12-10 10:20:47 +00:00
Massimo Maiurana 96fac26f2f Mark some strings for translation. (patch from Igor Murzov)
SVN revision: 80551
2012-12-09 14:39:30 +00:00
Mike Blumenkrantz 492149b388 don't update popup if popup doesn't exist
SVN revision: 80421
2012-12-07 09:16:01 +00:00
Mike Blumenkrantz 94d451f1ac when using pulseaudio, mixer gadget doesn't need to manually update
SVN revision: 80419
2012-12-07 08:59:42 +00:00
Mike Blumenkrantz 1b76509002 muting volume no longer causes volume to change
SVN revision: 80151
2012-12-04 12:56:08 +00:00
Mike Blumenkrantz c6a9c34e7f giant header overhaul which removes all the stupid one line function prototype headers and e_mod_main.h headers that contain nothing but unnecessary module api prototypes
SVN revision: 79908
2012-11-30 14:38:34 +00:00
Mike Blumenkrantz 5b0d598091 only set mixer volume if we've truly saved mixer volume, prvents mixer being muted every time wizard is run
SVN revision: 79889
2012-11-30 12:55:47 +00:00
Mike Blumenkrantz ea545a4eda probably fix bug where mixer bindings would fail to be added again after refreshing a gadget
ticket #1774


SVN revision: 79271
2012-11-14 09:05:00 +00:00
Mike Blumenkrantz 2914212ff2 pulse mixer no longer runs its init function constantly and should allow the slider to become much more responsive/accurate. also implement volume saving per gadget
ticket #1697


SVN revision: 78702
2012-10-31 11:23:26 +00:00
Mike Blumenkrantz 7238b0b61e grab/ungrab keys when adding mixer actions to ensure that the keybinds are added correctly
ticket #1562


SVN revision: 77273
2012-10-01 14:14:50 +00:00
Mike Blumenkrantz e406dbd435 possibly fix headphones crash from massimo
SVN revision: 76719
2012-09-17 03:03:02 +00:00
Mike Blumenkrantz 4d5911644a unset mixer gadget configs when the backend changes, also don't delete the gadget instances; this should fix the last of the mixer crashing issues
SVN revision: 76653
2012-09-14 10:00:13 +00:00
Mike Blumenkrantz 1a7737d5a1 fix mixer stringshare usage (fixes looooooooots of crashes), also shutdown pulse integration when unloading the module
SVN revision: 76649
2012-09-14 08:17:11 +00:00
Carsten Haitzler 4acc7c4eb9 well then.. let's not segv if card is null... yes - this is new
behaviour in mixer... at leats i'm not stuck with e crashing almost
instantly on start :)



SVN revision: 76631
2012-09-14 00:33:36 +00:00