devel docs
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
devel docs | Alexandre Prokoudine | 15 Sep 11:39 |
devel docs | Kevin Cozens | 26 Sep 17:35 |
devel docs | Alexander Rabtchevich | 26 Sep 18:06 |
*** PROBABLY SPAM *** Re: devel docs | gg@catking.net | 26 Sep 20:12 |
devel docs | Kevin Cozens | 08 Oct 21:14 |
devel docs | Sven Neumann | 27 Sep 09:05 |
devel docs | Raphaël Quinet | 27 Sep 15:27 |
devel docs | Sven Neumann | 27 Sep 20:53 |
devel docs
Greetings,
As well as I understand, the switch to TinyFu from Script-Fu for 2.4 is quite possible (considering Tiny-Fu is already shipped with GIMP 2.3.x for Windows by default).
Is it planned to provide documentation for script-fu developers to help them porting their stuff to 2.4, whether the switch to Tiny-Fu occurs or not? Will there be some updated docs like http://www.gimp.org/docs/scheme_plugin/ for beginners?
What I know is that In Tiny-Fu's CVS repo there is a document that
looks like a draft:
http://cvs.gnome.org/viewcvs/gimp-tiny-fu/tinyscheme/Manual.txt and
it's 23 months old.
Thank you in advance, whatever the answer would be
Alexandre
devel docs
Alexandre Prokoudine wrote:
Is it planned to provide documentation for script-fu developers to help them porting their stuff to 2.4, whether the switch to Tiny-Fu occurs or not? Will there be some updated docs like http://www.gimp.org/docs/scheme_plugin/ for beginners?
I don't have any current plans to provide any additional documentation on porting scripts from Script-Fu to Tiny-Fu other than the basic information I already have on the web page. I am considering adding some extra information about dealing with the difference in how to work with items of type STRING_ARRAY.
What I know is that In Tiny-Fu's CVS repo there is a document that looks like a draft:
http://cvs.gnome.org/viewcvs/gimp-tiny-fu/tinyscheme/Manual.txt and it's 23 months old.
That file was part of the original TinyScheme source. It has some useful information for script writers. There is a section in the middle that is only of interest/use to those people working on programs that want (or do) embed TinyScheme in a larger program.
devel docs
I can foresee the next situation with the Gimp 2.4 appearing: a good deal of people asking, why all their scripts do not work anymore. And most of that poor users took these scripts from the official registry.gimp.org. Nobody is guilty, but the users suffer.
If there is a strong intent to replace script-fu by tiny-fu, there
should be some decision made in advance how to handle the upcoming
incompatibility. There can be several steps done _before_the_fact_:
1. Of course, a well visible item at the download page about the
incompatibility.
2. Anyway, short and understandable howto describing rewriting rules of
Gimp script-fu scripts into tiny-fu, even automatic translation script
if it is possible.
3. Mails sent to registry script writers with ask to rewrite their scripts.
The second item is required in any case. It is not very good to replace things incompatible without providing users some way to overcome it. Do not leave users with their troubles without help!
Just my 5c.
Kevin Cozens wrote:
Alexandre Prokoudine wrote:
Is it planned to provide documentation for script-fu developers to help them porting their stuff to 2.4, whether the switch to Tiny-Fu occurs or not? Will there be some updated docs like http://www.gimp.org/docs/scheme_plugin/ for beginners?
I don't have any current plans to provide any additional documentation on porting scripts from Script-Fu to Tiny-Fu other than the basic information I already have on the web page. I am considering adding some extra information about dealing with the difference in how to work with items of type STRING_ARRAY.
What I know is that In Tiny-Fu's CVS repo there is a document that looks like a draft:
http://cvs.gnome.org/viewcvs/gimp-tiny-fu/tinyscheme/Manual.txt and it's 23 months old.That file was part of the original TinyScheme source. It has some useful information for script writers. There is a section in the middle that is only of interest/use to those people working on programs that want (or do) embed TinyScheme in a larger program.
*** PROBABLY SPAM *** Re: devel docs
On Tue, 26 Sep 2006 18:06:19 +0200, Alexander Rabtchevich wrote:
I can foresee the next situation with the Gimp 2.4 appearing: a good deal of people asking, why all their scripts do not work anymore. And most of that poor users took these scripts from the official registry.gimp.org. Nobody is guilty, but the users suffer.
He who breaks is guilty, surely?
Users should not have to deal with this sort of situation.
If there is a strong intent to replace script-fu by tiny-fu, there should be some decision made in advance how to handle the upcoming incompatibility. There can be several steps done _before_the_fact_: 1. Of course, a well visible item at the download page about the incompatibility.
2. Anyway, short and understandable howto describing rewriting rules of Gimp script-fu scripts into tiny-fu, even automatic translation script if it is possible.
3. Mails sent to registry script writers with ask to rewrite their scripts.
We see already how messy this could get.
The second item is required in any case. It is not very good to replace things incompatible without providing users some way to overcome it. Do not leave users with their troubles without help!
Just my 5c.
Linux is already a jungle of dependancy and compatability issues. The primary function of the multitudenous distros is to handle this nightmare on behalf of thier collective user-base. The situation should not be exasperated.
Bringing in such incompatiblities inside a project from one minor release to another seems unacceptable to me (as a user).
This will be even less acceptable to Windows users who have always been used to the highest level of backwards compatability.
The user should not have to deal with worse than "Older format scripts have been found on your system, do you want to covert them now?"
If that cannot be achieved, either the change should not take place or Fu should be retained in parallel until at least Gimp-3.0
[IMHO....2c, flame-retarder, etc.]
devel docs
Hi,
On Fri, 2006-09-15 at 13:39 +0400, Alexandre Prokoudine wrote:
As well as I understand, the switch to TinyFu from Script-Fu for 2.4 is quite possible (considering Tiny-Fu is already shipped with GIMP 2.3.x for Windows by default).
It is very unlikely that 2.4 will ship with tiny-fu. The next Windows installer will also not include it any longer. We have had the chance to do the transition earlier but for various reasons (most of them simply communication problems), it didn't happen. Now we should give it another attempt at the beginning of the next development cycle.
Sven
devel docs
On Wed, 27 Sep 2006 09:05:52 +0200, Sven Neumann wrote:
On Fri, 2006-09-15 at 13:39 +0400, Alexandre Prokoudine wrote:
As well as I understand, the switch to TinyFu from Script-Fu for 2.4 is quite possible (considering Tiny-Fu is already shipped with GIMP 2.3.x for Windows by default).
It is very unlikely that 2.4 will ship with tiny-fu. The next Windows installer will also not include it any longer. We have had the chance to do the transition earlier but for various reasons (most of them simply communication problems), it didn't happen. Now we should give it another attempt at the beginning of the next development cycle.
I disagree. 2.4 should definitely ship with Tiny-fu, as it makes debugging and i18n easier than Script-Fu and it deals with several features of Scheme in a better way.
You mentioned last week that you wouldn't be against switching to Tiny-Fu in 2.4 if the remaining problems (mainly the namespace issues) could be solved in time. It looks like Kevin had been previously discouraged from fixing these problems because there were communication problems between you and him. But now he has taken the time to work on these changes: you will notice that Tiny-Fu can now read *.scm scripts instead of *.sct. I suppose that it will not take long until Tiny-Fu can process most Script-Fu scripts unmodified (e.g., handling script-fu-register and so on).
Since a few days ago, Tiny-Fu is now a replacement for Script-Fu instead of being simply something that can be installed on the side: it uses the same namespace now. I have already started building my GIMP with --disable-script-fu and I see that Tiny-Fu works well (as it did before, but then it was using its own namespace). There are still some minor issues with old third-party scripts because the transition from the tiny-fu to the script-fu namespace is not finished yet, but it already works well. And I trust Kevin for finishing the renaming soon.
Please do not block Tiny-Fu again. It is more mature and more stable than several other pieces of code that have been introduced in CVS in the last weeks. If it can run most of the old scripts unmodified, there is really no reason to delay this long overdue replacement of Script-Fu. The Windows installer has shown the right way, let's follow it for all platforms.
-Raphaël
devel docs
Hi,
On Wed, 2006-09-27 at 15:27 +0200, Raphaël Quinet wrote:
You mentioned last week that you wouldn't be against switching to Tiny-Fu in 2.4 if the remaining problems (mainly the namespace issues) could be solved in time. It looks like Kevin had been previously discouraged from fixing these problems because there were communication problems between you and him. But now he has taken the time to work on these changes: you will notice that Tiny-Fu can now read *.scm scripts instead of *.sct. I suppose that it will not take long until Tiny-Fu can process most Script-Fu scripts unmodified (e.g., handling script-fu-register and so on).
Kevin should then tell us about this. He has not been discouraged to do those changes. I rather had the impression that he didn't want to do those changes because he seemed to have a different vision for tiny-fu. I believe that he doesn't want it to replace Script-Fu but I am willing to change my mind if he declares that this is the goal. We can then discuss the timeframe and implementation details of such a change.
Sven
devel docs
Greetings.
I've known for a long time that there will be some differences between Script-Fu and Tiny-Fu and some of those changes are unavoidable. I have tried to minimize the number of differences. The script-fu-compat.init file was created specifically to address some of the differences between the SIOD and TinyScheme interpreters. Some differences between SIOD and TinyScheme can not be handled by some compatability routines some SIOD functions are in direct conflict with the Scheme standards or are extensions of the standard and are not supported by TinyScheme.
A switch to Tiny-Fu will affect some of the scripts available in the registry as well as others floating around the net. When this issue was raised in this thread I took a look at the registry. The registry did not seem to indicate with which version of GIMP a given Script-Fu script was meant to be used. I think you will find some scripts in the registry that won't run properly (if at all) when using Script-Fu and a 2.2 or 2.3/CVS version of GIMP.
Before claiming a given script fails to run due to a switch to Tiny-Fu the script would need to be tested using Script-Fu and a current version of GIMP. A number of older scripts (such as ones written for GIMP versions prior to 2.0) will likely fail with Script-Fu and a current version of GIMP and, therefore, would also fail when run with Tiny-Fu.
In e-mails I have sent in the past, I tried to suggest steps towards a change to Tiny-Fu that would provide a period of transition where users would be able to start using Tiny-Fu while still having the ability to use Script-Fu should someone really need to use Script-Fu. It was only recently that I learned that the plan was to not provide a transition period.
The switch to Tiny-Fu could be held off until the 3.0 version of GIMP is released. My guess (based on what I think is the general route to 3.0) is that a switch to Tiny-Fu would be delayed by as much as another two years. The 2.4 version is coming soon, then 2.6 which will have the SoC projects and other items that were too late for 2.4, followed by a major shakeup in the code when GEGL is integrated with GIMP. I would expect this last stage to require the largest amount of development on the road to 3.0.
Regardless of how and when the change will occur, a notice about the change should be made in the GIMP release announcement and on the web site. If I can find a simple script (or portion of a script) that I could see about putting together an example of how to adapt a script to Tiny-Fu. This still won't help the users who don't see the notice or don't bother to read it. There will always be some people who don't pay attention to such notices.
At the moment, there is no way to know a user is running an old script whether it is being run by Script-Fu or Tiny-Fu. Automatic conversion of a script to make it work with Tiny-Fu is also something that could not be easily done. Dealing with issues such as a local variable being accessed as a global are more easily fixed by hand.
The last message from Sven in this thread is an example of how he and I seem to have these failures to communicate regarding Tiny-Fu. Reading his comments would make you think he hasn't read the Tiny-Fu web page or some of the previous e-mails about Tiny-Fu or that he has simply forgotten some of the information about it. The web site and some of the e-mails about Tiny-Fu should have made it clear that my intentions towards Tiny-Fu have always been, and still remain, that it would be able to (and eventually will) replace Script-Fu. It has been a long standing question as to exactly how and when such a change would take place.
I had been discouraged from making the namespace changes to Tiny-Fu in the past partly due to the communication problems but also due to the resistance to the idea of pulling Script-Fu out of the GIMP source tree in to a separate module (which was the plan a couple of years ago).
In order to develop Tiny-Fu I needed to install it alongside Script-Fu in order to verify that both plug-ins provided identical results when running the same script. To do that required the use of a different namespace for Tiny-Fu. Once Tiny-Fu was able to run all of the original Script-Fu scripts and there was a configuration flag I could use to prevent the building and installation of Script-Fu it was possible to have Tiny-Fu use the same namespace as Script-Fu. The changes to the Tiny-Fu source needed to use the same namespace as Script-Fu have been made. This also means it is no longer possible (or at the very least, not recommended) to have the Script-Fu and Tiny-Fu plug-ins installed at the same time in a 2.3/CVS version of GIMP.
Another message thread has started which is suggesting how a change to Tiny-Fu could be done and that such a change might be accepted for the 2.4 version of GIMP. I'm not going to get too excited or hopeful about this just yet. I've been down this road before (twice before IIRC) only to find out a little later that it was decided to put off the change until a later release.
Stay tuned to gimp-devel to find out if the change will make in to the next release this time or not. :-)