Re: [Gimp-developer] GAP Export?

2008-01-16 Thread Sven Neumann
Hi,

On Tue, 2008-01-15 at 16:22 -0500, Andy Berdan wrote:

 I've been investigating some animation systems for use at work here, and
 I was wondering about exporting names and locations of layers in the
 animation.

I am not sure if Wolfgang Hofer, the author of GAP follows this
mailing-list. You might have more luck by mailing him directly.


Sven


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GAP Export?

2008-01-16 Thread saulgoode
The information about layer offsets in a frame sequence is not made  
readily available and a plug-in would need to be written (and, IMO, it  
would be simpler to write a Script run in batch mode). Also, once an  
object has been added to a frame sequence, GIMP only knows the offsets  
and extents of the resulting layer; it does not record whether the  
object was rotated or otherwise transformed (which would result in  
altered offsets and extents).

If you added the layers to your animation using the Move Path  
command, you could save the object's placement information for later  
recall by saving the control points used. There are some limitations  
to this, though: primarily that a separate file is created for each  
object; and if you wish to have the specifics of the object's  
placement for each frame saved (as opposed to keyframe control points)  
then you need to use the Paths tool to specify that placement (as  
opposed to manually specifying the control points in the Move Path  
dialog). Also, there is no way of saving changes made to the objects  
after their initial placement.

This approach will produce a file with the following parameters for  
each control point:

  x  y width height opacity rotation feather_radius (perspective  
transform factors) (rel_keyframe)

If you need more information on the above approach, it might be better  
to move the discussion to the Users mailing list, as this wouldn't  
really contribute to GIMP development.


Quoting Andy Berdan [EMAIL PROTECTED]:

 Hi all,

 I've been investigating some animation systems for use at work here, and
 I was wondering about exporting names and locations of layers in the
 animation.

 Hm.  That doesn't sound too clear - allow me to illustrate with an
 example.

 Suppose the source animation is a 10-frame animation, with a hand and a
 ball, both moving (and animating) independently, I'd eventually want
 something like this:

 animation-frame-0: hand-frame-1 x=0,y=0
 animation-frame-0: ball-frame-1 x=5,y=5
 animation-frame-1: hand-frame-2 x=10,y=10
 animation-frame-1: ball-frame-1 x=25,y=25
 ... etc ...
 animation-frame-9: hand-frame-2 x=100,y=100
 animation-frame-9: ball-frame-1 x=520,y=520

 (ignore the syntax, the data is presented as such for clarity -- though
 now, I think a graphical example might have been better)

 Obviously, GAP itself has access to this data at some point, but it
 doesn't seem to be exposed or exportable in any way.

 The only idea I can come up with at this point involves iterating over
 animation files in a directory, scanning each layer for frame
 information, and dumping the data to a file... and I'm not 100% sure if
 that's do-able, though it seems that that is something script/python-fu
 should have access to.

 BTW, the intent is to use this animation data (not actual video output)
 in a game engine for layer-based animations, if you're wondering why I'm
 asking for this somewhat strange feature.


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] proposal for managing resources such as brushes, gradients, etc

2008-01-16 Thread William Skaggs
One of the most important usability problems with Gimp is the
inability to organize resources such as brushes, gradients, patterns,
and palettes.  For each of these, you can designate a set of folders
in Preferences, but everything inside those folders is automatically
loaded at startup, and presented to the user in a flat, unstructured
format.  Furthermore, there is no way for an ordinary user to get rid
of any of the resources that come with Gimp, even if they are
essentially useless, such as the famous Green Pepper brush.

Not only does this make for problems in finding the right brush etc
when using the program, it impairs Gimp in terms of developing a user
base.  One of the things that some users really like to do, in my
experience, is create collections of resources.  This has happened
many times for Gimp, but nobody uses the collections, for the simple
reason that adding resources to Gimp generally does more harm than
good:  everything you add makes it linearly harder to find the thing
you want when you use the program.

(Note, please, that I am *not* talking here about making resources
available over the web -- that is also very important, but it is not
the same problem.  Here I am talking only about managing resources
that the user already owns.)

This problem has been discussed several times in the past, and
proposals have been made about how to address it.  I have been
thinking about it recently, and have come up with a somewhat
different, and I believe simpler approach, which I have begun to study
experimentally.  I would like to describe the approach that I have in
mind, and to some degree try to explain why I think it is the right
thing to do.

To make the following description easier to understand, I am going to
talk in terms of brushes, but you should realize that gradients,
patterns, and palettes are handled by Gimp in exactly the same way
(technically, all of them are types of GimpData), and a method that
applies to one will almost automatically carry over to the others.

Here is the idea:

1) You have a workspace, holding the brushes that you are currently
   interested in using.  The brushes shown in Gimp's brush picker are
   those that belong to the workspace.  The user has complete control
   over the contents of the workspace -- anything in it can be edited
   or deleted.  The workspace is saved from session to session, and
   automatically loaded at startup.

2) You have a set of extra folders, specified in Preferences.  The
   brushes in these folders don't automatically belong to the
   workspace.  To get at them, you invoke a Brush Chooser, which pops
   up showing a list of brush folders, and a view, which can be either
   a list or a grid.  Clicking on a folder causes the contents to be
   displayed in the view.  Double-clicking on a brush in the view
   causes it to be loaded into the workspace.  Once a brush has been
   loaded into the workspace, it stays there until you delete it.

3) You can also use the Chooser to save a brush from the workspace
   into the currently selected folder, assuming you have write
   permission there.

That's basically the story.  One of the advantages (as I see it) of
the approach is that it makes very little change in how Gimp is used.
So long as the user stays within the workspace, everything works the
same as now.  The only new thing is the Chooser, used to load brushes
into the workspace (or save brushes from the workspace into a separate
folder).

At a technical level, the workspace would be represented by the user's
writable brush folder, that is, ordinarily, .gimp-2.5/brushes.  This
would be the only folder loaded at startup.  The Brush Chooser would
show a simple list of the other directories specified in Preferences
(including the set of distributed brushes), and a DataFactoryView of
the directory among them that is selected.

At the level of programming, the only relatively difficult thing is to
create the GimpDataChooser widget.  Even this is simple in principle,
although complicated in practice because it involves a lot of rather
complex Gimp code.  I have been experimenting with writing a Chooser,
and I believe I have gotten through the hardest part, although there
is quite a bit of refinement needed.

Comments and questions are welcome,

  -- Bill
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources such as brushes, gradients, etc

2008-01-16 Thread Alexia Death

 At the level of programming, the only relatively difficult thing is to
 create the GimpDataChooser widget.  Even this is simple in principle,
 although complicated in practice because it involves a lot of rather
 complex Gimp code.  I have been experimenting with writing a Chooser,
 and I believe I have gotten through the hardest part, although there
 is quite a bit of refinement needed.

Why bind it into gimp? This tool could be totally independent of GIMP runtime 
wise. All that would be need on gimp side is support for using gimp-remote to 
trigger reloading of resources. All other management could happen outside  
GIMP. Functions needed to read and write gimp conf should be easily portable 
from gimp code.

--Alexia
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources such as brushes, gradients, etc

2008-01-16 Thread Sven Neumann
Hi,

On Wed, 2008-01-16 at 17:03 +, William Skaggs wrote:

 This problem has been discussed several times in the past, and
 proposals have been made about how to address it.  I have been
 thinking about it recently, and have come up with a somewhat
 different, and I believe simpler approach, which I have begun to study
 experimentally.

Right. We have discussed this in the past and we have come up with a
simple and IMO very good solution that has several advantages over the
approach that you are suggesting now. The solution is to allow tags to
be assigned to data files. This allows the same data file to show up in
several categories and it makes it easy to search for certain files.
This is also the solution that is approved by the UI team. Please, by
all means, let's not introduce something as obsolete as the system that
you are suggesting now.


Sven


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources such as brushes, gradients, etc

2008-01-16 Thread William Skaggs

From: Sven Neumann [EMAIL PROTECTED]

 Right. We have discussed this in the past and we have come up with a
 simple and IMO very good solution that has several advantages over the
 approach that you are suggesting now. The solution is to allow tags to
 be assigned to data files. This allows the same data file to show up in
 several categories and it makes it easy to search for certain files.
 This is also the solution that is approved by the UI team. Please, by
 all means, let's not introduce something as obsolete as the system that
 you are suggesting now.

