Re: [E-devel] Image editing for e

2014-02-28 Thread Hendrik Siedelmann
On 02/28/2014 01:04 PM, Carsten Haitzler (The Rasterman) wrote:
> On Fri, 28 Feb 2014 00:31:41 +0100 Hendrik Siedelmann
>  said:
>
>> On 02/27/2014 11:31 PM, Carsten Haitzler (The Rasterman) wrote:
>>> On Thu, 27 Feb 2014 22:00:14 +0100 Hendrik Siedelmann
>>>  said:
>>>
>>>> On 02/27/2014 09:46 PM, Carsten Haitzler (The Rasterman) wrote:
>>>>> On Thu, 27 Feb 2014 19:22:18 +0100 Hendrik Siedelmann
>>>>>  said:
>>>>>
>>>>>> On 02/27/2014 03:00 PM, Carsten Haitzler (The Rasterman) wrote:
>>>>>>> On Thu, 27 Feb 2014 07:06:37 +0100 Hendrik Siedelmann
>>>>>>>  said:
>>>>>>>
>>>>>>>> Thanks! I'll have a look into the macros. But still this should
>>>>>>>> actually work ... or put an other way on which platform did you try
>>>>>>>> it, because big-endian is broken atm. and should not give you a
>>>>>>>> running program at all ;-). And little endian should work!
>>>>>>>
>>>>>>> x86 64bit. so it's broken on little endian x86... 64bit though. :)
>>>>>> That's strange ... I'm on x86 64bit :-P
>>>>>> Could you try current git? And if the colors are still off could you
>>>>>> send me one of the images? Just maybe its some jpeg option that is
>>>>>> throwing the decoder off balance. I'm doing some fairly low level hacks,
>>>>>> reordering the jpeg codestream and feeding a fake jpeg file to the
>>>>>> decoder ... maybe something does not work for some jpeg options.
>>>>>
>>>>> current git still the same as when i saw this. :) looking at the image ti
>>>>> fix the colors you need to do:
>>>>>
>>>>> red SHOULD BE green
>>>>> green SHOULD BE blue
>>>>> blue SHOULD BE red
>>>>
>>>> Problem is: Colors are correct for me, so if I change them they are
>>>> wrong for me ...
>>>> If you want to have correct colors you can change line 46 in
>>>> src/lib/filter_interleave.c which currently looks like this:
>>>>
>>>> *buf_int = (255 << 24) | (*(r++) << 16) | (*(g++) << 8) | (*(b++));
>>>>
>>>> But the real problem lies somewhere else :-(
>>>> Would you mind trying this picture:
>>>> https://technik-stinkt.de/~hendrik/large.tif
>>>> (it's a bit large ...)
>>>>
>>>> Thanks!
>>>
>>> same wrong colors. i suspect its a library you are depending on thats
>>> getting it wrong here. ie its being fed data in the wrong order then it
>>> just spews it back wrong then OR... the lib internaly swizzles order for
>>> some reasons or its docs on the correct order expected changed or it broke
>>> abi/api and changed ordering...
>> Ha! I'm pretty sure I found the problem, check git!
>> You got a faster path that I actually never tested because my version of
>> libav is too old :-(
>> Should work now.
>>
>> Btw what do you think about the app?
>
> i was mostly distracted by the colors! :) it does have a fair few crashes...
> here's one:
:-D

> limeview: /home/raster/Downloads/lime/src/lib/filter_denoise.c:141:
> insert_match: Assertion `*count < 20' failed.

Reproducable? Any specific settings or images that led to the crash?
If you have more crashes let me know!

> the toolbar doesnt have filter selected by default - thought it should be as
> thats the controls on the left... :) i found the slider bizarre... in that it
> switvched images in a list i never gave it (i ran limeview file.jpg - not a
> list - it picked the list from the dir though). :) unexpected things.

Toolbar is now fixed.
The slider is there because I developed the app to sort trough a lot of 
images, I'm rewriting the directory handling at the moment so it will go 
to the image that was passed at startup first. The slider is necessary 
if you open a huge directory tree. With 8 images it's not practical 
to just move one image at a time :-).
The app shines mainly if you have either slow hardware (eg slow arm like 
Raspberry Pi) or big files (dozens or hundreds of Megapixels) or
sort trough a lot of files.

> i understand that the filtering was the core, not the ui, but the ui could be
> better i think. for example i'd look into doing the ui with the image always
> completely filling the window - not paneled out like this, with filters 
> applied
> with an overlay on top. add a fi

Re: [E-devel] Image editing for e

2014-02-27 Thread Hendrik Siedelmann
On 02/27/2014 11:31 PM, Carsten Haitzler (The Rasterman) wrote:
> On Thu, 27 Feb 2014 22:00:14 +0100 Hendrik Siedelmann
>  said:
>
>> On 02/27/2014 09:46 PM, Carsten Haitzler (The Rasterman) wrote:
>>> On Thu, 27 Feb 2014 19:22:18 +0100 Hendrik Siedelmann
>>>  said:
>>>
>>>> On 02/27/2014 03:00 PM, Carsten Haitzler (The Rasterman) wrote:
>>>>> On Thu, 27 Feb 2014 07:06:37 +0100 Hendrik Siedelmann
>>>>>  said:
>>>>>
>>>>>> Thanks! I'll have a look into the macros. But still this should actually
>>>>>> work ... or put an other way on which platform did you try it, because
>>>>>> big-endian is broken atm. and should not give you a running program at
>>>>>> all ;-). And little endian should work!
>>>>>
>>>>> x86 64bit. so it's broken on little endian x86... 64bit though. :)
>>>> That's strange ... I'm on x86 64bit :-P
>>>> Could you try current git? And if the colors are still off could you
>>>> send me one of the images? Just maybe its some jpeg option that is
>>>> throwing the decoder off balance. I'm doing some fairly low level hacks,
>>>> reordering the jpeg codestream and feeding a fake jpeg file to the
>>>> decoder ... maybe something does not work for some jpeg options.
>>>
>>> current git still the same as when i saw this. :) looking at the image ti
>>> fix the colors you need to do:
>>>
>>> red SHOULD BE green
>>> green SHOULD BE blue
>>> blue SHOULD BE red
>>
>> Problem is: Colors are correct for me, so if I change them they are
>> wrong for me ...
>> If you want to have correct colors you can change line 46 in
>> src/lib/filter_interleave.c which currently looks like this:
>>
>> *buf_int = (255 << 24) | (*(r++) << 16) | (*(g++) << 8) | (*(b++));
>>
>> But the real problem lies somewhere else :-(
>> Would you mind trying this picture:
>> https://technik-stinkt.de/~hendrik/large.tif
>> (it's a bit large ...)
>>
>> Thanks!
>
> same wrong colors. i suspect its a library you are depending on thats getting
> it wrong here. ie its being fed data in the wrong order then it just spews it
> back wrong then OR... the lib internaly swizzles order for some reasons or its
> docs on the correct order expected changed or it broke abi/api and changed
> ordering...
Ha! I'm pretty sure I found the problem, check git!
You got a faster path that I actually never tested because my version of 
libav is too old :-(
Should work now.

Btw what do you think about the app?

>>>>>> On 02/26/2014 08:18 PM, Carsten Haitzler (The Rasterman) wrote:
>>>>>>> On Mon, 24 Feb 2014 08:51:24 +0100 Hendrik Siedelmann
>>>>>>>  said:
>>>>>>>
>>>>>>> oh. cool bananas! thought i think you have some bugs... :
>>>>>>>
>>>>>>> http://www.enlightenment.org/ss/e-530e3cdc1434c8.05020334.png
>>>>>>>
>>>>>>> :) your argb byte ordering is... broken when messing with the image
>>>>>>> pixels. :(
>>>>>>>
>>>>>>> rememebr that with evas (and efl) pixels are INTS not bytes. int. an int
>>>>>>> is 32bit. the MSB (high byte withn the int) is A, then R then G then B
>>>>>>> ie for 32bits the bits rom highest to lowest are:
>>>>>>>
>>>>>>> 
>>>>>>>
>>>>>>> or
>>>>>>>
>>>>>>> int pixel;
>>>>>>>
>>>>>>> a = (pixel >> 24);
>>>>>>> r = (pixel >> 16) & 0xff;
>>>>>>> g = (pixel >> 8) & 0xff;
>>>>>>> b = pixel & 0xff;
>>>>>>>
>>>>>>> and reverse:
>>>>>>>
>>>>>>> pixel = (a << 24) | (r << 16) | (g << 8) | b;
>>>>>>> :)
>>>>>>>
>>>>>>> yes... you can access byte by byte too - but you need to account for
>>>>>>> endianess then as it changes between x86 and ppc, mips, some arm
>>>>>>> implementations etc. etc. :) there ae macros in evas src like A_VAL(),
>>>>>>> R_VAL () G_VAL() that do this internally as needed if you look. :) then
>>>>>>> macr

Re: [E-devel] Image editing for e

2014-02-27 Thread Hendrik Siedelmann
On 02/27/2014 09:46 PM, Carsten Haitzler (The Rasterman) wrote:
> On Thu, 27 Feb 2014 19:22:18 +0100 Hendrik Siedelmann
>  said:
>
>> On 02/27/2014 03:00 PM, Carsten Haitzler (The Rasterman) wrote:
>>> On Thu, 27 Feb 2014 07:06:37 +0100 Hendrik Siedelmann
>>>  said:
>>>
>>>> Thanks! I'll have a look into the macros. But still this should actually
>>>> work ... or put an other way on which platform did you try it, because
>>>> big-endian is broken atm. and should not give you a running program at
>>>> all ;-). And little endian should work!
>>>
>>> x86 64bit. so it's broken on little endian x86... 64bit though. :)
>> That's strange ... I'm on x86 64bit :-P
>> Could you try current git? And if the colors are still off could you
>> send me one of the images? Just maybe its some jpeg option that is
>> throwing the decoder off balance. I'm doing some fairly low level hacks,
>> reordering the jpeg codestream and feeding a fake jpeg file to the
>> decoder ... maybe something does not work for some jpeg options.
>
> current git still the same as when i saw this. :) looking at the image ti fix
> the colors you need to do:
>
> red SHOULD BE green
> green SHOULD BE blue
> blue SHOULD BE red

Problem is: Colors are correct for me, so if I change them they are 
wrong for me ...
If you want to have correct colors you can change line 46 in 
src/lib/filter_interleave.c which currently looks like this:

*buf_int = (255 << 24) | (*(r++) << 16) | (*(g++) << 8) | (*(b++));

But the real problem lies somewhere else :-(
Would you mind trying this picture:
https://technik-stinkt.de/~hendrik/large.tif
(it's a bit large ...)

Thanks!

>>>> On 02/26/2014 08:18 PM, Carsten Haitzler (The Rasterman) wrote:
>>>>> On Mon, 24 Feb 2014 08:51:24 +0100 Hendrik Siedelmann
>>>>>  said:
>>>>>
>>>>> oh. cool bananas! thought i think you have some bugs... :
>>>>>
>>>>> http://www.enlightenment.org/ss/e-530e3cdc1434c8.05020334.png
>>>>>
>>>>> :) your argb byte ordering is... broken when messing with the image
>>>>> pixels. :(
>>>>>
>>>>> rememebr that with evas (and efl) pixels are INTS not bytes. int. an int
>>>>> is 32bit. the MSB (high byte withn the int) is A, then R then G then B ie
>>>>> for 32bits the bits rom highest to lowest are:
>>>>>
>>>>> 
>>>>>
>>>>> or
>>>>>
>>>>> int pixel;
>>>>>
>>>>> a = (pixel >> 24);
>>>>> r = (pixel >> 16) & 0xff;
>>>>> g = (pixel >> 8) & 0xff;
>>>>> b = pixel & 0xff;
>>>>>
>>>>> and reverse:
>>>>>
>>>>> pixel = (a << 24) | (r << 16) | (g << 8) | b;
>>>>> :)
>>>>>
>>>>> yes... you can access byte by byte too - but you need to account for
>>>>> endianess then as it changes between x86 and ppc, mips, some arm
>>>>> implementations etc. etc. :) there ae macros in evas src like A_VAL(),
>>>>> R_VAL () G_VAL() that do this internally as needed if you look. :) then
>>>>> macros for merging together again.
>>>>>
>>>>>> Hello everybody!
>>>>>>
>>>>>> I present you a image editing tool/library for e! It is still very
>>>>>> experimental, but I have used it to sort trough my images on a long trip
>>>>>> so maybe it can be useful for more someone. It allows simple image
>>>>>> editing tasks (like sharpen, denoise, rotate,... ), works completely
>>>>>> non-destructive and saves tags and the filter chain in xmp sidecar files.
>>>>>>
>>>>>> Code is here:
>>>>>> https://github.com/Gridrix/lime.git
>>>>>>
>>>>>> The program is based on scale-invariant image editing which I descibe in
>>>>>> this paper:
>>>>>> http://elib.uni-stuttgart.de/opus/volltexte/2013/8717/pdf/STUD_2369.pdf
>>>>>>
>>>>>> Have fun!
>>>>>> Hendrik
>>>>>>
>>>>>> --
>>>>>> Flow-based real-time traffic analytics software. Cisco certified tool.
>>>>>> Monitor traffic, SLAs, QoS, Me

Re: [E-devel] Image editing for e

2014-02-26 Thread Hendrik Siedelmann
Thanks! I'll have a look into the macros. But still this should actually 
work ... or put an other way on which platform did you try it, because 
big-endian is broken atm. and should not give you a running program at 
all ;-). And little endian should work!


On 02/26/2014 08:18 PM, Carsten Haitzler (The Rasterman) wrote:
> On Mon, 24 Feb 2014 08:51:24 +0100 Hendrik Siedelmann
>  said:
>
> oh. cool bananas! thought i think you have some bugs... :
>
> http://www.enlightenment.org/ss/e-530e3cdc1434c8.05020334.png
>
> :) your argb byte ordering is... broken when messing with the image pixels. :(
>
> rememebr that with evas (and efl) pixels are INTS not bytes. int. an int is
> 32bit. the MSB (high byte withn the int) is A, then R then G then B ie for
> 32bits the bits rom highest to lowest are:
>
> 
>
> or
>
> int pixel;
>
> a = (pixel >> 24);
> r = (pixel >> 16) & 0xff;
> g = (pixel >> 8) & 0xff;
> b = pixel & 0xff;
>
> and reverse:
>
> pixel = (a << 24) | (r << 16) | (g << 8) | b;
> :)
>
> yes... you can access byte by byte too - but you need to account for endianess
> then as it changes between x86 and ppc, mips, some arm implementations etc.
> etc. :) there ae macros in evas src like A_VAL(), R_VAL() G_VAL() that do this
> internally as needed if you look. :) then macros for merging together again.
>
>> Hello everybody!
>>
>> I present you a image editing tool/library for e! It is still very
>> experimental, but I have used it to sort trough my images on a long trip
>> so maybe it can be useful for more someone. It allows simple image
>> editing tasks (like sharpen, denoise, rotate,... ), works completely
>> non-destructive and saves tags and the filter chain in xmp sidecar files.
>>
>> Code is here:
>> https://github.com/Gridrix/lime.git
>>
>> The program is based on scale-invariant image editing which I descibe in
>> this paper:
>> http://elib.uni-stuttgart.de/opus/volltexte/2013/8717/pdf/STUD_2369.pdf
>>
>> Have fun!
>> Hendrik
>>
>> --
>> Flow-based real-time traffic analytics software. Cisco certified tool.
>> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
>> Customize your own dashboards, set traffic alerts and generate reports.
>> Network behavioral analysis & security monitoring. All-in-one tool.
>> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Image editing for e

2014-02-26 Thread Hendrik Siedelmann
If there is interest I would like to eventually implemenet this as an 
evas_object and then make a widget for elm out of it. But theres still a 
lot to change under the hood before that.

On 02/25/2014 12:39 AM, Fan Cris wrote:
> i hope to see a this in ephoto :)
>
>
> On Mon, Feb 24, 2014 at 8:16 PM, Hendrik Siedelmann <
> hendrik.siedelm...@googlemail.com> wrote:
>
>> Currently I'm using 1.8.9 but older versions used to work just fine,
>> just not tested.
>>
>> On 02/24/2014 07:04 PM, Jeff Hoogland wrote:
>>> Neat! What version of EFL is needed/has this been tested against?
>>>
>>>
>>> On Mon, Feb 24, 2014 at 1:51 AM, Hendrik Siedelmann <
>>> hendrik.siedelm...@googlemail.com> wrote:
>>>
>>>> Hello everybody!
>>>>
>>>> I present you a image editing tool/library for e! It is still very
>>>> experimental, but I have used it to sort trough my images on a long trip
>>>> so maybe it can be useful for more someone. It allows simple image
>>>> editing tasks (like sharpen, denoise, rotate,... ), works completely
>>>> non-destructive and saves tags and the filter chain in xmp sidecar
>> files.
>>>>
>>>> Code is here:
>>>> https://github.com/Gridrix/lime.git
>>>>
>>>> The program is based on scale-invariant image editing which I descibe in
>>>> this paper:
>>>> http://elib.uni-stuttgart.de/opus/volltexte/2013/8717/pdf/STUD_2369.pdf
>>>>
>>>> Have fun!
>>>> Hendrik
>>>>
>>>>
>>>>
>> --
>>>> Flow-based real-time traffic analytics software. Cisco certified tool.
>>>> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
>>>> Customize your own dashboards, set traffic alerts and generate reports.
>>>> Network behavioral analysis & security monitoring. All-in-one tool.
>>>>
>>>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
>>>> ___
>>>> enlightenment-devel mailing list
>>>> enlightenment-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>>
>>>
>>>
>>>
>>
>>
>>
>> --
>> Flow-based real-time traffic analytics software. Cisco certified tool.
>> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
>> Customize your own dashboards, set traffic alerts and generate reports.
>> Network behavioral analysis & security monitoring. All-in-one tool.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
> --
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Image editing for e

2014-02-24 Thread Hendrik Siedelmann
Currently I'm using 1.8.9 but older versions used to work just fine, 
just not tested.

On 02/24/2014 07:04 PM, Jeff Hoogland wrote:
> Neat! What version of EFL is needed/has this been tested against?
>
>
> On Mon, Feb 24, 2014 at 1:51 AM, Hendrik Siedelmann <
> hendrik.siedelm...@googlemail.com> wrote:
>
>> Hello everybody!
>>
>> I present you a image editing tool/library for e! It is still very
>> experimental, but I have used it to sort trough my images on a long trip
>> so maybe it can be useful for more someone. It allows simple image
>> editing tasks (like sharpen, denoise, rotate,... ), works completely
>> non-destructive and saves tags and the filter chain in xmp sidecar files.
>>
>> Code is here:
>> https://github.com/Gridrix/lime.git
>>
>> The program is based on scale-invariant image editing which I descibe in
>> this paper:
>> http://elib.uni-stuttgart.de/opus/volltexte/2013/8717/pdf/STUD_2369.pdf
>>
>> Have fun!
>> Hendrik
>>
>>
>> --
>> Flow-based real-time traffic analytics software. Cisco certified tool.
>> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
>> Customize your own dashboards, set traffic alerts and generate reports.
>> Network behavioral analysis & security monitoring. All-in-one tool.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
>


--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Image editing for e

2014-02-23 Thread Hendrik Siedelmann
Hello everybody!

I present you a image editing tool/library for e! It is still very 
experimental, but I have used it to sort trough my images on a long trip 
so maybe it can be useful for more someone. It allows simple image 
editing tasks (like sharpen, denoise, rotate,... ), works completely 
non-destructive and saves tags and the filter chain in xmp sidecar files.

Code is here:
https://github.com/Gridrix/lime.git

The program is based on scale-invariant image editing which I descibe in 
this paper:
http://elib.uni-stuttgart.de/opus/volltexte/2013/8717/pdf/STUD_2369.pdf

Have fun!
Hendrik

--
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Bug in Eio

2012-01-22 Thread Hendrik Siedelmann
Hello,

I tried out eio and there seems to be a bug / race with the eio...ls
functions. Running the following code on some large tree (for example
e source) will after 100-1000 directories result in this:

ERR<8329>:ecore ecore.c:459 _ecore_magic_fail()
*** ECORE ERROR: Ecore Magic Check Failed!!!
*** IN FUNCTION: ecore_pipe_write()
ERR<8329>:ecore ecore.c:461 _ecore_magic_fail()   Input handle pointer is NULL!
ERR<8329>:ecore ecore.c:472 _ecore_magic_fail() *** NAUGHTY PROGRAMMER!!!

It does not always happen after the same number of directories, nor
does it happen on small trees.
Exactly the same happens with eio_file_ls or eio_file_direct_ls.
Attached is the code that triggers the problem for me.

Thanks
hendrik
#include 
#include 
#include 
#include 
#include 

Eina_Array *dirs;
int count = 0;


void list_file(void *data, Eio_File *handler, const Eina_File_Direct_Info *info)
{
	if (info->type == EINA_FILE_DIR)
		eina_array_push(dirs, strdup(info->path));
}

void list_error(void *data, Eio_File *handler, int error)
{
	printf("error [%s]\n",strerror(error));
}

void list_done(void *data, Eio_File *handler)
{
	char *next;
	
	count++;
	
	if (eina_array_count(dirs)) {
		next = eina_array_pop(dirs);
		printf("%s - %d\n", next, count);
		eio_file_stat_ls(next, NULL, list_file, list_done, list_error, NULL);
	}
	else
		ecore_main_loop_quit();
}

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

	if (!eina_init())
		goto eina_error;
	if (!ecore_init())
		goto ecore_error;
	if (!eio_init())
		goto eio_error;
		
	dirs = eina_array_new(128);
	
	eio_file_stat_ls(argv[1], NULL, list_file, list_done, list_error, NULL);
	
	ecore_main_loop_begin();

	eio_shutdown();
	
	eio_error :
	ecore_shutdown();
	
	ecore_error :
	eina_shutdown();
	
	eina_error :

	return EXIT_SUCCESS;
}--
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [BUG] in evas ppm loader

2011-04-15 Thread Hendrik Siedelmann
Freitag, 15. April 2011, Carsten Haitzler:

Cool!
That was fast.

> On Wed, 13 Apr 2011 12:11:44 +0200 Hendrik Siedelmann
>  said:
> 
> fixed in svn.
> 
> > Hello all,
> > 
> > there is a bug in the ppm loader with the following image:
> > http://w3studi.informatik.uni-stuttgart.de/~siedelhk/evas_loader_bug.ppm
> > A bit after the first line the image becomes blue, and the last pixel of
> > the image is completely white, probably the loader skips 2 bytes after a
> > first read of 1024 bytes.
> > 
> > The image should actually be mainly red, and is shown ok in all other
> > programs I tried (gimp, gwenview).
> > I tried to fix it but couldn't really figure out what was going on and
> > I'm too lazy to investigate further.
> > Btw. comment in the header is not at fault, without comments it's also
> > triggered in other images. Let me know if you need more images with this
> > problem.
> > 
> > 
> > hendrik
> > 
> > -
> > - Forrester Wave Report - Recovery time is now measured in hours and
> > minutes not days. Key insights are discussed in the 2010 Forrester Wave
> > Report as part of an in-depth evaluation of disaster recovery service
> > providers. Forrester found the best-in-class provider in terms of
> > services and vision. Read this report now! 
> > http://p.sf.net/sfu/ibm-webcastpromo
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [BUG] in evas ppm loader

2011-04-13 Thread Hendrik Siedelmann
Hello all,

there is a bug in the ppm loader with the following image:
http://w3studi.informatik.uni-stuttgart.de/~siedelhk/evas_loader_bug.ppm
A bit after the first line the image becomes blue, and the last pixel of the 
image is completely white, probably the loader skips 2 bytes after a first read 
of 1024 bytes.

The image should actually be mainly red, and is shown ok in all other programs 
I tried (gimp, gwenview).
I tried to fix it but couldn't really figure out what was going on and I'm too 
lazy to investigate further.
Btw. comment in the header is not at fault, without comments it's also 
triggered in other images. Let me know if you need more images with this 
problem.


hendrik

--
Forrester Wave Report - Recovery time is now measured in hours and minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and vision.
Read this report now!  http://p.sf.net/sfu/ibm-webcastpromo
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] GSOC 2011

2011-02-03 Thread Hendrik Siedelmann
Hello,

thank you for your answer!

2011/2/2 Ravenlock :
> Hendrick,
>
> Thank you for your interest in this years GSoC.  We are just now ramping
> up our efforts to get involved.  The original post by Ian was a bit of a
> "Call to Arms" for the devs (and students) to measure the general GSoC
> temperature.
>
> You've obviously put a lot of thought into your project proposal.  It
> looks very good.  I must say you have quite a head start as compared to
> many students, I would expect.  While we love to hear and discuss the
> ooportunities for you, the "official" time has not yet arrived for
> submission of student proposals.
Hehe the moment I read gsoc I got very psyched to do something useful,
so I wrote the mail, didn't look for the timeline of the whole thing
so sorry if I am a bit early ;).

> I think the best thing to do at this time might be to simply join us in
> IRC to further discuss you idea, and get some developer feedback on it.
>  Please join us on Freenode in both #e and #edevelop.  #e is a general E
> community channel in which you will find many users as well as the
> developers.  Topics of discussion vary greatly.  In #edevelop you will
> find a more developer oriented group, and the discussion is (typically)
> more development oriented.  Please join both and jump in.  Do note, if
> you are unfamiliar with IRC, that while there may be plenty of people in
> the channel, many may be idle or away from their keyboard.  Please be
> patient when asking a question for a response.
Ok I will drop by and have a look, thanks a lot!

greetings
hendrik

--
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] GSOC 2011

2011-02-02 Thread Hendrik Siedelmann
2011/1/28 Hendrik Siedelmann :
> Hello everybody.
>
> My name is Hendrik Siedelmann and I'm a student at the University of
> Stuttgart in Germany currently in my fourth year. I have worked with
> the efl in the past and always wanted to be more active but lacked
> time/motivation. I now want to change this and would like to
> paticipate in the GSoC. And I have an idea that went round in my head
> for quite some time...
>
>
> Image editing with the same efficiency as the rest of the efl.
>
> There is no serious image editing in efl, only interaktive stuff.
> However E17 is all about looks and performance and efficiency so I
> think some scalable image filtering capabilities that have no
> limitation on the image size and are usable from embedded to high end
> workstations is really something that's missing.
>
> There are several things wrong in how image editing is done in most
> programs today.
> As an example I'll take the following simple processing steps:
> crop -> denoise -> adjust brightness/contrast -> save
> Most image processing programs will do the processing this way:
> The image is decompressed from disk into memory is then filtered in
> multiple steps and in the full resolution and finally saved.
> On the way the user will try different values for each filter
> (propably in some preview dialog) and propably do undo and redo
> because for example after increasing the brightness he sees there is
> noise remaining in the shadows or for whatever reason.
> This approach has several problems:
>
> Memory usage:
> Memory usage will grow unlimited depending on the image size, the
> number of undo-steps and the number of layers.
> I have high resolution panoramas where memory usage in gimp exceeds
> 2GB with only three layers and one layer mask, undo-system completely
> disabled.
>
> Delays:
> If the user decides on a filter and filtering parameters he will want
> to continue but he has to wait for the filter to process the whole
> image which might take some time.
> Also if he decides that he has cropped wrong at the beginning but the
> other filters are ok, he will have to undo everything, crop again and
> then repeat all steps with all the time it takes for the filters to
> process the image again.
> Also for many filters the user will have to view the whole image (for
> example to see the effects of a change of brightness or contrast). So
> there will be huge delays to process the whole image.
>
> Waste of cpu-time:
> Whenever a filter is applied, all parts of the image that were
> rendered with the final filter parameters in some preview will be
> wasted. Also each undo has to throw away all processing done earlier,
> which will therefore have been a waste of time.
>
>
> There are two technics that can be utilized to solve all this problems:
>
> Graph and chunk based on-demand rendering:
> Every image operation is a node on a graph, which is connected to its
> input image(s) and has one output.
> There will always be one node which is connected to the global
> (graph)-output. Loading an image would mean creating an input node and
> connecting it's output to the global output.
> If the user wants to do an operation its input will be connected to
> the currently selected output and it's output will be the new
> graph-output.
> All operations on the graph will be basically instanteous, as the
> nodes will only need to be connected, zero operations on actual image
> data will be performed. The output will be created on-demand, and only
> for a specified area. Therefor there will be no preview in the
> above-mentioned sense, because it's always possible to just move to an
> area and let it render, the whole image only needs to be rendered when
> savíng.
> This also gets rid of the overhead of undos because if the user
> decides to to change a filter that is early in the filter chain he can
> just do so and the output can then be rerendered accordingly.
> While this will get rid of most useless processing this is only fast
> if the area the user (or some frontend) requests is small. If one
> wants to look at a big area (or the whole image) but at a lower scale
> (because screens do not have such a high resolution), then there is
> still the overhead of precessing the whole image for an output of much
> smaller size (actual output window size).
> Therefor the second step is:
>
> Scaled filtering:
> Instead of filtering at the whole scale all filters need to be able to
> work on a scaled down version of the image and output the same image
> as if applied to the full scale image and then scaling down (or a good
> approximation).
> This is trivial for some operation (like brightness contrast .

Re: [E-devel] GSOC 2011

2011-01-28 Thread Hendrik Siedelmann
Hello everybody.

My name is Hendrik Siedelmann and I'm a student at the University of
Stuttgart in Germany currently in my fourth year. I have worked with
the efl in the past and always wanted to be more active but lacked
time/motivation. I now want to change this and would like to
paticipate in the GSoC. And I have an idea that went round in my head
for quite some time...


Image editing with the same efficiency as the rest of the efl.

There is no serious image editing in efl, only interaktive stuff.
However E17 is all about looks and performance and efficiency so I
think some scalable image filtering capabilities that have no
limitation on the image size and are usable from embedded to high end
workstations is really something that's missing.

There are several things wrong in how image editing is done in most
programs today.
As an example I'll take the following simple processing steps:
crop -> denoise -> adjust brightness/contrast -> save
Most image processing programs will do the processing this way:
The image is decompressed from disk into memory is then filtered in
multiple steps and in the full resolution and finally saved.
On the way the user will try different values for each filter
(propably in some preview dialog) and propably do undo and redo
because for example after increasing the brightness he sees there is
noise remaining in the shadows or for whatever reason.
This approach has several problems:

Memory usage:
Memory usage will grow unlimited depending on the image size, the
number of undo-steps and the number of layers.
I have high resolution panoramas where memory usage in gimp exceeds
2GB with only three layers and one layer mask, undo-system completely
disabled.

Delays:
If the user decides on a filter and filtering parameters he will want
to continue but he has to wait for the filter to process the whole
image which might take some time.
Also if he decides that he has cropped wrong at the beginning but the
other filters are ok, he will have to undo everything, crop again and
then repeat all steps with all the time it takes for the filters to
process the image again.
Also for many filters the user will have to view the whole image (for
example to see the effects of a change of brightness or contrast). So
there will be huge delays to process the whole image.

Waste of cpu-time:
Whenever a filter is applied, all parts of the image that were
rendered with the final filter parameters in some preview will be
wasted. Also each undo has to throw away all processing done earlier,
which will therefore have been a waste of time.


There are two technics that can be utilized to solve all this problems:

Graph and chunk based on-demand rendering:
Every image operation is a node on a graph, which is connected to its
input image(s) and has one output.
There will always be one node which is connected to the global
(graph)-output. Loading an image would mean creating an input node and
connecting it's output to the global output.
If the user wants to do an operation its input will be connected to
the currently selected output and it's output will be the new
graph-output.
All operations on the graph will be basically instanteous, as the
nodes will only need to be connected, zero operations on actual image
data will be performed. The output will be created on-demand, and only
for a specified area. Therefor there will be no preview in the
above-mentioned sense, because it's always possible to just move to an
area and let it render, the whole image only needs to be rendered when
savíng.
This also gets rid of the overhead of undos because if the user
decides to to change a filter that is early in the filter chain he can
just do so and the output can then be rerendered accordingly.
While this will get rid of most useless processing this is only fast
if the area the user (or some frontend) requests is small. If one
wants to look at a big area (or the whole image) but at a lower scale
(because screens do not have such a high resolution), then there is
still the overhead of precessing the whole image for an output of much
smaller size (actual output window size).
Therefor the second step is:

Scaled filtering:
Instead of filtering at the whole scale all filters need to be able to
work on a scaled down version of the image and output the same image
as if applied to the full scale image and then scaling down (or a good
approximation).
This is trivial for some operation (like brightness contrast ...) easy
for others (like blur) and difficult for some, like tonemapping or
denoising.
The benefit is that with scaled filtering the processing time for a
specific filter graph depends only on the actual pixel count of the
requested area. Low scale requests for a big part of the image but
with the same actual pixel count will probably be even a bit faster
compared to a small full resolution request because area filters like
blur will be faster on lower scale.

Of course this shoul

Re: [E-devel] THUMB_SIZE_CUSTOM 0 in Epsilon.c

2009-05-15 Thread Hendrik Siedelmann
2009/5/14  :
> Hi all,
>
> can some one tel me why THUMB_SIZE_CUSTOM is 0 in Epsilon.c (epsilon/src/lib).
> I break my head on this little program and I dont understand the probleme


Epsilon is broken, this is what I wrote to the ML about the problem:


2009/3/24 Hendrik Siedelmann :
> These patches fix a few issues I had with epsilon:
>
> epsilon_new_fix.diff:
> in epsilon_new() tsize wasn't set, which defaults to THUMB_SIZE_CUSTOM which
> would then fail if neither size nor PATH_DIR_CUSTOM gets changed.
>
> epsilon_thumb_test_eina.diff:
> ecore_file_ls() was changed to return eina_list, change epsilon_thumb_test to
> use it.
>
> I also noticed that epsilon_thumbd would not always terminate, but sometimes
> just sit there eating cpu time, but I don't know what's going on with all the
> ecore_ipc stuff, so can't fix it.


Note that e_thumb will replace epsilon, so that's propably the reason
it's not fixed.


hendrik

--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ethumb in svn

2009-03-30 Thread Hendrik Siedelmann
2009/3/31, Rafael Antognolli :
> Hi,
>
> I uploaded a new library to creating thumbnails - Ethumb.
>
> It still have few features compared to epsilon, but this list will
> grow soon. I think the code is clean and easy to extend.
>
> I'm am expecting comments about possible features, coding style, bugs
> and any other feedback.
>
> For now the features list is:
> - FDO icons generation;
> - custom sized thumbnails;
> - aspect and format setup;
> - an edje frame can be added to customize the thumbnail;

I did not yet look at it, but still have a suggestion:
- jpeg thumbnail (saving thumbnail in jpeg format but with fdo
naming): much faster and smaller size

hendrik

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [PATCH] epsilon seems a bit broken...

2009-03-24 Thread Hendrik Siedelmann
These patches fix a few issues I had with epsilon:

epsilon_new_fix.diff:
in epsilon_new() tsize wasn't set, which defaults to THUMB_SIZE_CUSTOM which
would then fail if neither size nor PATH_DIR_CUSTOM gets changed.

epsilon_thumb_test_eina.diff:
ecore_file_ls() was changed to return eina_list, change epsilon_thumb_test to
use it.

I also noticed that epsilon_thumbd would not always terminate, but sometimes
just sit there eating cpu time, but I don't know what's going on with all the
ecore_ipc stuff, so can't fix it.

hendrik
Index: src/lib/Epsilon.c
===
--- src/lib/Epsilon.c	(Revision 39684)
+++ src/lib/Epsilon.c	(Arbeitskopie)
@@ -83,6 +83,7 @@
 	  result->src = eina_stringshare_add(file);
 	  result->tw = THUMB_SIZE_LARGE;
 	  result->th = THUMB_SIZE_LARGE;
+	  result->tsize = THUMB_SIZE_LARGE;
 	  result->format = EPSILON_THUMB_FDO;
 	  result->crop_x = 0.5;
 	  result->crop_y = 0.5;
Index: src/bin/epsilon_thumb_test.c
===
--- src/bin/epsilon_thumb_test.c	(Revision 39684)
+++ src/bin/epsilon_thumb_test.c	(Arbeitskopie)
@@ -1,6 +1,6 @@
 #include 
-#include 
 #include 
+#include 
 #include "Epsilon_Request.h"
 #include 
 #include 
@@ -34,7 +34,7 @@
 int main(int argc, char** argv)
 {
 	char *file;
-	Ecore_List *files;
+	Eina_List *files, *l;
 	double start, end;
 	Epsilon_Thumb_Size thumb_size = EPSILON_THUMB_NORMAL;
 	Epsilon_Thumb_Format thumb_format = EPSILON_THUMB_FDO;
@@ -45,6 +45,7 @@
 		exit(0);
 	}
 
+	eina_list_init();
 	epsilon_request_init();
 
 	thumb_done = ecore_event_handler_add(EPSILON_EVENT_DONE, thumb_complete_cb, NULL);
@@ -62,8 +63,7 @@
 
 	start = ecore_time_get();
 
-	ecore_list_first_goto(files);
-	while ((file = ecore_list_next(files))) {
+	EINA_LIST_FOREACH(files, l, file) {
 		char *realpath;
 		char fullpath[PATH_MAX];
 
@@ -74,8 +74,9 @@
 			incomplete_thumbs++;
 		}
 		free(realpath);
+		free(file);
 	}
-	ecore_list_destroy(files);
+	eina_list_free(files);
 
 	ecore_main_loop_begin();
 
@@ -83,5 +84,6 @@
 	printf("\nEpsilon Thumb completed in %g seconds\n\n", end - start);
 
 	epsilon_request_shutdown();
+	eina_list_shutdown();
 	return 0;
 }
--
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [PATCH] Elementary sub-del resets obj parent, not sub parent

2009-03-16 Thread Hendrik Siedelmann
Small typo in elm_widget_sub_object_del, was really driving me crazy,
the reference to the parent of the object itself was reset instead of
subobjects parent ...

hendrik
Index: src/lib/elm_widget.c
===
--- src/lib/elm_widget.c	(Revision 39508)
+++ src/lib/elm_widget.c	(Arbeitskopie)
@@ -223,7 +223,7 @@
if (!strcmp(evas_object_type_get(sobj), SMART_NAME))
  {
 	Smart_Data *sd2 = evas_object_smart_data_get(sobj);
-	if (sd2) sd->parent_obj = NULL;
+	if (sd2) sd2->parent_obj = NULL;
  }
evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del);
evas_object_smart_callback_call(obj, "sub-object-del", sobj);
--
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Announcing EWL 0.5.3

2009-01-08 Thread Hendrik Siedelmann
2009/1/8 Peter Wehrfritz :
> Peter Wehrfritz schrieb:
>>
>> I attached a small sample program
>
> As always, I forgot to ...
>

Thanks, but it seems still bugged: With the example you gave it
doesn't work most of the time and then sometimes suddenly starts
working. Also in ewl_test if I go to the paned test the shrinkable
button only starts working after adding a button to the top pane. Then
with every other button I add it sometimes works and sometimes doesn't
...
Same with the label, the shrinkable label isn't shrinkable at all.

hendrik

--
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Announcing EWL 0.5.3

2009-01-08 Thread Hendrik Siedelmann
2009/1/5 Nathan Ingersoll :
> I'm pleased to announce the release of EWL version 0.5.3. This release
> has some extensive changes, including the following highlights:
>
>   * Version 0.5.3:
...
> - Allow the ewl_label widget to be trunctated with '...'

Sounds very nice, possible to use this on buttons? How?
I searched the source but couldn't find any info about this.

> - Improved the cosmetics of the debugging macros
> - Revamped ewl_combo MVC API and implementation
> - Split widget tests into GUI and unit test cases
> - Fixed widget reparenting
>
> Thank you to the following contributors for making this release possible:
>
>Peter Wehrfritz
>Jaime Thomas
>Teodor Petrov
>Dan Sinclair
>Vincent Torri
>Stephen Houston
>
> This release can be checked out from:
>http://svn.enlightenment.org/svn/e/tags/ewl/ewl-0.5.3/
>
> --
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

--
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] edje interactive transition

2008-12-05 Thread Hendrik Siedelmann
2008/12/5 Gustavo Sverzut Barbieri <[EMAIL PROTECTED]>:
> On Fri, Dec 5, 2008 at 1:50 PM, Hendrik Siedelmann
> <[EMAIL PROTECTED]> wrote:
>> 2008/12/5 Gustavo Sverzut Barbieri <[EMAIL PROTECTED]>:
>>> On Thu, Dec 4, 2008 at 10:59 PM, The Rasterman Carsten Haitzler
>>> <[EMAIL PROTECTED]> wrote:
>>>> On Fri, 5 Dec 2008 00:03:18 +0100 "Hendrik Siedelmann"
>>>> <[EMAIL PROTECTED]> babbled:
>>>>
>>>>> 2008/12/3 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>>>>> > On Tue, 2 Dec 2008 21:02:54 +0100 "Hendrik Siedelmann"
>>>>> > <[EMAIL PROTECTED]> babbled:
>>>>> >
>>>>> >> 2008/11/30 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>>>>> >> > On Sun, 30 Nov 2008 19:27:35 +0100 "Hendrik Siedelmann"
>>>>> >> > <[EMAIL PROTECTED]> babbled:
>>>>> >> >
>>>>> >> >> Hi,
>>>>> >> >>
>>>>> >> >> while fooling around with elementary trying to write some widgets I
>>>>> >> >> found a pretty huge limitation in edje.
>>>>> >> >> I was writing a page flip widget to be used for example for 
>>>>> >> >> slideshow,
>>>>> >> >> document viewer but also for page switching using cursor/finger on
>>>>> >> >> touchscreen. But there seems to be no way to interaktiv set the
>>>>> >> >> transition between two states in edje. For example I want to blend
>>>>> >> >> between two parts depending on how far the cursor moved while 
>>>>> >> >> pressed
>>>>> >> >> down. This way mouse gestures would get visualised by a preview of
>>>>> >> >> what would happen. But there I found no way to do this in edje one 
>>>>> >> >> can
>>>>> >> >> only do the full transition...
>>>>> >> >
>>>>> >> > for this - you need to use embryo script {}... it is possible - with 
>>>>> >> > a
>>>>> >> > bit of thought and complexity and custom states :)
>>>>> >>
>>>>> >> Do you mean set_tween_state? Is there a reason this is not available
>>>>> >> over the c interface?
>>>>> >
>>>>> > beacuse this is meant to be abstracted - c shouldnt be playing with 
>>>>> > stats of
>>>>> > parts directly. you can talk to the edje via messages - these are used 
>>>>> > in
>>>>> > many places in e and efl to abstract apis between edje and c code.
>>>>>
>>>>> But whenever edje is used inside a program the program code and the
>>>>> edje code depend on each other anyway. Most programmers (me included)
>>>>> choose a programming language for reasons. Forcing them to learn and
>>>>> use embryo for some parts is propably not the best approach.
>>>>
>>>> edje is meant to abstract this so it can be replaced with some other 
>>>> design and
>>>> setup that does something different - and the designer chooses this in the
>>>> edje :)
>>>
>>> yep, Hendrik, you're abusing edje and then complaining it doesn't
>>> behave.  As you said, you choose your language and you can keep using
>>> it, just design your animation using it (hint: create your smart
>>> object, swallow it in your edje, possible using edje for your smart
>>> children... that is: edjes as parent and children of your smart).
>>>
>>> depending on what you want, this can be a bit easier... if you can fit
>>> into the "box" (sequence of items) model, then you can just implement
>>> one function and register that function with edje, then you feed it
>>> parameters using layout data (void*).
>>
>> Well I trust you if you say I'm abusing edje (poor thing).
>> It's difficult to get documentation about well everything surrounding
>> the efl, so excuse me if I don't know what you mean.
>> Do you mean I should use evas directly from c together with a timer to
>> do the animations interactiv? Because I still want to use edje to do
>> complex transitions and keep it themable.
>> I now do it (already working) with embryo functions which rea

Re: [E-devel] edje interactive transition

2008-12-05 Thread Hendrik Siedelmann
2008/12/5 Gustavo Sverzut Barbieri <[EMAIL PROTECTED]>:
> On Thu, Dec 4, 2008 at 10:59 PM, The Rasterman Carsten Haitzler
> <[EMAIL PROTECTED]> wrote:
>> On Fri, 5 Dec 2008 00:03:18 +0100 "Hendrik Siedelmann"
>> <[EMAIL PROTECTED]> babbled:
>>
>>> 2008/12/3 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>>> > On Tue, 2 Dec 2008 21:02:54 +0100 "Hendrik Siedelmann"
>>> > <[EMAIL PROTECTED]> babbled:
>>> >
>>> >> 2008/11/30 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>>> >> > On Sun, 30 Nov 2008 19:27:35 +0100 "Hendrik Siedelmann"
>>> >> > <[EMAIL PROTECTED]> babbled:
>>> >> >
>>> >> >> Hi,
>>> >> >>
>>> >> >> while fooling around with elementary trying to write some widgets I
>>> >> >> found a pretty huge limitation in edje.
>>> >> >> I was writing a page flip widget to be used for example for slideshow,
>>> >> >> document viewer but also for page switching using cursor/finger on
>>> >> >> touchscreen. But there seems to be no way to interaktiv set the
>>> >> >> transition between two states in edje. For example I want to blend
>>> >> >> between two parts depending on how far the cursor moved while pressed
>>> >> >> down. This way mouse gestures would get visualised by a preview of
>>> >> >> what would happen. But there I found no way to do this in edje one can
>>> >> >> only do the full transition...
>>> >> >
>>> >> > for this - you need to use embryo script {}... it is possible - with a
>>> >> > bit of thought and complexity and custom states :)
>>> >>
>>> >> Do you mean set_tween_state? Is there a reason this is not available
>>> >> over the c interface?
>>> >
>>> > beacuse this is meant to be abstracted - c shouldnt be playing with stats 
>>> > of
>>> > parts directly. you can talk to the edje via messages - these are used in
>>> > many places in e and efl to abstract apis between edje and c code.
>>>
>>> But whenever edje is used inside a program the program code and the
>>> edje code depend on each other anyway. Most programmers (me included)
>>> choose a programming language for reasons. Forcing them to learn and
>>> use embryo for some parts is propably not the best approach.
>>
>> edje is meant to abstract this so it can be replaced with some other design 
>> and
>> setup that does something different - and the designer chooses this in the
>> edje :)
>
> yep, Hendrik, you're abusing edje and then complaining it doesn't
> behave.  As you said, you choose your language and you can keep using
> it, just design your animation using it (hint: create your smart
> object, swallow it in your edje, possible using edje for your smart
> children... that is: edjes as parent and children of your smart).
>
> depending on what you want, this can be a bit easier... if you can fit
> into the "box" (sequence of items) model, then you can just implement
> one function and register that function with edje, then you feed it
> parameters using layout data (void*).

Well I trust you if you say I'm abusing edje (poor thing).
It's difficult to get documentation about well everything surrounding
the efl, so excuse me if I don't know what you mean.
Do you mean I should use evas directly from c together with a timer to
do the animations interactiv? Because I still want to use edje to do
complex transitions and keep it themable.
I now do it (already working) with embryo functions which react on
mouse events and then just use set_tween_state and programs to do a
whole transition (on signals from outside) or that finish the
transition (on mouse up).
I'd like to do it with c so the edc file only contains the
transitions, but not if that requires much more code than with embryo.

hendrik

--
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] edje interactive transition

2008-12-05 Thread Hendrik Siedelmann
2008/12/5 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
> On Fri, 5 Dec 2008 00:03:18 +0100 "Hendrik Siedelmann"
> <[EMAIL PROTECTED]> babbled:
>
>> 2008/12/3 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>> > On Tue, 2 Dec 2008 21:02:54 +0100 "Hendrik Siedelmann"
>> > <[EMAIL PROTECTED]> babbled:
>> >
>> >> 2008/11/30 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>> >> > On Sun, 30 Nov 2008 19:27:35 +0100 "Hendrik Siedelmann"
>> >> > <[EMAIL PROTECTED]> babbled:
>> >> >
>> >> >> Hi,
>> >> >>
>> >> >> while fooling around with elementary trying to write some widgets I
>> >> >> found a pretty huge limitation in edje.
>> >> >> I was writing a page flip widget to be used for example for slideshow,
>> >> >> document viewer but also for page switching using cursor/finger on
>> >> >> touchscreen. But there seems to be no way to interaktiv set the
>> >> >> transition between two states in edje. For example I want to blend
>> >> >> between two parts depending on how far the cursor moved while pressed
>> >> >> down. This way mouse gestures would get visualised by a preview of
>> >> >> what would happen. But there I found no way to do this in edje one can
>> >> >> only do the full transition...
>> >> >
>> >> > for this - you need to use embryo script {}... it is possible - with a
>> >> > bit of thought and complexity and custom states :)
>> >>
>> >> Do you mean set_tween_state? Is there a reason this is not available
>> >> over the c interface?
>> >
>> > beacuse this is meant to be abstracted - c shouldnt be playing with stats 
>> > of
>> > parts directly. you can talk to the edje via messages - these are used in
>> > many places in e and efl to abstract apis between edje and c code.
>>
>> But whenever edje is used inside a program the program code and the
>> edje code depend on each other anyway. Most programmers (me included)
>> choose a programming language for reasons. Forcing them to learn and
>> use embryo for some parts is propably not the best approach.
>
> edje is meant to abstract this so it can be replaced with some other design 
> and
> setup that does something different - and the designer chooses this in the
> edje :)

By this definition everything should be implemented with edje, because
the designer might choose to change the whole program :D.
No really this is just a question of where to set the border, for me
it'd find it nice to let the programmer have the choice where to put
it, and not the api. But nothing is perfect, especially not for
everyone, I can happily live with the way it is.

>> >> So now I'd just pass the value I want from my program over a unused
>> >> color class, emit a signal and set this value over embryo. But this is
>> >> probably not what you meant, it's not complex nor does it require
>> >> extra states. But instead it's very bad style :D.
>> >> What solution would you propose?
>> >
>> > use edje messages. battery module does this - exquisite does... done in
>> > other places too! they can pass arbitrary data back and forth.
>>
>> Okay with this info I digged in module code and the mailing list
>> archives and found everything that was necessary. Works great now!
>>
>> >> >> So is there (or is planned)
>> >> >> - something like edje_object_part_state_set to manually set the current
>> >> >> state or (in my opinion better because it is better animated)
>> >> >> - transition: INTERAKIV which would on every animator tick call some
>> >> >> callback to get the current speed of transition. This would have the
>> >> >> benefit that it could smooth the speed values it gets, so the
>> >> >> animation is always smooth even if coming from bad real data
>> >> >> (touchscreen position, acceleromter data ...).
>> >> >>
>> >> >> Or is there another way to do what I want? For know I'll propably just
>> >> >> create some intermediate states, but thats not really a solution.
>> >> >>
>> >> >> hendrik
>> >> >>
>> >> >> -
>> >> >> This SF.Net em

Re: [E-devel] edje interactive transition

2008-12-04 Thread Hendrik Siedelmann
2008/12/3 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
> On Tue, 2 Dec 2008 21:02:54 +0100 "Hendrik Siedelmann"
> <[EMAIL PROTECTED]> babbled:
>
>> 2008/11/30 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
>> > On Sun, 30 Nov 2008 19:27:35 +0100 "Hendrik Siedelmann"
>> > <[EMAIL PROTECTED]> babbled:
>> >
>> >> Hi,
>> >>
>> >> while fooling around with elementary trying to write some widgets I
>> >> found a pretty huge limitation in edje.
>> >> I was writing a page flip widget to be used for example for slideshow,
>> >> document viewer but also for page switching using cursor/finger on
>> >> touchscreen. But there seems to be no way to interaktiv set the
>> >> transition between two states in edje. For example I want to blend
>> >> between two parts depending on how far the cursor moved while pressed
>> >> down. This way mouse gestures would get visualised by a preview of
>> >> what would happen. But there I found no way to do this in edje one can
>> >> only do the full transition...
>> >
>> > for this - you need to use embryo script {}... it is possible - with a bit
>> > of thought and complexity and custom states :)
>>
>> Do you mean set_tween_state? Is there a reason this is not available
>> over the c interface?
>
> beacuse this is meant to be abstracted - c shouldnt be playing with stats of
> parts directly. you can talk to the edje via messages - these are used in many
> places in e and efl to abstract apis between edje and c code.

But whenever edje is used inside a program the program code and the
edje code depend on each other anyway. Most programmers (me included)
choose a programming language for reasons. Forcing them to learn and
use embryo for some parts is propably not the best approach.

>> So now I'd just pass the value I want from my program over a unused
>> color class, emit a signal and set this value over embryo. But this is
>> probably not what you meant, it's not complex nor does it require
>> extra states. But instead it's very bad style :D.
>> What solution would you propose?
>
> use edje messages. battery module does this - exquisite does... done in other
> places too! they can pass arbitrary data back and forth.

Okay with this info I digged in module code and the mailing list
archives and found everything that was necessary. Works great now!

>> >> So is there (or is planned)
>> >> - something like edje_object_part_state_set to manually set the current
>> >> state or (in my opinion better because it is better animated)
>> >> - transition: INTERAKIV which would on every animator tick call some
>> >> callback to get the current speed of transition. This would have the
>> >> benefit that it could smooth the speed values it gets, so the
>> >> animation is always smooth even if coming from bad real data
>> >> (touchscreen position, acceleromter data ...).
>> >>
>> >> Or is there another way to do what I want? For know I'll propably just
>> >> create some intermediate states, but thats not really a solution.
>> >>
>> >> hendrik
>> >>
>> >> -
>> >> This SF.Net email is sponsored by the Moblin Your Move Developer's
>> >> challenge Build the coolest Linux based applications with Moblin SDK & win
>> >> great prizes Grand prize is a trip for two to an Open Source event
>> >> anywhere in the world
>> >> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> >> ___ 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)[EMAIL PROTECTED]
>> >
>> >
>>
>> hendrik
>>
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]
>
>

hendrik

--
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] edje interactive transition

2008-12-02 Thread Hendrik Siedelmann
2008/11/30 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
> On Sun, 30 Nov 2008 19:27:35 +0100 "Hendrik Siedelmann"
> <[EMAIL PROTECTED]> babbled:
>
>> Hi,
>>
>> while fooling around with elementary trying to write some widgets I
>> found a pretty huge limitation in edje.
>> I was writing a page flip widget to be used for example for slideshow,
>> document viewer but also for page switching using cursor/finger on
>> touchscreen. But there seems to be no way to interaktiv set the
>> transition between two states in edje. For example I want to blend
>> between two parts depending on how far the cursor moved while pressed
>> down. This way mouse gestures would get visualised by a preview of
>> what would happen. But there I found no way to do this in edje one can
>> only do the full transition...
>
> for this - you need to use embryo script {}... it is possible - with a bit of
> thought and complexity and custom states :)

Do you mean set_tween_state? Is there a reason this is not available
over the c interface?
So now I'd just pass the value I want from my program over a unused
color class, emit a signal and set this value over embryo. But this is
probably not what you meant, it's not complex nor does it require
extra states. But instead it's very bad style :D.
What solution would you propose?

>> So is there (or is planned)
>> - something like edje_object_part_state_set to manually set the current state
>> or (in my opinion better because it is better animated)
>> - transition: INTERAKIV which would on every animator tick call some
>> callback to get the current speed of transition. This would have the
>> benefit that it could smooth the speed values it gets, so the
>> animation is always smooth even if coming from bad real data
>> (touchscreen position, acceleromter data ...).
>>
>> Or is there another way to do what I want? For know I'll propably just
>> create some intermediate states, but thats not really a solution.
>>
>> hendrik
>>
>> -
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> ___
>> 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)[EMAIL PROTECTED]
>
>

hendrik

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] edje interactive transition

2008-11-30 Thread Hendrik Siedelmann
Hi,

while fooling around with elementary trying to write some widgets I
found a pretty huge limitation in edje.
I was writing a page flip widget to be used for example for slideshow,
document viewer but also for page switching using cursor/finger on
touchscreen. But there seems to be no way to interaktiv set the
transition between two states in edje. For example I want to blend
between two parts depending on how far the cursor moved while pressed
down. This way mouse gestures would get visualised by a preview of
what would happen. But there I found no way to do this in edje one can
only do the full transition...

So is there (or is planned)
- something like edje_object_part_state_set to manually set the current state
or (in my opinion better because it is better animated)
- transition: INTERAKIV which would on every animator tick call some
callback to get the current speed of transition. This would have the
benefit that it could smooth the speed values it gets, so the
animation is always smooth even if coming from bad real data
(touchscreen position, acceleromter data ...).

Or is there another way to do what I want? For know I'll propably just
create some intermediate states, but thats not really a solution.

hendrik

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Patch: add jpeg thumbnail format to epsilon

2008-10-06 Thread Hendrik Siedelmann
2008/10/6 Gustavo Sverzut Barbieri <[EMAIL PROTECTED]>:
> On Sun, Sep 21, 2008 at 7:29 PM, Hendrik Siedelmann
> <[EMAIL PROTECTED]> wrote:
>> Okay here it is, this patch adds the possibility to epsilon to create
>> thumbnails in jpg format. The thumbnails are saved in FDO naming
>> convention, just with ending .jpg. Would be glad if you could give me
>> some feedback so this could eventually be included in svn. Patch works
>> for me, but there are some things to mention:
>
> Ok, better late than sorry, it's commited to SVN. As for your questions:

Now that is great news, thanks.

>> - default behaviour is like before, BUT epsilon_exists will also find
>> jpg thumbs, so epsilon_thumb_file_get will return the jpg and
>> epsilon_info_get will return nothing as the jpg contains no exif
>> infos.
>>
>> - I don't know what happens in those HAVE_EPEG_H parts, only tested
>> without epeg.
>
> EPEG was the old way to generate JPEGs in an efficient way. Then that
> code was integrated into Evas, then I deprecated EPEG (moved to OLD)
> when we changed to SVN.
>
> At the beginning, epsilon was not using Evas, but raster added that,
> but I never checked that it was not generating JPEGs, just PNGs
> because there was no option to select so.

So is it save to assume epeg is never used and remove those parts?

>> - new function epsilon_format_set which allows to set format to jpeg.
>
> It would be good to provide patch for
> BINDINGS/python-efl/python-epsilon. If you are able to provide so,
> mail it, otherwise I can do it for you.

Sorry, never worked with python.

>> - also changed epsilon_thumbd and added function
>> epsilon_request_add_advanced which can also set format (and in the
>> future hopefully custom sizes).
>>
>> - changed epsilon_thumb_test to accept the arguments -large and -jpg
>> to request thumbnails with these options.
>>
>> >From my test the jpg output is at least two times as fast on my laptop
>> and at least five times on the the freerunner. Also the resulting
>> files are 10-20% the size of png thumbnails.
>
> yes, raster already provided such feedback to fdo guys, but they
> blindly rejected so... damn it.

Yeah would have been nice to have jpeg in the standard. But the way
the jpegs are saved now makes it dead easy to implement for all
programs that support the fdo spec.

hendrik

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Patch: add jpeg thumbnail format to epsilon

2008-10-04 Thread Hendrik Siedelmann
2008/10/4 Gustavo Sverzut Barbieri <[EMAIL PROTECTED]>:
> On Mon, Sep 29, 2008 at 4:43 PM, Hendrik Siedelmann
> <[EMAIL PROTECTED]> wrote:
>> Did I post this in some wrong form? I can't believe there's no one
>> interested in this. I thought this was asked for before, but it doesnt
>> look like it. I'd be happy to get any feedback, even if only to know
>> why my patch was completely ignored.
>>
>> I'm refering to my mail from 21 Sep 2008:
>>>Okay here it is, this patch adds the possibility to epsilon to create
>>>thumbnails in jpg format. The thumbnails are saved in FDO naming
>>>convention, just with ending .jpg. Would be glad if you could give me
>>>some feedback so this could eventually be included in svn. Patch works
>>>for me, but there are some things to mention:
>>>
>>>- default behaviour is like before, BUT epsilon_exists will also find
>>>jpg thumbs, so epsilon_thumb_file_get will return the jpg and
>>>epsilon_info_get will return nothing as the jpg contains no exif
>>>infos.
>>>
>>>- I don't know what happens in those HAVE_EPEG_H parts, only tested
>>>without epeg.
>>>
>>>- new function epsilon_format_set which allows to set format to jpeg.
>>>
>>>- also changed epsilon_thumbd and added function
>>>epsilon_request_add_advanced which can also set format (and in the
>>>future hopefully custom sizes).
>>>
>>>- changed epsilon_thumb_test to accept the arguments -large and -jpg
>>>to request thumbnails with these options.
>>>
>> >From my test the jpg output is at least two times as fast on my laptop
>>>and at least five times on the the freerunner. Also the resulting
>>>files are 10-20% the size of png thumbnails.
>
> Hey, calm down! We're all busy and I'm sure there is interest in it, I
> do, for example... as well as need to reply to Philip's thumbnail
> spec... just need time! :-)
>
> I'll try to go through it during this weekend.

Sorry for the rush, I didn't want to sound rude. And thank you for
looking at it. This little bit of feedback is all I wanted :).

hendrik

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Patch: add jpeg thumbnail format to epsilon

2008-10-04 Thread Hendrik Siedelmann
Did I post this in some wrong form? I can't believe there's no one
interested in this. I thought this was asked for before, but it doesnt
look like it. I'd be happy to get any feedback, even if only to know
why my patch was completely ignored.

I'm refering to my mail from 21 Sep 2008:
>Okay here it is, this patch adds the possibility to epsilon to create
>thumbnails in jpg format. The thumbnails are saved in FDO naming
>convention, just with ending .jpg. Would be glad if you could give me
>some feedback so this could eventually be included in svn. Patch works
>for me, but there are some things to mention:
>
>- default behaviour is like before, BUT epsilon_exists will also find
>jpg thumbs, so epsilon_thumb_file_get will return the jpg and
>epsilon_info_get will return nothing as the jpg contains no exif
>infos.
>
>- I don't know what happens in those HAVE_EPEG_H parts, only tested
>without epeg.
>
>- new function epsilon_format_set which allows to set format to jpeg.
>
>- also changed epsilon_thumbd and added function
>epsilon_request_add_advanced which can also set format (and in the
>future hopefully custom sizes).
>
>- changed epsilon_thumb_test to accept the arguments -large and -jpg
>to request thumbnails with these options.
>
>From my test the jpg output is at least two times as fast on my laptop
>and at least five times on the the freerunner. Also the resulting
>files are 10-20% the size of png thumbnails.

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Patch: add jpeg thumbnail format to epsilon

2008-09-21 Thread Hendrik Siedelmann
Okay here it is, this patch adds the possibility to epsilon to create
thumbnails in jpg format. The thumbnails are saved in FDO naming
convention, just with ending .jpg. Would be glad if you could give me
some feedback so this could eventually be included in svn. Patch works
for me, but there are some things to mention:

- default behaviour is like before, BUT epsilon_exists will also find
jpg thumbs, so epsilon_thumb_file_get will return the jpg and
epsilon_info_get will return nothing as the jpg contains no exif
infos.

- I don't know what happens in those HAVE_EPEG_H parts, only tested
without epeg.

- new function epsilon_format_set which allows to set format to jpeg.

- also changed epsilon_thumbd and added function
epsilon_request_add_advanced which can also set format (and in the
future hopefully custom sizes).

- changed epsilon_thumb_test to accept the arguments -large and -jpg
to request thumbnails with these options.

>From my test the jpg output is at least two times as fast on my laptop
and at least five times on the the freerunner. Also the resulting
files are 10-20% the size of png thumbnails.
Index: src/include/Epsilon_Request.h
===
--- src/include/Epsilon_Request.h	(Revision 35888)
+++ src/include/Epsilon_Request.h	(Arbeitskopie)
@@ -18,6 +18,7 @@
 {
 	unsigned int   id;   /**< Identifier for this thumbnail */
 	unsigned int   size; /**< Thumbnail size to be generated */
+	unsigned int   format;   /**< Thumbnail format to be generated */
 	unsigned int   status;   /**< Status code of the thumbnail generation */
 	char  *path; /**< Path to file requiring thumbnail */
 	char  *dest; /**< Path to generated file, NULL on error */
@@ -30,6 +31,8 @@
 EAPI int  epsilon_request_init(void);
 EAPI int  epsilon_request_shutdown(void);
 EAPI Epsilon_Request *epsilon_request_add(const char *path, Epsilon_Thumb_Size size, void *data);
+EAPI Epsilon_Request *epsilon_request_add_advanced(const char *path, Epsilon_Thumb_Size size,
+		   Epsilon_Thumb_Format format, void *data);
 EAPI void epsilon_request_del(Epsilon_Request *thumb);
 
 #ifdef __cplusplus
Index: src/include/epsilon_private.h
===
--- src/include/epsilon_private.h	(Revision 35888)
+++ src/include/epsilon_private.h	(Arbeitskopie)
@@ -28,6 +28,7 @@
 	unsigned int status;
 	unsigned int thumbsize;
 	unsigned int bufsize;
+	unsigned int thumbformat;
 };
 
 typedef struct Epsilon_Ipc_End Epsilon_Ipc_End;
Index: src/lib/Epsilon.h
===
--- src/lib/Epsilon.h	(Revision 35888)
+++ src/lib/Epsilon.h	(Arbeitskopie)
@@ -43,6 +43,7 @@
   int w, h;
   int tw, th;
   int tsize;
+  int format;
 };
 typedef struct _Epsilon Epsilon;
 
@@ -64,6 +65,14 @@
 
 typedef enum _Epsilon_Thumb_Size Epsilon_Thumb_Size;
 
+enum _Epsilon_Thumb_Format
+{
+   EPSILON_THUMB_FDO,
+   EPSILON_THUMB_JPEG
+};
+
+typedef enum _Epsilon_Thumb_Format Epsilon_Thumb_Format;
+
 EAPI int epsilon_init (void);
 
 /* construct destruct */
@@ -74,6 +83,8 @@
 EAPI void epsilon_key_set (Epsilon * e, const char *key);
 /* Set the resolution*/
 EAPI void epsilon_resolution_set (Epsilon * e, int w, int h);
+/* Set the thumbnail format */
+EAPI void epsilon_format_set (Epsilon * e, Epsilon_Thumb_Format f);
 
 /*
  * the source filename
Index: src/lib/epsilon_thumb.c
===
--- src/lib/epsilon_thumb.c	(Revision 35888)
+++ src/lib/epsilon_thumb.c	(Arbeitskopie)
@@ -306,12 +306,14 @@
 /**
  * @param path Path to the original image that will be thumbnailed.
  * @param size Enum determining the scale of the thumbnail.
+ * @param size Enum determining the format of the thumbnail.
  * @param data Data associated with this thumbnail for client use.
  * @brief Request a thumbnail to be generated asynchronously for the specified
  * @a path.
  */
 Epsilon_Request *
-epsilon_request_add(const char *path, Epsilon_Thumb_Size size, void *data)
+epsilon_request_add_advanced(const char *path, Epsilon_Thumb_Size size,
+			 Epsilon_Thumb_Format format, void *data)
 {
 	Epsilon_Request *thumb;
 
@@ -333,6 +335,7 @@
 	}
 	thumb->size = size;
 	thumb->data = data;
+	thumb->format = format;
 	if (epsilon_request_resolve_thumb_file(thumb)) {
 		thumb->status = 1;
 		epsilon_event_inform_done(thumb);
@@ -342,6 +345,7 @@
 		msg = epsilon_message_new(epsilon_mid++, path, 0);
 		if (msg) {
 			msg->thumbsize = size;
+			msg->thumbformat = format;
 			if (debug) printf("!! requesting thumbnail for %s (request %d)!!, %d\n", path, msg->mid, sizeof(Epsilon_Message)+msg->bufsize);
 			if (ecore_ipc_server_send(epsilon_server, 1,1,1,1,1,msg,sizeof(Epsilon_Message)+msg->bufsize)) {
 thumb->id = msg->mid;
@@ -358,6 +362,19 @@
 }
 
 /**
+ * @param path Path to the original image that will be thumbnailed.
+ *

Re: [E-devel] some questions/propositions on evas/ewl/epsilon

2008-09-21 Thread Hendrik Siedelmann
2008/9/20 The Rasterman Carsten Haitzler <[EMAIL PROTECTED]>:
> ok basically scrolling. not likely to happen. the problem with the test code 
> is
> - it may have the ability to detect "motion vectors" but it also adds constant
> overhead. in the end i am doubtful if it would be that useful in the long-run.
> right now as we are basically awaiting a lot of re-do in the engine-space i
> dont think i'll be touching this as it would directly fiddle with the engines
> and their api. really you suffer from the hardware platform being 1. very slow
> with the cpu and 2. with a really slow video bus. gtk apps only are smooth as
> scrolling is one of the few things accelerated and thus they use it. the
> problem is scrolling in a more general setup with alpha blending etc. ends up
> being a redraw - and evas just always does it this way.

Okay that's a no-go for evas in general :(. But as it stands I am
programming for the FR. In fact I found the cpu pretty fast (if not
blocked by glamo...). So is there a way to upload pixmaps using evas
and ecore? I found ecore_x_pixmap_paste but don't know how to get
pixmap from evas, or the graphic context ...


> as for epsilon, it does the "fdo standard", and this requires thumbnails to be
> png. yes - writing jpeg thumbnasils is faster, uses less space etc. - it'd be
> possible to extend espilon to write .eet thumbs using jpeg lossy encoding (and
> thus also have an alpha channel available), but then you'd have thumbnails 
> "not
> according to the spec". so it'd be possible to do this, just the png writing
> code in epsilon needs a little abstraction - patches accepted! (sorry - this
> isn't on my focus right now so will have to just wait for patches):)

No problem, I have some patches which convert epsilon to simple jpeg
writing with fdo  naming conventions. Making it a runtime option like
the size looks simple. But it's not finished, I don't quite get
epsilon_thumbd, it completely breaks.

> as for evas loaders, documentation - no, except samples - many of them. they
> are very simple though. look at the ppm ones (pmaps). they are simple file
> formats. doesnt include a saver there. but.. for the jpeg loader using 
> embedded
> thumbnails - no support (would need to know about all the exif tags and
> extension data), BUT you can use the more generic load options which can play 
> a
> trick of pre-scaling on load ANY jpeg image (embedded thumbnail or not) and it
> basically just loads and decodes only part of the jpeg data. you can get up to
> a 1/8th scale "for free" (in fact it loads much faster than a full load). 
> e17's
> e_thumb uses this (evas_object_image_load_size_set for example). it requests
> the image to be loaded at that size (scaling done on load). :)

Jep I know of that. And using it (evas is simply great). Still slow
(actually fast enough, but but faster thumbnails never hurt). I'll
look at the  samples, used libexif before to extract thumbnails, and
also dcraw and I'd love to do a extract-loader with libexif and dcraw,
which would itself then utilize the jpeg and ppm loaders. Well in some
distant future ;).

Thanks!

hendrik

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] some questions/propositions on evas/ewl/epsilon

2008-09-13 Thread Hendrik Siedelmann
2008/9/13 Cedric BAIL <[EMAIL PROTECTED]>:
> On Fri, Sep 12, 2008 at 9:47 PM, Hendrik Siedelmann
> <[EMAIL PROTECTED]> wrote:
>> 2008/9/12 Nick Hughart <[EMAIL PROTECTED]>:
>>> Stephen Houston wrote:
>>>> Jpeg thumbnails work.. ephoto also uses ewl/epsilon and does thumbnails.
>>>> Epsilon thumbnails any image type that evas supports afaik.
>>>
>>> He means the thumbnails themselves are png files if I'm interpreting it
>>> correctly.  Of course it can thumbnail anything, but since epsilon follows
>>> the fdo specification I believe it is only allowed to output the thumbnails
>>> themselves in png format.  I may be wrong, but I seem to recall someone else
>>> bringing this up at some point.
>>
>> Yes I meant creating the thumbnail in jpeg format, png is too large
>> and too slow.
>
> Putting the thumbnail in eet would be a good choice imho. You will
> have the benefit of jpeg compression with the alpha channel support
> and a packed file format.
>

Alpha channel would be nice, and a you propose putting the eet in the
directory of the images? That would on one hand make the thumbnails
portabel, on the other its pretty annoying to have cached information
all over the place, you'd need a extra cleaning program to remove the
thumnails.
And you need some fallback if you can't write to the directory. Also
don't the eet file needs to get rewritten whenever you append a
thumbnail?


hendrik

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] some questions/propositions on evas/ewl/epsilon

2008-09-12 Thread Hendrik Siedelmann
2008/9/12 Nick Hughart <[EMAIL PROTECTED]>:
> Stephen Houston wrote:
>>
>> Jpeg thumbnails work.. ephoto also uses ewl/epsilon and does thumbnails.
>> Epsilon thumbnails any image type that evas supports afaik.
>>
>
> He means the thumbnails themselves are png files if I'm interpreting it
> correctly.  Of course it can thumbnail anything, but since epsilon follows
> the fdo specification I believe it is only allowed to output the thumbnails
> themselves in png format.  I may be wrong, but I seem to recall someone else
> bringing this up at some point.
>>

Yes I meant creating the thumbnail in jpeg format, png is too large
and too slow.

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] some questions/propositions on evas/ewl/epsilon

2008-09-12 Thread Hendrik Siedelmann
Hi,

I'm writing an image viewer for the freerunner
(http://projects.openmoko.org/projects/omview/) and I'm using evas,
ewl and epsilon to do this work. And I have to say that it is easy to
work with them and the result is pretty fast. But...

Accelerated scrolling in Evas: I know this was dicussed before, so how
is the state of this? I think raster mentioned some time that he had
some code doing that, is there any way I can use some acceleration?
(code?) I tried to do something with evore_x, but with no result. Its
really sad to see the slow and unresponsive gtk apps have smooth
scrolling, but with evas I get around 3 fps.

epsilon thumbnails: epsilon works great, but Is there a possibility to
create jpg thumbnails? Or is there more interest in having this, then
I might start adding it to epsilon (seems to be doable). Large png
thumbnails are ~100KB, this is too much on an embedded device, and
writing them is very slow. It would be very nice If I could create
640x640 thumbnails in jpg (~50KB). Not to mentions png writing is 3
times slower than jpg.

is there any documentation on the evas loaders? I'd love to do a raw
image loader, to add the possiblity to the jpg loader to use embedded
thumbnail/preview images.


Ok enough questions for now

hendrik

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel