Commit Graph

154 Commits

Author SHA1 Message Date
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
Mike Blumenkrantz b51bf4a6c7 set hint for mixer gadgets that user is using the default card so that if it changes, pulseaudio can adjust appropriately
SVN revision: 76586
2012-09-13 07:43:33 +00:00
Mike Blumenkrantz 028e9e0380 fix dialog cleanups to work properly
SVN revision: 75665
2012-08-24 14:19:55 +00:00
Mike Blumenkrantz cf7f8e0710 fix mixer gadget loading for pulseaudio
ticket #1357


SVN revision: 75661
2012-08-24 13:19:12 +00:00
Mike Blumenkrantz 610d4ca1d3 formatting
SVN revision: 75659
2012-08-24 13:03:16 +00:00
Mike Blumenkrantz 2d325c5604 fix magic fail on mixer shutdown
SVN revision: 75657
2012-08-24 12:50:55 +00:00
Mike Blumenkrantz 2434f5adbe more PATH_MAX cleanups
SVN revision: 75520
2012-08-22 07:32:12 +00:00
Mike Blumenkrantz 94e2fc5257 clean up gadget right click menus to stop leaking
SVN revision: 75285
2012-08-15 07:22:04 +00:00
Mike Blumenkrantz 98601e4198 sed -i 's/(E_Gadcon_Client_Class/(const E_Gadcon_Client_Class/g'
SVN revision: 74474
2012-07-27 08:25:22 +00:00
Mike Blumenkrantz 9611ba4ea9 only register mixer module actions once a gadget for the mixer is created to prevent users from trying to use these actions when they cannot actually be used (mixer actions use mixer gadget's config to determine channel to change volume on)
SVN revision: 74066
2012-07-18 13:00:16 +00:00
Cedric BAIL c2a29811d5 e: massiv warning cleanup !
SVN revision: 70756
2012-05-04 09:38:52 +00:00
Boris Faure 328496c8f4 e: oopsie. warnings--
SVN revision: 65205
2011-11-14 22:04:27 +00:00
Mike Blumenkrantz bc6f8843a1 fix uninitialized variable
SVN revision: 64909
2011-11-07 23:34:42 +00:00
Viktor Kojouharov 739d2618f0 show the correct volume state on unmute
SVN revision: 64292
2011-10-22 09:24:08 +00:00
Viktor Kojouharov dfd5bb2d57 apply the desktop notification setting to the context on conf load
SVN revision: 64154
2011-10-18 18:17:57 +00:00
Mike Blumenkrantz e4b65bce0b full pulseaudio mixer support: no external dependencies
SVN revision: 63557
2011-09-23 07:56:05 +00:00
Hannes Janetzek f276811f8a e17: fix e_utils_config_check, no need to pass both epoch and version
SVN revision: 63029
2011-08-31 12:57:07 +00:00
Hannes Janetzek 87a5d584ea e17/mixer: apply patch from Leif (T_UNIX). split conf->version into major/minor. no need to wipe config. not tested notification
SVN revision: 63026
2011-08-31 12:30:56 +00:00
Carsten Haitzler 8001665c3d and fix other broken mixer behavior - like not handling its own
bindings within its own grab key down handler



SVN revision: 60403
2011-06-16 17:45:38 +00:00
Carsten Haitzler 584c232f00 mixer -. kbd controls while popup up didnt work. work now.
SVN revision: 60297
2011-06-14 04:51:50 +00:00
Carsten Haitzler 817d807c10 slim down mixer popup
SVN revision: 60233
2011-06-12 01:57:26 +00:00
Carsten Haitzler 88dd45cd07 fmting
SVN revision: 59740
2011-05-27 16:28:38 +00:00
Hannes Janetzek 7f457f1911 e17: add option to have gadcon client settings menu in toplevel again.
added e_menu_item_new_relative(E_Menu, E_Menu_Item *rel) which appends 
 new item to rel or prepends it when rel is NULL.

changed e_gadcon_util_client_menu_append to to take only the gadget menu
 and returns the new toplevel menu that should be shown by gcc
 depending on the setting this is a new menu with gadget menu as submenu
 or the gadet_menu with gadget menu items appended

updated e-modules-extra comes in a minute


SVN revision: 57826
2011-03-17 17:08:36 +00:00
Miculcy Brian 1feca166c6 Added a config option for enabling/disabling the Popup on volume change via keybinding.
SVN revision: 53546
2010-10-17 19:01:50 +00:00
Christopher Michael b5ea082df6 Fix compiler warnings wrt mixer_popup_timer_new/cb.
SVN revision: 53374
2010-10-13 18:47:08 +00:00
Miculcy Brian da963d78d9 Show mixer popup when changing the volume via keybindings.
SVN revision: 53347
2010-10-13 10:36:04 +00:00
Mike Blumenkrantz 402b843f22 hackfix const warning
SVN revision: 52169
2010-09-12 18:31:50 +00:00
Miculcy Brian 2f8f31fbf5 This commit will change the shelf menu completly:
If you have a Gadget and open the menu over it, all gadget specific options are under a separate submenu. The menu items which the Gadget sets theirself can be put on the main menu tree or on the Gadget submenu.
If you don't see a reason for this, check the ibar menu _before_ and _after_. :)

This api change broke all modules but i already fixed them all. Hope everything works... I also shortend text strings, etc, etc.
Hope you like it! :)


