I used to make a lot of CD labels in GIMP. And one thing that kept coming up was that I wanted to be able to take some text (or maybe even something else in a layer) and bend it in a circular arc.
Seems like lots of other people wanted that, too -- people are always asking how to do that on #gimp. So I wrote it.
Initially I wrote a little python plugin. It was slow, so I re-wrote it in C. But then GIMP Python wizard Joao S. O. Bueno showed me how to do fast GIMP pixel ops in Python, and that totally cured the speed problem (as well as some problems I'd had with clearing the layer, which turned out to be a bug in GIMP, now fixed).
Download: arclayer-0.3.py.
Install it in the plug-ins subfolder of your GIMP profile
(e.g. on Linux, $HOME/.gimp-2.4/plug-ins/arclayer.py).
If you don't know where your profile folder is, bring up GIMP's
Preferences, click on the expander next to Folders and look to see
where Plug-ins are saved. That's where you need to put arclayer.py.
On Linux, Mac OS X and other Unix systems, you'll probably also need to
make it executable: chmod uga+w file.py
It shows up in the menus as Filters->Distorts->Arclayer(py)...
Just for historical purposes, here's the old C version, set up to build and install via gimptool. Extract it with: tar czvf arclayer.tar.gz, then install it by running: gimptool --install-strip arclayer.c When it's installed (restart gimp if it's already running) it should show up in the Filters->Distorts menu.
Filters->Distorts->Polar Coords...,
and
Xtns->Script-fu->Logos->Text Circle...
can both do something very similar to what arclayer does,
if you set them up just right.
The new-for-2.4 "Text along path" option in the Text tool
options can bend text (but only text) smoothly into any arc you
define as a path.
A lot of people think
Filters->Distorts->Curve Bend... will do it,
but although that lets you shape the top and bottom of the text,
it won't actually rotate any letters.
Arclayer is probably still useful since it can bend any layer, not just text, and it's easy to use.
Arclayer isn't finished yet: the Python version tends to make text look pretty ragged (I'm working on solutions for that). Meanwhile, the C version uses a lot of memory, allocating a chunk the size of the new layer, and it still doesn't always fill all the "holes" in the layer being bent. There's code in there to fix the memory problem (the SMALL_TILE code) but it doesn't always work, sometimes crashes and I'm not sure why. If the layer is bigger than some fixed size (currently hardwired to 130000000 for no good reason at all), it will switch to pixel-by-pixel code, which is slow but memory efficient. One more problem: the UI was written for gimp 1.3 and gtk 2.0; in gimp 1.2 it doesn't show a number for the radius slider. I'll fix that when I get a chance.
Arclayer was originally on my CD Plug-ins page, which also has a GIMP script to make a template for a printable CD label.