Eog port



Dear EOG developers,

about a year ago it happened once again. Opensource got its chance to
show its strength :-)
Someone wanted to show her holiday pictures on a macbook but forgot to
bring the vga dongle. Therefore I was asked to the rescue and I proudly
lend my Ubuntu/Linux notebook. With this notebook we showed all the
images without an issue but the presentation was somewhat lacking. The
crossover between two pictures was immediate, no fade in or fade out or
any other nice effect.

So what to do as someone who always touts the advantages of open source?
Patch the code of course! 

Next I found some spare time (lying in bed with a flu), I decided to
implement crossover effects in eog. I downloaded the source and started
reading the code. Unfortunately the code was in C. Not that C is
inherently bad, but it means a lot of additionally boiler plate code
that has to be read and understood. So after a day of figuring out how
an image is displayed and several failed attempts to implement something
working I gave up. I decided coding in C is just too hard if you only
want to implement a small patch and not getting to intimate with the
underlying program.

So what to do if patching a C program is too hard?
Port it to an easier language of course!

My language of choice was vala and my estimated time for the port was a
week. Once again I underestimated the effort necessary. But anyway I
finally have something to show! The vala port runs and most of the
classes are ported. 

Next step for me is to figure out how to go forward with the vala port.
How are you thinking about such an effort? Will it add value to the eog
application or will it be a hindrance due to the inevitable regressions?
Of course I could have released early on in my development, but I was
not sure if I would ever finish the port so I didn't want to add noise
to the mailing list with something that might fail.

Next tasks on my todo list:
- Fix the most annoying bugs
- Port to latest eog source
- Port / Fix metadata readers
- Fully implement clutter view
- Implement toolbar
- Implement plugin handling
- Replace c-ish code with vala equivalents

Source: 
https://bitbucket.org/sturm/eog2


So please let me know your thoughts!
Sincerely
Fabian



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]