SVN revision: 52041
2010-09-09 14:44:21 +00:00
Lucas De Marchi 63f07459a0 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Gustavo Sverzut Barbieri 936465b774 don't let stale pointers around.
This fixes the bug when one adds a mixer, it becomes the default, then
removes it and use one of the global volume modifiers, it would use
the stale pointer.

TODO: a way to configure the volume independently of a shelf gadget.



SVN revision: 48593
2010-05-03 21:14:33 +00:00
Gustavo Sverzut Barbieri 2a1229013a cleanups...
i did this module long ago, without a proper indentation settings in my emacs...



SVN revision: 47124
2010-03-10 21:54:23 +00:00
Gustavo Sverzut Barbieri 271862f5c0 rename _Name to _e_mixer_Name, avoiding sym clash
SVN revision: 44993
2010-01-08 21:43:27 +00:00
Gustavo Sverzut Barbieri 9436c022bc avoid leak
SVN revision: 44833
2009-12-31 21:36:01 +00:00
Hannes Janetzek 91211ef9c4 reopen fileman and dialog windows after restart of e.
- modules using e_configure_registry_add must be modified to 
  use registry path as window class for this to work
- fileman now uses e_remember to remember position instead of 
  handling it separately
- added option to window remember for remembering dialogs and 
  fileman windows automatically


SVN revision: 42607
2009-09-21 20:36:35 +00:00
Christopher Michael 6ab63682dd Fix API Inconsistency in regards to e_widget_min_size_* . Renamed to
e_widget_size_min_* . This Large commit should fix everything in svn that is
using those functions.



SVN revision: 42152
2009-09-01 13:34:42 +00:00
semernin 2f76dd5d99 List of changes:
1. Gadcon sities:
      -- 'E_Gadcon_Site' enum to list all available sities,
      -- added 'is_site' callback for distinguish gadcon sities,
      -- 'e_gadcon_site_is_*' helpers written to use in gadget modules,
      -- gadcon config dialogs modified to show only gadgets that appropriate
         to selected gadcon site,
      -- all gadget modules updated for using new callback.
      
      When callback is not provided in module, then gadget can be used in 
      any gadcon site.
      
   2. Filemanager:
      -- added error icon to unexisting path dialog,
      -- added callback 'func.abort' to 'E_Fm2_Op_Registry_Entry' to specify
         abort operation sequence (if not provided, then operation is not
         cancelable),
      -- added parameter to 'e_fm2_op_registry_entry_add' to specify abort
         method on construct 'E_Fm2_Op_Registry_Entry' or make non-cancelable
         operation if this function is not provided,
      -- added 'e_fm2_operation_abort' call to cancel efm2 operation,
      -- added method '_e_fm2_operation_abort_internal' that represent efm2
         default handler of operation cancelling,
      -- 'done' and 'total' fields of 'E_Fm2_Op_Registry_Entry' changed to
         off_t type, also all message handlers modified to work with it
         (to show progress for large files correctly),
      -- improved file operation progress processing,
      -- added cancel button to operation progress gadget in filemanager window,
      -- added delete file glyph to operation progress gadget,
      -- improved status message for efm2 operation progress.

   3. Filemanager slave:
      -- fixed critical bug in message handling via stdin/stdout,
      -- fixed critical bug in removing task from list,
      -- improved 'E_FM_OP_ABORT' handling,
      -- fix rollback counting on moving files.

   4. Fileman_opinfo module:
      -- a new theme writed: status string and gadget for view operation status
         in summary and detail modes,
      -- summary mode: operation glyph, state message, progressbar, abort button,
      -- detail mode: all for summary + from filename, to filename,
      -- summary/detailed button works as trigger,
      -- added source of module theme and used images.
      
   4. Pathbar module:
      -- non-critical fix, just for safety.

   Also patch contains several minor updates to serve main task.


SVN revision: 41224
2009-06-29 14:38:03 +00:00
Viktor Kojouharov c1dd656e64 remove all traces of the resize callback function. it iss not needed anymore
SVN revision: 40940
2009-06-07 08:56:16 +00:00
Andreas Volz c88ec0590b the mixer module was completly inconsistent formated!
-> used "astyle -s3" to format it
-> NO CODE CHANGES!


SVN revision: 40148
2009-04-17 20:13:17 +00:00
Vincent Torri 7506655ca9 ecore_x_window_del -> ecore_x_window_free
SVN revision: 39924
2009-04-10 09:57:57 +00:00
Cedric BAIL 46e8efcd8c Let me introduce you to Ecore_Input. The idea is to share as much as possible event
between all ecore graphic engine to ease porting of application and reduce the amount of
specific code per engine. This patch does just that.
	All your application should continu to work has previously, if it's not the case
please report any new behaviour regarding mouse and keyboard.


SVN revision: 39505
2009-03-16 16:24:43 +00:00
Davide Andreoli eb2d1db1dc Icon rename finished. Now we have a fully compliant icon theme :)
now I'm going to fix E-MODULE-EXTRA...


SVN revision: 39495
2009-03-15 17:41:46 +00:00
Cedric BAIL c979b3f9d5 * e_widget_ilist_add now expect a stringshare.
SVN revision: 39447
2009-03-11 15:13:42 +00:00
Davide Andreoli 3d41cbb20d More icon works, this commit include changes to the icons on the desktop.
You will probably loose desktop icons until you get a fresh profile. Or you can edit the
.desktop files in .e/e/fileman/favorites (new icons name are: user-desktop, user-home, computer and user-temp)

Sorry for bothering... the next commit should be the last ;)



SVN revision: 39419
2009-03-08 23:09:48 +00:00
Davide Andreoli 3d669d1177 * Rename the new function:
e_util_menu_item_fdo_icon_set to e_util_menu_item_theme_icon_set
As it looks for icons in e theme AND in fdo icon themes.
* Use the new function everywere instead of e_util_menu_item_edje_icon_set,
that is now marked as DEPRECATED

You should not see any difference with this commit. With the next few commit I'm
going to rename all the icons in the theme following fdo standard. I will not change
any icons, just rename them to match fdo ones.



SVN revision: 39370
2009-03-04 20:46:05 +00:00
Gustavo Sverzut Barbieri 51c9730c91 mixer: better button label, use "Controls" instead of "Mixer"
SVN revision: 39112
2009-02-20 17:33:36 +00:00
Cedric BAIL 773d102291 This commit is huge. I did test it a lot on my computer, and it run fine here.
But is so big i fear i could have broken some piece of code. So report any wrong
behaviour to me (cedric on #edevelop).

So moving e17 and efreet to eina_hash. With a little efreet API break so they
must come together.


SVN revision: 38185
2008-12-17 15:33:43 +00:00
Carsten Haitzler b273fe10db use settings insetad of configuration. shorter.
SVN revision: 37742
2008-11-22 08:42:54 +00:00
Davide Andreoli 45cbf72298 * Gadcon API 3 *BREAK*
Version 3 add the *client_class param to icon(),label(),id_new(), id_del() 
 and the *orient param to orient().

All the modules (with a gadcon_client) need to be fixed...just add the new params 

to follow the EXTRA modules update.

SVN revision: 37450
2008-11-04 03:57:45 +00:00
Sebastian Dransfeld 18ffc85264 Fix foreach callback.
SVN revision: 37228
2008-10-27 11:09:07 +00:00
Sebastian Dransfeld 014531922e Correct usage of format string.
SVN revision: 37225
2008-10-27 10:47:36 +00:00
Cedric BAIL 1087de2397 Remove Evas list and replace them with Eina list.
No change for ->next and ->data access right now, as the patch is already
big enough.



SVN revision: 36962
2008-10-22 11:49:33 +00:00
Chidambar Zinnoury 67ba54726e Should check whether the pointers are non-NULL, not if their contents if non-zero.
SVN revision: 36807
2008-10-19 10:56:00 +00:00
Cedric BAIL 3d6749983b Switch to eina_stringshare.
This could also change the usage of string share in E17.



SVN revision: 36679
2008-10-15 15:12:56 +00:00
toma a3c3d2c23f Icon work. HUGE revision of icons and their names. This breaks the icon theme API so you might need to revise some themes. It does however, simplify a whole lot of stuff. You'll notice a lot more icons in menus. This bigger changes will come with the new theme once it is done. The missing icon names are put in b_and_w theme for now so if you need them, look them up. Also a bit of base work for EFM and the border icons in there. Commented out till the old icons are merged in. Message me if anything is screwed up.
SVN revision: 36591
2008-10-12 06:04:26 +00:00
toma ccd80ae932 PEBKAC. Move along, nothing to see here.
SVN revision: 36183
2008-09-23 14:48:57 +00:00
toma 0767fce005 Revert this icon patch... There be a storm a brewin in the module icons.
SVN revision: 36182
2008-09-23 14:43:16 +00:00
toma aeb6631912 Sachiels fix to get the Mixer icon working. Thanks a bunch
SVN revision: 36174
2008-09-22 16:23:11 +00:00
Gustavo Sverzut Barbieri 712db0233f e/mixer: horizontal mouse wheel changes the balance
Patch by Laxminarayan Kamath "[E-devel] patch for making the mixer module adjust the balance by panel icon"



SVN revision: 36132
2008-09-20 14:51:07 +00:00