Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Flávio Ceolin
On Mon, Mar 10, 2014 at 6:43 PM, Jeff Hoogland  wrote:
> This will be AWESOME. Shame you missed the change window for E19 for this
> to be included in core. Once you have code to share I'll be getting this
> into the Bodhi 3.0.0 testing repos ASAP.
>

Yeah i  know, my bad :(  but I'll release something usable soon.
>
> On Mon, Mar 10, 2014 at 3:54 PM, Flávio Ceolin > wrote:
>
>> I'm using the same edj of the current mixer, so  it looks exaclty the
>> same, but i intend to replace the label with the channel name with a
>> toggle to become easy change the volume of any output. The config
>> dialog was replaced by a standalone application similar the
>> pavucontrol (with less functionality). The cool thing is that the
>> default output is gotten from pulseaudio exaclty as gnome-applet (and
>> probably the kde mixer) does, so we'll have the same behaviour on E.
>>
>> Flavio Ceolin
>>
>> On Mon, Mar 10, 2014 at 3:36 PM, Marcel Hollerbach
>>  wrote:
>> > Great ! I am very curious about it! :)
>> >
>> > How should the applet work ?
>> >
>> > Greetings bu5hm4n !
>> >
>> > Am 10.03.2014 18:58, schrieb jeffhoogl...@gmail.com:
>> >> This is amazing, thank you for your work. Looking forward to it being
>> published.
>> >>
>> >>
>> >> On 3/10/14 12:00 Flávio Ceolin wrote:
>> >>
>> >> Hi folks,
>> >>
>> >>
>> >> On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler 
>> wrote:
>> >>> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri <
>> ras...@rasterman.com>
>> >>> said:
>> >>>
>> >>>> i recall flavio used the pulseaudio library, just integrated into the
>> >>>> ecore main loop.
>> >>> aaah god it.
>> >>>
>> >>>> he had an elm ui that looks like the pavucontrol or that gnome volume
>> >>>> settings, you could even see which app is running and control their
>> >>>> volume, mute and output device
>> >>>>
>> >>>> On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler <
>> ras...@rasterman.com>
>> >>>> wrote:
>> >>>>> On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>> >>>>>  said:
>> >>>>>
>> >>>>>> Flavio Ceolin was doing one, let's see if he plans to integrate or
>> at
>> >>>>>> least publish what he wrote so far
>> >>>>> was it going to use pulses dbus api... i was looking into it and it
>> seems
>> >>>>> at a glance it was a direct point-to-point dbus api - not via
>> session or
>> >>>>> system buses. am i wrong in that view?
>> >>>>>
>> >>>>>> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland <
>> ras...@rasterman.com>
>> >>>>>> wrote:
>> >>>>>>> Are there any plans to improve the mixer's current pulseaudio
>> support?
>> >>>>>>> There are a select number of things you still need to install
>> pavucontrol
>> >>>>>>> to access if you are using pulse with E currently.
>> >>>>>>>
>> >>>>>>> --
>> >>>>>>> ~Jeff Hoogland <http://jeffhoogland.com/>
>> >>>>>>> Thoughts on Technology <http://jeffhoogland.com/>, Tech Blog
>> >>>>>>> Bodhi Linux <http://jeffhoogland.com/>, Enlightenment for your
>> Desktop
>> >>>>>>>
>> --
>> >>>>>>> Subversion Kills Productivity. Get off Subversion & Make the Move
>> to
>> >>>>>>> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >>>>>>> actually works. Faster operations. Version large binaries.
>> Built-in WAN
>> >>>>>>> optimization and the freedom to use Git, Perforce or both. Make
>> the move
>> >>>>>>> to Perforce.
>> >>>>>>> http://jeffhoogland.com/
>> >>>>>>> ___ enlightenment-devel
>> >>>>>>> mailing list ras...@rasterman.com
>> >>>>>>> http://jeffhoogland.com/
>> 

Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Flávio Ceolin
I'm using the same edj of the current mixer, so  it looks exaclty the
same, but i intend to replace the label with the channel name with a
toggle to become easy change the volume of any output. The config
dialog was replaced by a standalone application similar the
pavucontrol (with less functionality). The cool thing is that the
default output is gotten from pulseaudio exaclty as gnome-applet (and
probably the kde mixer) does, so we'll have the same behaviour on E.

Flavio Ceolin

On Mon, Mar 10, 2014 at 3:36 PM, Marcel Hollerbach
 wrote:
> Great ! I am very curious about it! :)
>
> How should the applet work ?
>
> Greetings bu5hm4n !
>
> Am 10.03.2014 18:58, schrieb jeffhoogl...@gmail.com:
>> This is amazing, thank you for your work. Looking forward to it being 
>> published.
>>
>>
>> On 3/10/14 12:00 Flávio Ceolin wrote:
>>
>> Hi folks,
>>
>>
>> On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler  
>> wrote:
>>> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri 
>>> 
>>> said:
>>>
>>>> i recall flavio used the pulseaudio library, just integrated into the
>>>> ecore main loop.
>>> aaah god it.
>>>
>>>> he had an elm ui that looks like the pavucontrol or that gnome volume
>>>> settings, you could even see which app is running and control their
>>>> volume, mute and output device
>>>>
>>>> On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler 
>>>> wrote:
>>>>> On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>>>>>  said:
>>>>>
>>>>>> Flavio Ceolin was doing one, let's see if he plans to integrate or at
>>>>>> least publish what he wrote so far
>>>>> was it going to use pulses dbus api... i was looking into it and it seems
>>>>> at a glance it was a direct point-to-point dbus api - not via session or
>>>>> system buses. am i wrong in that view?
>>>>>
>>>>>> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland 
>>>>>> wrote:
>>>>>>> Are there any plans to improve the mixer's current pulseaudio support?
>>>>>>> There are a select number of things you still need to install 
>>>>>>> pavucontrol
>>>>>>> to access if you are using pulse with E currently.
>>>>>>>
>>>>>>> --
>>>>>>> ~Jeff Hoogland <http://jeffhoogland.com/>
>>>>>>> Thoughts on Technology <http://jeffhoogland.com/>, Tech Blog
>>>>>>> Bodhi Linux <http://jeffhoogland.com/>, Enlightenment for your Desktop
>>>>>>> --
>>>>>>> Subversion Kills Productivity. Get off Subversion & Make the Move to
>>>>>>> Perforce. With Perforce, you get hassle-free workflows. Merge that
>>>>>>> actually works. Faster operations. Version large binaries. Built-in WAN
>>>>>>> optimization and the freedom to use Git, Perforce or both. Make the move
>>>>>>> to Perforce.
>>>>>>> http://jeffhoogland.com/
>>>>>>> ___ enlightenment-devel
>>>>>>> mailing list ras...@rasterman.com
>>>>>>> http://jeffhoogland.com/
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Gustavo Sverzut Barbieri
>>>>>> --
>>>>>> Mobile: +55 (19) 99225-2202
>>>>>> Contact: http://jeffhoogland.com/
>>>>>>
>>>>>> --
>>>>>> Subversion Kills Productivity. Get off Subversion & Make the Move to
>>>>>> Perforce. With Perforce, you get hassle-free workflows. Merge that
>>>>>> actually works. Faster operations. Version large binaries. Built-in WAN
>>>>>> optimization and the freedom to use Git, Perforce or both. Make the move
>>>>>> to Perforce.
>>>>>> http://jeffhoogland.com/
>>>>>> ___ enlightenment-devel
>>>>>> mailing list ras...@rasterman.com
>>>>>> http://jeffhoogland.com/
>>>>>>
>>>>>
>>>>> --
>>>>> - Codito

Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Flávio Ceolin
Hi folks,

On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler  wrote:
> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri 
> 
> said:
>
>> i recall flavio used the pulseaudio library, just integrated into the
>> ecore main loop.
>
> aaah god it.
>
>> he had an elm ui that looks like the pavucontrol or that gnome volume
>> settings, you could even see which app is running and control their
>> volume, mute and output device
>>
>> On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler 
>> wrote:
>> > On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>> >  said:
>> >
>> >> Flavio Ceolin was doing one, let's see if he plans to integrate or at
>> >> least publish what he wrote so far
>> >
>> > was it going to use pulses dbus api... i was looking into it and it seems
>> > at a glance it was a direct point-to-point dbus api - not via session or
>> > system buses. am i wrong in that view?
>> >
>> >> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland 
>> >> wrote:
>> >> > Are there any plans to improve the mixer's current pulseaudio support?
>> >> > There are a select number of things you still need to install 
>> >> > pavucontrol
>> >> > to access if you are using pulse with E currently.
>> >> >
>> >> > --
>> >> > ~Jeff Hoogland 
>> >> > Thoughts on Technology , Tech Blog
>> >> > Bodhi Linux , Enlightenment for your Desktop
>> >> > --
>> >> > Subversion Kills Productivity. Get off Subversion & Make the Move to
>> >> > Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >> > actually works. Faster operations. Version large binaries.  Built-in WAN
>> >> > optimization and the freedom to use Git, Perforce or both. Make the move
>> >> > to Perforce.
>> >> > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>> >> > ___ enlightenment-devel
>> >> > mailing list enlightenment-devel@lists.sourceforge.net
>> >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >>
>> >>
>> >>
>> >> --
>> >> Gustavo Sverzut Barbieri
>> >> --
>> >> Mobile: +55 (19) 99225-2202
>> >> Contact: http://www.gustavobarbieri.com.br/contact
>> >>
>> >> --
>> >> Subversion Kills Productivity. Get off Subversion & Make the Move to
>> >> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >> actually works. Faster operations. Version large binaries.  Built-in WAN
>> >> optimization and the freedom to use Git, Perforce or both. Make the move
>> >> to Perforce.
>> >> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>> >> ___ enlightenment-devel
>> >> mailing list enlightenment-devel@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >>
>> >
>> >
>> > --
>> > - Codito, ergo sum - "I code, therefore I am" --
>> > The Rasterman (Carsten Haitzler)ras...@rasterman.com
>> >
>>
>>
>>
>> --
>> Gustavo Sverzut Barbieri
>> --
>> Mobile: +55 (19) 99225-2202
>> Contact: http://www.gustavobarbieri.com.br/contact
>>
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>
>
> --
> Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
> With Perforce, you get hassle-free workflows. Merge that actually works.
> Faster operations. Version large binaries.  Built-in WAN optimization and the
> freedom to use Git, Perforce or both. Make the move to Perforce.
> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

I intend to publish it, at the moment i've a mixer like pavcontrol
that makes possible change volume and redirect streams for different
sinks (outputs).
As Gustavo said, it was done integrating the pulseaudio with ecore
mainloop. The applet for E is not finished yet. I just need few days
to clean the code before push it.

Regard,
Flavio Ceolin

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enl

Re: [E-devel] E SVN: ceolin IN trunk/elementary: data/themes/widgets src/lib

2013-01-07 Thread Flávio Ceolin
);
>>> +
>>> sd->month_access = _elm_access_edje_object_part_object_register
>>> -  (obj, elm_layout_edje_get(obj), "month_text");
>>> +  (obj, elm_layout_edje_get(obj), "text_month");
>>> ai = _elm_access_object_get(sd->month_access);
>>> _elm_access_text_set(ai, ELM_ACCESS_TYPE, E_("calendar month"));
>>>
>>> +   sd->year_access = _elm_access_edje_object_part_object_register
>>> +  (obj, elm_layout_edje_get(obj), "text_year");
>>> +   ai = _elm_access_object_get(sd->year_access);
>>> +   _elm_access_text_set(ai, ELM_ACCESS_TYPE, E_("calendar year"));
>>> +
>>> po = (Evas_Object *)edje_object_part_object_get
>>> -  (elm_layout_edje_get(obj), "month_text");
>>> +  (elm_layout_edje_get(obj), "text_month");
>>> evas_object_pass_events_set(po, EINA_FALSE);
>>>
>>> +   po = (Evas_Object *)edje_object_part_object_get
>>> +  (elm_layout_edje_get(obj), "text_year");
>>> +   evas_object_pass_events_set(po, EINA_FALSE);
>>>  }
>>>
>>>  static void
>>> @@ -517,7 +557,7 @@
>>>  }
>>>
>>>  static Eina_Bool
>>> -_update_month(Evas_Object *obj,
>>> +_update_data(Evas_Object *obj, Eina_Bool month,
>>>int delta)
>>>  {
>>> struct tm time_check;
>>> @@ -527,30 +567,40 @@
>>>
>>> /* check if it's a valid time. for 32 bits, year greater than 2037 is
>>> not */
>>> time_check = sd->shown_time;
>>> -   time_check.tm_mon += delta;
>>> +   if (month)
>>> +   time_check.tm_mon += delta;
>>> +   else
>>> +   time_check.tm_year += delta;
>>> if (mktime(&time_check) == -1)
>>>   return EINA_FALSE;
>>>
>>> -   sd->shown_time.tm_mon += delta;
>>> -   if (sd->shown_time.tm_mon < 0)
>>> +   if (month)
>>>   {
>>> -if (sd->shown_time.tm_year == sd->year_min)
>>> -  {
>>> - sd->shown_time.tm_mon++;
>>> - return EINA_FALSE;
>>> -  }
>>> -sd->shown_time.tm_mon = 11;
>>> -sd->shown_time.tm_year--;
>>> +   sd->shown_time.tm_mon += delta;
>>> +   if (sd->shown_time.tm_mon < 0)
>>> + {
>>> +if (sd->shown_time.tm_year == sd->year_min)
>>> +  {
>>> + sd->shown_time.tm_mon++;
>>> + return EINA_FALSE;
>>> +  }
>>> +sd->shown_time.tm_mon = 11;
>>> +sd->shown_time.tm_year--;
>>> + }
>>> +   else if (sd->shown_time.tm_mon > 11)
>>> + {
>>> +if (sd->shown_time.tm_year == sd->year_max)
>>> +  {
>>> + sd->shown_time.tm_mon--;
>>> + return EINA_FALSE;
>>> +  }
>>> +sd->shown_time.tm_mon = 0;
>>> +sd->shown_time.tm_year++;
>>> + }
>>>   }
>>> -   else if (sd->shown_time.tm_mon > 11)
>>> +   else
>>>   {
>>> -if (sd->shown_time.tm_year == sd->year_max)
>>> -  {
>>> - sd->shown_time.tm_mon--;
>>> - return EINA_FALSE;
>>> -  }
>>> -sd->shown_time.tm_mon = 0;
>>> -sd->shown_time.tm_year++;
>>> +   sd->shown_time.tm_year += delta;
>>>   }
>>>
>>> if ((sd->select_mode != ELM_CALENDAR_SELECT_MODE_ONDEMAND)
>>> @@ -569,21 +619,35 @@
>>>  }
>>>
>>>  static Eina_Bool
>>> -_spin_value(void *data)
>>> +_spin_month_value(void *data)
>>>  {
>>> ELM_CALENDAR_DATA_GET(data, sd);
>>>
>>> -   if (_update_month(data, sd->spin_speed))
>>> +   if (_update_data(data, EINA_TRUE, sd->spin_speed))
>>>   evas_object_smart_changed(data);
>>>
>>> sd->interval = sd->interval / 1.05;
>>> -   ecore_timer_interval_set(sd->spin, sd->interval);
>>> +   ecore_timer_interval_set(sd->spin_month, sd->interval);
>>>
>>> return ECORE_CALLBACK_RENEW;
>>>  }
>>

Re: [E-devel] Package 'elementary' requires 'elocation >= 1.7.99' but version of elocation is 0.1.0.81014

2012-12-17 Thread Flávio Ceolin
Hi,

On Sun, Dec 16, 2012 at 11:05 PM, David Seikel  wrote:
> On Mon, 17 Dec 2012 08:47:14 +0900 Carsten Haitzler (The Rasterman)
>  wrote:
>
>> On Mon, 17 Dec 2012 01:41:09 +1000 David Seikel 
>> said:
>>
>> > On Sat, 15 Dec 2012 20:16:07 +1000 David Seikel 
>> > wrote:
>> >
>> > > Think it's a real problem this time.  B-)
>> > >
>> > > Just about every (or perhaps all) elementary proggy in current
>> > > SVN is bombing out with that message during the configure stage.
>> >
>> > No one else is getting this problem?  I suspect it's this ...
>>
>> nup - i dont even have elocation installed. no .pc file. i dont know
>> why you see this problem - i'm problem-free. :)
>
> I would guess I see it coz I DO install elocation.  :-P
>
> I'd fix it myself, I just dunno if it's elocation or elementary that is
> wrong, but this commit posted below seems to suggest it's elementary's
> fault.
>

Sorry, my mistake. I forgot to change the version of elocation for the
elementary.pc.
It should be fixed now (revision 81142).

>> > Log:
>> > adding support for elocation
>> >
>> >
>> > Author:   ceolin
>> > Date: 2012-12-11 06:05:48 -0800 (Tue, 11 Dec 2012)
>> > New Revision: 80657
>> > Trac: http://trac.enlightenment.org/e/changeset/80657
>> >
>> >
>> > 
>> >
>> >
>> > Modified: trunk/elementary/configure.ac
>> > ===
>> > --- trunk/elementary/configure.ac   2012-12-11 13:04:53 UTC
>> > (rev 80656) +++ trunk/elementary/configure.ac   2012-12-11
>> > 14:05:48 UTC (rev 80657) @@ -525,6 +525,34 @@
>> >  fi
>> >  AC_SUBST(ELM_EDBUS2_DEF)
>> >
>> > +ELM_ELOCATION_DEF="#undef"
>> > +have_elementary_elocation="no"
>> > +want_elementary_elocation="auto"
>> > +AC_ARG_ENABLE([elocation],
>> > +   [AC_HELP_STRING([--disable-elocation], [disable elocation
>> > support. @<:@default=detect@:>@])],
>> > +   [want_elementary_elocation=$enableval], [])
>> > +
>> > +if test "x$want_elementary_elocation" != "xno"; then
>> > +PKG_CHECK_MODULES([ELEMENTARY_ELOCATION],
>> > +   [
>> > +elocation >= 0.1.0
>> > +   ],
>> > +   [
>> > +AC_DEFINE(HAVE_ELEMENTARY_ELOCATION, 1, [Elocation support
>> > for Elementary])
>> > +have_elementary_elocation="yes"
>> > +ELM_ELOCATION_DEF="#define"
>> > +requirement_elm="elocation >= 1.7.99 ${requirement_elm}"
>> >
>> > That's trying to check for two different version numbers of
>> > elocation, right?
>> >
>> > --
>> > A big old stinking pile of genius that no one wants
>> > coz there are too many silver coated monkeys in the world.
>
> --
> A big old stinking pile of genius that no one wants
> coz there are too many silver coated monkeys in the world.
>
> --
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

Best Regards,
Flavio Ceolin

--
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ecore_Evas engines

2012-12-05 Thread Flávio Ceolin
On Tue, Dec 4, 2012 at 1:04 PM, Vincent Torri  wrote:
> On Tue, Dec 4, 2012 at 3:24 PM, Flávio Ceolin
>  wrote:
>> Hi folks,
>>
>> I have recently committed in IN-EFL/ecore some patches implementing
>> support for loadables modules. It makes the engines been loaded when
>> they are needed. I did not break the api, so each engine still has its
>> own api. It's far from ideal, should exists one api used by all the
>> modules but at least until the next version, we need keep the api.
>>
>> The modules (engines) usually exports just on symbol, the "new"
>> function, the other necessary functions are in the engine's interface.
>>
>> Some points to considerer:
>>
>> 1) I've tested the engines that i'm able to build, which means, sdl,
>> (opengl,software)_x11, buffer, wayland_(egl,shm). Windows, wince,
>> cocoa and ps3 i do not even built.
>
> i'll try the windows engines
>
>> 2) I've commited in the IN-EFL to someone working with one of these
>> engines try to build and possibly report to me the problems.
>>
>> 3) Engines such as (software,opengl)_x11 are been build in just one
>> module initially and exporting the "new" functions and interfaces
>> necessary.
>>
>> 4) I'm working to port it to new efl tree (expending more time and
>> been more careful) with the build system. If no one oppose i'll commit
>> it soon.
>
> put the engines in src/modules/ecore/engines, like evas
>
> I would like to have at least a diff of the files that are modified,
> please, before you commit
>

