<?xml version="1.0" ?>

<kc>

<title>Gimp Traffic</title>

<author contact="mailto:alexh@dowco.com">Alex Harford</author>

<issue num="12" date="04 Feb 2000 00:00:00 -0800" />

<intro>

<p>Marc Lehmann announced to the list that a new plug-ins tree is available:</p>

<p>The gimp-plug-ins project on sourceforge is an experiment to give plug-in
authors their own cvs, their own webpages, their own mailing-lists and
more, while having a good time with the other plug-in authors, all at the
same place.</p>

<p>

<ul>

<li>"Our" (empty) pages are at <a
href="http://gimp-plug-ins.sourceforge.net/">http://gimp-plug-ins.sourceforge.net/</a></li>

<li>The cvs server is at <a
href="http://cvs.sourceforge.net">cvs.sourceforge.net</a> (module gimp).</li>

<li>You can easily find it on <a
href="http://sourceforge.net/">http://sourceforge.net/</a> by searching for
"Gimp Plug-ins".</li>

</ul>

</p>

</intro>

<stats posts="286" size="868" contrib="63" multiples="35" lastweek="35">

<person posts="58" size="205" who="Marc Lehmann &lt;marc@gimp.org&gt;" />
<person posts="34" size="74" who="Kelly Lynn Martin &lt;kelly@poverty.bloomington.in.us&gt;" />
<person posts="28" size="91" who="Daniel.Egger@suse.de" />
<person posts="21" size="67" who="Sven Neumann &lt;neumanns@uni-duesseldorf.de&gt;" />
<person posts="12" size="45" who="Robert L Krawitz &lt;rlk@alum.mit.edu&gt;" />
</stats>

<section
  title="A Separate CVS For Plug-Ins"
  subject="Speaking of additional plug-ins"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg01099.html"
  posts="15"
  startdate="24 Jan 2000 00:00:00 -0800"
  enddate="27 Jan 2000 00:00:00 -0800"
>

<mention>Sven Neumann </mention>
<mention></mention>

<p>Michael Taylor wrote the list one day saying, <quote who="Michael Taylor">I
have a couple of image format plug-ins available for the GIMP one is included
with the GIMP (pix) and one of them (formerly tdi, now MayaIFF) has been
in the unstable tree since before 1.0 was released. The latest version,
as always, is in the plug-in registry.</quote></p>

<p>He continued to explain that it would be easiest if he could get his
plug-in into the main tree, since most people who need this plug-in do not
have access to a compiler.</p>

<p>Marc Lehmann had some suggestions:</p>

<quote who="Marc Lehmann">

<p>I think the issue is independent of the type of the plug-in.</p>

<p>However, I don't believe in the "we accept no more useful plug-ins,
since we already have so many useless ones in the tree" argument.</p>

<p>Falks: what about that "secondary cvs server for plug-ins"-idea? I only
remember a few posotive responses, but no really negative ones. Is it only
that nobody has the time to set one up?</p>

</quote>

<p>Garry R. Osgood also had some ideas:</p>

<quote who="Garry R. Osgood">

<p>For the record, I think a plug-in CVS tree independent of Gimp is a good
idea.  At the time this was discussed, the office of a "plugin-maintainer"
was also posed, the person who whould keep the CVS plugin tree well-pruned. The
two ideas go hand-in-hand.</p>

<p>The issue is: who has the time? Without people, good ideas remain
abstract.</p>

</quote>

<p>Marc replied that he could set up a CVS server for plug-ins only, and
take care of merges between this one and the main Gimp tree.</p>

<p>Dean Johnson had a better idea: <quote who="Dean Johnson">This has
SourceForge written all over it! Its easy an convenient to start projects
and manage stuff. I heartily endorse it!</quote></p>

<p>Robert Krawitz agreed, saying that <quote who="Robert Krawitz">I've
been using SourceForge for about a week for the Print plugin (the
gimp-print project), and it's really good.  It takes some time to learn,
though.</quote></p>

<p>Marc thought that this sounded like a good idea.</p>

<quote who="Marc Lehmann">

<p>My idea is to copy the full cvs tree of gimp to (lets call it gimpforge)
and give any intersted plug-in author write access.</p>

<p>Updates from the gimp-cvs-tree/{libgimp,app,tools...} to gimpforge should
be automatic and regular, while updates in the other direction should be
enabled for specific files (plug-ins/common/snoise.c) or subdirectories
(e.g. plug-ins/perl).</p>

<p>That will effectively implement some kind of access-model, and it will
(hopefully) make it possible to *select* a fileset for distribution.</p>

</quote>

<p>Sven Neumann added some words of caution:</p>

<quote who="Sven Neumann">

<p>This all sounds nice, but I hope you are aware that once gimp-1.2 is out
there will unlikely be another stable release (despite bug-fix releases of
course) before gimp-2.0 and the plug-in interface for 2.0 will certainly be
incompatible with what he have now.</p>

<p>I don't want to say that plugin development should stall until the new
interface has settled, but it would probably be a good idea to take this into
account from the beginning and split the tree from ground up.  This means
having two branches (stable and devel) on the plugin CVS. That way we could
throw all plug-ins out when work on 2.0 starts and include them later out
of the 2.0 compatible plug-in branch. However I haven't thought much about
this yet, is it a good idea ...?</p>

<p>I also want to point out that IMHO setting up a CVS server will not
be enough. Ideally, this project should completely replace the registry.
A web interface to the repository together with tips for installation will
be essential. Plug-ins should be released on a regulary basis, since working
with stuff out of CVS is not what our users want to do and it always buries
the risk of checking stuff out that just doesn't work at the moment.</p>

</quote>

<p>Marc Lehmann explained how he will run gimp-plug-ins on SourceForge:</p>

<quote who="Marc Lehmann">

<p>I suggest that I first create the project, add the mirroring (so the cvs
is functional) and then gather _existing_ plug-in maintainers without cvs
access to find out wether they want an account on ther sourceforge net.</p>

<p>After that, some files (i.e. the "externally managed" plug-ins) are
read-only in the main cvs tree, and writable in the plug-in cvs tree, and
all the rest is read-only in the plug-in cvs, and read-write in the main
gimp directory.</p>

<p>This is the only solution that makes it possible to do automatic merges
back into the main tree. It also complicates things for the main developers,
so it should be given thought (in any case, the mirror script that I have
allows to specify "file in original server", "file in copied/plug-in server"
and "file is not getting mirrored" (i.e. it's part of gimp-plug-in-cvs but
NOT part of the main gimp tree).</p>

</quote>

</section>

<section
  title="Error In growfont Subroutine"
  subject="Bug report #5523 - Image/Render/Fittext plug-in"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg01140.html"
  posts="3"
  startdate="27 Jan 2000 00:00:00 -0800"
  enddate="31 Jan 2000 00:00:00 -0800"
>

<mention></mention>

<p>Michele Gherlone wrote the list to say that he had found a bug:</p>

<quote who="Michele Gherlone">

<p>Hi!</p>

<p>Looking at bug report #5523, I saw the following:</p>

<p>&gt;The script crashes reproducable when called with the standard settings.<br />
&gt;I have checked that the selected font is installed. The problems seems to<br />
&gt;be located in text_fontname_invoker (), so the problem migth be a bug in <br />
&gt;the gimp core.</p>

<p>Having experimented the same problem with fit-text, I dived deep into
the code.  I thus discovered that the subroutine growfont has an error in
the syntax, albeit the syntax is correct and gets accepted by perl:</p>

<pre>sub growfont {
        ($fontname, $plussize) = @_;
        @fontdesc = split /-/, $fontname;
        $fontdesc[8] eq "*" ?
                $fontdesc[7] += $plussize/72 : # if in pixels
                $fontdesc[8] += $plussize;     # if in points
        $outname = join "-", @fontdesc;
        print ("!!!${fontdesc[8]}-${fondesc[9]}!!!\n");
        $calls ++;
        return $outname;
        }</pre>

<p>This will never do what was intented by the author: $fontdesc[7] won't
get the correct value, if font size is in pixels. For example, with the
default helvetica@34 setting, $fontdesc[7] should be: 34 + (288/72) = 38.
But the first time the subroutine is called, the seventh fontdescriptor
gets a value of 326!!, and at the end of the script, at the crash moment,
get_text_fontname is called with a font size argument of -112, which of
course doesn't make sense, and causes the sigsegv.</p>

<p>Having corrected the subroutine as follows:</p>

<pre>sub growfont {
        ($fontname, $plussize) = @_;
        @fontdesc = split /-/, $fontname;
        $fontdesc[8] eq "*" ?  ($fontdesc[7] += $plussize/72) : ($fontdesc[8]+= $plussize);
        $outname = join "-", @fontdesc;
        print ("!!!${fontdesc[7]}-${fontdesc[8]}!!!\n");
        $calls ++;
        return $outname;
        }</pre>

<p>everything worked fine!!, the fit-text didn't segfault anymore....
Any comments??</p>

</quote>

<p>Marc Lehmann replied that</p>

<quote who="Marc Lehmann">

<p>i'll look into that ;) Maybe a constraint is missing somewhere.</p>

<p>Seth: I updated fit-text in the cvs with that change! Mike: Thanks a
lot ;)</p>

