[Gimp-developer] Tiny-Fu: A new plug-in for GIMP

2004-07-06 Thread Kevin Cozens
Greetings, everyone.
For some months now I have been working on a new plug-in for the 2.1 
version of GIMP. I have been calling this new plug-in Tiny-Fu. Some of the 
people on this list who use the #gimp IRC channel have already heard about 
this plug-in.

Tiny-Fu is a plug-in for the 2.1 (and later) series of the 
http://www.gimp.org/GIMP. It is essentially a modified version of the 
Script-Fu plug-in but with some major differences. The main difference is 
in the Scheme interpreter being used.

I have created a web page for Tiny-Fu. The URL for the page is:
http://www.interlog.com/~kcozens/software/gimp/tiny-fu.html
A tarball of Tiny-Fu is available but at the moment it must be hooked in to 
the GIMP 2.1 source tree using the supplied patch file. A standalone 
version will be available later.

The web page contains additional information about the plug-in as well as 
the status of the work being done on it. Currently it is somewhere between 
the alpha and beta stage of development. It ran its first script in April 
of this year (ts-helloworld.sct) and as of July 6, I have updated 57 of the 
96 Script-Fu scripts to work with Tiny-Fu.

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:[EMAIL PROTECTED]|  Try to assimilate the world!
#include disclaimer/favourite   |  -Pinkutus  the Borg
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Tiny-Fu: A new plug-in for GIMP

2004-07-06 Thread Sven Neumann
Hi,

Kevin Cozens [EMAIL PROTECTED] writes:

 I have created a web page for Tiny-Fu. The URL for the page is:
 http://www.interlog.com/~kcozens/software/gimp/tiny-fu.html
 A tarball of Tiny-Fu is available but at the moment it must be hooked
 in to the GIMP 2.1 source tree using the supplied patch file. A
 standalone version will be available later.
 
 The web page contains additional information about the plug-in as well
 as the status of the work being done on it. Currently it is somewhere
 between the alpha and beta stage of development. It ran its first
 script in April of this year (ts-helloworld.sct) and as of July 6, I
 have updated 57 of the 96 Script-Fu scripts to work with Tiny-Fu.

We talked about script-fu and tiny-fu at GIMPCon and agreed that we'd
like to see Script-Fu removed from the GIMP source tree as soon as
Tiny-Fu is available as a separate package that can replace it. This
could happen for GIMP 2.2 provided that Tiny-Fu is ready by that time.

I have a couple of questions about Tiny-Fu. Please excuse if they are
already answered on your web-page, I didn't look at it yet. Just point
me to the FAQ then.

(1) Is Tiny-Fu supposed to run scripts written for Script-Fu? If so,
will this be some kind of compatibility layer or perhaps just a
script that helps to convert old scripts?

(2) Is Tiny-Fu supposed to run as a permanent extension like the
current Script-Fu implementation or will it start a new
interpreter when needed and exit when the script is done?

(3) Somewhat related to question (2), will Tiny-Fu allow scripts to be
run concurrently? I know that the GIMP core doesn't like this very
much at the moment but it would still be nice to have a script
engine that allows it. That would put more pressure on making the
core reentrant.


Sven
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Tiny-Fu: A new plug-in for GIMP

2004-07-06 Thread Simon Budig
Sven Neumann ([EMAIL PROTECTED]) wrote:
 (1) Is Tiny-Fu supposed to run scripts written for Script-Fu? If so,
 will this be some kind of compatibility layer or perhaps just a
 script that helps to convert old scripts?

There are a few small differences between Tiny-Scheme and SIOD, some
of them are listed on the webpage.

Tiny-Fu will not run the same scripts as Script-Fu, since SIOD allows
some dirty tricks that are not nice. The most evil thing (that gets
fixed by Tiny-Fu) is the use of (set! ) on a not yet defined variable.