Hi, I've already committed because k-s needs it to keep his work in
the efl tree build system. As he's changing a lot the build system and
intends to simplify the options we agree that the best option should
be commit it and then working in the possible errors.

>> 5) I break the build between the commits, i did it to make easier
>> understand how the engines were ported
>
> good work anyway :)
>
> Vincent
>
> --
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Flavio Ceolin

--
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ecore_Evas engines

2012-12-05 Thread Flávio Ceolin
On Wed, Dec 5, 2012 at 12:54 PM, Gustavo Sverzut Barbieri
 wrote:
> On Wed, Dec 5, 2012 at 12:43 PM, Vincent Torri  
> wrote:
>> On Wed, Dec 5, 2012 at 2:14 PM, Flávio Ceolin
>>  wrote:
>>> On Wed, Dec 5, 2012 at 12:41 AM, David Seikel  wrote:
>>>> On Tue, 4 Dec 2012 23:44:48 -0200 Gustavo Sverzut Barbieri
>>>>  wrote:
>>>>
>>>>> On Tuesday, December 4, 2012, David Seikel wrote:
>>>>>
>>>>> > On Tue, 4 Dec 2012 12:24:28 -0200 Flávio Ceolin
>>>>> > > wrote:
>>>>> >
>>>>> > > I have recently committed in IN-EFL/ecore some patches
>>>>> > > implementing support for loadables modules. It makes the engines
>>>>> > > been loaded when they are needed. I did not break the api, so
>>>>> > > each engine still has its own api. It's far from ideal, should
>>>>> > > exists one api used by all the modules but at least until the
>>>>> > > next version, we need keep the api.
>>>>> > >
>>>>> > > The modules (engines) usually exports just on symbol, the "new"
>>>>> > > function, the other necessary functions are in the engine's
>>>>> > > interface.
>>>>> >
>>>>> > I'm a bit confused here, why is this needed?  Isn't it the case that
>>>>> > more often than not there's only one useful engine that is
>>>>> > supported by the hardware?  And not like you will be moving a
>>>>> > window on the fly from X11 to fb?  Certainly I don't think anyone
>>>>> > will be using X11 and Windows engines in the same run of their
>>>>> > proggy.  How is this supposed to work?  What use case is there for
>>>>> > it?
>>>>> >
>>>>> > I can understand if it was for image loaders & savers, and other
>>>>> > stuff, that makes sense, but engines?
>>>>>
>>>>>
>>>>> Before linking to ecore_evas built with x11, wayland and directfb
>>>>> would bring all those libs even if just buffer engine is used. Also
>>>>> if you built with them, you could not remove x11 or wayland
>>>>> afterwards.
>>>>>
>>>>> With the new infra, ecore_evas behaves just like Evas and each engine
>>>>> is a separate shared object, will just bring deps as its loaded. Can
>>>>> be removed from the system without breaking dynamic linkage.
>>>>
>>>> Ah that makes sense.  The way it was described sounded more like "one
>>>> app can load and unload various engines at run time on the fly" to me,
>>>> which just sounded odd.
>>>
>>> The main reason to support it, it is what raster said, add and remove
>>> support for engines without need rebuild the libecore_evas. It's also
>>> pretty good for the packagers because they don't need build with many
>>> engines enabled by default increasing the number of dependencies.
>>
>> which is a cotradiction with the merge as the merge requests some
>> dependencies, now :)
>
> actually this was not well placed by flavio.
>
> General distro packagers can now COMPILE efl with every module enabled
> (sdl, x11, fb...), yet they PACKAGE libecore_evas.so with only basic
> dependencies (libecore.so, libevas.so) and not dependent on xlib/xcb
> or sdl. These would be dependencies of ecore-evas-module-x11 and
> ecore-evas-module-sdl. Something like:
>
> libecore-evas.pkg: depends on libecore.pkg and libevas.pkg (eo, eina... as 
> well)
> ecore-evas-module-x11.pkg: depends on libecore-evas.pkg and xlib (or xcb)
> ecore-evas-module-sdl.pkg: depends on libecore-evas.pkg and sdl
> e17.pkg: depends on libecore-evas.pkg and ecore-evas-module-x11.pkg
>
> then ecore-evas-module-sdl.pkg is not installed or required. But one
> user may install that so his app will work with sdl as well.

Yep, this is what i tried to say.

>
> --
> Gustavo Sverzut Barbieri
> http://profusion.mobi embedded systems
> --
> MSN: barbi...@gmail.com
> Skype: gsbarbieri
> Mobile: +55 (19) 9225-2202
>
> --
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Flávio Ceolin

--
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ecore_Evas engines

2012-12-05 Thread Flávio Ceolin
On Wed, Dec 5, 2012 at 12:41 AM, David Seikel  wrote:
> On Tue, 4 Dec 2012 23:44:48 -0200 Gustavo Sverzut Barbieri
>  wrote:
>
>> On Tuesday, December 4, 2012, David Seikel wrote:
>>
>> > On Tue, 4 Dec 2012 12:24:28 -0200 Flávio Ceolin
>> > > wrote:
>> >
>> > > I have recently committed in IN-EFL/ecore some patches
>> > > implementing support for loadables modules. It makes the engines
>> > > been loaded when they are needed. I did not break the api, so
>> > > each engine still has its own api. It's far from ideal, should
>> > > exists one api used by all the modules but at least until the
>> > > next version, we need keep the api.
>> > >
>> > > The modules (engines) usually exports just on symbol, the "new"
>> > > function, the other necessary functions are in the engine's
>> > > interface.
>> >
>> > I'm a bit confused here, why is this needed?  Isn't it the case that
>> > more often than not there's only one useful engine that is
>> > supported by the hardware?  And not like you will be moving a
>> > window on the fly from X11 to fb?  Certainly I don't think anyone
>> > will be using X11 and Windows engines in the same run of their
>> > proggy.  How is this supposed to work?  What use case is there for
>> > it?
>> >
>> > I can understand if it was for image loaders & savers, and other
>> > stuff, that makes sense, but engines?
>>
>>
>> Before linking to ecore_evas built with x11, wayland and directfb
>> would bring all those libs even if just buffer engine is used. Also
>> if you built with them, you could not remove x11 or wayland
>> afterwards.
>>
>> With the new infra, ecore_evas behaves just like Evas and each engine
>> is a separate shared object, will just bring deps as its loaded. Can
>> be removed from the system without breaking dynamic linkage.
>
> Ah that makes sense.  The way it was described sounded more like "one
> app can load and unload various engines at run time on the fly" to me,
> which just sounded odd.

The main reason to support it, it is what raster said, add and remove
support for engines without need rebuild the libecore_evas. It's also
pretty good for the packagers because they don't need build with many
engines enabled by default increasing the number of dependencies.

>
> --
> A big old stinking pile of genius that no one wants
> coz there are too many silver coated monkeys in the world.
>
> --
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

Flávio Ceolin

--
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ecore_Evas engines

2012-12-04 Thread Flávio Ceolin
On Tue, Dec 4, 2012 at 1:04 PM, Vincent Torri  wrote:
> On Tue, Dec 4, 2012 at 3:24 PM, Flávio Ceolin
>  wrote:
>> Hi folks,
>>
>> I have recently committed in IN-EFL/ecore some patches implementing
>> support for loadables modules. It makes the engines been loaded when
>> they are needed. I did not break the api, so each engine still has its
>> own api. It's far from ideal, should exists one api used by all the
>> modules but at least until the next version, we need keep the api.
>>
>> The modules (engines) usually exports just on symbol, the "new"
>> function, the other necessary functions are in the engine's interface.
>>
>> Some points to considerer:
>>
>> 1) I've tested the engines that i'm able to build, which means, sdl,
>> (opengl,software)_x11, buffer, wayland_(egl,shm). Windows, wince,
>> cocoa and ps3 i do not even built.
>
> i'll try the windows engines

Great, as you talked about the windows engines, shouldn't we remove the wince ?
This engine does nothing.

>
>> 2) I've commited in the IN-EFL to someone working with one of these
>> engines try to build and possibly report to me the problems.
>>
>> 3) Engines such as (software,opengl)_x11 are been build in just one
>> module initially and exporting the "new" functions and interfaces
>> necessary.
>>
>> 4) I'm working to port it to new efl tree (expending more time and
>> been more careful) with the build system. If no one oppose i'll commit
>> it soon.
>
> put the engines in src/modules/ecore/engines, like evas

I'm already doing it to efl tree :)
>
> I would like to have at least a diff of the files that are modified,
> please, before you commit
>
>> 5) I break the build between the commits, i did it to make easier
>> understand how the engines were ported
>
> good work anyway :)

Thanks :)

>
> Vincent
>
> --
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Flávio Ceolin

--
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Ecore_Evas engines

2012-12-04 Thread Flávio Ceolin
Hi folks,

I have recently committed in IN-EFL/ecore some patches implementing
support for loadables modules. It makes the engines been loaded when
they are needed. I did not break the api, so each engine still has its
own api. It's far from ideal, should exists one api used by all the
modules but at least until the next version, we need keep the api.

The modules (engines) usually exports just on symbol, the "new"
function, the other necessary functions are in the engine's interface.

Some points to considerer:

1) I've tested the engines that i'm able to build, which means, sdl,
(opengl,software)_x11, buffer, wayland_(egl,shm). Windows, wince,
cocoa and ps3 i do not even built.

2) I've commited in the IN-EFL to someone working with one of these
engines try to build and possibly report to me the problems.

3) Engines such as (software,opengl)_x11 are been build in just one
module initially and exporting the "new" functions and interfaces
necessary.

4) I'm working to port it to new efl tree (expending more time and
been more careful) with the build system. If no one oppose i'll commit
it soon.

5) I break the build between the commits, i did it to make easier
understand how the engines were ported

Best Regards,
Flávio Ceolin

--
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] edje : codegen issues

2012-09-14 Thread Flávio Ceolin
On Fri, Sep 14, 2012 at 10:46 AM, Vincent Torri  wrote:
> On Fri, Sep 14, 2012 at 3:38 PM, Flávio Ceolin
>  wrote:
>> Hi Vincent,
>>
>> On Fri, Sep 14, 2012 at 6:47 AM, Vincent Torri  
>> wrote:
>>> hey
>>>
>>> 1) codegen still seg fault on windows in edje/src/examples
>>
>> Is it the same problem described in the other thread ? If, not could
>> you send the backtrace please ?
>
> i'll try to give it this evening

Thanks, it'll very useful.

>
>>>
>>> 2) if epp or edje need to be recompiled because of new options (like
>>> epp recently), then edje_cc in examples/ will fail. It has to use the
>>> local one, imho. With all the problems of cross compilation it will
>>> imply
>>>
>>
>> In the revision r76360 Barbieri make edje uses the local binaries
>> instead of using from the system.
>> Is it what you is talking about ?
>
> no. Example : you give another option to epp (which has been recently
> the case). Edje is modified too. Now you just type make
>
> 1) epp is compiled, but not installed.
> 2) edje_cc is compiled
> 3) edje_cc (the local one) is called to create the .edj in examples.
> But edje_cc calls epp with system(), and this epp is the one that has
> been previously installed, and which does not contain the latest
> modifications. Hence, boom.

Hmm, now i understood

>
> Vincent
>
> --
> Got visibility?
> Most devs has no idea what their production app looks like.
> Find out how fast your code is with AppDynamics Lite.
> http://ad.doubleclick.net/clk;262219671;13503038;y?
> http://info.appdynamics.com/FreeJavaPerformanceDownload.html
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Best Regards,
Flavio Ceolin

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] edje : codegen issues

2012-09-14 Thread Flávio Ceolin
Hi Vincent,

On Fri, Sep 14, 2012 at 6:47 AM, Vincent Torri  wrote:
> hey
>
> 1) codegen still seg fault on windows in edje/src/examples

Is it the same problem described in the other thread ? If, not could
you send the backtrace please ?

>
> 2) if epp or edje need to be recompiled because of new options (like
> epp recently), then edje_cc in examples/ will fail. It has to use the
> local one, imho. With all the problems of cross compilation it will
> imply
>

In the revision r76360 Barbieri make edje uses the local binaries
instead of using from the system.
Is it what you is talking about ?

> Vincent
>
> --
> Got visibility?
> Most devs has no idea what their production app looks like.
> Find out how fast your code is with AppDynamics Lite.
> http://ad.doubleclick.net/clk;262219671;13503038;y?
> http://info.appdynamics.com/FreeJavaPerformanceDownload.html
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Best Regards,
Flavio Ceolin

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ecore-audio and pulseaudio

2012-08-27 Thread Flávio Ceolin
On Mon, Aug 27, 2012 at 12:15 AM, Carsten Haitzler  wrote:
> On Sun, 26 Aug 2012 23:26:41 -0300 Flávio Ceolin 
> 
> said:
>
> so it's an envelope with only 2 points. start and end?

Yep, initially yes, but it's possible create support for multiple
points using this api, I know that is worse in both cases performance
and precision of interpolation.

It's easier make this code upstream first and then extend it for
support multiple points than the opposite.

>
>> Hi folks,
>>
>> I've been working with pulseaudio for while and now we've implemented
>> audio envelopes in PulseAdudio. The code is not upstream yet, but it
>> can be found in this repository
>> (http://git.profusion.mobi/cgit.cgi/ceolin/pulseaudio/) (branch ramp).
>>
>> Using this code is pretty simple, for example, to apply an envelope on
>> a sink pa_context_set_sink_volume_ramp_by_index, to apply on a
>> sink-input (stream) pa_context_set_sink_input_volume_ramp.
>>
>> The audio envelope works in the follow way, the user states the final
>> volume, how long this envelope should last and the interpolation type
>> (which can be, cubic, logarithm or linear). In the internals
>> PulseAudio figures out how many samples are in the estipulated
>> interval and then using the interpolation type chosen it changes the
>> samples volume until the volume desired. The difference between apply
>> an envelope on a sink or sink-input is that when using over the sink
>> the envelope is applied in all streams of that sink.
>>
>> Some feedback from people (Daniel :) ) working with ecore-audio would be
>> great.
>>
>> Best Regards,
>> Flavio Ceolin
>>
>> --
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>

Regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] ecore-audio and pulseaudio

2012-08-26 Thread Flávio Ceolin
Hi folks,

I've been working with pulseaudio for while and now we've implemented
audio envelopes in PulseAdudio. The code is not upstream yet, but it
can be found in this repository
(http://git.profusion.mobi/cgit.cgi/ceolin/pulseaudio/) (branch ramp).

Using this code is pretty simple, for example, to apply an envelope on
a sink pa_context_set_sink_volume_ramp_by_index, to apply on a
sink-input (stream) pa_context_set_sink_input_volume_ramp.

The audio envelope works in the follow way, the user states the final
volume, how long this envelope should last and the interpolation type
(which can be, cubic, logarithm or linear). In the internals
PulseAudio figures out how many samples are in the estipulated
interval and then using the interpolation type chosen it changes the
samples volume until the volume desired. The difference between apply
an envelope on a sink or sink-input is that when using over the sink
the envelope is applied in all streams of that sink.

Some feedback from people (Daniel :) ) working with ecore-audio would be great.

Best Regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-07-11 Thread Flávio Ceolin
Hi Prince,

On Tue, Jul 10, 2012 at 10:13 AM, Prince Kr Dubey
 wrote:
> Hi,
>
> --
> From: "Flávio Ceolin" 
> Sent: Tuesday, July 10, 2012 3:56 AM
> To: "Enlightenment developer list"
> 
> Cc: "PRINCE KUMAR DUBEY" 
> Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for
> edje multisense module
>
>> Hi Prince,
>>
>> On Mon, Jul 9, 2012 at 3:50 AM, Carsten Haitzler 
>> wrote:
>>> On Fri, 06 Jul 2012 14:59:52 + (GMT) PRINCE KUMAR DUBEY
>>>  said:
>>>
>>>>
>>>>Hi,
>>>>
>>>>
>>>>--
>>>>
>>>>From: "Carsten Haitzler (The Rasterman)" <[1]ras...@rasterman.com>
>>>>
>>>>Sent: Friday, July 06, 2012 1:38 PM
>>>>
>>>>To: "Enlightenment developer list"
>>>>
>>>><[2]enlightenment-devel@lists.sourceforge.net>
>>>>
>>>>Cc: "PRINCE KUMAR DUBEY" <[3]prince.du...@samsung.com>
>>>>
>>>>Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in
>>>> for
>>>>edje multisense module
>>>>
>>>>
>>>>> On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY
>>>>
>>>>> <[4]prince.du...@samsung.com> said:
>>>>
>>>>>
>>>>
>>>>> these are really suspicious. you're messing with starting/stopping
>>>>
>>>>> mainloops here
>>>>
>>>>>
>>>>
>>>>> +   ecore_main_loop_quit();
>>>>
>>>>>
>>>>
>>>>> +//again main loop begins to process thread cancellation
>>>>
>>>>> +ecore_main_loop_begin();
>>>>
>>>>>
>>>>
>>>>> :( not good. imagine u shut down edje while still in the mainloop.
>>>> :)
>>>>
>>>>> (not relevant for elementary but for things using raw
>>>> edje+ecore+evas/
>>>>etc.
>>>>
>>>>> ...)
>>>>
>>>>Anyway in ecore_thread_cancel callback extra ecore_main_loop is being
>>>> quit,
>>>>So will it still be problem!
>>>>
>>>>Reason for using ecore_main_loop_begin is that
>>>> ecore_thread_cancel/end
>>>>callbacks are not getting called in _edje_multisense_shutdown (for
>>>> memory
>>>>cleanup purpose).
>>>>
>>>>So,   begining   the   main  loop  again  to  cleanup  the  memory
>>>> in
>>>>ecore_thread_cancel.
>>>>
>>>>I have altrenate approach to free the memory, when control comes out
>>>> from
>>>>"while loop" in worker thread, is this approach is ok ?
>>>
>>> alternative approach definitely... not the ecore mainloop begin and quit
>>> thing :)
>>>
>>> --
>>> - Codito, ergo sum - "I code, therefore I am" --
>>> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>>>
>>>
>>> --
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond. Discussions
>>> will include endpoint security, mobile security and the latest in malware
>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>> ___
>>> enlightenment-devel mailing list
>>> enlightenment-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>> Besides the problem with the main_loop pointed out by raster, i've
>> found some small issues in the patch. I've attached your patch with
>> the review. Overall, the patch is working properly :)
>>
>> Regards,
>> Flavio Ceolin
>>
>
> I'll check your comments and update the patch.
>
> Thanks,
> Prince
>
>
>
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Thanks for the update !

Regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-07-09 Thread Flávio Ceolin
Hi Prince,

On Mon, Jul 9, 2012 at 3:50 AM, Carsten Haitzler  wrote:
> On Fri, 06 Jul 2012 14:59:52 + (GMT) PRINCE KUMAR DUBEY
>  said:
>
>>
>>Hi,
>>
>>
>>--
>>
>>From: "Carsten Haitzler (The Rasterman)" <[1]ras...@rasterman.com>
>>
>>Sent: Friday, July 06, 2012 1:38 PM
>>
>>To: "Enlightenment developer list"
>>
>><[2]enlightenment-devel@lists.sourceforge.net>
>>
>>Cc: "PRINCE KUMAR DUBEY" <[3]prince.du...@samsung.com>
>>
>>Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for
>>edje multisense module
>>
>>
>>> On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY
>>
>>> <[4]prince.du...@samsung.com> said:
>>
>>>
>>
>>> these are really suspicious. you're messing with starting/stopping
>>
>>> mainloops here
>>
>>>
>>
>>> +   ecore_main_loop_quit();
>>
>>>
>>
>>> +//again main loop begins to process thread cancellation
>>
>>> +ecore_main_loop_begin();
>>
>>>
>>
>>> :( not good. imagine u shut down edje while still in the mainloop. :)
>>
>>> (not relevant for elementary but for things using raw edje+ecore+evas/
>>etc.
>>
>>> ...)
>>
>>Anyway in ecore_thread_cancel callback extra ecore_main_loop is being 
>> quit,
>>So will it still be problem!
>>
>>Reason for using ecore_main_loop_begin is that ecore_thread_cancel/end
>>callbacks are not getting called in _edje_multisense_shutdown (for memory
>>cleanup purpose).
>>
>>So,   begining   the   main  loop  again  to  cleanup  the  memory  in
>>ecore_thread_cancel.
>>
>>I have altrenate approach to free the memory, when control comes out from
>>"while loop" in worker thread, is this approach is ok ?
>
> alternative approach definitely... not the ecore mainloop begin and quit
> thing :)
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>
>
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Besides the problem with the main_loop pointed out by raster, i've
found some small issues in the patch. I've attached your patch with
the review. Overall, the patch is working properly :)

Regards,
Flavio Ceolin


edje_multisense_pulseaudio_plugin.patch.review
Description: Binary data
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-26 Thread Flávio Ceolin
Hi Prince,

On Tue, Jun 26, 2012 at 11:47 AM, Prince Kr Dubey
 wrote:
> Hi Flavio,
>
> I'll create another patch with the modification suggested by you and
> Gustavo.
> And will post the same to community ASAP.
>
> Thanks & Regards,
> Prince
>
> On 06/25/2012 14:20:20 , Flavio Ceolin  wrote:
>> Hi Prince,
>>
>> Gustavo Sverzut Barbieri  writes:
>>
>>> On Thu, Jun 21, 2012 at 10:32 AM, PRINCE KUMAR DUBEY
>>>  wrote:
 Hi,

 Please find my query/comments inlined below.
>>>
>>> Ok, and could you use some email client that does proper reply? It's a
>>> mess and unusual to read your mails without the proper quote blocks.
>>>
>>>
> +EAPI extern Eina_Bool _on_edjecc;
>
> It seems to be not necessary.
> [Prince] this variable is required, in order to provide check to
> unnecessary multisense framework initialization during EDC
> compilation/decompilation mode.
> So, during EDC compilation, _on_edjecc=EINA_TRUE in edje_cc.c and
> hence,
> _edje_multisense_init() is being ignored in edje_main.c.


 No, never do this.

 One should have a global setter and maybe a getter to enable or disable
 features, or even better just load multisense if it's required.

 [Prince] Multisense load is not needed during
 compilation/decompilation, because it inculdes remix and its
 plug-in(i.e. eetsndreader, ALSA) load, which are specificaly
 required during runtime only.
 As per your suggestion above, should we add interfaces for
 setter/getter to enable this feature in edje ? Please share your
 opinion.
>>>
>>> I dislike having to manually enable or disable them. Just use it as
>>> last resource.
>>>
>>> Ideally the multisense would be disabled and whenever a group uses
>>> multisense, it would be enabled. You do not need to further disable
>>> the setup later, it's fine to keep it on.
>>> It's like a lazy-loaded singleton.
>>>
>>> As edje_cc will never edje_object_file_set() it will never hit the
>>> path to load multisense. Then we're fine for it and every other
>>> software that does not use it.
>>
>> Are you intending to do the modifications suggested ?
>> Your patch with those modifications looks pretty good.
>>
>> Best Regards,
>> Flavio Ceolin
>
>
>
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Thanks !!

Best Regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-18 Thread Flávio Ceolin
Hi Prince,

On Mon, Jun 18, 2012 at 9:56 AM, PRINCE KUMAR DUBEY
 wrote:
> Hi Flavio,
>
> I tested "edje_player multisense.edje" to reproduce seg fault as mentioned 
> below, but couldn't succeed with memcheck as well.
> My svn rev is 72374. Please let me know the scenario to reproduce it.
>
> And regarding the point 5, you are right, multisense will not build without 
> remix as per current configure file.
> But, multisense is not all about only sound, it can have vibration etc. So, 
> if we make remix optional for multisense feature,
> edje must compile e.g. ENABLE_MULTISENSE=1 and HAVE_REMIX=0.
>
> Regards,
> Prince
>

I've tested in rev 72117 and now 72400 in both the problem happened. I
built with these options:
/configure --enable-tests --enable-build-examples --enable-multisense
CFLAGS=-Wall -g -O0

As for the patch, I took a look in it and I would like to understand
some points.

+static void
+pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data
*player, RemixPCM *data, RemixCount count)
+{
+   int ret;
+   RemixCount i;
+   RemixPCM value;
+   size_t length;
+
+   length = count * sizeof(RemixCount);

Shouldn't it be
length = count * sizeof(RemixPCM);

+
+   for (i = 0; i < length; i++)

Shouldn't check if length is greater than the size of the buffer ?

+ {
+value = *data++ * (player->max_value);
+*(player->playbuffer + i) = (PLAYER_PCM) value;

With this cast we are discarding part of the data, is it ok ?

+ }
+
+   ret = pa_simple_write(player->server, player->playbuffer, length,
&player->error);
+
+   if (ret < 0) WRN("pa_simple_write() failed: (%s)",
pa_strerror(player->error));
+
+   return;
+}


Best regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-14 Thread Flávio Ceolin
Hello Prince,

On Thu, Jun 14, 2012 at 10:14 AM, PRINCE KUMAR DUBEY
 wrote:
>
> Hi,
>   Please review the attached patch for pulse audio remix pulg-in added as 
> output device for multisense feature with other enhancements, details are 
> given below.
>
> Change Description:
> 1. Multisense support enabled by default, Pulse Audio option added, flac, 
> alsa and ogg/vorbis are made optional for multisense during 
> configuration/compilation.
> 2. Pulse Audio Remix Plug-in added as audio output device.
> 3. Disabling of Multisense module initialization/shutdown in EDC compilation 
> mode.
> 4. Enhancement to _edje_multisense_shutdown to fix memory leak.
> 5. Multisense example enhancement and modification in edje_multisense.c so, 
> edje can compile without availability of remix.
>
> Signed-Off-By: Prince Kr Dubey
>
> Thank you,
>
> Regards,
> Prince Kr Dubey
>
>
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

I' ve found a segfault when running edje_player (multisense example,
multisense.edj), you could check it in the attached file.
It's valid you know that this problem is not happening when running
the edje-multisense's example.
Also, I didn't understand the point 5 (edje can compile without
availability of remix).
As far as I could see there is no way to build multisense without
libremix right ?

