The SmartDancer Controller is meant to be an aid to design-time experimentation and discovery via button-presses. It is also responsible for executing notecard-ed sequences of events on a timeline that can be by elapsed-time and/or duration-time based.
SmartDancer Controller can be controlled by external devices via chat and channel and can also send chat and channel commands to other devices.
Below is a detailed discussion of the menus and submenu features.
**********************
Reset
You must press the Reset button whenever you change notecards, EXEPT sequence notecards. You can use Read&PlaySQ or READ_SEQ buttons to just read changes made to *sequence ncs. This will be faster. But a full Reset will also re-read *sequence ncs.
**********************
Read&PlaySQ
Press this button after you have made changes to a *sequence nc. This will always read the LAST *sequence nc read in. Upon Reset it will always re-read *sequence1. Then it will play/execute that sequence from the beginning.
**********************
[Expansion]
This button opens up a sub-menu. The submenus from here were designed to expand SmartDancer from 9 dancers to 18 dancers as well as hold some other commands. The initial sub-menu leads to buttons to Capture formations for J thru R and A thru I. A further submenu leads to A thru I formation selection and execution. Also provided is a faster access to creating a target for effects and Canons, called TargetExp. It functions the same as the other Target.
SwapNines and UnSwapNines allows dancers to execute all 22 formations instead of just the initial 11. By Swapping, A-I can also access *formations nc animations and J-R can also access *expansions nc animations.
PlayLastSeq re-executes the last sequence read without re-reading the nc.
[Expansions] leads to a sub-menu that allows A-I dancers to execute formations defined on the *expansions nc
AutoJuneOff. AutoJune is ON by default. Pressing this button turns it off. This means that a June will NOT take effect until the next formation is chosen, as opposed to automatically executing, using the current formations.
[SetWall] is an inoperative place-holder for a possible future feature.
**********************
[Divisions]
This button takes you to a submenu that allows you to select a division. There are 4 divisions. A,B,C, and D. Dancers will belong to 1 and only 1 Division at a time. Divisions are how animations are assigned. It is how up to 4 different animations can be playing among animesh/poseball dancers at the same time. A new Division called E implies ALL divisions (A thru D);
**********************
[SendToDivs]
This sub-menu off of the Divisions menu lets you designate which of the for Divisions (A,B,C,D) will be receiving sub-sequent animations. SendItToE sends to ALL divisions.
Also there is a CacheAnims button that runs thru caching all animations via each dancer twice ad 0.2 second intervals.
MasterStart is a button that begins executing all sequences listed on the *sequence0 nc, starting the 1st sequence listed and ending at the last sequence listed.
There are some handy menu lines that help remind you of what buttons you have pressed and which animation was sent last
Anim Sent (this is the actual animation name) and Last Anim for Div(s). Also what division the next animation will be sent to, -Next Anim sent for Division(s)
The Last Btn: A thru E denotes the last animation, by button-name, that was sent to that Division. PrevBtn lists the button prior to the last animation button pressed.
Last Anim for Div(s) denotes the last division an animation was sent to.
Cur Div Ptrn is the current division. and Last Divisions are self-explanatory.
Now is a good time to remind you that once sequences begin, all bets are off. The menu line items are not reliable in reflecting what has been executed on sequences or prepforms. For example, it is now possible to specify an 18 character division using a sequencer command but that may not be reflected here.
Canon Anim will tell you if you of a canon animation override via the menu, using the CanonDance button. It will tell you which button you pressed.
StartKillKeep will be either StartKill or StartKeep. StartKill is the default and means each new animation becomes a backing animation. StartKeep means that the first animation after StartKeep status becomes the backing animation and is not overridden with subsequent animations. There is a whole post on this subject. StartKillKeep Link
**********************
[Options]
This button leads to a submenu that allows you to PLAY your last-read-in sequence. It also leads to specifying effects, like Glow, Vanish/Appear, Color, etc. You can show/hide hover-text that appears above the animesh and poseballs that identify them as unique and addressable for features like TARGETING
And you can STOP_SEQ, (stop the currently running sequence). This STOP_SEQ button will also attempt to restore the animesh/poseballs to their initial state of default formations, turn home, june home orientations, and turn off all effects.
PLAY_SEQ plays the current (last read in) sequence.
ReReadSeq will reread the last-read-in sequence WITHOUT playing it.
ReReadPrep will reread the last-read-in PREP nc (*prepform) WITHOUT playing it.
Show/Hide will toggle showing or hiding ot the SmartDancer Controller itself. It will reappear on Reset unless AutoHide,on is set in the *channels nc inside the SmartDancer Controller
AutoGlow turns on glow AFTER AutoGlowAmount is set. There was no room for it on the normal Autos menu. This glow effect happens on each Canon cycle/interval.
DumpSetting will attempt to dump a snapshot of the contents of the primary settings you have chosen with the menu buttons into an Instant Message sent to you.
SetRot2Zero will reset the SmartDancer Controller’s orientation (rotation) to (0,0,0). I found this handy when using multiple controllers.
**********************
[Controls]
This menus most used feature is the STOPALL. This stops all functions but does NOT restore the SmartDancer dancers. STOP_SEQ is used for that function. Most of the other buttons allow you to view categories of dances as you have defined them in the *animations nc. This saves you having to scroll thru all the animations page-by-page to find the one you wish to audition. The StopLast button stops the LAST ANIMATION. This will cause the previous ANIMATION to play. If no previous animation then the standing animation will play. You can get to a submenu for STOPS that allow you to stop via division. Also, you can select a particular PrepForm via the [PrepForm] button.
The DanceTime button allows you to temporarily change a dances time for testing. You can make the time less than the maximum length. You can also tell it to how many times you want it to repeat.
**********************
[Turns]
This menu allows you to turn selected dancers to face a direction. North, South, East, or West. This is accomplished by turning LEFT, RIGHT, or 180. Turn-Home, as of this writing, has been temporarily disabled. Two very powerful Turns are the Turn-In and Turn-Out. These 2 buttons only function if GROUPING is HALF or ALTERNATE. These 2 groupings divide the dancers into 2 predefined groupings, referred to as X and Y. The Z grouping implies NO GROUPING. When HALF is chosen, the left-half of the dancers becomes X and the right half becomes Y. When Alternate is chosen, every other dancer becomes X starting with A and J. The others become Y.
HALF
JKLM becomes X and ABCD becomes X.
NOPQR becomes Y and EFGHI becomes Y.
ALTERNATE
ACEGI becomes X and JLNPR becomes X.
BDFH becomes Y and KMOQ becomes Y.
Turn-In causes X to turn left or counter-clockwise and causes Y to turn right or clockwise.
Turn-Out causes X to turn right or clockwise and causes Y to turn left or counter-clockwise.
**********************
[Junes]
Junes allow all formations to rotate around the controller in a clockwise or counterclockwise direction. SetJuneLeft rotates all dancers within the JuneTarget in a counterclockwise direction. SetJuneRight rotates all dancers within the JuneTarget in a clockwise direction.
The June lasts for the duration of the speed of one formation transition. Junes perform the most recent formation for both A-I and J-R unless AutoJune is off. (It is on by default). Then it will wait and perform the June on the next formation selected.
SemiLeft and SemiRight will perform 2 Junes in a row which will last twice the length of a formation transition. This results in an 180 rotation around the primary Controller.
Junes also can have their own special target. You use the XJuneTarget button to set a target for subsequent Junes.
SetJune45L will June 45 degrees counterclockwise.
SetJune45R will June 45 degrees clockwise.
SetJuneHome will return to the home rotation, fixed upon reset.
ClearJuneTar will set the June Target to all (abcdefghijklmnopqr).
**********************
[Canons]
Canons allow dancers both animesh and avatars, to do solos. They can all do the same animation solo or each one can do a different animation or combinations of both. Canons are subject to Targeting.
There are a LOT of posts and videos explaining more in depth on how the different types of Canons work. The menu title has values that start with the letter C followed by a blank. These are all Canon values.
Canons can be animations or turns or both. To make them both, then toggle the Turns&Anims button. Anims Only is the default. To make the Canons only turns, toggle the TurnsOnly button. Canons turn left Or right but if they are AnimsOnly then it does not matter which canon-direction button you choose. It will animate but not turn.
Canons can run forward, from first letter of target to last letter of target. Or they can run in reverse from last letter of target to first letter of target. Canons have a primary and secondary animation. They also have a primary and secondary duration/interval. They can be specified in the *smartdancer nc inside each animesh/avatar to make the animations unique to each dancer, or they can all be overridden at the SmartDancer Controller level. And the SmartDancer Controller specification itself, can be overridden at run-time by using the DanceCanon command and Speed command.
CanonTurnIn and CanonTurnOut are only valid when Grouping is HALF or ALTERNATE. They are subject to the same turn specifications as the [Turns] TurnIn and TurnOut.
Select2 button allows you to toggle between CanonAnimation1 and CanonAnimation2.
[CanonOrder] leads to a submenu that provides more options, including the order of execution of the 2 sets of 9 dancers (A-I and J-R). There are also some more options on this submenu for fancier Canon-ing
The CanonDance button provides you with the ability to override the animesh/avatar level animation and SmartDancer Controller animations. It is only temporary but works and is easier to change than having to edit the SmartDancer Controller *channels nc. NOTE that the sequencer command is DanceCanon so don’t assume.
**********************
[Canon Order]
The Canon Order menu has additional Canon features. It started out as just a place to change the order of Canon Execution. Then it grew with a few more features. Fortunately we have detailed posts with video to explain some of the extra features.
You get 6 built-in orders but you can create any type of custom order at run-time using the CanonOrder command.
Example: $182736459 means that the 1st canon will be 01_A followed by 01_H (the 8th letter of the alphabet). Then 01_B, then 01_G, etc. After it gets to 01_I (9th letter), it repeats with 01_J followed by 01_Q, etc. In other words, the pattern simply repeats A-I to J-R.
For the Switch/UnSwitch toggle please see this post==> Switch/UnSwitch
For the Hold/Release toggle please see this post==> Hold/Release
For the Finish/UnFinish toggle please see this post==>Finish/UnFinish
**********************
[Sequences]
The Sequences Menu allows you to choose a specific *sequence nc to read in as the CURRENT sequence. These sequence names are defined in the *sequence0 nc. You access it via the [Expansion] button from the Main Menu.
[Turns]
Turns Menu lets you turn Left, turn Right or Turn45 Left or Turn degrees 45 Right Turn 180 degrees..(backwards). Also, the TurnIn and TurnOut only work when you have 2 Groups (X,Y).
[Animations]
Press the pertinent button to play a desired animation. It will repeat if it is a repeating animation.