Re: [Gimp-developer] [At GIMP 3 era, The Python Script writing style]

2021-08-03 Thread ShiroYuki Mot via gimp-developer-list
Dear Jehan Pagès, Thanks a lot for your reply.

In GIMP 3, it is mandatory to have all plug-ins in an identically named
> folder as the main script. This is to avoid making a mess in the root
> plug-ins/ directory, and mixing files between plug-ins (which results in
> DLL hell on Windows especially, for instance).
>

I understand. It's a big piece of information. :)
I'll try. (It's too hot in Japan right now, so let's wait for the dropping
temperature to avoid loss of thinking skills. ;) )

2021年8月3日(火) 17:36 Jehan Pagès :

> Hi!
>
> On Tue, Aug 3, 2021 at 5:49 AM ShiroYuki Mot 
> wrote:
>
>> Dear Jehan Pagès, Thanks for your reply even though you are busy.
>>
>> We, the beginners of Python writer feel it is so difficult.
>> I didn't know the devel-docs/GIMP3-plug-in-porting-guide/ folder.
>> (Windows users got only executables...)
>> Reasons for feeling difficult are that gi module firstly needed and
>> plug-ins dialog/registration definitions changed.
>> I said this situation is a "new stage".
>> There doesn't exist the explanation of a 'new' generation of using
>> GObject.
>> So many beginner level users (like me) will be confused.
>> Many GIMP Python/script-fu users are writing code by
>> imitating/copying-pasting, not at the developer level...
>> And there are not many samples...
>>
>> The new API itself is not so difficult, I think so. This is because the
>> documents are carefully supported. ;)
>>
>> Also as said, porting is actually very quick. Some people already started
>>> (there are a bunch of plug-ins with a GIMP 2.99.x version; even G'MIC can
>>> work on 2.99.x). The base logics of our plug-in stayed quite similar. So
>>> it's nothing too hard.
>>>
>>
>> Sure! ;)
>>
>>  And one more Question.
>> foggify.py is stored in the same named sub directory.
>> If we write a private script, is it better to be stored in a named sub
>> diretory at users 'plug-ins' directory?
>>
>
> In GIMP 3, it is mandatory to have all plug-ins in an identically named
> folder as the main script. This is to avoid making a mess in the root
> plug-ins/ directory, and mixing files between plug-ins (which results in
> DLL hell on Windows especially, for instance).
>
> Jehan
>
>
>>
>>
>> 2021年8月3日(火) 2:29 Jehan Pagès :
>>
>>> Hi!
>>>
>>> On Mon, Aug 2, 2021 at 3:15 PM ShiroYuki Mot <
>>> shiroyuki.mot.m...@gmail.com> wrote:
>>>
 Dear Jehan Pagès, Thanks for reply.

 Mostly yes. There will probably be some more changes so you will have
> to change more from time to time until GIMP 3 release (when it will be
> finalized).
>

  Basically, the current scripting style is on a new stage, isn't it?

>>>
>>> I don't really understand what you mean by "new stage". 
>>>
>>> We can learn the basic writing from this.

 Not really. This is on my TODO list to write proper docs. We have some
> starts in the devel-docs/GIMP3-plug-in-porting-guide/ folder in the
> repository, but nothing yet which you can really call a proper
> "documentation".
>

  Maybe, because of the difference from GIMP 2.10 scripting, many people
 will need the guide to write/rewrite.
 I think that the porting will be not so easy...

>>>
>>> Most plug-ins can be actually ported in less than 30 min (let's say 2 or
>>> 3 hours for someone who does this for the first time by just following a
>>> tutorial; nothing insurmountable). I say it by experience from having
>>> ported a huge portion of core plug-ins.
>>>
>>>
 I feel that the hurdle is higher than before when it was possible to
 replace api name/enumeration name.
 Even now, there is a lot of talk that old plug-ins don't work

>>>
>>> Our API has been stable for a long long time. Actually the cases of
>>> broken plug-ins which we can see here and there are plug-ins which have
>>> been basically abandoned/unmaintained for years and years. In such case,
>>> first there were deprecation warning triggering popups then much later,
>>> functions were removed. So we are talking plug-ins which have not been
>>> updated for like 10 or 15 years!
>>>
>>>
 , but with GIMP 3, many more/most will be wiped out.

>>>
>>> Sure. We did a choice of going with a cleaner API. Sometimes I wonder if
>>> that was not a mistake and we should have tried compatibility as much as
>>> possible. On the other hand, we would have lost so much. In any case, it's
>>> too late now. We are not going to redo everything.
>>>
>>> Also as said, porting is actually very quick. Some people already
>>> started (there are a bunch of plug-ins with a GIMP 2.99.x version; even
>>> G'MIC can work on 2.99.x). The base logics of our plug-in stayed quite
>>> similar. So it's nothing too hard.
>>>
>>> And once again, same as the v2 API has been around for more than 15
>>> years, I expect the v3 API to stay for quite some time. We are not planning
>>> to break API all the time. 
>>>
>>>

> It's never premature to write docs. Sure there will be changes, and

Re: [Gimp-developer] [At GIMP 3 era, The Python Script writing style]

2021-08-02 Thread ShiroYuki Mot via gimp-developer-list
Dear Jehan Pagès, Thanks for your reply even though you are busy.

We, the beginners of Python writer feel it is so difficult.
I didn't know the devel-docs/GIMP3-plug-in-porting-guide/ folder.
(Windows users got only executables...)
Reasons for feeling difficult are that gi module firstly needed and
plug-ins dialog/registration definitions changed.
I said this situation is a "new stage".
There doesn't exist the explanation of a 'new' generation of using GObject.
So many beginner level users (like me) will be confused.
Many GIMP Python/script-fu users are writing code by
imitating/copying-pasting, not at the developer level...
And there are not many samples...

The new API itself is not so difficult, I think so. This is because the
documents are carefully supported. ;)

Also as said, porting is actually very quick. Some people already started
> (there are a bunch of plug-ins with a GIMP 2.99.x version; even G'MIC can
> work on 2.99.x). The base logics of our plug-in stayed quite similar. So
> it's nothing too hard.
>

Sure! ;)

 And one more Question.
foggify.py is stored in the same named sub directory.
If we write a private script, is it better to be stored in a named sub
diretory at users 'plug-ins' directory?



2021年8月3日(火) 2:29 Jehan Pagès :