Some scripts do that kind of stuff and there even were some bugs
in the Scripts because of this. These Scripts need to become sanitized
to be able to run under the new Scheme interpreter.

There are some other differences, but I am not exactly sure about their
consequences. Some might be hidden by some small helper functions, I
am however not sure if this is desireable.

Bye,
Simon

-- 
  [EMAIL PROTECTED]  http://simon.budig.de/
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Tiny-Fu: A new plug-in for GIMP

2004-07-06 Thread Kevin Cozens
At 01:18 PM 07/06/2004, Sven Neumann wrote:
We talked about script-fu and tiny-fu at GIMPCon and agreed that we'd
like to see Script-Fu removed from the GIMP source tree as soon as
Tiny-Fu is available as a separate package that can replace it.
The Tiny-Fu tarball can exist in the GIMP source tree just as Script-Fu 
does now since its of a comparable size. Having it as a separate package 
would make it easier for others to try it who aren't building GIMP from source.

 This
could happen for GIMP 2.2 provided that Tiny-Fu is ready by that time.
It would be helpful to know of anything that might block this. Other than 
the lack of support for binary data (ie. it can't work with GIMP parasites) 
at the moment, and the translation files need to be updated, I think 
Tiny-Fu is in as good a shape (if not better in some ways) than Script-Fu.

I have a couple of questions about Tiny-Fu.
No, problem. I don't really have an FAQ yet so your questions can help me 
create one.

(1) Is Tiny-Fu supposed to run scripts written for Script-Fu?
The answer is yes, however...
I wanted to keep Script-Fu on my machine while working on Tiny-Fu. As a 
result, I had to make them co-exist. The scripts run by Tiny-Fu must end in 
.sct rather than .scm as they do for Script-Fu. Also, any references to 
Script-Fu in scripts must be changed to Tiny-Fu (preserving case).

Once those changes have been done, some scripts will work as is. Some 
scripts need to have variables defined before first use. Some scripts 
(especially those that work with GIMP parasites, use arrays, or use 
features of Scheme unique to the SIOD interpreter) will need other changes. 
The web page contains some information about updating a Script-Fu script 
for use with Tiny-Fu.

If so,
will this be some kind of compatibility layer or perhaps just a
script that helps to convert old scripts?
A script could be created to handle the simpler changes required to make a 
Script-Fu script work with Tiny-Fu but some scripts will still require 
changes to be made by hand.

(2) Is Tiny-Fu supposed to run as a permanent extension like the
current Script-Fu implementation or will it start a new
interpreter when needed and exit when the script is done?
I made a full copy of Script-Fu as the starting point for Tiny-Fu. It 
currently works just like Script-Fu does but that doesn't meant it can't 
(or won't) change in the future.

(3) Somewhat related to question (2), will Tiny-Fu allow scripts to be
run concurrently?
[snip]
 That would put more pressure on making the
core reentrant.
This quote from the TinyScheme authors web site might help. As an embedded 
interpreter, it [TinyScheme] allows multiple interpreter states to coexist 
in the same program, without any interference between them.

With the recent changes to GIMP regarding context and the fact I access all 
features of the TinyScheme interpreter via its interface mechanism, it 
should be possible to have scripts run concurrently.

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:[EMAIL PROTECTED]|  Try to assimilate the world!
#include disclaimer/favourite   |  -Pinkutus  the Borg
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Tiny-Fu: A new plug-in for GIMP

2004-07-06 Thread Kevin Cozens
At 03:27 PM 07/06/2004, Joao wrote:
One of the major showstopers for script-fu as of lately is it inability to
handle UTF-8 strings. Is tiny scheme able to do so?
No, TinyScheme does not handle UTF-8 strings. UTF-8 support is already on 
the ToDo list since Sven already raised the issue on #gimp.

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:[EMAIL PROTECTED]|  Try to assimilate the world!
#include disclaimer/favourite   |  -Pinkutus  the Borg
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer