On Fri, 20 Jun 2003 16:50:37 +0200, Sven Neumann <sven@xxxxxxxx> wrote: > Hans Breuer <Hans@xxxxxxxxxx> writes: > > This is the all-or-nothing argument. IMO a macro recorder > > would already be useful if it only records the calls done > > as reaction on users menu usage, where many go through the > > PDB. Without looking further I thought there are already > > core functions which work like this, too. > > I don't want to disappoint you but besides the menu entries that are > installed by plug-ins no GIMP menu entry calls a PDB function. Your > macro recorder would miss almost all of the user action unless we > change this. When I worked on this a bit more than a year ago, I was able to record (some of) the menu entries belonging to the core, such as Layers->Flatten Image, Image->Scale, Image->Mode->... I do not remember exactly how I did it and I think that it was not very elegant, but it seemed to work. I think that I had to modify each core feature separately and add a hook using the GimpScriptRecorder object before the end of each function. The biggest problem for me was to generate the equivalent PDB calls for brush strokes, gradients, fills, selections, etc. Especially since I wanted these to be scalable (see my comments in bug #51937 for details). > At the moment it's probably easier to use Gerd for macro recording > purposes. This is fine if you want to record a complete GIMP session from the beginning to the end, but this is probably the least frequent usage of a script recorder. I expect that the most common reasons for using it would be: - to apply similar operations to different images, - to repeat a sequence of operations several times on the same image, - to get a skeleton of a script that you can edit later. Gerd does not solve any of these problems, unfortunately. Those who do not know what Gerd is can have a look at these links: http://bugzilla.gnome.org/show_bug.cgi?id=51937 http://www.gtk.org/~timj/gerd/ By the way, the last time I checked (end of last year), Gerd was only working with GTK+ 1.2, not 2.x. I don't know if it has changed since then. -Raphaël