Greetings, all.
The topic of Tiny-Fu as a replacement for Script-Fu surfaced once again.
This time in comment #2 of bug #329443 in Bugzilla. This was followed up
in comment #4 with:
In response to comment #2: I have no idea what Kevin is waiting for. It
seems that he lost interest in doing this change. I also have no idea
if he has restored Script-Fu compatibility. Last I checked this wasn't
the case and Tiny-Fu wasn't ready to replace Script-Fu.
I wasn't waiting for anything but I'm not going to make such a big
change to GIMP without an ok and plan on how this should be done from
the core developers. I also haven't lost interest in Tiny-Fu. I was busy
on an important project for a client for the better part of a year. Once
that project slowed down and I had some free time once again I was
working on some other projects that had been put off for a while.
Basic information about, and status of, Tiny-Fu
Tiny-Fu is stable and has been working well for some time now for both
the 2.2 and CVS versions of GIMP. Most of the recent changes being made
were to keep in line with changes made in Script-Fu. All of the scripts
which accompany Script-Fu are available and working for Tiny-Fu except
for the spyrogimp script.
Tiny-Fu is not, and will not be, a 100% compatible drop-in replacement
for Script-Fu due to differences in the Scheme interpreter used vs. the
one used in Script-Fu.
Differences and problems compared to Script-Fu
1. The filenames of Tiny-Fu scripts must end in .sct to avoid conflicts
with Script-Fu scripts.
2. Scripts must use Tiny-Fu/tiny-fu instead of Script-Fu/script-fu in
public function names and in the register block.
3. Variables must be defined before first use.
4. Local variables are local in scope and not global as they are in
Script-Fu.
5. Parsing (and execution of scripts?) seems a bit slower compared to
Tiny-Fu.
6. Tiny-Fu includes many of the SIOD functions via a compatability layer.
Comments regarding the above points
1. The tools used to extract strings marked for translation do not
recognize the .sct extension as indicating a file containing Scheme
code. This means that no strings are extracted from the scripts unless
you patch intltools.
2. This means a certain minor amount of work is required for any script
which is to be run with Tiny-Fu.
3. This results in another incompatability with Script-Fu as it allows
variables to be used that were not previously defined.
5. This may be due in part to the support for UTF-8.
6. Not all of the SIOD functions available in Script-Fu are available in
Tiny-Fu. Also, due to differences between the two interpreters some SIOD
functions can not be implemented in Tiny-Fu.
Advantages of Tiny-Fu vs. Script-Fu
o Uses a Scheme interpreter which is still being developed.
o Easier to debug scripts by turning tracing on and off.
o Better compliance with the R5RS Scheme standard making it a little
easier to use if you are already familiar with Scheme.
o Handles UTF-8 coded characters and strings.
o String arrays are handled as arrays just like the other array types.
This can save a lot of data nodes (ie. memory) compared to using a
list which is used in Script-Fu.
o Extra date, time, and file-handling routines. Also regex based pattern
matching.
A contact sheet script demonstrates some of the new possibilities for
scripts that may not be possible to write with standard Script-Fu.
o Support for SF-RADIO parameter in register blocks
This is a work in progress and is not yet in CVS. It should be ready soon.
o Ability to use run-time loadable extensions.
This feature is currently disabled. I am considering re-enabling it as
part of the work for version 2.0 of Tiny-Fu.
What next?
Script-Fu should be removed from the GIMP source tree and made available
as a separately developed project. This would allow the first two issues
listed under "Differences" to be easily solved. It would also make it
easier to transition from Script-Fu to Tiny-Fu. Packagers and users
would be free to choose whether they wanted to continue using Script-Fu
or if they would prefer to use the newer Tiny-Fu plug-in.
There have been some previous discussions about removing Script-Fu from
the main GIMP source tree. It would be up to packagers of GIMP as to how
they will package it and which projects in CVS they include in their
packages. The GIMP web site can provide information as to the moving of
Script-Fu out of the main source tree in to a separate tree.
In regards to some people thinking that moving Script-Fu out of the GIMP
source tree is going to make some people feel Script-Fu is being retired
they would be correct. A number of the GIMP developers have been wanting
Script-Fu to die for some time. It has just been a question of when,
rather than if, it will happen.
I think that about covers the issues relating to Tiny-Fu. What is needed
now is some consensus as to how best to proceed in light of the 2.4
release of GIMP which is getting closer.
--
Cheers!
Kevin. (http://www.interlog.com/~kcozens/)
Owner of Elecraft K2 #2172 |"What are we going to do today, Borg?"
E-mail:kcozens at interlog dot com|"Same thing we always do, Pinkutus:
Packet:ve3syb@ve3yra.#con.on.ca.na| Try to assimilate the world!"
#include <disclaimer/favourite> | -Pinkutus & the Borg
_______________________________________________
Gimp-developer mailing list
Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer