[Digikam-devel] Getting started as a digiKam developer...

Gilles Caulier caulier.gilles at gmail.com
Tue Feb 26 19:25:12 GMT 2013


Hi Bill, you is of course welcome in digiKam project...


2013/2/26 BC <Bill.Costa at alumni.unh.edu>

> Folks,
>
> Right up front, I'll apologize for the length of this posting,
> but I felt the background information was important.
>
> I've been an avid 3D (stereographic) photographer for a couple of
> decades now.  For the past couple of years I've been shooting
> digital 3D using primarily the Fuji W3 and Panasonic DMC-3D1
> cameras. These cameras, as well as the Sony Bloggie 3D, produce
> .MPO (Multiple Picture Objects) files.  The specification for
> this container file format can be found here:
>
> http://www.cipa.jp/english/**hyoujunka/kikaku/pdf/DC-007_E.**pdf<http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-007_E.pdf>
>
> An MPO file is designed to contain an arbitrary number of images,
> but for these 3D cameras only a simple left/right pair is stored.
> (There is another CIPA spec specifically designed for 3D photos,
> but 'the big boys', for whatever reason, decided to pick this
> more general multiple picture standard instead.  But I digress.)
> The MPO format is also recognized and displayed in 3D by almost
> all 3D TVs that accept storage media (SDHC or USB drive).
>
> There are a couple of programs that handle the special needs for
> editing 3D photos -- i.e. the alignment of the L/R images in
> relation to each other, in order to create what is called the
> 'stereo window'.
>
> http://www.vmresource.com/**camera/stereowindow.htm<http://www.vmresource.com/camera/stereowindow.htm>
>
> The best of breed of these programs is currently StereoPhoto
> Maker which is a free (as in beer) program that runs only on
> Windows and the source is unavailable.
>
> http://stereo.jpn.org/eng/**stphmkr/ <http://stereo.jpn.org/eng/stphmkr/>
>
> StereoPhoto Maker is great at what it does, but it doesn't do any
> sort of digital asset management, which is what I would like to
> have.
>
> I did some research and it appears that digiKam is indeed the
> best open source, cross-platform, photo management program
> available.  What I would like to do is extend digiKam, most
> likely through the use of one or more plugins, to correctly
> recognize and handle 3D images in a useful fashion.  The ultimate
> goal would be to display the images in 3D on a 3D monitor, and
> provide basic editing functions that automatically works
> simultaneously on both the left and right images.
>

There is many way to add MPO support in digiKam :

1/ Support MPO thumbnail and preview :This can be done through KDE imgio
component which is used to handle quickly all image formats as well using a
QImage container.

https://projects.kde.org/projects/kde/kdelibs/repository/revisions/master/show/kimgio

2/ Support MPO metadata to register info in digiKam database. A simple
improvement of Exiv2 C++ shared lib used by digiKam to handle photo
metadata is enough.

http://www.exiv2.org/

Exiv2 is a low levels library. It do not depand of Qt and KDE. digiKam has
a dedicated interface for that :

3/ Generate stereo image using standard images, in batch. A kipi-plugins
must be done for that. Plugins are not only visible through digiKam, but
also on other KDE image management program, as Gwenview and KPhotoAlbum.

https://projects.kde.org/projects/extragear/graphics/kipi-plugins

Kipi-plugins is based on KDE and Qt api.

https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2

4/ Support MPO editing in digiKam image editor : This is the most
complicated job. This require to write a dedicated digiKam image loader
with full read/write support. But as Image Editor do not support multiple
page image container, a new image data storage must be implemented in
digiKam core and image editor must be improved to support editing of a
dedicated image from container (image editor only support flat and single
image)



> So (finally!) my question for this developer community is, what
> is the best way for me to get started -- assuming of course that
> the answer isn't just "Go away -- we don't want no stink'n 3D
> pictures in digiKam!!".
>

In order that i listed below


>
> As for my own skill set, while I have not done any significant
> programming in C++, or C for that matter, I'm a 30+ year IT
> professional with a Master's in CS, and have learned and thrown
> away more programming languages and operating systems then I care
> to admit to.  Initially I've done enough research to understand
> that digiKam is built on top of the Qt framework.  But what I
> don't know are basic things like....
>
> * Can relatively painless digiKam development be done with just
>   GCC and Emacs on OS X (with the proper libraries installed of
>   course), or should I be thinking a Linux distro with KDE, or
>   even a Qt IDE?
>
> * Should I be reading books like...
>
>     http://www.amazon.com/dp/**0132826453<http://www.amazon.com/dp/0132826453>
>     http://www.amazon.com/dp/**0321635906<http://www.amazon.com/dp/0321635906>


This one is better and more accessible about Qt :

http://www.amazon.com/Programming-Prentice-Source-Software-Development/dp/0132354160/ref=sr_1_2?s=books&ie=UTF8&qid=1361906221&sr=1-2&keywords=qt

And this one about KDE :

http://flossmanuals.net/kde-guide/


>
>   or is this over-kill for developing a digiKam plugin?
>

The first is to Know Qt, KDE, and other stuff around C++. Go to :

http://kde.org/

and look into "Developer Platform" section...

 After that, all developers use git repository to checkout code, patch,
compile and test. Only change done against git/master are managed by team...

Best

Gilles Caulier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20130226/c555d820/attachment.html>


More information about the Digikam-devel mailing list