we use these defines with
ifdef xxxx
not #if xxxx
and so they should ne undefed when not there and otherwise value when
defined is irrelevant as long as they are defined.
so use set not set10
See also ac92ff5256.
- eina_strbuf_string_get() returns the internally stored string as
a const char *, and does not free the strbuf itself
- eina_strbuf_string_steal() returns the internal string as a
char *, giving ownership to the caller, and frees the strbuf
itself
- eina_stringshare_add() takes a const char * as input and makes a
copy of the string
As a consequence, ss_add(sb_string_steal()) leaks the internal
string from the strbuf, while ss_add(sb_string_get()) leaks the
strbuf structure.
A one liner here would require either an eina_slstr based API or
an API in stringshare to take ownership of a given string. Both
would be useful APIs :)
All three of these gadgets are ports of the existing modules of the same name and are contained within those directories. Once the move from shelves -> bryce and gadcon->gadgets is complete, backlight and mixer will likely need to go into the sysinfo gadget.
calling `pulseaudio` starts a new daemon in the background. this is incorrect
behavior when a daemon already exists, so use --start. tracking the exe of
this process has no effect other than to determine when the fork()ing parent exits,
which is usually immediately
ref 35bb87529f
This reverts commit fba185798c.
There is not even a description why you reverted it. This is a bugfix
that fixed a bug. So talk to me what the issue is, but please stop
reverting commits silently.
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
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.
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.
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
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
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!
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
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.