</quote>

<p>Mike was puzzled by this:</p>

<p><quote who="Michele Gherlone">Unfortunately, I wasn't able to see the
change in the cvs. What happened Marc??  I think the fit-text is a nice and
very handy tool, and it should be available to any gimp user!</quote></p>

<p>There were no more messages in this thread.</p>

</section>

<section
  title="Removing HSV To RBG Routines"
  subject="hsv to rgb"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg01141.html"
  posts="3"
  startdate="27 Jan 2000 00:00:00 -0800"
  enddate="27 Jan 2000 00:00:00 -0800"
>

<mention></mention>

<p>Martin Weber announced to the list that <quote who="Martin Weber">I removed
the rgb to hsv (and hsv to rgb) routines from several plugins because this
routines are now in libgimp. But there are still some plugins like compose,
decompose and flame where I din't found the time to do so. Can someone other
do this?</quote></p>

<p>Austin Donnelly noted that <quote who="Austin Donnelly">The INTENSITY(r,g,b)
-&gt; grey macro could also do with being moved (if it hasn't been
already).</quote></p>

<p>Robert L Krawitz also mentioned <quote who="Robert L Krawitz">Just a
comment about the print plugin (I don't know if you've actually done it) --
I suppose it's no disaster to do that to 3.0, but the intent is that the core
of the print plugin live standalone without the Gimp, e. g. in Ghostscript,
or as a CUPS filter, or whatnot.</quote></p>

<p>There were no more messages in this thread.</p>

</section>

<section
  title="Additional Information On Gimp Plug-In CVS"
  subject="important: automatic mirroring to the gimp cvs"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg01155.html"
  posts="7"
  startdate="28 Jan 2000 00:00:00 -0800"
  enddate="28 Jan 2000 00:00:00 -0800"
>

<mention>Sven Neumann </mention>
<mention></mention>
<mention>Kevin Turner</mention>

<p>Marc Lehmann provided a status report on Gimp Plug-In CVS at
SourceForge:</p>

<quote who="Marc Lehmann">

<p>Ok. I've just enabled automatic mirroring from the sourceforge cvs back
to the gimp cvs.</p>

<p>The file gimp/PLUGIN_CVS in the cvs tree controls which paths are mirrored
and which are not. If anything goes havoc just delete that file and the
script will stop doing anything.</p>

<p>At the moment, only</p>