Regards,
Flavio Ceolin
==11191== Memcheck, a memory error detector
==11191== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==11191== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==11191== Command: edje_player multisense.edj
==11191== Parent PID: 8099
==11191== 
==11191== Syscall param write(buf) points to uninitialised byte(s)
==11191==at 0x355100E04D: ??? (in /usr/lib64/libpthread-2.15.so)
==11191==by 0x4C7251C: _edje_multisense_internal_sound_sample_play 
(edje_multisense.c:344)
==11191==by 0x4C73EFF: _edje_program_run (edje_program.c:798)
==11191==by 0x4C74238: _edje_program_run (edje_program.c:595)
==11191==by 0x4C76007: _edje_emit_handle (edje_program.c:1228)
==11191==by 0x4C7174E: _edje_message_queue_process 
(edje_message_queue.c:764)
==11191==by 0x4C718B6: _edje_job (edje_message_queue.c:160)
==11191==by 0x69CF234: _ecore_job_event_handler (ecore_job.c:115)
==11191==by 0x69C95DC: _ecore_call_handler_cb (ecore_private.h:319)
==11191==by 0x69CA57B: _ecore_event_call (ecore_events.c:559)
==11191==by 0x69D141D: _ecore_main_loop_iterate_internal (ecore_main.c:1814)
==11191==by 0x69CFCBF: ecore_main_loop_begin (ecore_main.c:931)
==11191==  Address 0x7fefff97c is on thread 1's stack
==11191== 
==11191== Thread 3:
==11191== Invalid write of size 2
==11191==at 0xE4538E5: pa_player_playbuffer.isra.0 
(pa_simple_snd_player.c:211)
==11191==by 0xE4539F4: pa_player_process (pa_simple_snd_player.c:264)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E4787: remix_sound_process (remix_sound.c:400)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E3714: remix_layer_process (remix_layer.c:498)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E6B5A: remix_track_twolayer_process (remix_track.c:350)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==  Address 0x77a20f0 is 0 bytes after a block of size 8,192 alloc'd
==11191==at 0x4A06F18: calloc (vg_replace_malloc.c:566)
==11191==by 0xE453524: pa_player_reset_device (pa_simple_snd_player.c:81)
==11191==by 0xE4536B5: pa_player_init (pa_simple_snd_player.c:130)
==11191==by 0x56DF729: remix_new (remix_base.c:55)
==11191==by 0x4C727B5: _edje_multisense_init (edje_multisense.c:109)
==11191==by 0x4C6EF24: edje_init (edje_main.c:73)
==11191==by 0x4022F3: main (edje_player.c:662)
==11191== 
==11191== Invalid read of size 4
==11191==at 0xE4538ED: pa_player_playbuffer.isra.0 
(pa_simple_snd_player.c:208)
==11191==by 0xE4539F4: pa_player_process (pa_simple_snd_player.c:264)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E4787: remix_sound_process (remix_sound.c:400)
==11191==by 0x56DFA9C: remix_process_fast

Re: [E-devel] Emotion problem

2012-05-04 Thread Flávio Ceolin
Hi,

On Thu, May 3, 2012 at 9:04 PM, Cedric BAIL  wrote:
> Hi,
>
> On Fri, May 4, 2012 at 1:44 AM, Flávio Ceolin
>  wrote:
>> On Thu, May 3, 2012 at 11:49 AM, Flavio Ceolin
>>  wrote:
>>> Hi folks,
>>>
>>> I've got a problem when using emotion. The signal "playback_started" is
>>> never called. I also have checked the emotion examples and the same
>>> happens. The others signals like "playback_finished" and "open_done" are
>>> working as expected. Bellow is my example:
>>>
>>> #include 
>>> #include 
>>> #include 
>>> #include 
>>> #include 
>>>
>>> static void
>>> _playback_started_cb(void *data, Evas_Object *o, void *event_info)
>>> {
>>>    printf("Emotion object started playback.\n");
>>> }
>>>
>>> static Evas_Object *
>>> _create_emotion_object(Evas *e)
>>> {
>>>   Evas_Object *em = emotion_object_add(e);
>>>
>>>   emotion_object_init(em, "generic");
>>>
>>>   evas_object_smart_callback_add(
>>>       em, "playback_started", _playback_started_cb, NULL);
>>>
>>>   return em;
>>> }
>>>
>>> int
>>> main(int argc, const char *argv[])
>>> {
>>>   Ecore_Evas *ee;
>>>   Evas *e;
>>>   Evas_Object *bg, *em;
>>>
>>>   if (argc != 2)
>>>     {
>>>        printf("Usage: %s \n", argv[0]);
>>>        return -1;
>>>     }
>>>
>>>   eina_init();
>>>
>>>   if (!ecore_evas_init())
>>>     return EXIT_FAILURE;
>>>
>>>   ee = ecore_evas_new(NULL, 80, 80, 640, 480, NULL);
>>>   if (!ee)
>>>     goto error;
>>>
>>>   ecore_evas_show(ee);
>>>
>>>   e = ecore_evas_get(ee);
>>>
>>>   bg = evas_object_rectangle_add(e);
>>>   evas_object_name_set(bg, argv[1]);
>>>   evas_object_color_set(bg, 255, 255, 255, 255);
>>>   evas_object_move(bg, 0, 0);
>>>   evas_object_resize(bg, 640, 480);
>>>   evas_object_show(bg);
>>>
>>>   em = _create_emotion_object(e);
>>>   emotion_object_file_set(em, argv[1]);
>>>   evas_object_move(em, 0, 0);
>>>   evas_object_resize(em, 640, 480);
>>>   evas_object_show(em);
>>>
>>>   evas_object_focus_set(bg, EINA_TRUE);
>>>
>>>   emotion_object_play_set(em, EINA_TRUE);
>>>
>>>   ecore_main_loop_begin();
>>>
>>>   ecore_evas_free(ee);
>>>   ecore_evas_shutdown();
>>>   return 0;
>>>
>>> error:
>>>
>>>   ecore_evas_shutdown();
>>>   eina_shutdown();
>>>   return -1;
>>> }
>>>
>>>
>>> Regards,
>>>
>>> Flavio Ceolin
>>> ProFUSION embedded systems
>>> http://profusion.mobi
>>
>> Hi folks,
>>
>> I bring bad news, I've found other problems with emotion. They are:
>>
>> 1) position_set when the emotion is paused
>>   If you do a position_set with the emotion paused and then do
>> position_get it'll
>>   return the old position.
>>
>> 2) pause the video before the "open_done" or "length_change" is not working.
>
> What engine are you using ? Generic VLC or Gstreamer ?
>
> Regards,
> --
> Cedric BAIL
>
> --
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

I've tried with generic vlc.

Regards,

Flavio Ceolin
ProFUSION embedded systems
http://profusion.mobi

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Emotion problem

2012-05-03 Thread Flávio Ceolin
On Thu, May 3, 2012 at 11:49 AM, Flavio Ceolin
 wrote:
> Hi folks,
>
> I've got a problem when using emotion. The signal "playback_started" is
> never called. I also have checked the emotion examples and the same
> happens. The others signals like "playback_finished" and "open_done" are
> working as expected. Bellow is my example:
>
> #include 
> #include 
> #include 
> #include 
> #include 
>
> static void
> _playback_started_cb(void *data, Evas_Object *o, void *event_info)
> {
>    printf("Emotion object started playback.\n");
> }
>
> static Evas_Object *
> _create_emotion_object(Evas *e)
> {
>   Evas_Object *em = emotion_object_add(e);
>
>   emotion_object_init(em, "generic");
>
>   evas_object_smart_callback_add(
>       em, "playback_started", _playback_started_cb, NULL);
>
>   return em;
> }
>
> int
> main(int argc, const char *argv[])
> {
>   Ecore_Evas *ee;
>   Evas *e;
>   Evas_Object *bg, *em;
>
>   if (argc != 2)
>     {
>        printf("Usage: %s \n", argv[0]);
>        return -1;
>     }
>
>   eina_init();
>
>   if (!ecore_evas_init())
>     return EXIT_FAILURE;
>
>   ee = ecore_evas_new(NULL, 80, 80, 640, 480, NULL);
>   if (!ee)
>     goto error;
>
>   ecore_evas_show(ee);
>
>   e = ecore_evas_get(ee);
>
>   bg = evas_object_rectangle_add(e);
>   evas_object_name_set(bg, argv[1]);
>   evas_object_color_set(bg, 255, 255, 255, 255);
>   evas_object_move(bg, 0, 0);
>   evas_object_resize(bg, 640, 480);
>   evas_object_show(bg);
>
>   em = _create_emotion_object(e);
>   emotion_object_file_set(em, argv[1]);
>   evas_object_move(em, 0, 0);
>   evas_object_resize(em, 640, 480);
>   evas_object_show(em);
>
>   evas_object_focus_set(bg, EINA_TRUE);
>
>   emotion_object_play_set(em, EINA_TRUE);
>
>   ecore_main_loop_begin();
>
>   ecore_evas_free(ee);
>   ecore_evas_shutdown();
>   return 0;
>
> error:
>
>   ecore_evas_shutdown();
>   eina_shutdown();
>   return -1;
> }
>
>
> Regards,
>
> Flavio Ceolin
> ProFUSION embedded systems
> http://profusion.mobi

Hi folks,

I bring bad news, I've found other problems with emotion. They are:

1) position_set when the emotion is paused
   If you do a position_set with the emotion paused and then do
position_get it'll
   return the old position.

2) pause the video before the "open_done" or "length_change" is not working.


Regards,

Flavio Ceolin
ProFUSION embedded systems
http://profusion.mobi

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Problem with ecore_con_url

2011-06-29 Thread Flávio Ceolin
Well, the problem is that my libcurl was build with the flag
--enable-threaded-resolver
and during the resolve phase there's no fd to wait on.
As fair as I know, the libcurl package in, at least gentoo, fedora and
arch, is using this flag.

Regards, Ceolin.

2011/6/28 Flávio Ceolin :
> Hello efl developers,
>
> Trying to use ecore_con_url I wrote a simple test (file in attached)
> but ecore_con_url_get is failing.
> Digging into the code I figured out that the function curl_multi_fdset
> (in the ecore_con_url.c:1769) sets fd_max to -1 then ecore_con_url
> cannot set up a fd_handler.
> I also tested ecore_file_download_example.c and the same is happening.
>
> Someone knows what is the matter ? My curl version is 7.21.7 and my
> efl revision is 60739.
>
> Regards, Ceolin.
>

--
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Problem with ecore_con_url

2011-06-28 Thread Flávio Ceolin
Hello efl developers,

Trying to use ecore_con_url I wrote a simple test (file in attached)
but ecore_con_url_get is failing.
Digging into the code I figured out that the function curl_multi_fdset
(in the ecore_con_url.c:1769) sets fd_max to -1 then ecore_con_url
cannot set up a fd_handler.
I also tested ecore_file_download_example.c and the same is happening.

Someone knows what is the matter ? My curl version is 7.21.7 and my
efl revision is 60739.

Regards, Ceolin.
/*gcc -g -O0 ecore_con_url_test.c `pkg-config --cflags --libs eina ecore ecore-con`
  -o ecore_con_url_test   */

#include 
#include 
#include 
#include 

static Ecore_Con_Url *url_con = NULL;

static Eina_Bool url_data_cb(void *data, int type, void *event);
static Eina_Bool url_complete_cb(void *data, int type, void *event);

static Eina_Bool
url_con_create(const char *url)
{
   url_con = ecore_con_url_new(url);
   if (!url_con)
 return EINA_FALSE;

   if (!(ecore_event_handler_add(ECORE_CON_EVENT_URL_DATA,
 url_data_cb, NULL)) &&
   ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE,
   url_complete_cb, NULL))
 return EINA_FALSE;

   return EINA_TRUE;
}

static Eina_Bool
url_data_cb(void *data, int type, void *event)
{
   return EINA_TRUE;
}

static Eina_Bool
url_complete_cb(void *data, int type, void *event)
{
   return EINA_TRUE;
}

int main(int argc, char *argv[])
{
   int ret;

   if (argc != 2)
 {
EINA_LOG_ERR("Use ./ecore_con_url_test http://www.google.com";);
return 1;
 }

   if (!eina_init())
 {
EINA_LOG_ERR("could not initialize eina");
goto error;
 }

   if (!ecore_init())
 {
EINA_LOG_ERR("could not initalize ecore");
goto error;
 }

   ret = ecore_con_url_init();
   if (ret != 1)
 {
EINA_LOG_ERR("could not initialize ecore_con_url");
goto error;
 }

   if (!url_con_create(argv[1]))
 {
EINA_LOG_ERR("could not create Ecore_Con_Url");
goto error;
 }

   if (!ecore_con_url_get(url_con))
 {
EINA_LOG_ERR("could not execute ecore_con_url_get");
goto error;
 }

   return ecore_con_url_shutdown();

 error:
   ecore_con_url_free(url_con);
   return 2;
}

--
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Swipe event for the elm_list

2010-10-12 Thread Flávio Ceolin
>> Would be great in elm_genlist too.
>
> That's the idea, so we can have swipe to show extra actions... like
> use the state concept from genlist to show extra actions one may use
> (in your case: forward, retweet, view profile, ...;  in my case I want
> to show action to add music to playlist, or in browser we can delete
> history/bookmark items).
>

I'm sending two patches for the elm_genlist (they are very similar to
the patch for the elm_list).

Like the first mail, one patch is just to add a simple test in the
elementary_test the other one contains the functionality itself.
Best regards,

Flavio Ceolin
Developer @ ProFUSION Embedded Systems
From 70e8d2c7c87ae4b40b42fb02d870745804ff3733 Mon Sep 17 00:00:00 2001
From: ceolin 
Date: Tue, 12 Oct 2010 14:04:41 -0300
Subject: [PATCH 1/2] swipe event for the elm_genlist

---
 src/lib/elm_genlist.c |   63 -
 1 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 3ce4f82..73d66de 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -2,10 +2,12 @@
 #include 
 #include "elm_priv.h"
 
+#define SWIPE_MOVES 12
+
 /**
  * @defgroup Genlist Genlist
  *
- * The aim was to have  more expansive list that the simple list in
+ * The Aim was to have  more expansive list that the simple list in
  * Elementary that could have more flexible items and allow many more entries
  * while still being fast and low on memory usage. At the same time it was
  * also made to be able to do tree structures. But the price to pay is more
@@ -266,6 +268,11 @@ struct _Widget_Data
Eina_Bool height_for_width : 1;
Eina_Bool homogeneous : 1;
Eina_Bool clear_me : 1;
+   Eina_Bool swipe : 1;
+   struct {
+ Evas_Coord x, y;
+   } history[SWIPE_MOVES];
+   int movements;
int walking;
int item_width;
int item_height;
@@ -308,6 +315,7 @@ struct _Elm_Genlist_Item
Evas_Object *spacer;
Eina_List *labels, *icons, *states, *icon_objs;
Ecore_Timer *long_timer;
+   Ecore_Timer *swipe_timer;
Evas_Coord dx, dy;
 
Elm_Genlist_Item *rel;
@@ -753,6 +761,7 @@ _item_del(Elm_Genlist_Item *it)
if (it->parent)
  it->parent->items = eina_list_remove(it->parent->items, it);
if (it->long_timer) ecore_timer_del(it->long_timer);
+   if (it->swipe_timer) ecore_timer_del(it->swipe_timer);
 
if (it->tooltip.del_cb)
  it->tooltip.del_cb((void *)it->tooltip.data, it->base.widget, it);
@@ -832,6 +841,16 @@ _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_inf
  }
if ((it->dragging) && (it->down))
  {
+if (it->wd->movements == SWIPE_MOVES) it->wd->swipe = EINA_TRUE;
+else
+  {
+ it->wd->history[it->wd->movements].x = ev->cur.output.x;
+ it->wd->history[it->wd->movements].y = ev->cur.output.y;
+ if (abs((it->wd->history[it->wd->movements].x - it->wd->history[0].x)) > 40)
+   it->wd->swipe = EINA_TRUE;
+ else
+   it->wd->movements++;
+  }
 if (it->long_timer)
   {
  ecore_timer_del(it->long_timer);
@@ -917,6 +936,37 @@ _long_press(void *data)
 }
 
 static void
+_swipe(Elm_Genlist_Item *it)
+{
+   int i, sum = 0;
+
+   if (!it) return;
+   if (!it->wd->swipe) return;
+   it->wd->swipe = EINA_FALSE;
+   for (i = 0; i < it->wd->movements; i++)
+ {
+sum += it->wd->history[i].x;
+if (abs(it->wd->history[0].y - it->wd->history[i].y) > 10) return;
+ }
+
+   sum /= it->wd->movements;
+   if (abs(sum - it->wd->history[0].x) <= 10) return;
+   evas_object_smart_callback_call(it->base.widget, "swipe", it);
+}
+
+static Eina_Bool
+_swipe_cancel(void *data)
+{
+   Elm_Genlist_Item *it = data;
+
+   if (!it) return ECORE_CALLBACK_CANCEL;
+   it->wd->swipe = EINA_FALSE;
+   memset(it->wd->history, 0, sizeof(it->wd->history[0]) * SWIPE_MOVES);
+   it->wd->movements = 0;
+   return ECORE_CALLBACK_RENEW;
+}
+
+static void
 _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 {
Elm_Genlist_Item *it = data;
@@ -938,10 +988,15 @@ _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_inf
if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
  evas_object_smart_callback_call(it->base.widget, "clicked", it);
if (it->long_timer) ecore_timer_del(it->long_timer);
+   if (it->swipe_timer) ecore_timer_del(it->swipe_timer);
+   it->swipe_timer = ecore_timer_add(0.4, _swipe_cancel, it);
if (it->realized)
  it->long_timer = ecore_timer_add(it->wd->longpress_timeout, _long_press, it);
else
  it->long_timer = NULL;
+   memset(it->wd->history, 0, sizeof(it->wd->history[0]) * SWIPE_MOVES);
+   it->wd->swipe = EINA_FALSE;
+   it->wd->movements = 0;
 }
 
 static void
@@ -966,8 +1021,14 @@ _mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *
 evas_object_smart_callback_call(it->base.

Re: [E-devel] Swipe event for the elm_list

2010-10-06 Thread Flávio Ceolin
New patch with the modifications suggested by Gustavo Barbieri.

On Wed, Oct 6, 2010 at 5:05 PM, Gustavo Sverzut Barbieri
 wrote:
> 2010/10/6 Tiago Falcão :
>> I prefer two signals: "swipe,left" and "swipe,right". You can want register
>> both with the same callback.
>
> Ceolin asked me and I said "go with one, if required we do others
> later". Most software I've tested just listen for generic swipe action
> and the direction does not matter at all (if you think of left and
> right handed people this makes more sense).
>

Furthermore it is very easy to add these signals if necessary in the future.

>
>> I doesn't like listen and store 15 or N mouse_move events, i prefer listen
>> mouse_move only to validate the horizontal path and don't store all the
>> history.
>
> that's how we do for scroller kinetic detection. Keeping history we
> can avoid outliers (would need bit of algorithm changes).
>
>
>> We can calculate the swipe only in mouse_down and mouse_up, check the
>> horizontal distance and the time to know when emit or not the signal.
>>
>> So, we don't need one ecore.timer or the x/y array.
>>
>> But works fine, after anyone do some optimizations.
>
> yeah, the point is to have something usable and define an API. Maybe
> rasterman have some comments, but in my opinion it's ready to go in
> (after some changes I've already requested Ceolin and he should send
> soon).
>
> BR,
> --
> Gustavo Sverzut Barbieri
> http://profusion.mobi embedded systems
> --
> MSN: barbi...@gmail.com
> Skype: gsbarbieri
> Mobile: +55 (19) 9225-2202
>
From 29bd136c8e03c333fd15a74eba25fd2d9b15d009 Mon Sep 17 00:00:00 2001
From: ceolin 
Date: Wed, 6 Oct 2010 10:24:21 -0300
Subject: [PATCH 1/2] swipe event

---
 src/lib/elm_list.c |   65 
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 4ee7728..17a2525 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -1,6 +1,8 @@
 #include 
 #include "elm_priv.h"
 
+#define SWIPE_MOVES 12
+
 /**
  * @defgroup List List
  *
@@ -20,6 +22,11 @@ struct _Widget_Data
Eina_Bool scr_minw : 1;
Eina_Bool scr_minh : 1;
int walking;
+   int movements;
+   struct {
+ Evas_Coord x, y;
+   } history[SWIPE_MOVES];
+   Eina_Bool swipe : 1;
Eina_Bool fix_pending : 1;
Eina_Bool on_hold : 1;
Eina_Bool multi : 1;
@@ -37,6 +44,7 @@ struct _Elm_List_Item
Evas_Object *icon, *end;
Evas_Smart_Cb func;
Ecore_Timer *long_timer;
+   Ecore_Timer *swipe_timer;
Eina_Bool deleted : 1;
Eina_Bool even : 1;
Eina_Bool is_even : 1;
@@ -102,6 +110,7 @@ _elm_list_item_free(Elm_List_Item *it)
 
eina_stringshare_del(it->label);
 
+   if (it->swipe_timer) ecore_timer_del(it->swipe_timer);
if (it->long_timer) ecore_timer_del(it->long_timer);
if (it->icon) evas_object_del(it->icon);
if (it->end) evas_object_del(it->end);
@@ -593,6 +602,20 @@ _item_unselect(Elm_List_Item *it)
_elm_list_unwalk(wd);
 }
 
+static Eina_Bool
+_swipe_cancel(void *data)
+{
+   Elm_List_Item *it = data;
+   Widget_Data *wd = elm_widget_data_get(it->base.widget);
+
+   if (!wd) return ECORE_CALLBACK_CANCEL;
+   ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, ECORE_CALLBACK_CANCEL);
+   wd->swipe = EINA_FALSE;
+   memset(wd->history, 0, sizeof(wd->history[0]) * SWIPE_MOVES);
+   wd->movements = 0;
+   return ECORE_CALLBACK_RENEW;
+}
+
 static void
 _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
 {
@@ -615,6 +638,16 @@ _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void
  if (!wd->wasselected)
_item_unselect(it);
 	  }
+if (wd->movements == SWIPE_MOVES) wd->swipe = EINA_TRUE;
+else
+  {
+wd->history[wd->movements].x = ev->cur.output.x;
+wd->history[wd->movements].y = ev->cur.output.y;
+if (abs((wd->history[wd->movements].x - wd->history[0].x)) > 40)
+  wd->swipe = EINA_TRUE;
+else
+  wd->movements++;
+  }
  }
 }
 
@@ -633,6 +666,27 @@ _long_press(void *data)
 }
 
 static void
+_swipe(Elm_List_Item *it)
+{
+   int i, sum = 0;
+   Widget_Data *wd = elm_widget_data_get(it->base.widget);
+
+   ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
+   if (!wd) return;
+   if (!wd->swipe) return;
+   wd->swipe = EINA_FALSE;
+   for (i = 0; i < wd->movements; i++)
+ {
+sum += wd->history[i].x;
+if (abs(wd->history[0].y - wd->history[i].y) > 10) return;
+ }
+
+   sum /= wd->movements;
+   if (abs(sum - wd->history[0].x) <= 10) return;
+   evas_object_smart_callback_call(it->base.widget, "swipe", it);
+}
+
+static void
 _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
 {
Elm_List_Item *it = data;
@@ -649,9 +703,14 @@ _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__

[E-devel] Swipe event for the elm_list

2010-10-06 Thread Flávio Ceolin
Hello,

I have done a patch to add a new event for the elm_list similar to the
iphone swipe's effect.
The event is quite simple, it's triggered when a horizontal drag plus
mouse release occur.

There are two patches, the first is the feature itself and the second
is just two examples for elementary_test.


Best regards,

Flavio Ceolin
Developer @ ProFUSION Embedded Systems
From 8da67eb19c4ff76eca22931a8c65d496a6592e41 Mon Sep 17 00:00:00 2001
From: ceolin 
Date: Wed, 6 Oct 2010 10:24:21 -0300
Subject: [PATCH 1/2] swipe event

---
 src/lib/elm_list.c |   76 
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 4ee7728..53ff3d5 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -1,6 +1,8 @@
 #include 
 #include "elm_priv.h"
 
+#define SWIPE_MOVES 12
+
 /**
  * @defgroup List List
  *
@@ -20,6 +22,11 @@ struct _Widget_Data
Eina_Bool scr_minw : 1;
Eina_Bool scr_minh : 1;
int walking;
+   int movements;
+   struct {
+ Evas_Coord x, y;
+   } history[SWIPE_MOVES];
+   Eina_Bool swipe : 1;
Eina_Bool fix_pending : 1;
Eina_Bool on_hold : 1;
Eina_Bool multi : 1;
@@ -37,6 +44,7 @@ struct _Elm_List_Item
Evas_Object *icon, *end;
Evas_Smart_Cb func;
Ecore_Timer *long_timer;
+   Ecore_Timer *swipe_timer;
Eina_Bool deleted : 1;
Eina_Bool even : 1;
Eina_Bool is_even : 1;
@@ -102,6 +110,7 @@ _elm_list_item_free(Elm_List_Item *it)
 
eina_stringshare_del(it->label);
 
+   if (it->swipe_timer) ecore_timer_del(it->swipe_timer);
if (it->long_timer) ecore_timer_del(it->long_timer);
if (it->icon) evas_object_del(it->icon);
if (it->end) evas_object_del(it->end);
@@ -593,6 +602,20 @@ _item_unselect(Elm_List_Item *it)
_elm_list_unwalk(wd);
 }
 
+static Eina_Bool
+_swipe_cancel(void *data)
+{
+   Elm_List_Item *it = data;
+   Widget_Data *wd = elm_widget_data_get(it->base.widget);
+
+   if (!wd) return;
+   ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, 0);
+   wd->swipe = EINA_FALSE;
+   memset(wd->history, 0, sizeof(wd->history[0]) * SWIPE_MOVES);
+   wd->movements = 0;
+   return ECORE_CALLBACK_RENEW;
+}
+
 static void
 _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
 {
@@ -615,6 +638,16 @@ _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void
  if (!wd->wasselected)
_item_unselect(it);
 	  }
+if (wd->movements == SWIPE_MOVES) wd->swipe = EINA_TRUE;
+else
+  {
+wd->history[wd->movements].x = ev->cur.output.x;
+wd->history[wd->movements].y = ev->cur.output.y;
+if (abs((wd->history[wd->movements].x - wd->history[0].x)) > 40)
+  wd->swipe = EINA_TRUE;
+else
+  wd->movements++;
+  }
  }
 }
 
@@ -632,6 +665,38 @@ _long_press(void *data)
return ECORE_CALLBACK_CANCEL;
 }
 
+static Eina_Bool
+_swipe(void *data)
+{
+   int i;
+   Evas_Coord y0;
+   Eina_Bool to_right = EINA_TRUE;
+   Elm_List_Item *it = data;
+   Widget_Data *wd = elm_widget_data_get(it->base.widget);
+
+   if (!wd) return ECORE_CALLBACK_CANCEL;
+   ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, 0);
+   if (!wd->swipe) return ECORE_CALLBACK_CANCEL;
+   wd->swipe = EINA_FALSE;
+   y0 = wd->history[0].y;
+   if ((wd->history[1].x - wd->history[0].x) < -1) to_right = EINA_FALSE;
+   for (i = 1; i < wd->movements; i++)
+ {
+if (to_right)
+  {
+ if ((wd->history[i].x - wd->history[i - 1].x) < 1) return EINA_FALSE;
+  }
+else
+  {
+ if ((wd->history[i].x - wd->history[i - 1].x) > -1) return EINA_FALSE;
+  }
+
+if (abs(y0 - wd->history[i].y) > 10) return EINA_FALSE;
+ }
+   evas_object_smart_callback_call(it->base.widget, "swipe", it);
+   return ECORE_CALLBACK_CANCEL;
+}
+
 static void
 _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
 {
@@ -649,9 +714,14 @@ _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void
wd->longpressed = EINA_FALSE;
if (it->long_timer) ecore_timer_del(it->long_timer);
it->long_timer = ecore_timer_add(1.0, _long_press, it);
+   if (it->swipe_timer) ecore_timer_del(it->swipe_timer);
+   it->swipe_timer = ecore_timer_add(0.4, _swipe_cancel, it);
/* Always call the callbacks last - the user may delete our context! */
if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
  evas_object_smart_callback_call(it->base.widget, "clicked", it);
+   memset(wd->history, 0, sizeof(wd->history[0]) * SWIPE_MOVES);
+   wd->swipe = EINA_FALSE;
+   wd->movements = 0;
 }
 
 static void
@@ -672,8 +742,14 @@ _mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *
 ecore_timer_del(it->long_timer);
 it->long_timer = NULL;
  }
+   if (it->swipe_timer)
+ {
+ecore_timer_del(it->s