> Hi!
>
> On Mon, Aug 2, 2021 at 3:15 PM ShiroYuki Mot 
> wrote:
>
>> Dear Jehan Pagès, Thanks for reply.
>>
>> Mostly yes. There will probably be some more changes so you will have to
>>> change more from time to time until GIMP 3 release (when it will be
>>> finalized).
>>>
>>
>>  Basically, the current scripting style is on a new stage, isn't it?
>>
>
> I don't really understand what you mean by "new stage". 
>
> We can learn the basic writing from this.
>>
>> Not really. This is on my TODO list to write proper docs. We have some
>>> starts in the devel-docs/GIMP3-plug-in-porting-guide/ folder in the
>>> repository, but nothing yet which you can really call a proper
>>> "documentation".
>>>
>>
>>  Maybe, because of the difference from GIMP 2.10 scripting, many people
>> will need the guide to write/rewrite.
>> I think that the porting will be not so easy...
>>
>
> Most plug-ins can be actually ported in less than 30 min (let's say 2 or 3
> hours for someone who does this for the first time by just following a
> tutorial; nothing insurmountable). I say it by experience from having
> ported a huge portion of core plug-ins.
>
>
>> I feel that the hurdle is higher than before when it was possible to
>> replace api name/enumeration name.
>> Even now, there is a lot of talk that old plug-ins don't work
>>
>
> Our API has been stable for a long long time. Actually the cases of broken
> plug-ins which we can see here and there are plug-ins which have been
> basically abandoned/unmaintained for years and years. In such case, first
> there were deprecation warning triggering popups then much later, functions
> were removed. So we are talking plug-ins which have not been updated for
> like 10 or 15 years!
>
>
>> , but with GIMP 3, many more/most will be wiped out.
>>
>
> Sure. We did a choice of going with a cleaner API. Sometimes I wonder if
> that was not a mistake and we should have tried compatibility as much as
> possible. On the other hand, we would have lost so much. In any case, it's
> too late now. We are not going to redo everything.
>
> Also as said, porting is actually very quick. Some people already started
> (there are a bunch of plug-ins with a GIMP 2.99.x version; even G'MIC can
> work on 2.99.x). The base logics of our plug-in stayed quite similar. So
> it's nothing too hard.
>
> And once again, same as the v2 API has been around for more than 15 years,
> I expect the v3 API to stay for quite some time. We are not planning to
> break API all the time. 
>
>
>>
>>> It's never premature to write docs. Sure there will be changes, and sure
>>> it means some of the docs will be wrong and need to be changed before
>>> release. But better start early and fix as we go than write dozens of pages
>>> of documentation at the last minute.
>>>
>>> This is actually a good way to contribute to GIMP with other than code.
>>> The few random files we have in devel-docs/GIMP3-plug-in-porting-guide/
>>> were written by several people already. If you port your own plug-ins and
>>> want to write documentation, do not hesitate. Right now it's a mess because
>>> everyone wrote a bit of what they wanted, but with time and more people
>>> giving time into it, the documentation will organize itself. 
>>>
>>
>>  Let's port! Thanks.
>>
> Cool! 
>
> Jehan
>
>>
>> PS;
>> I tried writing template from GIMP 2.99.6 Foggify.py. So, attached.
>> (Maybe, including many wrong points. UTF-8 CrLf)
>>
>>
>> 2021年8月2日(月) 19:08 Jehan Pagès :
>>
>>> Hi!
>>>
>>> On Mon, Aug 2, 2021 at 9:38 AM ShiroYuki Mot via gimp-developer-list <
>>> gimp-developer-list@gnome.org> wrote:
>>>
 It is the Question (same as
 https://gitlab.gnome.org/GNOME/gimp/-/issues/7114)
 Please teach me.


Re: [Gimp-developer] [At GIMP 3 era, The Python Script writing style]

2021-08-02 Thread Jehan Pagès via gimp-developer-list
Hi!

On Mon, Aug 2, 2021 at 3:15 PM ShiroYuki Mot 
wrote:

> Dear Jehan Pagès, Thanks for reply.
>
> Mostly yes. There will probably be some more changes so you will have to
>> change more from time to time until GIMP 3 release (when it will be
>> finalized).
>>
>
>  Basically, the current scripting style is on a new stage, isn't it?
>

I don't really understand what you mean by "new stage". 

We can learn the basic writing from this.
>
> Not really. This is on my TODO list to write proper docs. We have some
>> starts in the devel-docs/GIMP3-plug-in-porting-guide/ folder in the
>> repository, but nothing yet which you can really call a proper
>> "documentation".
>>
>
>  Maybe, because of the difference from GIMP 2.10 scripting, many people
> will need the guide to write/rewrite.
> I think that the porting will be not so easy...
>

Most plug-ins can be actually ported in less than 30 min (let's say 2 or 3
hours for someone who does this for the first time by just following a
tutorial; nothing insurmountable). I say it by experience from having
ported a huge portion of core plug-ins.


> I feel that the hurdle is higher than before when it was possible to
> replace api name/enumeration name.
> Even now, there is a lot of talk that old plug-ins don't work
>

Our API has been stable for a long long time. Actually the cases of broken
plug-ins which we can see here and there are plug-ins which have been
basically abandoned/unmaintained for years and years. In such case, first
there were deprecation warning triggering popups then much later, functions
were removed. So we are talking plug-ins which have not been updated for
like 10 or 15 years!


> , but with GIMP 3, many more/most will be wiped out.
>

Sure. We did a choice of going with a cleaner API. Sometimes I wonder if
that was not a mistake and we should have tried compatibility as much as
possible. On the other hand, we would have lost so much. In any case, it's
too late now. We are not going to redo everything.

Also as said, porting is actually very quick. Some people already started
(there are a bunch of plug-ins with a GIMP 2.99.x version; even G'MIC can
work on 2.99.x). The base logics of our plug-in stayed quite similar. So
it's nothing too hard.

And once again, same as the v2 API has been around for more than 15 years,
I expect the v3 API to stay for quite some time. We are not planning to
break API all the time. 


>
>> It's never premature to write docs. Sure there will be changes, and sure
>> it means some of the docs will be wrong and need to be changed before
>> release. But better start early and fix as we go than write dozens of pages
>> of documentation at the last minute.
>>
>> This is actually a good way to contribute to GIMP with other than code.
>> The few random files we have in devel-docs/GIMP3-plug-in-porting-guide/
>> were written by several people already. If you port your own plug-ins and
>> want to write documentation, do not hesitate. Right now it's a mess because
>> everyone wrote a bit of what they wanted, but with time and more people
>> giving time into it, the documentation will organize itself. 
>>
>
>  Let's port! Thanks.
>
Cool! 

Jehan

>
> PS;
> I tried writing template from GIMP 2.99.6 Foggify.py. So, attached.
> (Maybe, including many wrong points. UTF-8 CrLf)
>
>
> 2021年8月2日(月) 19:08 Jehan Pagès :
>
>> Hi!
>>
>> On Mon, Aug 2, 2021 at 9:38 AM ShiroYuki Mot via gimp-developer-list <
>> gimp-developer-list@gnome.org> wrote:
>>
>>> It is the Question (same as
>>> https://gitlab.gnome.org/GNOME/gimp/-/issues/7114)
>>> Please teach me.
>>>
>>> At the next coming 2.99.8, the Python script will avoid the crash. (See
>>> #7106 (closed))
>>> (https://gitlab.gnome.org/GNOME/gimp/-/issues/7106)
>>> So, One question I have. It is not the issue!.
>>>
>>> Can I rewrite my own Python scripts by referring to the foggify.py
>>> (official one) writing style bundled with GIMP 2.99.8?
>>>
>>
>> Mostly yes. There will probably be some more changes so you will have to
>> change more from time to time until GIMP 3 release (when it will be
>> finalized).
>>
>> Because of I think that the scripting is so far from GIMP 2.10 era... (Too
>>> high hardles / So difficult)
>>>
>>
>> It's actually simpler in many ways, but yeah it changed (though bases
>> concepts still are the same). That's a fact. Also the Python binding used
>> to have some of the new features already (like dialog generation) which
>> makes the improvements less visible for people who were already making
>> Python plug-ins.
>>
>> Are there any points to be aware of?
>>> Or does the documentation exist for GIMP 3 scripting?
>>>
>>
>> Not really. This is on my TODO list to write proper docs. We have some
>> starts in the devel-docs/GIMP3-plug-in-porting-guide/ folder in the
>> repository, but nothing yet which you can really call a proper
>> "documentation".
>>
>> Is it premature? (Is it better to wait for a while? Will some change
>>> come?)
>>>
>>
>> It's never premature 

Re: [Gimp-developer] [At GIMP 3 era, The Python Script writing style]

2021-08-02 Thread ShiroYuki Mot via gimp-developer-list
Dear Jehan Pagès, Thanks for reply.

Mostly yes. There will probably be some more changes so you will have to
> change more from time to time until GIMP 3 release (when it will be
> finalized).
>

 Basically, the current scripting style is on a new stage, isn't it?
We can learn the basic writing from this.

Not really. This is on my TODO list to write proper docs. We have some
> starts in the devel-docs/GIMP3-plug-in-porting-guide/ folder in the
> repository, but nothing yet which you can really call a proper
> "documentation".
>

 Maybe, because of the difference from GIMP 2.10 scripting, many people
will need the guide to write/rewrite.
I think that the porting will be not so easy...
I feel that the hurdle is higher than before when it was possible to
replace api name/enumeration name.
Even now, there is a lot of talk that old plug-ins don't work, but with
GIMP 3, many more/most will be wiped out.


> It's never premature to write docs. Sure there will be changes, and sure
> it means some of the docs will be wrong and need to be changed before
> release. But better start early and fix as we go than write dozens of pages
> of documentation at the last minute.
>
> This is actually a good way to contribute to GIMP with other than code.
> The few random files we have in devel-docs/GIMP3-plug-in-porting-guide/
> were written by several people already. If you port your own plug-ins and
> want to write documentation, do not hesitate. Right now it's a mess because
> everyone wrote a bit of what they wanted, but with time and more people
> giving time into it, the documentation will organize itself. 
>

 Let's port! Thanks.

PS;
I tried writing template from GIMP 2.99.6 Foggify.py. So, attached. (Maybe,
including many wrong points. UTF-8 CrLf)


2021年8月2日(月) 19:08 Jehan Pagès :

> Hi!
>
> On Mon, Aug 2, 2021 at 9:38 AM ShiroYuki Mot via gimp-developer-list <
> gimp-developer-list@gnome.org> wrote:
>
>> It is the Question (same as
>> https://gitlab.gnome.org/GNOME/gimp/-/issues/7114)
>> Please teach me.
>>
>> At the next coming 2.99.8, the Python script will avoid the crash. (See
>> #7106 (closed))
>> (https://gitlab.gnome.org/GNOME/gimp/-/issues/7106)
>> So, One question I have. It is not the issue!.
>>
>> Can I rewrite my own Python scripts by referring to the foggify.py
>> (official one) writing style bundled with GIMP 2.99.8?
>>
>
> Mostly yes. There will probably be some more changes so you will have to
> change more from time to time until GIMP 3 release (when it will be
> finalized).
>
> Because of I think that the scripting is so far from GIMP 2.10 era... (Too
>> high hardles / So difficult)
>>
>
> It's actually simpler in many ways, but yeah it changed (though bases
> concepts still are the same). That's a fact. Also the Python binding used
> to have some of the new features already (like dialog generation) which
> makes the improvements less visible for people who were already making
> Python plug-ins.
>
> Are there any points to be aware of?
>> Or does the documentation exist for GIMP 3 scripting?
>>
>
> Not really. This is on my TODO list to write proper docs. We have some
> starts in the devel-docs/GIMP3-plug-in-porting-guide/ folder in the
> repository, but nothing yet which you can really call a proper
> "documentation".
>
> Is it premature? (Is it better to wait for a while? Will some change come?)
>>
>
> It's never premature to write docs. Sure there will be changes, and sure
> it means some of the docs will be wrong and need to be changed before
> release. But better start early and fix as we go than write dozens of pages
> of documentation at the last minute.
>
> This is actually a good way to contribute to GIMP with other than code.
> The few random files we have in devel-docs/GIMP3-plug-in-porting-guide/
> were written by several people already. If you port your own plug-ins and
> want to write documentation, do not hesitate. Right now it's a mess because
> everyone wrote a bit of what they wanted, but with time and more people
> giving time into it, the documentation will organize itself. 
>
> Jehan
>
> ___
>> gimp-developer-list mailing list
>> List address:gimp-developer-list@gnome.org
>> List membership:
>> https://mail.gnome.org/mailman/listinfo/gimp-developer-list
>> List archives:   https://mail.gnome.org/archives/gimp-developer-list
>>
>
>
> --
> ZeMarmot open animation film
> http://film.zemarmot.net
> Liberapay: https://liberapay.com/ZeMarmot/
> Patreon: https://patreon.com/zemarmot
> Tipeee: https://www.tipeee.com/zemarmot
>
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#shebang & encoding

import gi
gi.require_version('Gimp', '3.0')
from gi.repository import Gimp
gi.require_version('GimpUi', '3.0')
from gi.repository import GimpUi
from gi.repository import GObject
from gi.repository import GLib
from gi.repository import Gio
#Set Libraries
# 

Re: [Gimp-developer] [At GIMP 3 era, The Python Script writing style]

2021-08-02 Thread Jehan Pagès via gimp-developer-list
Hi!

On Mon, Aug 2, 2021 at 9:38 AM ShiroYuki Mot via gimp-developer-list <
gimp-developer-list@gnome.org> wrote:

> It is the Question (same as
> https://gitlab.gnome.org/GNOME/gimp/-/issues/7114)
> Please teach me.
>
> At the next coming 2.99.8, the Python script will avoid the crash. (See
> #7106 (closed))
> (https://gitlab.gnome.org/GNOME/gimp/-/issues/7106)
> So, One question I have. It is not the issue!.
>
> Can I rewrite my own Python scripts by referring to the foggify.py
> (official one) writing style bundled with GIMP 2.99.8?
>

Mostly yes. There will probably be some more changes so you will have to
change more from time to time until GIMP 3 release (when it will be
finalized).

Because of I think that the scripting is so far from GIMP 2.10 era... (Too
> high hardles / So difficult)
>

It's actually simpler in many ways, but yeah it changed (though bases
concepts still are the same). That's a fact. Also the Python binding used
to have some of the new features already (like dialog generation) which
makes the improvements less visible for people who were already making
Python plug-ins.

Are there any points to be aware of?
> Or does the documentation exist for GIMP 3 scripting?
>

Not really. This is on my TODO list to write proper docs. We have some
starts in the devel-docs/GIMP3-plug-in-porting-guide/ folder in the
repository, but nothing yet which you can really call a proper
"documentation".

Is it premature? (Is it better to wait for a while? Will some change come?)
>

It's never premature to write docs. Sure there will be changes, and sure it
means some of the docs will be wrong and need to be changed before release.
But better start early and fix as we go than write dozens of pages of
documentation at the last minute.

This is actually a good way to contribute to GIMP with other than code. The
few random files we have in devel-docs/GIMP3-plug-in-porting-guide/ were
written by several people already. If you port your own plug-ins and want
to write documentation, do not hesitate. Right now it's a mess because
everyone wrote a bit of what they wanted, but with time and more people
giving time into it, the documentation will organize itself. 

Jehan

___
> gimp-developer-list mailing list
> List address:gimp-developer-list@gnome.org
> List membership:
> https://mail.gnome.org/mailman/listinfo/gimp-developer-list
> List archives:   https://mail.gnome.org/archives/gimp-developer-list
>


-- 
ZeMarmot open animation film
http://film.zemarmot.net
Liberapay: https://liberapay.com/ZeMarmot/
Patreon: https://patreon.com/zemarmot
Tipeee: https://www.tipeee.com/zemarmot
___
gimp-developer-list mailing list
List address:gimp-developer-list@gnome.org
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list