<p>   ChangeLog.plugins<br />
   plug-ins/maze/*<br /></p>

<p>is being written back. This (unfortunately!!) means that changes done to
these files in the gimp cvs will get overwritten. I've not found a better
way to synchronize two cvs trees better (maybe CVSup would help, but...)</p>

</quote>

<p>Also, any developer who likes to administrate that sourceforge project
(consider when I am away ;) just needs to register at sourceforge and drop
me a note with his username to get added.</p>

<p>Kevin Turner and Kelly Lynn Martin raised some objections to this.</p>

<p>Sven Neumann gave a resounding</p>

<quote who="Sven Neumann">

<p>NO!!</p>

<p>Sorry, the idea of developing plug-ins outside the gimp tree is probably a
good one. But it is absolutely impossible to do that now. We are approaching a
release and we need control over the plug-ins that are going to be distributed
with gimp-1.2.</p>

</quote>

<p>Marc futher explained his ideas:</p>

<quote who="Marc Lehmann">

<p>Yeah. I plan to use this only for plug-ins already in the core.</p>

<p>BTW, Olof, Daniel, whoever-thinks-about-plug-in-management: The plug-ins
module on sourceforge is the ideal playground for some more intelligent
plug-in management (for gimp-1.3 and beyond).</p>

<p>IMHO every new plug-in should get a subdirectory there, and then we can
craft some guidelines. For one thing, a mini-plug-in with a single .c file
should be possible. This would also be a chance to somehow decentralize the
i18n tables somehow. For example one could give each plug-in it's own message
catalog and translation files which could be merged into one large one.</p>

</quote>

<p>He replied to Sven's message, stating that</p>

<quote who="Marc Lehmann">

<p>I am determined to branch the gimp-plug-ins tree at the same moment the
original gimp-cvs tree creates a stable branch. I guess that might be the right
moment to enable mirroring (to the main trunk, not the stable branch)?</p>

<p>So I suggest that plug-in authors treat the "gimp" module on sourceforge
as a read-only mirror, which will, at some point, become partly writable
for development.</p>

<p>In the meantime we could populate the plug-ins module with other plug-ins,
and maybe move some plug-ins from the main distribution there.</p>

</quote>

<p>Kelly replied that <quote who="Kelly Lynn Martin">No mirroring at all
is my recommendation. Plug-ins should be out of the main branch altogether
starting with 1.3.</quote></p>

<p>Several other people voiced concerns over the separate tree, and the
general concensus was that this CVS tree would be for plug-ins not in the
current distribution only. When Gimp 1.3 comes out, all plug-ins will be
removed from the Gimp and put into separate CVS.</p>

</section>

<section
  title="Suggestions For Improving Gimp 1.1"
  subject="The Gimp: New Generation"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg01210.html"
  posts="17"
  startdate="28 Jan 2000 00:00:00 -0800"
  enddate="31 Jan 2000 00:00:00 -0800"
>

<mention>Sven Neumann </mention>

<p>Ar't had some ideas for improving the Gimp before 1.2 comes out.  His first
suggestion was changing the interface to picking colours, but several people
found problems with that. His second was regarding translations:</p>

<quote who="">

<p>Does translation of filter help tips make any sense ?
Or would it be like with internal function help tips
and they are going to be excluded ? (1.1.6-&gt;1.1.10).</p>

<p>Most of plugins place ":" in different positions<br />
"bla bla:"<br />
"bla bla: "<br />
"bla bla :"<br />
"bla bla : "<br />
etc.</p>

<p>Is it possible to choose one (more likely the first one) and post it
somewhere from where people could read it and change their sources.</p>

<p>Suggestions
Continue with the plugins:<br />
all general options, main options ,general preferencies etc
change them all to "options" and unify.</p>

<p>Team Gnome i18n noticed that different languages have different
forms in plural (worst has 5 forms and not 2 like in english)
[1 cat, 2 cats ]<br />
I haven't noticed many forms like that in Gimp but they exist.</p>

<p>Necessary Reconstruction of Menu &lt;Image&gt;/Tools
It's too big (to be honest I really don't have an idea how to do it)
If it fits in 640x480 it's ok but if not-please rebuild.</p>

</quote>

<p>Sven Neumann replied that</p>

<quote who="Sven Neumann">

<p>I'm not really sure. It surely creates lots of work for the translators
and I don't know if it is worth it. If we could agree on this subject,
I would volunteer to remove the marks from all help-strings in the plugins
PDB registration functions.</p>

<p>This is handled much better after Mitch overworked most plug-ins UI
once again. If you still find places that should be changed, please provide
a patch.</p>

<p>Well, I don't know of anyone using it frequently. Only probably to look
up or change keybindings, so I guess we can easily add another level of
submenus in here. A menu that doesn't fit into 640x480 is indeed a bug.</p>

</quote>

<p>Marc noted that any menu can be made not to fit on a 640x480 screen.</p>

<p>Dean Johnson agreed with Marc.</p>

<p><quote who="Dean Johnson">Exactly! Scaling is one of the the biggest
problems with modern (especially Open Source) GUI design. Stuff gets written
to accommodate the author's immediate needs and what happens when the data
(in this case plugins) explodes in number.  EVERY gui developer (casual or
not) should be required to read Tufte's design books before being allowed
to code.</quote></p>

<p>There were no more messages in this thread.</p>

</section>

<section
  title="Inconsistency In Handling Translations"
  subject="Translation inconsistency"
  archive="http://www.mail-archive.com/gimp-developer%40scam.xcf.berkeley.edu/msg01250.html"
  posts="8"
  startdate="31 Jan 2000 00:00:00 -0800"
  enddate="01 Feb 2000 00:00:00 -0800"
>

<mention></mention>

<p>Sven explained the translation problems:</p>

<quote who="Sven Neumann">

<p>as pointed out before, we have an inconsistency between the core and
the plugins when it comes to the point if PDB blurb and PDB help should be
translated or not.</p>

<p>The situation right know is:</p>

<p>In the core the short description and the longer help strings for the
PDB functions are not marked for translation. This decision was made since
the PDB help strings are considered to be targeted mainly at developers and
script-writers. It would be a lot of work to translate them and even more
work to get the translations correct and to keep them uptodate. So it was
considered not to be worth the effort.</p>

<p>In the plugins domain however we did not spend too much attention and
have marked those strings for translation. Well, a lot of plug-ins don't
give useful help strings, so the amount of work for the translators is not
as large as it would be for the core.</p>

<p>I have no idea how to handle this. Just a few suggestions:</p>

<p>(A) do nothing, ignore the problem<br />
(B) don't mark the strings for translation, not in the core, neither in the plug-ins<br />
(C) mark the core PDB strings for possible translation too<br /></p>

</quote>

<p>Nick Lamb agreed with Sven's point (B).  <quote who="Nick Lamb">To contribute
effectively as a developer you have to learn English anyway.</quote></p>

<p>Stanislav Brabec didn't agree.</p>

<quote who="Stanislav Brabec">

<p>I'm not happy to hear about (B). I have already translated hundreds and hundreds of such string and I don't:<br /></p>

<p>

<ul>

<li>want to trash my work</li>

<li>The reading is very interesting (and sometimes only reasonable explanation,
   what plug-in does), that there is good reason to have it
   translated.</li>

</ul>

</p>

</quote>

<p>Marc Lehmann replaied that</p>

<quote who="Marc Lehmann">

<p>The question is, where is it trnaslated? You can't translate it in
plug-ins, you need to trnaslate it in the programs displaying the strings,
e.g. the DB Browser, the PDB Explorer or other tools.</p>

<p>Hmm...  I don't think we can make good use of it in 1.2. Maybe it
would be best to preserve them for 1.3, when new ideas have a chance to
get implemented?</p>

</quote>

<p>Several other people brought up some points, but most agreed that this
will have to wait for 1.3.</p>

</section>

</kc>
