
.
.
.
This Script ist mostly a GUI for that famous wiggle() expression with some extra expression goodness like posterizeTime(framesPerSecond), seedRandom(seed) and the great looping wiggle() expression by Dan Ebberts. In simple mode it adds the wiggle() expression with the choosen frequence and amplitude to the selected properties. It also saves your standard values for faster access. in the 'not simple' mode it creates a controller Null Object with some sliders and applies the following expression to your selected properties. The advanced mode is more or less for learning the possibilities wiggle offers.
You can download latest version of the script by pressing that button below.
If you want to take a peek into some older version go over here.
These are some short discriptions on how all the options work.

These are the options of the simple mode.
If you uncheck this all the options for e.g. 'octaves', 'randomSeed' get enabled.
If checked this will use a temporalWiggle(). This type of wiggle needs keyframes. So dont wonder if nothing happens. The property will wiggle over time.
If checked the script will create a Null Object with 2 sliders. One for the Frequence, one for the Amplitude. The Expression will be bound to them and the insertet values will be added to these sliders. This checkbox is only visible when using the simple mode.
Define the frequence per second. The default is '1'. Accepts also expressions.
Define the amplitude per second. The default is '25'. Accepts also expressions.

The following are the options of the extended mode.
Define the octaves for you expression. The default is '1'. The more octaves you have the more skips your property will have. Accepts also expressions.
From Adobe Helpfiles: octaves is the number of octaves of noise to add together. This value controls how much detail is in the wiggle. Make this value higher than the default of 1 to include higher frequencies or lower to include amplitude harmonics in the wiggle.
Define the amplitude multiplier for the octaves. The default is '0.5'. The higher this value is the more it will amplify your skips. Keep this realy low. Accepts also expressions
From Adobe Helpfiles: amp_mult is the amount that amp is multiplied by for each octave. This value controls how fast the harmonics drop off. The default is 0.5; make it closer to 1 to have the harmonics added at the same amplitude as the base frequency, or closer to 0 to add in less detail.
If checked the script will add a 'time' expression on that slider. If not it just uses a value. You can use a value and than keyframe the slider. This enables you to run time backward or stretch it for the wiggle.
Define the time value. This is just a fallback. If the time does not proceed there will be no wiggle. Use the slider to keyframe the time by yourself or add an expression like 'time' .The default is '1'.
If checked this will add the 'seedRandom(value)' expression. This is usefull if you need to have the same behaviour on several wiggle expression but you dont want to parent the layers.
Define the random seed for your expression. All the expression with the same random seed will have a similar behaviour. The default is '100'. Accepts also expressions.
If checked the 'posterizeTime()' expression will be added. This allows to stop the time off the expression for the given amount of frames. If added the 'add time expression' will be disabled.
Define the a fps value for the time posterize. It is like stopping the time and wating for the given number of frames. The default is '1'. Accepts also expressions.
If checked the loop wiggle expression by Dan Ebberts gets enabled. It allows to create a looping wiggle.
Define the looptime in seconds. This is based on Dan Ebberts great loop wiggle expression. The default is '5'. Accepts also expressions.
Hit this button and the selected layer will be used as the controller. BEWARE all the Sliders need to be there. If they are not your expression will throw an error.
Enter a name for your controller. This will be used in the expression and as the name of the 'Null Layer'.
This box checks itself by hitting the Select Control button. If it is checked the Script will asume you have a controller with the name set in the textfield to the left. If you uncheck it the script will create a new controler by that given name
Press me and i will apply your expression to the selected properties
This will reset all fields to their default values. Also the saved values will be reseted.
Press me and i will try to help you. You also should watch the tutorials on this script on: http://fabiantheblind.info
I'm happy about every idea, wishes, bug reports, pull requests or praises on this script. All of them will keep me developing and making it better.
Thanx to Dan Ebberts for his great motionscript.com and all the others who share things open source on the web.
If you want to donate something use the paypal or flattr button below or go over to aescripts.com and purchase one of my other scripts there.
for(var key in obj) loopCopyright (c) 2012 Fabian "fabiantheblind" MorĂ³n Zirfas
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.