AcidGimp Curtis Lee Fulton WHAT IS IT? AcidGimp is a means for easily adding Gimp effects incrementally to motion video. It is not meant to be used on static images. AcidGimp is released under the GNU GPL. See COPYING for details. FORWARD AcidGimp gets it's name from the techno genre "acid," which was invented in the London clubs about 10 years ago by a guy called DJ PIERRE. He got the idea to turn the cutoff and resonance knobs while playing the Roland TB-303 synth. People went nuts, and Acid House was born. AcidGimp is modeled after a modular synthesizer, which is actually a lot more complicated the the 303. I suppose I could have called this program the MoogGimp or something, but AcidGimp sounded the coolest. Also, it can stand for "AcidGimp Controls Images Dynamically," which makes a sort of compound recursive acronym. If you've ever used a musical synth, then you'll find the idea behind AcidGimp familiar. Analog modular synth are made up of a bunch of components connected by wires. Each component does something simple: generate a sin wave, filter frequencies, adjust the volume, etc. We're doing the same thing with AcidGimp, except instead of working with voltage, we're working with numbers. And instead of connecting that final wire in your circuit connecting to a speaker, you plug it into a Gimp function. Or if you understand cars, think of AcidGimp as the cam-shaft for the Gimp. The numbers range from -100.0 to 100.0, with one decimal space. This gives us a total of 2000 possible numbers. For an example, let's imagine you're applying the whirl and pinch filter to a frame. One of settings for this filter is the whirl angle, with a range of -360 to 360. 45.4 would be converted to 163.44 deg. Let's look at the radius setting, which has a range of 0-2. In this case, 45.4 would be converted to 1.454. If you're just starting out, you'll want to spend some time experimenting with circuit building. The Gage tool is useful for this. It graphically displays the results of whatever data it is receiving. HOW TO USE New modules can be created by clicking on an icon in the Main box, or on a Gimp Function name in the function box. It will appear on the Purple Orb. You can move the module around by holding down the left mouse button and moving the mouse. You connect one module to another, click on the green blob on the source module. A yellow wire will follow your mouse now. Next click on the module you want to connect the yellow wire to. A small window will pop up, asking you which port to connect to. The choices depend on which module you select. Right clicking on a module will tell you what modules the module is sending to, and also what modules it is receiving from. Modules can send data to more then one module. Some modules have internal settings that can only be set by right clicking. To remove a module, right click on it and then select "destroy." Clicking on "Run Circuit" will switch on the juice, so to speak. If you've chosen any Gage modules, those will appear and began displaying information. If you've connected your circuit to an Effect module, AcidGimp will begin applying the effect to your footage. MODULES Static |----| | | |----| Generates one number, which is chosen by right clicking. Square --- | --- Generates polar numbers. ( -10 and 10 say ). Inputs: Frequency, amplitude. Sin .. / \ \../ Generates sin wave. Inputs: Frequency, amplitude, phase. Sawtooth /\ / \ \/ Generates saw wave. Inputs: Frequency, amplitude. Gain/Shifter /|\ | \|/ Increases or decreases inputs. Inputs: Input data, gain level, amplitude or shift The last port specifies rather to just shrink or grow the input proportionally, or shift it up or down. A negative input for this port will shift, while a positive will amplify. Example: -10 input with a gain level of 25 will amplify to -12.5, but will shift to -7.5. Gage ...... Graphically displays input. Cutoff / / | / /| Will cut off input if it reaches/fail to reach the cutoff level. Inputs: Input value, cutoff level, hi or low pass, pass-through data. If the hi/how pass port receives a negative value then it becomes a low pass filter, and vice versa. If the input value gets cut off then the pass-through data port is sent out instead. FFT |.||..|.| | | | Reads the FFT data made from a wav file and sends out data accordingly. Inputs: frequency channel 0-17 FFT input file is chosen by right-clicking. See README.fft for more information on this subject. Effects Effects can have any number of input ports. Right click on the effect module to choose the source media. Currently, AcidGimp will only read sequential jpeg files. You must supply an index file that lists the jpegs in the order you desire. Use Broadcast 2000 (heroine.linuxave.net) to convert all sorts of media to sequential jpegs. Broadcast will also print out an index file suitable for AcidGimp, but first open the file in a text editor and remove the small header.