This mixes together two separate issues.  Tags are, as I have already agreed,
an excellent way of doing a search mechanism.  They don't get rid of the
need to have a workspace, though.  Suppose I want to switch back and
forth between five very different brushes.  Must I remember and select
a set of tags each time I switch?  That would be very unpleasant.  No,
whether or not there is a tag-based search system, there still needs to
be a way for the user to maintain a workspace holding a limited set of
arbitrarily chosen brushes.

  -- Bill


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources s uch as brushes , gradients, etc

2008-01-16 Thread Joao S. O. Bueno
On Wednesday 16 January 2008 17:42, William Skaggs wrote:
 This mixes together two separate issues.  Tags are, as I have
 already agreed, an excellent way of doing a search mechanism.  They
 don't get rid of the need to have a workspace, though.  Suppose I
 want to switch back and forth between five very different brushes.
  Must I remember and select a set of tags each time I switch?  That
 would be very unpleasant.  No, whether or not there is a tag-based
 search system, there still needs to be a way for the user to
 maintain a workspace holding a limited set of arbitrarily chosen
 brushes.


What about using...tags... for that?

The idea of such a workspace would be that it would display brushes 
containing a certain tag. In teh above use case, I'd just apply 
a one-of-five-very-different-brushes  tag to all the brushes.  For 
this to make sense  it _must_ be very easy and fast to edit a 
resource's tags. But that could be refined later on the development.

Actually, maybe it would make sense containers that could show several 
types of gimp data in a single dialog. So, if I am working 
with trees, I'd have palettes, gradients, and brushes which show up 
in a single window. More than one such dialog should be allowed to be 
open at once, so that a user could simply drag and drop things around 
(and internally, tags are added/removed transparently). 

