Asked
— Edited

Hi guys.
I have a quick question regarding the RGB animator config "Settings" menu. At the moment I have 4 animator actions and would like to know if I can asign a soundboard file to just one of these actions, and not have all four actions play the sound file on the "Positioner start script"?
Or is it a case of having 2 animator controls, one with sounds and one without?
Thanks in advance.
Steve.
1 quick additional question, what script command do I need to use to automaticly start an animation action after the EZ-B establishes a connection. I don't mean straight after connection (connection control config menu), I mean after the start up script has been run from the connection control.
I hope you can understand what I mean. If not, let me know.
in the connect box, click the gear. from there, you can use the 0-connection Established Cmd to set the script that would run when the connection establishes.
oops, didnt read the entire post. will re-read and then answer.
What I do is generate an init script that fires after the connection is established which then sets up everything to run as I need it to. In that script, I do things like set the movement action to stop, start monitoring power, set led's and start monitoring everything by calling a monitor script which is setup to loop.
@d.cochran.
Thanks for your (edited) reply my friend.
I thought there might be a way so thanks for confirming. I haven't had much experience (or luck) with init scripts yet. Could you post a small example of one for me if you wouldn't mind?
Cheers, Steve.
Read this lesson, it'll help you
https://synthiam.com/Tutorials/Lesson/23
Apply what you learn from that lesson to the Connection Control's Configuration Menu. And as @d.cochran said, you're code will go into the Connection Established
I haven't looked at these in a while but here is what I have on my project
Startup Script
Here are the other scripts Battery Monitor - This script is from Rich and is old. I am replacing it with the abilities that the V4 has built into it already. I was using this when I was passing only 5 volts to the V4 but was using 7.4 volt batteries. Now I pass 7.4 volts to the V4 and regulate power after the V4.
Set LED's for power
Light monitor
tilt monitor
temp monitor
Personality Generator
Let me know if you have any questions.
Thanks David
@DJ.
Thanks for your reply. I will have a look. I didn't think I could add a long running script in the connection config as it would block other commands from executing. I already have a connection script that runs for about 10 seconds, but what I want to add would run for a lot longer (blinking eye animation). I will check out the lesson though.

@d.cochran.
Wow, didn't expect that much. Thanks very much for that. I will go through it and see if I can figure out what I need.
ARC is multi-threaded. This allows multiple scripts to run at one time without affecting each other.
Also, I wanted to make sure you had enough to learn from. Each of these scripts either calls other scripts or movements. I dont have an example of calling the rgb component but it would be done the same way. Also, in ARC, when you are editing a script, you can use the Cheat Sheet tab which will allow you to add other scripts or actions that you have programmed to be called by your script by clicking on the command you want to add. You will see this done above through the use of the ControlCommand command.
Things like the Auto Position and RGB Animator are background threaded - this means once you ask them to start, they run the loop for ever. The script doesn't "wait" for the animation to run. The script will merely nudge the animator and say "hey, run" and the animator will run in the background for ever until told to stop.
Of course, it will only run for ever if the checkbox is set for "repeat" on Auto Position or RGB Animator
It isn't great practice to through loops and such in the connection control - that's too much overhead for the connection established feature. However, nudging another script to "start" with the ControlCommand() is safe.
Essentially, ControlCommand() is the same effect as a human pressing the buttons on the control that you are directing it too. As a human, you don't press a button, sit, stare and wait for it to finish... You move on to other things - and that's how the ControlCommand() was designed.