Sequencer Commands & PREP Commands
PREFACE: IMPORTANT. The following commands are sent to Animesh. This means that the Animesh must have the animesh scripts and notecards inside of them. Targeting may restrict which animesh receive certain commands.
PREP Only commands are in GREEN meaning only those commands are allowed to be PREP commands on the *prepform nc. Any and all commands can be sequencer commands that go on *sequencer? ncs. And remember that PREP commands have a different format and use % (percent sign) instead of , (comma)
***************
1 – Introduction
You enter active commands, one per line for, on *sequence? ncs to execute at given times, on one or more *sequencer notecards (ncs). You can specify by elapsed time or duration time.
You enter passive commands, more than one per line are allowed f, on the single *prepform nc to execute at given times
Examples of how to enter commands on the *sequencer nc.
The first statement on a *sequencer nc should be an ElapsedOrDuration entry. Only one ElapsedOrDuration nc should be on any given *sequence nc and it should be the 1st entry. See below:
Note that when choosing elapsed time, times must be greater than the previous time or execution will be halted. Duration times can never be zero. It is strongly suggested that you end elapsed time ncs with a StopAll entry.
Only 1 command per line.
Each line must have a time at the end separated by a vertical bar. It must be either elapsed time or duration. You cannot mix the two but you CAN use multiple sequences, where some could be duration and some could be elapsed. Elapsed is the default should you forget to specify.
Examples:
ElapsedOrDuration,Elapsed
ElapsedOrDuration,Duration
**********************
2 – Executing a Sequence From Controller
You can start a sequence from the SmartDancer Menu of submenus:
Main Menu ->> Read&PlaySQ — Reads AND executes last selected sequencer nc. (i.e. *sequence? where ? is 1 thru 9. 0 is reserved for Master.
Sub-Menus
[Options]==>
READ_SEQ — ReReads current Sequence
STOP_SEQ — Stops the current running sequence
ReReadSeq rereads the last selected *sequence nc
[Expansions]==>[Sequences]==> (list of sequences by name. Names are assigned to sequences in the *sequence0 nc) Pressing a button (1 thru 9) READS that sequence and makes it the CURRENT sequence for Playing (executing) or having changes made to it for ReReading.
You can now, also bring up the SmartDancer Controller Menu from either the SmartDancer Relay HUD by just clicking on it, Activation IDs must matches
OR
From the Artiste Performance HUD via the yellow AutoAccess button. ActivationID must be 4 on the Controller. Click on the SmartDancer button.
**********************
3 – Executing a Sequence From Chat
…or another choreography tool.
The tool must be owned by you.
Please see this post for more detailed information on Playing Sequences: Playing Sequences
Use the following channel specified on your *channels nc inside your SmartDancer Controller. Specify your own channel.
ChannelForFromArtisteHUD,-123456789
The Commands are:
SDREAD_AND_PLAY_SD_SEQ
SDPLAY_SEQ
SDREAD_SEQ
**********************
4 – Format:
/* lineno, command, parm1(optional), parm2(optional), parm3(optional), parm4(optional) | elapsed-time or duration
Note: Lineno can be anything like a comment as it is not validated other than needing to be something there. Examples:
1,Half | 0 or
,Half | 0 or
Grouping for TurnIn,Half | 0
*************
5 – Grouping
Grouping ONLY applies to TURNS and
FORMATIONS. So, yes, a formation CAN apply to just half of the dancers, which can lead to some very interesting and unique hybrid formations.
1,Half | 1 << sets Grouping to half left, half right….i.e.
(half of J-R or half of A-I)
XXXXYYYYY XXXXYYYYY
X=abcdjklm
Y=efghnopq
1,Alternate | 1 << sets Grouping to every other i.e
X=acegikmoq
Y=bdfhjlnpr
1,No_Grouping | 1
1,SendX | 1 — Sends next turn or formation to GroupX
1,SendY | 1 — Sends next turn or formation to GroupY
1,SendZ | 1 — Sends next turn or formation to everyone
NOTE: No_Grouping now just does a SendZ and leaves the last Grouping, either Half or Alternate (unless it was the initial setting which IS No_Grouping, so all you have to do is do a SendX or SendY and it will use the previous Half or Alternate setting.
Sends specify WHICH group (X,Y or both(Z)) will receive subsequent TURNS and Formations, commands|
Please note that JuneTarget WILL affect X,Y, and Z and limit which of the X or Y or Z are affected by subsequent Turns and Formations. i.e. ( altb = bdfh…this would limit a SendX on Half to just bd instead of abcd)
*************
6 – Speed
1,Speed,-1%-1%0.2 | 1
Formation Speed (& June),
TurnDurationOverride,
CanonDurationOverride
(-1 for skip)
*************
7 – Formations
1,FORMJR,COLUMNSBLK | 1 — Selects from *formations nc
2,FORMAI,SINGLEFILE | 1 — Selects from *expansions nc
3,FORMALL,SINGLEFILE,FRONTLINE |1 –– JR formation then AI formation both sent at nearly the same time
*************
8 – Animations
There are 5 animation states:
1 – Default standing animation. This happens when no other animation is running and happens at the start and end of routines as well. This animation can be replaced via nc or changed dynamically at run-time using the passive StandingAnimation command. It uses the actual name of the animation to replace the ‘standing‘ animation.
2 – Current active running animation. This is simply the animation that is currently running. It is the animation that will be STOPPED when you execute the StopLast command.
3 – Backing animation. This is simply the animation that was currently running just prior to a Canon sequence running. This is the animation that will start running again after each Canon Animation completes. It is always the current active running animation just prior to a Canon running, unless there is a FROZEN animation
4 – Canon Animation – This is the animation that runs during a Canon cycle. It can be the same or different for each dancer, be they animesh or avatar-on-poseball. This animation can also temporarily be changed dynamically at run time but then it changes for ALL Canons solos. Setting it to blank at anylevel causes the CanonAnimation to revert back to the prior lower level.
5 – Frozen Animation – This is always the Current active running animation, UNLESS…you specifically FREEZE an animation, in which case, THAT animation becomes the Backing animation. You can UNFREEZE the frozen animation. The next animation, and each subsequent animation will act as the new FROZEN and Backing animation
============
NOTE: The default Division is A. So if you specify a divison without specifying a SendItTo command, only those in Division A will dance your first dance.
1,Dance,Bodi | 1 — Causes animation associated with button name ‘Bodi’ to play immediately on LAST specified Division which COULD be set by a Dance2 so be careful . Best to be explicit.
1,Dance,Bodi,C | 1 — NEW 02-03-21 – This sends Bodi button name to Division C and makes C the current division so then subsequent Dance commands can eliminate division if the dancers are meant to go to Division C. …You can always use a SendItTo,C or a SendToDiv,C command as well.
1,Dance2,Bodi,A,F-Belly1,B | 1 — NEW!
Dance2 allows you to send 2 dances at the same time to two different divisions. It uses the Button name
TIP: You can use this command to send a single dance and its Division.
EX: 1,Dance2,Bodi,A |1
This saves a line from the traditional , replacing both the following:
1,SendItTo,A | 1
2,Dance,Bodi | 2
This command (Dance2) was created with couples dancing in mind. The A and B, in the example above, designate which divisions are in play and overrides any previous Divisioning, TEMPORARILY.
1,Standing,!N HStand1 | 0 — New. this changes the default standing animation for all dancers (avis/anis) and overrides the StandingAnimation entry on any *smartdancer ncs. This MUST BE the ACTUAL animation name and NOT the button name.
This is a handy way to allow for priority 3 animations to run and override priority 4’s. Please contact Lat Lovenkraft as the topic is worth a face-2-face 1-on-1 conversation.
In short: It is advisable that a standing animation be priority 3 but when it isn’t then priority 3’s will have trouble running after a priority 4 if the standing animation is priority 4.
1,DanceCanon,Bodi | 1 — CanonAnimationOverride – button name ***WITHOUT*** the at-sign (@)
1,StopCanon | 1 — Stops Canon Animations
1,Freeze | 1 — makes last animation the backing animation – protects it from being stopped. Meant to be used with StartKill. This will be the animation that runs when CanonAnimations stop.
1,StopAll | 1 — Stops all Local and Canon Animations
1,StopLast | 1 — Stops Only the last Local Animation
1,StopA | 1 — Stops all dancers assigned to Division A
1,StopB | 1 — Stops all dancers assigned to Division B
1,StopC | 1 — Stops all dancers assigned to Division C
1,StopD | 1 — Stops all dancers assigned to Division D
*************
9 – Turns
1,Turn,45L | 1 — New — turns 45 degrees counter-clockwise
1,Turn,45R | 1 — New — turns 45 degreesclockwise
1,Turn,Home | 0 –– TEMPORARILY DISABLED
1,Turn,Left | 1
1,Turn,Right | 1
1,Turn,In | 1 — Requires HALF or ALTERNATE Grouping
1,Turn,Out | 1 — Requires HALF or ALTERNATE Grouping
1,Turn,180 | 1 — turns 179 degrees counter-clockwise
*************
10 – Junes
1,June,Left | 1 – dancers rotate counter-clockwise around controller
1,June,Right | 1 – dancers rotate clockwise around controller
1,June,45L | 1 — dancers rotate 45 degrees counter-clockwise around controller
1,June,45R | 1 — dancers rotate 45 degrees clockwise around controller
1,June,Home | 1 — dancers rotate around to the home rotation
1,SemiRight | 1 — NOTE: This takes twice as long as normal Junes
1,SemiLeft | 1 — NOTE: This takes twice as long as normal Junes
1,JuneTarget,(target[shortcuts]) | 1 — NEW ( see target shortcuts at end)
NOTE: Set this value just BEFORE and reset it off (use ClearJune) just after your June has completed. If you forget to set it back, the JuneTarget will also act as a target for formations…which MIGHT? be what one might want for an unusual formation limitation since only Groupings intentionally limit formations and turns.
1,ClearJuneTarget | 1 — abcdefghijklmnopqr
1,JuneAI,<3,8,0> | 1 — NEW 12/20 – Offset for 2nd separate June only for A-I; turn off after use with 1,JuneAI,<0,0,0> | 0
*************
11 – Canons
Solos animations and/or turns based upon the pre-specified Target
NEW FOR 2022
The PushOut – this new feature allows the soloing canon dancer to move out away from the other dancers so their animation is less constricted
Rules:
#1 – You can choose either PushOut or Turns (Turns&Anims) but not both.
#2 – You MUST have a Walk1 and Walk2 animation. I have provide 2 Full-Perm walk anims called JD walk 1 and JD walk 2. Use one to walk into the canon dance and the other to walk back to the original departure point. Be sure you have the Walk animations defined in the *animations nc.
New sequencer command can dynamically dictate if the walk or Canon animation are used to move forward and back using the new sequencer command. Using targeting, you can mix the two options, (walk and anim). The default is “anim” if there is no sequencer override and there is no *smartdancer entry for CanonWalkOrAnim,anim
*sequencer nc
PushOutWalkOrAnim,(walk/anim/inplace)
*smartdancer
CanonWalkOrAnim,walk
Walk1,JD walk 1
Walk2,JD walk 2
TurnDuration,3.0
#3 – The PushOut uses a constant of 0.2 seconds for the 2 turns used in the walk out …one to return to the line and a 2nd to reface forward. It uses a Turn 180.
#4 – The PushOut uses the TurnDuration to determine the Walk1 and Walk2 durations.
#5 – You must specify 2 entries in the *sequence nc. See example below and the PushOutCanonFormIN should occur before the PushOutCanonFormOUT
#6 – The PushOutCanonFormOUT dictates how far the dancers will move out from their home position. Simply CaptureJR it and include it. Currently only J thru R are able to participate in PushOuts. A-R can still participate in turns. PushOutCanonFormIN is the name of the form that the Canon starts from.
/*0,TraceSequenceTimes,on | 0.1
1,Hide | 0.2
2,Division,AAAAAAAAA | 0.3
3,Dance,Bodi | 0.4
4,Target,j-r| 0.5
5,PushOutCanonFormIN,LINE2JR | 1
6,PushOutCanonFormOUT,LINEJR | 2
7,PushOutWalkOrAnim,anim
/*4,DanceCanon,Samia | 10
/*7,Canon,Reverse | 1.2
8,Canon,Left | 13
21,StopAll | 100
END
#7 – AlwaysFaceAudience,yes is assumed.
#8 – PushOutWalkOrAnim,(walk/anim/inplace)
If you choose anim option, then the walk cycles, both in and out, use the CanonAnimation instead of the walk animations. Use the ‘inplace’ option and the dancers will do their CanonAnimation in place without moving out of the dance line. This is how it used to work.
***
1,Canon,Left | 1
1,Canon,Right | 1
1,Canon,TurnIn | 1 — GroupX turns left, GroupY turns right
1,Canon,TurnOut | 1 — GroupX turns right, GroupY turns left
1,Canon,Home| 0 TEMPORARILY DISABLED
1,Canon,Reverse | 1 — Plays Canon in reverse order
1,Canon,Forward | 1 — Plays Canon in forward default order
1,AnimsOnly | 1 — Only performs animations during Canon. It does not matter which Canon direction you choose.
1,TurnsOnly | 1 — Only performs turns during Canon.
1,Turns&Anims | 1 – Only performs turns * animations during Canon. Be sure to add the times for both per dancer.
1,SelectCanon,1 | 1 — Makes CanonAnimation1 & Interval current
1,SelectCanon,2 | 1 — Makes CanonAnimation2 & Interval current
1,DanceCanon,D-Belly-11 | 1 – button name WITHOUT at-sign
1,CanonOrder,$432187659 | 1 — This duplicates for AI and JR
i.e. $432187659432187659 (abcdefghijklmnopqr)
1,Hold | 1 –– Prevents Canon Dance from reverting back to backing
1,Release | 1 –– Resumes Canon Dance reverting back to backing
1,StopCanon | 1 — Stops All Canon Dancing, reverting back
1,SeqSwitch | 1 — Alternates between CanonAnimation1 and 2
1,SeqUnSwitch | 1 — Undoes Canon dance alternation
1,Finish | 1 — automatically plays CanonAnimation2 in *smartdancer nc in animesh OR — returns to backing animation after last Canon — also performs Auto Commands pre-effect at start of animation and post-effect at end of Canon cycle (effects are: AutoChat, AutoGlow, AutoFade, AutoColor
NOTE: Does not work with Hold state
1,UnFinish | 1
1,ColorCanonLinks,Silk%Dress%Veil | 1– note: we use a comma after ColorCanonLinks instead of ‘@‘ as we do with PREPFORM. We use % as separators for multiple parameters
NEW – 10-22-20
1,GlowCanonLinks,Silk%Dress%Veil | 1 –– note: we use a comma after ColorCanonLinks instead of ‘@‘ as we do with PREPFORM. We use % as separators for multiple parameters
NEW – 12-12-20
1,AfterCanon,2 | 1 — automatically executes sequence #2 after canon completes where 2 can be any valid sequence number.
1,AfterCanon,0 | 1 — turns it off
NOTE: Be aware that the CURRENT sequence is now *sequence2 and so when you reread sequence, it will be the 2nd sequence. Also, it is STONGLY recommended that you have an ElapsedOrDuration entry at the start of all *sequence ncs or you could find yourself with unsuspected results.
*************
12 – Divisions
NEW! 01/13/21
DIvisions can now be 9 or 18 long on a sequence nc.
IMPORTANT!!! Previous Targeting WILL limit the division assignment so unless you have intentions, be sure Targeting is ‘all’, (i.e. abcdefghijklmnopqr)
1,Division,AAAABBBBC | 1
1,Division,AAAABBBBC CCCDDDDD | 1 — NEW!!
1,SendItTo,A | 1
1,SendItTo,B | 1
1,SendItTo,C | 1
1,SendItTo,D | 1
1,SendItTo,E | 1 — NEW! This sends to ALL Divisions
NEW! 01-14-21 – Alternate command wording
1,SendToDiv,A | 1
1,SendToDiv,B | 1
1,SendToDiv,C | 1
1,SendToDiv,D | 1
1,SendToDiv,E | 1
*************
13 – Effects
1,Glow,jkpq,0.2 | 1
1,Vanish,a-r | 1 – NOTE: animesh with attachments are not reliable
2,Appear,a-r | 1 – NOTE: animesh with attachments are not reliable
Currently FadeIn/FadeOut duration is fixed
1,FadeOut,j-r | 1
2,FadeIn,j-r | 6 — allow time for fadeout
or
1,FadeOut,lmno | 1
2,FadeIn,lmno | 6 — allow time for fadeout
or
1,FadeIn,j-r | 1
2,FadeOut,j-r | 6 — allow time for fadein
or
1,FadeIn,lmno | 1
2,FadeOut,lmno | 6 — allow time for fadein
*************
14 – Autos
1,AutoChat,123,456,PartStart,PartStop | 0
2,AutoChatOn | 1
3,Canon,Left | 2
4,AutoChatOff | 3
1,AutoColorOn | 1
1,AutoColorOff | 1
1,AutoColorAmount,<1,1,0>,<0,0,1> | 1 — canon in color, out color
1,AutoGlowOn | 1
1,AutoGlowOff | 1
1,AutoGlowAmount,0.5,0 | 1 — 0.5 value for ON, 0 value for OFF
1,AutoFadeOn | 1
1,AutoFadeOff | 1
1,AutoFadeAmount,0.5,0 | 1 — 0.5 is for ON, 0 is for OFF –transparency 1 is opaque, 0 is invisible
1,AutoChatOn | 1 –NOW IMPLEMENTED – SkipAviOnEffects,off/on
1,AutoChatOff | 1 – NOW IMPLEMENTED – SkipAviOnEffects,off/on
1,AutoChat,123,456,message1,message2 — NOW IMPLEMENTED – SkipAviOnEffects,off/on
*************
15 – Other
1,AlwaysFaceAudience,(on/off) | 1 — when on, Junes always face towards the audience. When off, Junes cause the dancer to face towards the direction of the June. This command respects Targeting so you can specify with dancers participate for a particular setting. You can set 2 different groups with 2 different settings.
1,RezObjSD,(0/1) | 1 — rezzes an object of the same name as the rezzer, in same place, same rotation, zero velocity…if in the current canon/effects-target. (0/1) if 1 then deletes itself after rezzing (object_rez)
1,SetToNonPhys,(on/off) | 1 — When on, sets subsequent rezzed objects from this object to NON-PHYSICAL upon COLLISION
1,Temporary,(on/off) | 1 — When on, sets subsequent rezzed objects from this object to TEMPORARY upon COLLISION
1,RezObj,NameOfObjectToRez%<1##1##1>%<0##0##0##1>%<1##0##0> | 1
<1##1##1> = rez at position <x,y,z> — must be within 10 meters of center of root prim as the crow flies
<0##0##0##1>= rez with rotation <x,y,z,s> — I have always used <0##0##0##1>
<1##0##0> = velocity direction <x,y,x> — this can be directly translated into ApplyImpulse on Thrower
1,Pal,02_A%FadeHide%ALL%2 | 1 — NEW! This sends the FadeHide%ALL%2 parameter to a Palette named 02_A
1,LinkToSD,2,3 | 1 — NEW 2021! This activates SmartDancer
Controller with ActivationId in its *channels nc with a value of 2, and causes it to execute sequence number 3.
1,ReInit | 1 — NEW 2021! this sends formations to the dancers from the SmartController that executed it.
1,HybridPAL | 1 — NEW! Disables SD scripts & enables PAL scripts
1,PrepForm,1 | 1 — This will execute the PrepForm entry identified by 1 in its 1st position. This will likely be more than one passive command separated by commas. Parameters for a given passive command are delineated by % (percent signs)
1,PrepareToLoop | 1
1,SuppressEndMsgs,(0/1) | 1
1,TraceSequenceTimes,(on/off) | 1
1,Hide | 1 — Hides HoverText and Controller
1,LastCanonPrep%11%2.5 | 0 — no. of PREP to execute on last Canon cycle, Delay in seconds before PREP fires NOT SUPPORTED
1,Sit2Sit,(name of object to sit on) | 1 — (name of object to sit on)
Instead or Renames use ActivateAI and ActivateJR
1,SwapNines | 1 –– this renames A to J, B to K, etc. and renames J to A, K to B etc.
1,UnSwapNines | 1 — this renames J to A, K to B, etc. and renames A to J, B to K etc.
These SWAP commands enable either group of nine dancers (A-I or J-R) to use all 222 formations.
1,Hide | 1 — Hides HoverText and Controller
1,Wait,3.5 | 1 — NEW
1,Chat,123,This is my message | 1
1,Say,0,This is my message | 1
1,Whisper,0,This is my message | 1
1,Shout,0,This is my message | 1
1,IM,This is my message | 1 — sends to owner
1,Owner,This is my message | 1 — also sends to owner
1,Speed,-1%-1%0.2 | 1 — Formation Speed, TurnDurationOverride, CanonDurationOverride (-1 for skip)
*************
16 – Targeting
NOTE: Some commands have targeting built into the command.
See shortcuts for targets below
1,Target,k-p | 1 — Target applies to BOTH EFFECTS and CANONS.
or
1,Target,jklopq | 1
1,ClearTarget | 1 — Sets Target to “abcdefghijklmnopqr”
1,Color,jklm,<1,0,0> | 1
2,Color,nopq,<0,0,1> | 2
1,ColorLinksNow,jklm,<1,0,0> | 1 — NEW!!
1,Glow,r,1.0 | 0.2
***********************
17 – SHORTCUTS for TARGETS
all=abcdefghijklmnopqr
a-i=abcdefghi
j-r=jklmnopqr
altaq=acegikmoq
altbr=bdfhjlnpr
alta=acegi
altb=bdfh
altj=jlnpr
altk=kmoq
ends=abpq
endsj=jkpq
endsa=abgh
middle=efghjklm
middlej=lmno
middlea=cdef
left8=abcdefgh
leftj=jklm
lefta=abcd
right8=jklmnopq
rightj=nopq
righta=efgh
all=abcdefghijklmnopqr
allj=jklmnopqr
alla=abcdefghi
nor=jklmnopq
noi=abcdefgh
nori=abcdefghjklmnopq
*************
15 – Walk Form
When WalkForm is “on“, automatically plays the SetWalkForm animation during a formation transition.
When PoseForm is “on“, automatically plays the SetPoseForm animation right after an existing WalkForm animation.
1,SetWalkForm,(button-name of animation) | 1
2,SetPoseForm,(button-name of animation) | 1
3,WalkForm,(on/off) | 1
4,PoseForm,(on/off) | 1