So ... the workflow for the case of use above would be something like:
create an empty multicontainer, go to another multicontainer 
displaying only brushes (the equivalent of today's brushes dialog), 
type in a tag to the first brush, drag it into the empty new 
container - repeat for brushes 2-5. Start painting. When it is over, 
destroy the current container, or just save it under an arbitray tag 
name for later re-use. 

js
--
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources s uch as brushes , gradients, etc

2008-01-16 Thread William Skaggs

From: Joao S. O. Bueno [EMAIL PROTECTED]

 What about using...tags... for that? [etc]

These are interesting ideas, but they are fantasies at this point.
The whole tags thing is a fantasy at this point.  There is no
infrastructure in Gimp to support it, so everything would have
to be written from scratch.  That's months of work for somebody
with strong Gimp skills, even if a complete specification existed,
which is not the case.  Who is going to do it?

And, to repeat, even if there is tags support, there must be,
at least from the user's point of view, something like a workspace --
a set of brushes that are immediately available.  The proposal
I made -- simply separating the workspace from the other places
that hold brushes, and giving the user a way to copy things back
and forth -- solves the largest part of the usability problem, and
is not incompatible with using tag-based search -- or a tag-based
workspace -- if support for tags is ever written, which I am doubtful
is going to happen in the near future.

  -- Bill

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources s uch as brushes , gradients, etc

2008-01-16 Thread gg
On Thu, 17 Jan 2008 02:50:36 +0100, William Skaggs  
[EMAIL PROTECTED] wrote:

 And, to repeat, even if there is tags support, there must be,
 at least from the user's point of view, something like a workspace --
 a set of brushes that are immediately available.  The proposal
 I made -- simply separating the workspace from the other places
 that hold brushes, and giving the user a way to copy things back
 and forth -- solves the largest part of the usability problem, and
 is not incompatible with using tag-based search -- or a tag-based
 workspace -- if support for tags is ever written, which I am doubtful
 is going to happen in the near future.
  -- Bill



Hi Bill,

I like the idea. This adresses one of the major slow-down factors in using  
Gimp seriously.

Like many things in Gimp , the tools are there and are good, it's just a  
lot of clicking to get them.

Since you seem to have gone a long way to implementing something workable  
that could be dovetailed into any eventual tags feature, it would be  
good to see support or comments from Peter's team to enable this to move  
forwards.

This would definately be an asset to Gimp.

regards, gg

(I guess I should leave the tabs in the title so as not to break the  
threading in gimp-dev archive, not sure who added that ;-)
-- 

   .*.
   /V\
  (/ \)
  (   )
  ^^_^^
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources such as brushes, gradients, etc

2008-01-16 Thread Sven Neumann
Hi,

On Wed, 2008-01-16 at 20:42 +, William Skaggs wrote:

 This mixes together two separate issues.

No, it doesn't. Absolutely not.

 Tags are, as I have already agreed,
 an excellent way of doing a search mechanism.  They don't get rid of the
 need to have a workspace, though.  Suppose I want to switch back and
 forth between five very different brushes.  Must I remember and select
 a set of tags each time I switch?  That would be very unpleasant.

You don't need a set of tags, you need exactly one tag. That is not more
information than you need to remember and select with your approach.
Still tags are a lot more elegant, simpler to implement and it
eliminates the need for storing duplicate files and for doing file
system operations.


Sven


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources such as brushes , gradients, etc

2008-01-16 Thread Devin Watson
I'm sorry to jump in on this so late.  I was working on a new GIMP 
Plug-In Registry.  It had been put on pause by me because of certain 
life-altering events. 

At one point I had put forward the idea of a backend XML-RPC or SOAP 
connectivity service that would allow GIMP to access the repository data 
sources and use it for direct installation of the resources within the 
Plug-In Registry.  I envisioned something like a Plug-In Explorer 
interface in GIMP that would facilitate search and automated installation.

If this is still a viable idea, let me know.  I would love to jump 
back in and finish a new GIMP Plug-In Registry and also do this.  I 
think this would give GIMP a very powerful leg up in adoption by the masses.

___
Best Regards,

Devin Watson



Sven Neumann wrote:
 Hi,

 On Thu, 2008-01-17 at 01:50 +, William Skaggs wrote:

   
 These are interesting ideas, but they are fantasies at this point.
 The whole tags thing is a fantasy at this point.  There is no
 infrastructure in Gimp to support it, so everything would have
 to be written from scratch.  That's months of work for somebody
 with strong Gimp skills, even if a complete specification existed,
 which is not the case.  Who is going to do it?
 

 There is a lot of infrastructure for this already. If someone wants to
 start working on this, just let me know and I will take my time to
 explain what needs to be done. I might even get to it myself.

 Even though the current development cycle is already quite far along, we
 could still get the infrastructure for tags implemented along with
 on-demand loading of data files. That would allow us to do the changes
 to the user interface as soon as 2.6 is released.

   
 And, to repeat, even if there is tags support, there must be,
 at least from the user's point of view, something like a workspace --
 a set of brushes that are immediately available.
 

 Sure. That is the set of brushes that match the currently selected tag.
 That would be the name of the project you are currently working on, or a
 category that describes the kind of brushes that are currently needed.


 Sven


 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


   
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] proposal for managing resources such as brushes , gradients, etc

2008-01-16 Thread Sven Neumann
Hi,

On Thu, 2008-01-17 at 01:50 +, William Skaggs wrote:

 These are interesting ideas, but they are fantasies at this point.
 The whole tags thing is a fantasy at this point.  There is no
 infrastructure in Gimp to support it, so everything would have
 to be written from scratch.  That's months of work for somebody
 with strong Gimp skills, even if a complete specification existed,
 which is not the case.  Who is going to do it?

There is a lot of infrastructure for this already. If someone wants to
start working on this, just let me know and I will take my time to
explain what needs to be done. I might even get to it myself.

Even though the current development cycle is already quite far along, we
could still get the infrastructure for tags implemented along with
on-demand loading of data files. That would allow us to do the changes
to the user interface as soon as 2.6 is released.

 And, to repeat, even if there is tags support, there must be,
 at least from the user's point of view, something like a workspace --
 a set of brushes that are immediately available.

Sure. That is the set of brushes that match the currently selected tag.
That would be the name of the project you are currently working on, or a
category that describes the kind of brushes that are currently needed.


Sven


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer