IN THIS CHAPTER
Using the GIMP Plugin Registry to find plug-ins
Understanding some of the most useful plug-ins
One of the attractive aspects of GIMP is its extensibility. That is, anyone with a bit of coding experience can add features and functionality to GIMP in one of two ways. The most obvious way is by directly modifying GIMP's source. It's one of the real, tangible benefits of GIMP's Free Software status. However, taking this route has a couple disadvantages. GIMP is a big program, consisting of more than 600,000 lines of code spread across around 2,600 individual files. Figuring out where your feature fits in can be a daunting task. And if your code doesn't get included in the official release, it can be difficult to maintain across multiple versions of GIMP.
To help alleviate that pain, GIMP developers cooked up the ability to allow plug-ins, or small programs that can be tightly integrated into GIMP's interface. To facilitate this, GIMP has a few plug-in application programming interfaces, or APIs, depending on whether the plug-in is written in the C programming language or a scripting language like Python or Scheme. The API is basically a means of allowing plug-ins to access some of the data structures and functions in GIMP. The API is a lot less volatile than the main codebase and by using it, coders can maintain their plug-ins independently of the main GIMP developers. In fact, quite a few features that you might consider to be ...