<div dir="ltr">Hi Bill, you is of course welcome in digiKam project...<br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/2/26 BC <span dir="ltr"><<a href="mailto:Bill.Costa@alumni.unh.edu" target="_blank">Bill.Costa@alumni.unh.edu</a>></span><br>


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

<div><br></div><div><a href="https://projects.kde.org/projects/kde/kdelibs/repository/revisions/master/show/kimgio">https://projects.kde.org/projects/kde/kdelibs/repository/revisions/master/show/kimgio</a><br></div></div>

<div><br></div><div>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.<br></div><div style><br></div><div style>
<a href="http://www.exiv2.org/">http://www.exiv2.org/</a><br>
</div><div style><br></div><div style>Exiv2 is a low levels library. It do not depand of Qt and KDE. digiKam has a dedicated interface for that :</div><div style><br></div><div style><div>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.</div>

<div><br></div><div><a href="https://projects.kde.org/projects/extragear/graphics/kipi-plugins">https://projects.kde.org/projects/extragear/graphics/kipi-plugins</a><br></div><div><br></div><div>Kipi-plugins is based on KDE and Qt api.</div>

<div><br></div></div><div style><a href="https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2">https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2</a><br></div><div style><br></div><div style>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)<br>

</div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
So (finally!) my question for this developer community is, what<br>
is the best way for me to get started -- assuming of course that<br>
the answer isn't just "Go away -- we don't want no stink'n 3D<br>
pictures in digiKam!!".<br></blockquote><div><br></div><div style>In order that i listed below</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


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

<div style><a href="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">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</a><br>

</div><div style><br></div><div style>And this one about KDE :</div><div style><br></div><div style><a href="http://flossmanuals.net/kde-guide/">http://flossmanuals.net/kde-guide/</a><br></div><div style><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
<br>
  or is this over-kill for developing a digiKam plugin?<br></blockquote><div style><br>The first is to Know Qt, KDE, and other stuff around C++. Go to :</div><div style><br></div><div style><a href="http://kde.org/">http://kde.org/</a><br>

</div><div style><br></div><div style>and look into "Developer Platform" section...</div><div><br></div><div style> After that, all developers use git repository to checkout code, patch, compile and test. Only change done against git/master are managed by team...</div>

<div style><br></div><div style>Best</div><div style><br></div><div style>Gilles Caulier</div></div></div></div>