I've found an 'easy' way to create a Control effect with multiple controls.
It's handy when you use expressions and don't want to add a different effect for each parameter.
These multiple control effects are called "pseudo" effects and they are used for presets animation;
a XML file (located in the \Support Files folder) contains a list of all pseudo effects with their description (type of control, default value, etc).
So here is the trick (screenshots to make it as clear as possible).
1. Locate the XML file "PresetEffects.xml" in your AE files, and make a copy (say "PresetEffects_backup.xml").
![Image](http://www.nabscripts.com/Forum/images/AehancersControl_00.gif)
2. Open it ("PresetEffects.xml") with your favorite text editor. You'll see many "<Effect...>" tags, each one defines an effect as a combination of slider, checkbox,.., point, angle control. In my example, I was looking for an effect with 6 sliders so I've copied/pasted the (3) lines of the effect named "Separate XYZ Position" (on top of the list), renamed strings (parameter names in the interface) and adjusted default values and range.
[DO NOT modify the first line <Effect matchname=... !!, controls description only]
Then save the file and open After Effects 7.0.
![Image](http://www.nabscripts.com/Forum/images/AehancersControl_01.gif)
3. Create a new comp, add a solid and apply the preset you chose (in my case "Separate XYZ Position"). This preset uses expressions but AE can't find the expected parameters so it sends an alert; click OK.
![Image](http://www.nabscripts.com/Forum/images/AehancersControl_02.gif)
4. Your custom effect appears in the effect panel, rename it to whatever you want
![Image](http://www.nabscripts.com/Forum/images/AehancersControl_03.gif)
5. Save it as a new animation preset.
![Image](http://www.nabscripts.com/Forum/images/AehancersControl_04.gif)
6. You're done !
This custom effect can now be applied for example to a null layer in your expression-based animations.
note: this operation is far from perfect...these two effects (original and fake) has the same matchName; if you apply the original preset ("Separate XYZ Position"), the effect will now appear with 6 sliders (as defined in the XML file); via scripting, we'll use its name rather than the matchName.
There is no guarantee ("sunday's experiments")
![Smile :)](./images/smilies/icon_smile.gif)
Other example with different types of controls.
![Image](http://www.nabscripts.com/Forum/images/AehancersControl_05.gif)