<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 11 Mar 2017, at 04:27, EI <<a href="mailto:geneing@gmail.com" class="">geneing@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Screencast looks impressive! </div></div></blockquote><div><br class=""></div><div>Thanks! :-)</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">- I don't think there a way to prioritize which plugin will handle loading. One option may be to add a menu item under "File" for PhotoFlow. The actions are configured through krita/kritamenu.action</div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">- Krita can keep almost arbitrary metadata for the loaded image. An example can be found here: krita/libs/image/tests/kis_meta_data_test.cpp. The code itself is in krita/libs/image/metadata/. However, your plugin would have to write this metadata to the raw file and then read it. Storing metadata in an xml "sidecar" file may be easier. </div></div></div></blockquote><div><br class=""></div><div><div>I will look into both...</div></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">- Have you looked at QProcess? <a href="http://doc.qt.io/qt-5/qprocess.html" class="">http://doc.qt.io/qt-5/qprocess.html</a></div></div></div></blockquote><div><br class=""></div><div>That’s exactly what I was looking for, thanks!</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">- You can probably request a developer account. <a href="mailto:boud@valdyas.org" class="">boud@valdyas.org</a> may be able to help. Is your plugin code available through <a href="https://github.com/aferrero2707/PhotoFlow" class="">https://github.com/aferrero2707/PhotoFlow</a>? </div></div></div></blockquote><div><br class=""></div><div>I have forked the Krita github repository and issued a pull request: <a href="https://github.com/KDE/krita/pull/1" class="">https://github.com/KDE/krita/pull/1</a></div><div><br class=""></div><div>I think that for the moment this is probably the safest way to proceed…</div><div><br class=""></div><div>Andrea</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">Eugene</div><div class=""><br class=""></div><div class=""><br class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br class="">
<br class="">
Today's Topics:<br class="">
<br class="">
   1. Re: RAW processing plug-in - any interest? (PhotoFlow Editor)<br class="">
      (PhotoFlow Editor)<br class="">
<br class="">
<br class="">
------------------------------<wbr class="">------------------------------<wbr class="">----------<br class="">
<br class="">
Message: 1<br class="">
Date: Thu, 9 Mar 2017 14:41:59 +0100<br class="">
From: PhotoFlow Editor <<a href="mailto:photofloweditor@gmail.com" class="">photofloweditor@gmail.com</a>><br class="">
To: Krita's developers and users mailing list <<a href="mailto:kimageshop@kde.org" class="">kimageshop@kde.org</a>><br class="">
Subject: Re: RAW processing plug-in - any interest? (PhotoFlow Editor)<br class="">
Message-ID: <<a href="mailto:DFC8CB20-2075-4244-94DA-10377E0FC8FF@gmail.com" class="">DFC8CB20-2075-4244-94DA-<wbr class="">10377E0FC8FF@gmail.com</a>><br class="">
Content-Type: text/plain; charset="utf-8"<br class="">
<br class="">
Hi!<br class="">
<br class="">
the initial implementation of the RAW loading plug-in turned out to be relatively easy… just a couple of spare-time coding hours to achieve the result shown in this screencast: <a href="https://youtu.be/9K6RJv-O6Yw" rel="noreferrer" target="_blank" class="">https://youtu.be/9K6RJv-O6Yw</a> <<a href="https://youtu.be/9K6RJv-O6Yw" rel="noreferrer" target="_blank" class="">https://youtu.be/9K6RJv-O6Yw</a>><br class="">
<br class="">
<br class="">
However, this is just the very beginning. Unfortunately I do not have much time to chat on IRC, only to read/write emails from time to time. Therefore, if any krater developer is reading those lines, here are a few questions (some might be trivial):<br class="">
<br class="">
- is there a way to prioritise the file loading plug-ins in Krita? In my first experiments I had to remove the official impex/raw plug-in from the CMakeLists.txt file, otherwise my own plug-in would not be invoked…<br class="">
<br class="">
- does Krita provide a mechanism to store arbitrary meta-data in the image structure? The idea would be to store the RAW processing parameters directly inside the krita image, so that next time the photoflow plug-in is invoked it can re-open the RAW file and restore the last saved processing parameters<br class="">
GIMP provides such mechanism through functions like gimp_parasite_new() (<a href="https://developer.gimp.org/api/2.0/libgimpbase/libgimpbase-gimpparasite.html" rel="noreferrer" target="_blank" class="">https://developer.gimp.org/<wbr class="">api/2.0/libgimpbase/<wbr class="">libgimpbase-gimpparasite.html</a> <<a href="https://developer.gimp.org/api/2.0/libgimpbase/libgimpbase-gimpparasite.html" rel="noreferrer" target="_blank" class="">https://developer.gimp.org/<wbr class="">api/2.0/libgimpbase/<wbr class="">libgimpbase-gimpparasite.html</a>><wbr class="">) and gimp_item_attach_parasite() (<a href="https://developer.gimp.org/api/2.0/libgimp/libgimp-gimpitem.html" rel="noreferrer" target="_blank" class="">https://developer.gimp.org/<wbr class="">api/2.0/libgimp/libgimp-<wbr class="">gimpitem.html</a> <<a href="https://developer.gimp.org/api/2.0/libgimp/libgimp-gimpitem.html" rel="noreferrer" target="_blank" class="">https://developer.gimp.org/<wbr class="">api/2.0/libgimp/libgimp-<wbr class="">gimpitem.html</a>>)<br class="">
<br class="">
- is there a way in Qt to spawn a process and pass parameters to it in the form of QStrings instead of char*? I would need this to properly invoke the photoflow executable with UTF8 file names…<br class="">
<br class="">
- what is the best way to distribute the preliminary code so that experts can have a look?<br class="">
<br class="">
<br class="">
By the way, the photoflow executable used for the test in the screencast is actually this AppImage package: <a href="https://github.com/aferrero2707/PhotoFlow/releases/download/continuous/PhotoFlow-20170307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage" rel="noreferrer" target="_blank" class="">https://github.com/<wbr class="">aferrero2707/PhotoFlow/<wbr class="">releases/download/continuous/<wbr class="">PhotoFlow-20170307-git-stable-<wbr class="">d1501a91826e6b768af51bf6c734bd<wbr class="">989507915d.glibc2.14-dbg-x86_<wbr class="">64.AppImage</a> <<a href="https://github.com/aferrero2707/PhotoFlow/releases/download/continuous/PhotoFlow-20170307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage" rel="noreferrer" target="_blank" class="">https://github.com/<wbr class="">aferrero2707/PhotoFlow/<wbr class="">releases/download/continuous/<wbr class="">PhotoFlow-20170307-git-stable-<wbr class="">d1501a91826e6b768af51bf6c734bd<wbr class="">989507915d.glibc2.14-dbg-x86_<wbr class="">64.AppImage</a>><br class="">
I simply downloaded the package, made is executable with<br class="">
<br class="">
    chmod u+x PhotoFlow-20170307-git-stable-<wbr class="">d1501a91826e6b768af51bf6c734bd<wbr class="">989507915d.glibc2.14-dbg-x86_<wbr class="">64.AppImage<br class="">
<br class="">
and moved is to a folder in the PATH so that is gets automatically found:<br class="">
<br class="">
    mv PhotoFlow-20170307-git-stable-<wbr class="">d1501a91826e6b768af51bf6c734bd<wbr class="">989507915d.glibc2.14-dbg-x86_<wbr class="">64.AppImage $HOME/.local/bin/photoflow<br class="">
<br class="">
<br class="">
This AppImage should be compatible with most of the current Linux distributions, and requires no installation of additional packages… just download the AppImage and run it!<br class="">
<br class=""></blockquote></div></div></div></div>
</div></blockquote></div><br class=""></body></html>