Skip to content

Commit

Permalink
Added license and revised README prepatory for upload.
Browse files Browse the repository at this point in the history
  • Loading branch information
Lloyd Konneker committed May 9, 2011
1 parent 4095221 commit de0abd8
Show file tree
Hide file tree
Showing 16 changed files with 250 additions and 25 deletions.
25 changes: 25 additions & 0 deletions README
@@ -1,3 +1,28 @@
About Gimpscripter
==================

Gimpscripter is a new version of the "Make Shortcut" plugin, now called "GimpScripter". It lets you point-and-click create a Gimp plugin that calls a sequence of plugins, PDB procedures, or macros. It is a plugin authoring tool.

Gimpscripter is a Gimp plugin written in Python. It generates Python code for a Gimp plugin.

The source is at github.com/bootchk/gimpscripter. Installation instruction are in the README file. The source includes many readable documents such as NEWS, TODO, and a usermanual.

Gimpscripter is still in development. It works usually, but is incomplete and could be improved.

Take a look if you are interested in scripting Gimp, as a user or as a programmer.

Gimpscripter lets you visually (graphically, point-and-click) implement a sequential recipe, for example "Choose this, set that parameter, choose that, ..". It doesn't have any control flow statements.

It uses a stack model of computation: it hides a prefix of parameters and references them to active objects.

It includes a macro facility and macros for common sequences of operations, and to wrap certain PDB procedures with higher-level parameter type, e.g. PF_BRUSH instead of PF_STRING for a brush.

Some people suggest using a recorder/playback tool to automate Gimp. Scripts from such tools break when the Gimp GUI changes, and the scripts are not easily distributable. Gimpscripter is an alternative.

Gimpscripter does have many weaknesses, some of which can be attributed to lack of support from the PDB. So it could help guide improvements to the PDB (but it might not raise any issues not already known, such as not storing defaults.)

I would welcome comments or contributions.

Installation
============

Expand Down
2 changes: 1 addition & 1 deletion doc/NEWS
@@ -1,7 +1,7 @@
NEWS
====

This is the new version of the "Make Shortcut" plugin. It is now called "Gimpscripter." It lets you point-and-click to create a plugin that calls a sequence of other plugins or PDB procedures or macros (common sequences of calls.)
This is the new version of the "Make Shortcut" plugin for Gimp. It is now called "Gimpscripter." It lets you point-and-click to create a plugin that calls a sequence of other plugins or PDB procedures or macros (common sequences of calls.)

The differences from the prior version:

Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/constantmaps.py
Expand Up @@ -3,6 +3,22 @@
'''
Mappings of constants.
Derived from gimpfu.py.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''
from gimpfu import *

Expand Down
32 changes: 15 additions & 17 deletions gimpscripter/generate.py
Expand Up @@ -10,23 +10,21 @@
b) no dialog, use constant settings for target plugin (chosen at creation time)
c) dialog of deferred parameters (deferred and defaulted at creation time.)
Copyright (C) 2010 Lloyd Konneker bootch at nc.rr.com
License:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

'''
Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/gui/main_gui.py
@@ -1,6 +1,22 @@
#! /usr/bin/python
'''
Gimpscripter main GUI.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

import pygtk
Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/gui/param_dialog.py
Expand Up @@ -24,6 +24,22 @@
Largely derived from gimpfu.py.
They should be unified.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

# This program can NOT be called standalone: depends on GIMP environment.
Expand Down
21 changes: 16 additions & 5 deletions gimpscripter/gui/param_widgets.py
@@ -1,13 +1,24 @@
#! /usr/bin/python

'''
lloyd konneker 2010
Derived from gimpfu.py.
Here I broke out the widgets for entering parameters to Gimp plugins.
They were hidden inside interact().
More are in gimpui.py, see the mapping below.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

from gimp import locale_directory
Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/macros.py
Expand Up @@ -15,6 +15,22 @@
Use "ephemera.top(PF_FOO)" to refer to the currently active object of type PF_FOO
Use $foo, $bar, etc. for placeholders for parameters foo, bar, ... Note the placeholder names
should be the same as the parameter names in the parameter def (ParamDef).
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

from gimpfu import * # for PF types
Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/mockmenu/db_treemodel.py
Expand Up @@ -7,6 +7,22 @@
Similar to classical views on a database: different ways of organizing, viewing the same data.
The viewspec tells which attributes of objects in the db are paths, types, categories (sets of types).
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

# Does not need: from gimpfu import *
Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/mockmenu/map_procedures.py
Expand Up @@ -23,6 +23,22 @@
- "diff" we changed the menu path from Gimp app itself to GimpScripter mock menus
- "dupe" the command appears in more than one place in our mock menu
- "already included" the command is a plugin and already included in the tree model
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''


Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/mockmenu/path_treemodel.py
Expand Up @@ -19,6 +19,22 @@
If your app doesn't make a distinction, just redundantly use the last item in path for leaf value.
This does NOT allow multiple rows with the same path, and different leaf values.
Column two might well be hidden from user view.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

'''
Expand Down
18 changes: 17 additions & 1 deletion gimpscripter/mockmenu/plugindb.py
Expand Up @@ -17,7 +17,23 @@
dictofviews object a dictionary of viewspecs on a db object,
dictionary of objects with attributes and repr method (referred to as the db.)
a filter dictionary: boolean valued with same keys as the db
Many viewspecs can all refer to the same dictionary of objects
Many viewspecs can all refer to the same dictionary of objects
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''


Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/parameters.py
Expand Up @@ -52,6 +52,22 @@
in formal params to wrapper
in registration of wrapper
in wrapper's calls to wrapped
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

from gimpfu import *
Expand Down
17 changes: 16 additions & 1 deletion gimpscripter/parse_params.py
Expand Up @@ -36,7 +36,22 @@
Image, Drawable, Drawable returns 2
Image, Drawable, Layer returns 3
Image, Drawable, Layer, Channel returns 4
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''


Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/specification.py
Expand Up @@ -3,6 +3,22 @@
'''
Specifications. What a user specifies or enters.
Specifies the wrapper plugin.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''
from gimpfu import *

Expand Down
16 changes: 16 additions & 0 deletions gimpscripter/template.py
Expand Up @@ -5,6 +5,22 @@
!!! Note the indentation in the template must meet Python requirements.
Some indentation is generated.
Copyright 2010 Lloyd Konneker
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''

# TODO in the summary
Expand Down

0 comments on commit de0abd8

Please sign in to comment.