[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: RAW processing plug-in - any interest?
From:       PhotoFlow Editor <photofloweditor () gmail ! com>
Date:       2017-03-11 12:52:58
Message-ID: 4D9E09E3-7E54-4948-B3DF-16C5F01779EE () gmail ! com
[Download RAW message or body]

> On 11 Mar 2017, at 04:27, EI <geneing@gmail.com> wrote:
> 
> Screencast looks impressive! 

Thanks! :-)

> 
> - 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 
> - 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. 

I will look into both...

> 
> - Have you looked at QProcess? http://doc.qt.io/qt-5/qprocess.html \
> <http://doc.qt.io/qt-5/qprocess.html>
That's exactly what I was looking for, thanks!

> 
> - You can probably request a developer account. boud@valdyas.org \
> <mailto:boud@valdyas.org> may be able to help. Is your plugin code available \
> through https://github.com/aferrero2707/PhotoFlow \
> <https://github.com/aferrero2707/PhotoFlow>? 

I have forked the Krita github repository and issued a pull request: \
https://github.com/KDE/krita/pull/1 <https://github.com/KDE/krita/pull/1>

I think that for the moment this is probably the safest way to proceed…

Andrea

> 
> Eugene
> 
> 
> 
> 
> Today's Topics:
> 
> 1. Re: RAW processing plug-in - any interest? (PhotoFlow Editor)
> (PhotoFlow Editor)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 9 Mar 2017 14:41:59 +0100
> From: PhotoFlow Editor <photofloweditor@gmail.com \
>                 <mailto:photofloweditor@gmail.com>>
> To: Krita's developers and users mailing list <kimageshop@kde.org \
>                 <mailto:kimageshop@kde.org>>
> Subject: Re: RAW processing plug-in - any interest? (PhotoFlow Editor)
> Message-ID: <DFC8CB20-2075-4244-94DA-10377E0FC8FF@gmail.com \
>                 <mailto:DFC8CB20-2075-4244-94DA-10377E0FC8FF@gmail.com>>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi!
> 
> 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: https://youtu.be/9K6RJv-O6Yw <https://youtu.be/9K6RJv-O6Yw> \
> <https://youtu.be/9K6RJv-O6Yw <https://youtu.be/9K6RJv-O6Yw>> 
> 
> 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): \
>                 
> - 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… 
> - 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 GIMP provides such \
> mechanism through functions like gimp_parasite_new() \
> (https://developer.gimp.org/api/2.0/libgimpbase/libgimpbase-gimpparasite.html \
> <https://developer.gimp.org/api/2.0/libgimpbase/libgimpbase-gimpparasite.html> \
> <https://developer.gimp.org/api/2.0/libgimpbase/libgimpbase-gimpparasite.html \
> <https://developer.gimp.org/api/2.0/libgimpbase/libgimpbase-gimpparasite.html>>) \
> and gimp_item_attach_parasite() \
> (https://developer.gimp.org/api/2.0/libgimp/libgimp-gimpitem.html \
> <https://developer.gimp.org/api/2.0/libgimp/libgimp-gimpitem.html> \
> <https://developer.gimp.org/api/2.0/libgimp/libgimp-gimpitem.html \
> <https://developer.gimp.org/api/2.0/libgimp/libgimp-gimpitem.html>>) 
> - 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… 
> - what is the best way to distribute the preliminary code so that experts can have \
> a look? 
> 
> By the way, the photoflow executable used for the test in the screencast is \
> actually this AppImage package: \
> https://github.com/aferrero2707/PhotoFlow/releases/download/continuous/PhotoFlow-201 \
> 70307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage \
> <https://github.com/aferrero2707/PhotoFlow/releases/download/continuous/PhotoFlow-20 \
> 170307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage> \
> <https://github.com/aferrero2707/PhotoFlow/releases/download/continuous/PhotoFlow-20 \
> 170307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage \
> <https://github.com/aferrero2707/PhotoFlow/releases/download/continuous/PhotoFlow-20 \
> 170307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage>>
>  I simply downloaded the package, made is executable with
> 
> chmod u+x PhotoFlow-20170307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage
>  
> and moved is to a folder in the PATH so that is gets automatically found:
> 
> mv PhotoFlow-20170307-git-stable-d1501a91826e6b768af51bf6c734bd989507915d.glibc2.14-dbg-x86_64.AppImage \
> $HOME/.local/bin/photoflow 
> 
> 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! 


[Attachment #3 (unknown)]

<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 &lt;<a \
href="mailto:geneing@gmail.com" class="">geneing@gmail.com</a>&gt; wrote:</div><br \
class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Screencast \
looks impressive!&nbsp;</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.&nbsp;</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?&nbsp;<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.&nbsp;<a href="mailto:boud@valdyas.org" class="">boud@valdyas.org</a> may be \
able to help. Is your plugin code available through&nbsp;<a \
href="https://github.com/aferrero2707/PhotoFlow" \
class="">https://github.com/aferrero2707/PhotoFlow</a>?&nbsp;</div></div></div></blockquote><div><br \
class=""></div><div>I have forked the Krita github repository and issued a pull \
request:&nbsp;<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="">
&nbsp; &nbsp;1. Re: RAW processing plug-in - any interest? (PhotoFlow Editor)<br \
class=""> &nbsp; &nbsp; &nbsp; (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 &lt;<a href="mailto:photofloweditor@gmail.com" \
                class="">photofloweditor@gmail.com</a>&gt;<br class="">
To: Krita's developers and users mailing list &lt;<a href="mailto:kimageshop@kde.org" \
                class="">kimageshop@kde.org</a>&gt;<br class="">
Subject: Re: RAW processing plug-in - any interest? (PhotoFlow Editor)<br class="">
Message-ID: &lt;<a href="mailto:DFC8CB20-2075-4244-94DA-10377E0FC8FF@gmail.com" \
class="">DFC8CB20-2075-4244-94DA-<wbr class="">10377E0FC8FF@gmail.com</a>&gt;<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> &lt;<a href="https://youtu.be/9K6RJv-O6Yw" \
rel="noreferrer" target="_blank" class="">https://youtu.be/9K6RJv-O6Yw</a>&gt;<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> &lt;<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>&gt;<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> &lt;<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>&gt;)<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> &lt;<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>&gt;<br class=""> \
I simply downloaded the package, made is executable with<br class=""> <br class="">
&nbsp; &nbsp; 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="">
&nbsp; &nbsp; 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>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic