Search This Blog

Friday, April 13, 2012

I Moved

I have been struggling to come up with a help blog that would work better for Barre. After looking at my shopping list of requirements and talking with a friend about it. I came to the conclusion that I just need to get my own website. I turned to my friend and said "Hook me up!" Boom! 10 minutes later BarreHUD.com was online. It helps to have friends in the web biz. *LOL*

So here its the link to my new blog...    www.BarreHUD.com 



Huggies,
Rach

Thursday, December 8, 2011

Barre Version 3.0 Almost Ready

New Features – Version 3.0
Skins! Barre now has the ability to theme the HUD. We have included some
additional themes with this version. See Skins section for details.

Club Invite! This is great for club hosts. Club Invite can be found when clicking

on the Invite Button. You will see in the display list the option to invite all. When
you click this it send out invites to any open dance spots left in your HUD to
anyone in range. It won’t re-invite someone that is currently on the HUD.

Cache Loader! The Cache Loader will cycle thru the animation in the HUD

until you stop it. This will load them to your cache helping to eliminate that
stall you see after you selected a dance. You can find the trigger for this
in the tools menu by clicking on the ‘TOOLS’ button then look for
‘Cache Loader’.

Timer Function! The Timer script was added to help deal with laggy

regions. It’s not a perfect fix but it does help. LSL scripts are horribly 
inaccurate when it comes to timing due to the heavy influence that dilation
and FPS have on it.

Here is a quote from the LSL Wiki that explains an issue with dilation on scripts…
“Time dilation is a method the server uses to cope with simulator lag.

Physics and script generated lag can result in time dilation. Time dilation
slows script time & execution. When time dilation is zero script
execution halts.”

What I have done is to add a timer that takes the influences of server lag,

recalculates the effect on the scripts, and then sends a termination signal. 
This in combination with the primary timer brings the timed dances better in
line with the requested play time. You still get some inaccuracies due the way
scripts are treated by the server but it is now closer to the requested play time
then we have ever seen.

In the Tools button menu you will find a macro called “M!Timer Toggle”. This will

turn on and off your timer script in the event you find you don’t need it. The script
is suspended when it is turned off so that it will have less of an impact on script 
cycles.

You will also find in the Tools button menu the macro “M!Timer Debug” . This

turns on and off a feed of information to chat that you the HUD owner can only
see. It gives you the name of the dance that was just completed, total time
executed, the dilation at completion, and the FPS at completion of the
dance. These are all important things to look at when calculating sequences 
and adjusting play times. This will also let you see the effects of a laggy SIM
on the HUD. Keep in mind this will only give you information during a timed
dance or a sequence where timing is a factor for each dance.


Host Solo! On far right side of the dance display list you will see that the texture

is highlighted in a different way. This is to indicate that clicking in this area will
solo the host with the dance indicated. All other dancers will not be affected by
the dance change. The host can rejoin the rest of the dancers by clicking in the
main body of the dance button just left of the Host Solo button. Host rejoining the
main dance is done by simply re-syncs the dancers.

SKINS
Barre now has the ability to change its look. A variety of skins have been included

with version 3.0. You can find more skins at the Rachael Rockers Shop.  To
change the skin/theme of the HUD click the ‘TOOL’ button. You will find in the
display list ‘M!SKIN ---‘ Clicking on the M!SKIN macro will change the theme
of the HUD. There are varying contrasts to pick from.

SKIN DEVELOPERS
I will be posting a link here for the Skin Template and Info after the release of

version 3.0.

The Note Card Macro
[SKIN]Front texture UUID key, Top hide texture UUID key, Sides and back

color vector,  Button highlighter texture UUID key, Speed scroll highlighter
bar texture UUID key, Text color vector, Text highlight color texture vector

This method reveals the UUID of the textures you use and is not a great

way to use if you wish to sell a skin. So I have developed a script that can
be used by skin vendors. See the downloads above for the script and the
note card Macro [DO] command. The Skin Vendor Development Pack
includes the resources to help you make commercial skins for the HUD
. But keep in mind Rachael Rockers and its staff makes no promises
that your creations (skins) will not be copy botted by some malicious
person.  Content theft is not something that is in our control. 

For vector color options see this website: http://lslwiki.net/lslwiki/wakka.php?wakka=color

The default skin macro looks like this…
[!NAME]SKIN - Default|[SKIN] f32c8958-e1a3-e451-445c-d869a9ad5a5e,

f62a82fb-8177-370b-6d0b-659806476be6, <1.0, 1.0, 1.0> ,
d54af482-8c5b-603b-c455-e781883be79e,
e3e6ae24-435f-a95f-6b5a-fbf950034430, <1.0, 1.0, 1.0>, <1.0, 0.0, 1.0>

Fixes
There are a few fixes in this version. 


Re- Sync when clicking the dance again


Active Check has been modified to function quicker to help prevent

errors is someone crashes or logs out while they are on the HUD. This
should boot them quicker, limit errors and help prevent lag.

Random and Sequence Modes have been modified to stop when in none

dance modes in a menu. This will stop the HUD from selecting thing when
the user goes into a menu that dances or sequences are not listed on.

Random and Sequence Verbose text has been changed to be more user

friendly.

Macro Say comments have been modified to stop double lines in chat.


Commas are not allowed in Emotes. Use /’ to put a comma in an Emote now.

[NAME]Commas work now|[SAY]|HI Guys/’ How are you all?

Fixed [REPEAT] it was sending text to chat when it repeats

IN THE WORKS – To be done
Login sizing and positioning
Configuration options set in Tools NC
Loader occasionally starts a new load when it is actively loading
Add new missing AV filter options – prevent bug error
Shorten timing on the invite to keep the

Friday, November 11, 2011

Choreography & Dance Theory in SL

Just a few notes on choreography & dance theory in SL. I will add more to it as things pop into my head. If you have anything to add please do so in the comments below.

Lead – The lead manages the micro choreography of the dance. This person initiates step changes that the followers continue. Typically a signaled change is done with hand pressure, but other signals are common.  In SL the HUD host is the lead. Ultimately it is the host’s responsibility to make your dance crew look awesome.

Choreography – A sequence of movements. In SL we blend many different styles of animations to create a look that meshes with the environment and as well as music. To many it has become a mathematical formula using a stopwatch to manage these abilities. In doing so much of the emotional aspects were removed from the dance.
Typically all SL dance HUDs allow choreography in a linear fashion. When Poetry of Dance came along these preconceived method were broken by the ability to use 3 dimensional movements without the need of animations to place the avatars position. (Poetry of Dance currently is by invitation only) 

Imperfection is Perfection – Art is beautiful to the beholder.  Sometimes parallels are appealing. But we find ourselves looking at the unusual with awe. When you remove the parallels, the linear you step beyond the common and into the unusual.  Dare to be imperfect… Dare to be different!

Pre-Stance – These are used to pose the lead and follower before the dance starts. Any professional dancer knows this is a very important stage in the dance. These movements or poses set the emotional stage for the dance that will follow.  A respectful pause is used to help build the audiences anticipation.

Post-Stance – Immediately after the dance concludes the lead and followers will pose in a completion stance. This is the final signal to the crowd of the conclusion. This must be choreographed carefully since it can leave the audience feeling as if they have missed out on the end of the dance.  Generally a reach or fall is used at this point with pause.  It is important for the lead to judge the response of the audience to know when to enter a respect and bow sequence.

Sense of Reality – The human mind does not check out when you log in to SL. Although some would argue that it does. The same thoughts and desires still apply. We have only moved them to a different environment. In that we need to think of what is expected for the dance to be enjoyable or needed for it to be possible for the mind to interpret.  2 rocks dancing the samba in a bowl of chili is a bit of a stretch for anyone’s mind.  (Now watch that be the next greatest hit on SL Broadway. *Rolls Eyes)

Sequence - This is a series of event or list. When referring to sequences in the dance realm of SL it is a list of dances with timing that is played sequentially. So dance A is played for a time specified then dance B... and so on. This is the main standard of SL.

Sequence Sets - A group of sequences played in sequential order. This is typically macro sequences. When played, these sequences continue on by playing the next macro event line or jump to a pre-specified macro sequence. The reasons behind using marco sequence set are many but primarily it gives you extended abilities far beyond that of standard sequences.

Offset - This is a choreography effect to create a dimension in your dance set. Lining up dancers in a linear method is a burlesque style. In modern dance offsets or staggers are used for a dimensional effect. As simple as this concept is it is not used in many stage shows in SL. In clubs a 180 offset give some wonderful effects to partner dancing or even groups if done right. 180 also gives a friendly non imposing style. Nothing is worse then trying to walk around a line dance group that is taking up all the dance floor in a laggy club.

Here is a nice discussion on modern dance that you may find useful. It outlines some points I leaned as a child being force to attent dance class. *Rolls Eyes*
Simple Guide To Choreography


A great source of information on SL dances and choreography can be found by following the link...
Dance Queens Blog





Thursday, November 10, 2011

Common Questions and Answers

Barre and Poetry of Dance have debugging abilities built into them. SL does do some strange things. So I have given you the ability to see if its SL screwing up or a malformed macro or even an error in the script.

/11check
If this is typed in local chat by the owner of the HUD or a Rachael Rocker administrator it will display a detailed stat list of  the active slots, database slots, and other active scripts. From this information you can extrapolate most debugging issues.

Q: While wearing my HUD /11commands are not responding and the RSVP orb is not inviting too.
A: This tells us that the listener is not working on the HUD. In some cases SL did not download the script to the SIM as it should or failed to compile it. Unfortunately this is just a SL bug. The best way to fix this is rez the HUD on the ground, go into edit mode, select content tab. right click the 'Positioner/Guest Interface' script, then select open, you will be told you can't open it, click the reset button in that window. Now just wait for a few minutes. (I have only ran into this SL bug once.) Then close the edit window take the HUD and wear it.... If this does not work. Try a full reset of the HUD scripts manually.

Rez the HUD in a different sim


Q: I'm sending dance requests to someone but they are not getting them.
A: Click on the stop button on the HUD and click stop all. This will reset all of your dance slots. Try your invite again.
1. The invite popup is hiding in the list of notices in the lower right of there window and the person you are inviting hasn't seen it. This is common for users of version 2 Second Life Client. Tell the person you invite to look in there notices.
2. You are using a group macro and inviting someone to a dance slot that is in uses. Tip: clear the dance slots before you start inviting using macros.
3. The person you are trying to invite is not in the region.
4. Second Life is freaking out. LAGGY region.
5. Maybe just maybe the HUD dance slot has crashed. Type /11check in public chat. If you see all the slots show up on the list then your problem maybe one of the items listed above, not the script.


Q: I'm clicking dances but nothing is changing.
A: If your HUD is setup correctly and was functioning before... It takes time for your viewer to download the animation to you so that you see your AV animated. Typically this is only a few seconds but in heavy traffic it can take longer. Pre-caching helps to avoid this issue.
1. If you are on Poetry of Dance look at the 'G1, G2, G3' buttons. Are any highlighted? If they are, toggle it off. Try a dance again.
2: Look in local chat, do you see an error show up when you click on the dance? If you do then the HUD can not find the dance. Check for syntax errors.
3: Are you active on the HUD? Click the stop button. Are you listed in the stop list? If you are not on the stop list then you are not active on the HUD. Invite yourself by clicking the Ballerina/ME button.

Q: I clicked SYNC and It didn't sync all of us.
A: Try a double click on the sync button or clicking the dance from the display list again.

This is such a common issue for all dance HUD developers. Generally a region lag issue. The dances HUD slots are written in a way to sync as tightly as possible in SL. They are very minimal in code size. But even with all this effort if the region is to busy/laggy then it will sync in a odd way. The best way to deal with this is to remove all attached scripted items that you can. Keep in mind some hair and shoes can have over 400 scripts in them. Limiting your overall script thumbprint can give you a bit of a boost in performance.

An issue I stumbled on by accident is bad Internet connection. My problem was I would loose connection and get it back with in 5 to 15 seconds later. I would click and click and click... then all of a sudden my HUD would go crazy. After some research I found out it was my Internet service. Oddly the viewer lag meter or stats would not tell me that I had an issue. I had to manually ping and run performance tests to find out.
In the event that you do run into sync issue run a script check '/11check' to see what is going on. If things respond normally then you can bet it is not an error in the HUD scripts.
Camming out of 3D range will un-sync you with your other dancers. While other may see you in sync, to yourself you appear out of sync. This is a SL issue and not created by the dance HUD.

Q: I cant see the text that is displayed. Can you make it bigger?
A: No.I'm sorry, the text is not adjustable in size. We are limited to that size by Linden Labs. You may try changing your viewers settings in preferences or adjust your computers screen settings.
Try a good pair of reading glasses may help. *giggles as I put on my glasses.

Q: GRRRR! I did something wrong and nothing is working! How do I reset the scripts?
A: There are a few ways to reset things...


1. /11reset  This will try to do a soft reset all the scripts. If this fails you will need to do a full recompile of the scripts in the HUD. This is done by going into edit on the HUD and click Tools or Build (this depends on the version of viewer you are on), recompile scripts. Give it time to recompile before you try to see if it is working again.

2. So resetting did not work. Rez a copy of the same version of HUD that you have not loaded with animations on the ground. Right click on the HUD. Select OPEN, copy the scripts to a folder in your inventory. (we are going to copy them to the HUD that is broken)
Rez the HUD that is broken on the ground. Go into edit on it. Select the content tab on the edit tool, delete all the scripts that have the prefix !RR. Double check that all of these scripts have been deleted. You may have to exit the edit tool and then return to edit to confirm they are deleted. When you are sure they are deleted then drag the scripts from the folder that you created when you OPENed the other HUD. We only need the scripts with the !RR prefix. Drag them into the content tab of the edit tool on the broken HUD. This should replace the scripts that you deleted. Confirm everything went in. Answer NO to any popups that come up on your screen. If you are sure all the scripts are back then take your HUD into inventory, now wear it. Your HUD should be returned to its default state.

Q: Why does my HUD say "Touched" every time I change a dance or click a button?
A: Some people out there are laughing reading this. Hush YOU! Yes this happens. There is a button in the content tab of the editor. (This is where you loaded your dances in) You may have inadvertently click the "new script" button in the editor when you loaded your dances in. This is easy to fix....
Rez your HUD on the ground
go into edit on your HUD
click the contents tab
look for  "new script" in the list of items in the HUD and delete "new script"
 (Dont Delete anything with !RR in the name.)
(You may have "new script 1",  "new script 2" ,...  you want to delete them as well.)

Q: Where is the Stand/Walk AO?
A: Future version may incorporate a Stand/Walk AO if i can find a method that does not impact script cycles to hard. Currently there isn't one and YES it is intentional. If you look at every dance HUD on the market, everyone that has a Stand/Walk AO laggs out badly in a region that is busy or laggy. This is generally why Barre HUD users can dance when others just stand waiting for there HUD to do something. Most quality dancers realized this long ago and use a viewer that has an AO build into it such at Phoenix or Firestorm. Using an viewer embedded AO creates less of an impact on a sim and work very well with dance routines. This also lessens your script thumbprint on a sim and makes people HAPPY!

Tuesday, September 27, 2011

Barre Version 2.1 Whats New?

Barre 2.1 is a nice improvement over the previous versions. This is by far the most stablest version. I went to the bug list and started squashing bugs. I am very pleased with the results.

The feed back I have been getting consists of comment like... "OMG! The sim is full and my hud doesn't lag!" or "All my other huds are laggy, why does barre working when they don't?".

It is true. Barre does work on laggy sims where other HUDs just die out. It took over a year of development and testing to be able to offer a dance tool like this to the public. What appears to be just another dance HUD, Barre truly is not.


New features to look for...
*Sequence Recording. Now you can record your dancing as it happen directly to a database
*Play back Recorded Sequences from database
*Send Recorded Sequence to web page for
*Copy animations and note cards to HUD added.
*Menus added to the Copy animation scripts.
*Copy animations macro added to the Tools menu.
Macros Functions added…
*[NEXT]  - Runs following sequences or macros.
*[LOOP:00]  - Loops for a specified amount of times.
Note : These macros can be added to your normal dance sequences to create some AWESOME dance sets
Chat Commands added
*/11Random ON – Turns on random mode from chat
*/11Random OFF – Turns off random mode from chat
*/11Random time – Sets the default random timing from chat
Fixes…
*Sequences now run quicker.
*Sequence paging calculated incorrectly sometimes. Paging is now a dynamic calculation.
*Random and Random Sequence flopping are now quicker.
*Other minor tweaks

Sequence recorder is a hidden. So you want to pay attention here to find out how to use it.
At the top of the HUD is the ballerina icon. If you touch the head of the ballerina the recorder will turn on, record your dances and the length between each dance. Clicking on the ballerina's head again will turn off the recorder and save the recorded sequence to the recorder database. The recorder database will be displayed and you will also get a web page link that will show in chat. If you close chat or want the web page to appear again just click on the extended foot of the ballerina the link will be displayed in chat again and you can then open the web page. The recorder database can be found in the storage slot listing (the Oreos buttons at the bottom of the HUD).

The web page is there to make it easier to copy the sequence you created to a note card. Also keep in mind that any time you start a new recording the recorder database is cleared for the new recording. This also means you wont have the old recording on the web page. So copy and paste before you start a new recording.

Thursday, September 15, 2011

ToolBox

The ToolBox gives you the ability to easily add or remove dance slots, storage slots, and the flight helper. So when you find that you want to host more then 8 dancers on your HUD you are able to take out the ToolBox and load in additional dance slots. If you find you need to load more note cards then adding additional storage slots is helpful. But try to keep things on the low end to help reduce lag. The more you put in the HUD the more the servers have to work. If you are over 45 scripts in the Barre HUD then you are exceeding "fair usage limits". Fair usage limits are not a requirement but more of a courtesy to other SL users. One of the main concepts of Rachael Rockers is to provide a better product that uses less server resources.

Whenever loading in dances or using the ToolBox it is best to do it in a region that is not laggy.

To load in more dance slots or storage slots, rez the ToolBox on the ground. Then rez your HUD next to it. It must be within 4 meters.


Touch the ToolBox. You will then get a pop-up menu.

You can select adding Dance Slots, Storage Slots or Flight Helper.

If you selected Dance or Storage Slots you will get a menu that asks you how many you want in the HUD. A general rule of thumb here is 10 Dance Slots and 4 Storage Slots. But if you are host or entertainer you may 
need more. After you have selected the amount you want, the  HUD will be loaded with the scripts you requested. This takes some time. You should plan for about 5 minutes. Less time if you are not loading very many scripts into the HUD. 
You will see the text above the ToolBox turn red and count up the scripts being loaded. Your HUD will reboot. Answer no to any popups from the HUD at that time. Then the text above the ToolBox will  turn white. At that point it will tell you that you may take your HUD into inventory.

It's important to keep the amount of script you wear, run as low as possible. Something that most scriptwriters don't realize is that if a script is turned off but still in an item that is worn it is still using time slices and memory from the server. Sure the overall thumbprint is reduced, but not by much. Simply put, having 20 dance slots and 20 storage slots in a HUD that has never used more then 5 at a time seems foolish.  Even with setting the the state off it is still resource abusive.

Wednesday, August 31, 2011

Touch my BUTT RSVP


The touch my butt RSVP is a transparent orb that you wear. It attaches to your avatars lower spine. When someone touches it they will receive an invite to dance. If they are already dancing on your HUD and they touch it they will be released from your HUD. 
If the HUD wearer-owner touches the RSVP orb they will auto invite without a popup being sent to them. Also note that the Ballerina/ME button will not reflect your correct status on the HUD if you use this method of inviting yourself to the HUD.
The touch my butt RSVP makes adding people to your HUD easy and in some case lots of FUN! *Giggles
(In the picture above the orb is tinted red to illustrate how its used.)

To use, just wear the orb. You may find it helpful to 'ADD' instead of 'WEAR' since it may take off a skirt on accident. *Blushes

The following is only relevant to 'Poetry of Dance' HUD.
In addition to the RSVP orb you will find 'Sit Join' poseballs. These contain a notecard that allows you to make them group and dance slot specific for theatrical, burlesque or just group dancing. If you sit on it you will be sent a invite. This makes it so the HUD owner does need to send an invite, it will function automatically. NOTE: The HUD will clear any current dancer on the specific dance slot before it sends an invite to the person that just sat down on the ball.

Notecard from the 'Sit Join' Poseball...
Channel=11
DanceSlot=1
GroupSpot=1
Command=PS
Owner=SomeUUIDkey

The notecard is somewhat self explanitory but I will go over it with you.
Here are a few requirements first...
You must configure the notecard for each poseball to reflect the slot the dancer will use in the event that you use more then 1 poseball.
The poseball must be within 100 meters of the HUD to be active went an avatar sits on it. 
If the HUD wearer-owner sits on the poseball they will auto invite without a popup being sent to them.

Channel, is used to establish communications with the poseball and the HUD. Don't change this option.

DanceSlot, is the spot you want the dancer to be placed when someone sits on this poseball. You must have a dance slot in your HUD with the correlating number and the slot must not be occupied.

GroupSpot, is the group you want the dancer to be using. Keep in mind only group 1 thru 3 are controlled button all other have to be driven from a macro.

Command, this will be the first animation the avatar will be doing when they first hop on the pose ball. PS is a default stand and refers to pause. When a dancer accepts an invite to the HUD they are stripped of their current animations and animated with the option you have given. The animation you place them in, must be one that your HUD inventory has or a default internal Second Life animation

Owner, is the person that will be wearing the HUD that needs to control the dancers. It does not need to be the owner of the poseball it can be someone else as long as they are wearing a HUD and are within 100 meters of the poseball. If you are the owner of the HUD and the poseball, then you can delete that line. By default the line is not on the notecard and is not needed.

Tuesday, August 30, 2011

Sequences

SEQUENCING
This is a method that is used by performance artists to choreograph a dance set. Sequencing can be done in multiple ways. The first is notecards created with a list of animations and timings. A typical sequence notecard looks like the following list.
DanceA|12
DanceJ|9.9
JumpDance|6
NameOfDance|18.02
Last Dance

The list above when copied to a notecard, and loaded will run a sequence. When you click on the first dance listed on the display of your HUD it will animate the dances for 12 seconds with “DanceA”.  After that it will switch to the next dance and run it for the time listed and continue on to the next dance until it has completed the list.
Notice that the last dance does not have timing added to it. This will continue to run until it is stopped. NOTE: This is where you add a stand pose to the end of your sequence. This give the effect of a completed set. Add bow or curtsy animations before the final stand pose will also give a theatrical effect.
Using sequence cards are the simplest, cleanest way of choreographing a dance set.
The next method is to use Macros. This is a bit more complicated but it has the additional features of adding Emotes to the choreography at specific timing as well as the ability to trigger external scripts via channel voices. But one of the most powerful features is the ability to partition or multi-group. This is something that performance artists can find very helpful. You can get very very detailed using these features.  The main issue with sequencing from a macro is timing control. If you run other macro functions with dance animations you have to take them into account in choreographing out the timing of the sequence.
For more information follow the link. Please note that Group Macros are only relevant to 'Poetry of Dance' HUDs. 
Groups and Macros

Thursday, August 11, 2011

The Power of Groups

Groups
Group controls are specific to "Poetry of Dance" HUDs. They are not part of the "Barre Dance" HUDs features.

Groups are an advanced feature of this HUD. It is a bit complicated and confusing. *Rolls Eyes* With Groups you can run different animations for different dancers at different times all from 1 HUD. If you didn’t understand that last sentence… you are not alone.


You can divide up the people that join your HUD to dance into groups. Each one of these groups can be driven separately from the HUD. This lets you choreograph some amazing dance routines! Imagine 5 dancers on stage. 4 in the background dancing a slow sway dance, you in the foreground dancing center stage on a different animation. Via a sequence or live clicking, you animate the other dancers to sit while you ballet and vogue.

Or let’s say you are at a club and you don’t want your man to look like a DORK! You animate him in male dance animations while you dance female. Maybe you DO want him to look like a dork so you animate him with a ‘duck dance’ while you are animated in a ‘crossed arms OMG you didn’t’ animation.

With groups you get control over each animation slot. These abilities are controlled though Macros. The ‘G1, G2, G3’ buttons on the HUD allow you to click switch dances for groups 1 thru 3. There is a notecard called ‘! Group Macros’ included with your HUD. It illustrates the Macros used to control Group functions.


Macro Commands for Groups
The following commands can be used in combination with other dance Macro commands or independently by ‘live clicking’ from a Macro NC to create the effects needed.

NEW FEATURE... [LOADAV]
[LOADAV] - This is a menu driven macro function for inviting a dancer. It will give you a list of avatars in the area that you can select from. Then will ask what slot you wish to add them to by listing only available dance slots. You are then given a choice of group to set the dance slot to. Using this function will avoid trying to add dancers to occupied dance slots. 

[INVITE]SLOT#|UUID - Invites to a specific slot. You can only invite to a dance slot that you have a script in your HUD for. If you invite to Slot 25 and script Slot 25 is no in your HUD it will fail.
The Invite first looks for a UUID/KEY. If a KEY is not given in the Macro stream then the HUD will force display a list of AVs in the area for you to select from. If you click back or ‘exit click’ this function will silently fail. This function pauses the Macro stream until a selection is made.

UUID/KEY invites will only work if the Avatar you are inviting is in the same region. This is simply a limitation of second life.


[CLEAR]SLOT# - Resets that slot to null, dumps Dancers and resets group to null. This is like clicking on the STOP Button but without stopping the Macro stream.


[CLEAN]SLOT# - This function will remove ALL animations that are active on an avatar that is using the specific slot. If 0 is given for the slot number then ALL slots will be cleaned. (This function is somewhat redundant do to the nature of Macro function [NOANI]) [CLEAN] does not halt Macro stream execution.


[SET GROUP]SLOT#|GROUP# - (Puts slot on group channel x) this sets it to that group. So now any animation sent to that group will be animated by this slot. This does not halt Macro stream execution.


[GROUP]#|ANIMATION or PS …. (Tells group channel # to play that animation) PS is a Pause / stand command. This does not halt Macro stream execution.


[PAUSE]Seconds – Pauses the execution of the Macro stream. This is useful for delaying the execution of the next animation. It will pause the Macro stream but not the animations. [PAUSE]0.03 - PAUSE is not a group command but it is very useful in managing group sequence dances.


The following are 2 Macros to demonstrate how to use groups in a dance sequence. Please understand these use embedded SL dances. (They don’t download fast) You may see some pause in the switching of those dances. This does not happen with dances cached from the inventory of the HUD itself. You can find these Macros on the “! Group Macro” notecard in your HUD. Load it into an ‘Quick Card’ database by using the ‘Floppy Disk’ button.


NAME]Invite 3 Dancers|[CLEAR]1|[CLEAR]2|[CLEAR]3|[OWNERSAY]Inviting dancer 1|[AVSELECT]|[INVITE]1|Inviting dancer 2|[AVSELECT]|[INVITE]2|Inviting dancer 3|[AVSELECT]|[INVITE]3|Setting Groups|[SET GROUP]1|1|[SET GROUP]2|2|[SET GROUP]3|3


[NAME]Group Dance Demo|dance 8|4.85|dance 3|4.85|We DANCE because we can!!!|[GROUP]1|dance 6|[PAUSE]5|dance 8|5[GROUP]2|dance 6|[PAUSE]5|dance 8|5[GROUP]3|dance 6|[PAUSE]5|dance 8|5|We ALL fall Down!|falldown|8|[STOP]


The first Macro helps you invite 3 dancers onto the HUD. This can include you. If you invite yourself from an invite Macro the ‘ME’ Button will act differently. The Macro will then set the dance slots your dancers are on to the groups 1, 2 and 3 each independently. Keep in mind you can use the ‘G1, G2, G3’ buttons to control them by clicking the button and selecting a dance.

Dancer 1 will be on slot 1, and in group 1. Dancer 2 will be on slot 2 and in group 2. Dancer 3 will be on slot 3 and in group 3. The ‘G1’ Button will control Dancer 1, ‘G2’ controls dancer 2 and so on. If no ‘G’ buttons are highlighted then all dancers will be dancing the same dance when the dance is changed.

The second Macro shows how Groups can be used in a dance sequence. You need to run the ‘Invite 3 Dancers’ Macro first and add your dancers. Then run ‘Group Dance Demo’. You will see everyone start dancing, all switch to a different dance then in chat you see the e-mote “We DANCE because we can!!!” Next dancer 1 will dance separately, dancer 2 will then start to dance separately, then dancer 3. All will join together to dance in sync again and then fall to the ground.

This is just a simple sequence that can be done with the HUD. The HUD is capable of much more elaborate sequences and longer running using [JUMP] commands. Remember SL limits us to 256 characters per line on a notecard. If you go beyond that it will chop off the end of the line and it won’t run right on the HUD. I have no way of error checking that issue. This is where shorter lines and more [JUMP] commands helps!
*Happy Face*

Monday, August 8, 2011

Buttons - There Function

Buttons explained...

This document was rushed out for beta testers and will be revised in the future as needed.

Speed Scroll Bar
Lag is one of the core concerns of the design of my dance HUD. Nothing can be more annoying than trying to scroll thru the display and not have it work or just take forever to get to the page you need. This is the reason the ’Speed Scroll Bar’ has been incorporated. Clicking on the percentage points will move you farther thru your display list. Then you can use the scroll buttons (arrow buttons) to land on the page you need. 

Arrow Buttons - Scroll Left/Scroll Right 
Clicking these will scroll you through the display list. When you have reached the end of the list it will loop back to the start of the list.

Pause Button
When clicked any active animations, sequences or macros are paused or un-paused.
This does not remove dancers/invited avatars from the HUD. 

Ballerina / Me Button
This is the button that activates the wearer of the HUD (Owner). You can turn this off and animate others while you stand by. This button is directly affected by other button or Macros. 

Sync Button
This brings dancers in into animation sync. This can also be done my typing ‘/11sync’ in public chat by a AV that has joined the HUD.
When you animate avatars in SL they fall out of sync (dancing the same dance and movement at the same time). This is caused by a variety of reasons. What you see may not be what others see. You may look like you are dancing out of sync with other dancers when in reality you are seen by other as in sync. Things that affect this are ‘camming’ out from your local scene, other animation overrides, internet lag, poor video cards, and the list goes on and on. 

Invite Button
Inviting another avatar and dancing with them in sync is really a fun thing to do in SL. After you click on the Invite button you will see a list of avatars that are in your local area. The HUD displays the first 16 AV’s it sees. Click on a name and they will receive an invite to join your HUD. When they accept, you will get a popup that lets you know they have accepted. Now you can animate them with your dances/animations. The party has started!!! HOOOOOOO! *Smiley Face*
STOP
The square black box button is the stop button. It functions differently than other dance HUDs. There is a reason for this. First this is not designed to be that same as other HUDs. It was designed for performance & simplicity. So STOP means just that “STOP EVERYTHING”!
When you click on stop you get a list of names. At the top is STOP”ALL DANCERS”. It will do just that, stops all dancers on the HUD, disengage them from the HUD, resets the dance spots to empty, and clears memory.
But if you pick a name on the stop list it will stop that person from dancing, remove them from the HUD, reset there dance spot, and clear that individuals data from memory.
Random Button
This button is stacked with features. You set the duration by selecting a time. Then select the Mod you wish to use. You have 2 options Random or Sequence. Random with bounce randomly around the list of dances, sequence will go down the list of animations listed on the HUD. After you have decided on the time and mode, click ‘DONE’, at the top of the list to start the action.
To turn off random or sequence mode, click on ‘OFF’.

Tool Button
The Tool Button is nothing more than a Quick Database that reads the ‘Tools’ Notecard and performs HUD functions from MACROS. If the HUD cannot find ‘Tools’ in memory it will request to load it by default. If you do not allow this function to load you will be disabling many useful features of the HUD.
Stats – Gives a report of current memory, current available animation slots, current avatars slot usage assignments, and database usage.
Big – Changes the size of the HUD
Small – Shrinks the size of the HUD
Reset –This is a reset function for all of the HUD. This will force a soft reset of all of the scripts in the HUD. If this does not work then you will need to do a hard reset thru the editor/viewer.
List Ani – Displays a list of animations in the HUD & total count.
LoadDB1 – Loads the Database 1 with notecard ‘AniCard1’
LoadDB2 – Loads the Database 2 with notecard ‘AniCard2’
NOTE: If you are an advanced users and understand the dynamics of the MACRO engine that HUD uses then you may find it useful to edit the ‘Tools’ notecard and add additional features. 

Gears Button
This button is pretty simple. The ‘Gears Button’ shifts you into ‘All Animations Mode’. It lists all animation you have to the display list, so you can pick any animation to play.
In ‘All Animations Mode’ you don’t have any limitations on the amount of animations you can have in the HUD. The only limitation is what Second Life has in the way of restrictions. If you find the upper limit to this I would love to hear what it is.
Hint: To display the current HUD Stats… Click the ‘Tools Button’; click ‘Stats’. You will see a display of available memory, Dance slots, Databases, and the total of available animations in the HUD. 

Quick Card Button
This is a performance feature that allows you to move extremely fast from one notecard to another by preloading the notecards into a select database. When you click the button you will see a list of loaded & empty databases. Loaded Quick Card databases take on the name of the notecard they were loaded with. (See FLOPPY DISC BUTTON to learn how to load a notecard into a Quick Card database.) Just click on the name you wish to load in and display.
Now you can switch from notecard to notecard in seconds rather than taking minutes. But this is at a sacrifice of server memory. So I recommend only using 2 Quick Pick Databases for a standard user and 5 for power users. The Tool Kit provides the option of many more databases but this is to be used with extreme discretion. 

Floppy Disc Button
READ CAREFULLY – This function confuses people.
You will need to use this button to load in notecards you create for organizing your Macros, Sequences and dance lists into your Quick Card Databases.
Click on the Floppy Disc button and you will see a list of databases in your HUD. Some have names and some have just ‘Empty’ for a name.
Click on any database listed. You should now see a list of notecards names show up on the list.
Click a notecard you want to load. You should see ‘Please Wait’… ‘Loading’ and in chat the HUD will tell you how far it is in the process of loading in the notecard to the database. Notecards with a large list on them can take awhile to load. When it is done the notecard will be displayed and a database will have the same name as the notecard now. (See ‘Quick Card Button’ to jump to a different database/notecard)
You can reload a database with a different notecard or an updated notecard the same way.
You first need a notecard that you have configured in the inventory of the HUD. SEE LOADING ANIMATIONS & NOTECARDS SECTION.
Floppy explained…
Click button - Pick a database name from list displayed - Pick a Notecard from list displayed: Notecard is loaded into the database. Name of database is renamed to name of Notecard.

HOLY MACROS!!!

Expect corrections and updates! *blows the eraser dust off the page*

MACROs were added to give the user more of a customizable experience.  These abilities extend farther than just shout or play an animation. The powerful MACRO engine can drive the core features of the HUD. It is designed to allow other scripters the ability to mesh their scripts into the HUD and use the core features. 

Macros are identified on the display by ‘M@’ or 'M!' as leading characters in the name.  This helps you to find one quickly, plus the command interpreter process it differently. This provides an additional boost to performance.
The 'M!' will not execute when you are running in 'Random' or 'Sequence' modes. It will continue the previously executed event until the timer fires the next event.

Running a Macro will not stop an existing active animation UNLESS you are firing a new animation, issuing a [STOP] command or issuing a [NOANI] command. This means if you EMOTE via a Macro you won't halt your dancing.

Macros are case and spacing sensitive. Proper syntax is important! You will get some strange results if Macro stream is not written correctly.

You write a Macro on a note card and load it into the HUD the same way you load a dance in. You must then click the 'Floppy' button and follow the loading possess to load it in to the storage slot. See Demos included with the HUD and How to Load for more information.

[NAME] or [!NAME] -  [NAME]given name|
Used to declare a macro.The text following will be use to identify the the macro in the HUDs display list. The command must then be terminated using '|'.

If '!' is used it will protect the macro from random mode executions. Any macro with the 'M!' prefix with not auto fire in a sequence or random mode event. The Macro Compiler will continue the previously executed event until the random timer fires the next event.
 [NAME]Give T-shirt|  or  [!NAME]Give T-shirt| 
 
[HUD SMALL] – Shrinks HUD to small size.  This does not hide the HUD.

[HUD BIG] – Expands HUD to full size. This does not show the HUD from a hidden position.

[HUD STATS] – Displays memory usage, current selected database,…


[HUD SHARE]ON/OFF – (Poetry of Dance Only) Turns off remote HUD sharing. Does not allow remote HUDs to piggy back on your HUD and uses your dance slots and animations. Remote control functions are turned off too.

[LISTANI] –Sends a list to chat of all of the animations in the HUD with a total count at the end of the list.
[LISTSD] –Sends a list to chat of all of the sound files in the HUD with a total count at the end of the list.
[LISTTEX] –Sends a list to chat of all of the textures/pictures in the HUD with a total count at the end of the list.
[LISTLM] –Sends a list to chat of all of the landmarks in the HUD with a total count at the end of the list.
[LISTNC] –Sends a list to chat of all of the note cards in the HUD with a total count at the end of the list.
[LISTOBJ] –Sends a list to chat of all of the objects in the HUD with a total count at the end of the list.


[NEXT]
(BARRE V2.1, Poetry of Dance)- Moves to next line in display list. This is typically used in conjunction with the [JUMP] or [LOOP:xx] commands in dance sequences or multi line macros.
The following lines create a jump to point in a sequence. This is useful for creating loops in a sequence.
[NAME]Top|[NEXT]
[NAME]Go To Top|[JUMP]Top

 [JUMP] – [JUMP] Reference line |
 Jumps to any command or dance in the current database. This will find the first instance of the ‘Reference line’ indicated after the jump command and run it. Execution will continue on from the jump to point in the list. All other sequence of events is bypassed.
The following line will jump to a line or dance called ‘Top’
[NAME]Go To Top|[JUMP]Top

[LOOP:xxx] [LOOP:number of loops] Jump to line|  
(BARRE V2.1, Poetry of Dance)-  When executed will jump to the line indicated until it has looped the specified number of times. Can have commands following it and will execute those command when the final loop cycle is completed. LOOP can execute over 200,000,000 loops in a sequence. The command is reset at the first execution of a new LOOP command. Only 1 loop cycle can be active at one time.
The Following will loop 3 times to ‘Top’. When finished it will say “Done Looping” then execute the [NEXT] command.
[NAME]Top|[NEXT]
SomeDance|7
[NAME]Loop to Top|[LOOP:3]Top|[SAY]Done Looping|[NEXT]

[REPEAT]- Creates an endless loop.  Pause will force it out of repeat mode. If un-pausing and the macro with the repeat is still selected the REPEAT function with start over again until a different macro or animation is selected.

[MYNAME]- lets you rename the HUD so it displays a different name when saying something in chat. This is useful for joking around or event hosting.

[ENDNAME] – Returns the name of the HUD to its default name.

[PLAY]- Plays the sound file listed, if the sound file is not in inventory it will error. This function will play sounds if UUID is given instead of the name of the file. This is useful if you don’t want to load the sound file into the inventory of the HUD.

[VOLUME] – [VOLUME]Number
Sets the sound play volume 1.0 is loudest, 0.1 is softest.
[NAME]Volume .5[VOLUME]0.5
 
[AVSELECT][AVSELECT]
This function fires the radar function allowing you to select an avatar name from a dynamically generated display list. The HUD will now only focus ‘Gives, URLs, and Invites at this specific avatar until another AVSELECT  has be ran.
The range of the radar is set to 96 meters. This is the maximum range allowed my Second Life. The radar returns a list first 16 avatars it sees. This is generally the closest avatars it sees. Sometimes newly TPed in avatars are not seen on laggy SIMs.  If the avatar you wish to select does not show up on the list it helps to move closer to the avatar you are trying to select. 16 is a high limit that is set by Linden Labs. Currently it is not possible to exceed this limit in a sensor sweep.

[ME] - Sets HUD focus on the HUD owner and gives the HUD the owners name. This function can play havoc with [AVSELECT]. To avoid this issue use the [ME] before the [AVSELECT] function.

[GIVE] – [GIVE]Category Number OR [GIVE]Item Name
Gives an object, clothing, notecard, texture/picture, … to the avatar that the HUD was told to focus on. .  [AVSELECT] must be used before [GIVE] so that the HUD has focus on an avatar to give something to.
 Category 0=Picture, 3=Landmark, 5=Clothing, 6=Object, 7=Notecard, 21=Gesture
This function has 2 modes. The first is a selection mode. When you put a category number after the [GIVE] statement it will display a list of items in the HUD inventory that are of that category. You can then select the item and it will be sent to the avatar that has HUD focus.
The second mode is used when you have the name of the item you are giving entered after the [GIVE] statement. The HUD will not ask you anything but simply give out the item to the avatar that has the HUDs focus.
The following macro displays the name “Give T-shirt”. It asks for the avatar that you want to focus the GIVE at. It will then display a list of clothing items in the inventory of the HUD. As soon as you select the item from the list it will be sent to the avatar.
[NAME]Give T-shirt|[AVSELECT][GIVE]5
The following macro displays the name “Give T-shirt”. It asks for the avatar that you want to focus the GIVE at. The [GIVE] function will the look for the item named “RachaelRockersT” and sent it to the avatar.
[NAME]Give T-shirt|[AVSELECT][GIVE]RachaelRockersT

 [URL] – [URL] Message|SomeURL.com
Sends a URL popup to the person the HUD is focused on.  [AVSELECT] must be used before [URL] so that the HUD has focus on an avatar to send the URL to. [AVSELECT] is optional if there is an avatar currently focused on by the HUD.
(To prevent spamming and greifing this function will force the HUD sleep for 10 seconds. Privacy concerns: Using this function can reveal the IP Address of the person opening the URL. Although this is a normal logging function of any website it can be used in combination to reveal ‘alts’ and potentially the identities of the persons opening the URL. Please understand this is not the intended purpose of this function. )
The following macro displays the name “Send Website”. It asks for the avatar that you want to focus the URL at. After the name is selected it sends a popup giving the avatar the choice of opening the website or not.
[NAME]Send Website|[AVSELECT][URL]Rachael Rockers|http://rachealrockers.blogspot.com/

[LOADDB] – [LOADDB]Database Number|Note card Name
Forces HUD to load a database with a specified note card. Use this to load in note cards to databases without having to go through the process of selecting the database and then picking a note card.
The following macro will display the name “Load Happy Dances” and will load “Database 02” with the Note card named “HappyDances” after if it finished loading it will display “Database 02”.
[NAME]Load Happy Dances|[LOADDB]02|HappyDances

[DO] – [DO]RADIO-radiostation.com:8020
The purpose of the DO command is to trigger other 3rd party scripts. These scripts must be designed to interpret the command sent to it.
[DO]RADIO-radiostation.com:8020 this will send to the scripts in the HUD using this command.
llMessageLinked(LINK_SET, 5000, " RADIO-radiostation.com:8020","");
The scripter’s that understand this command will be able to use the information that is send to their script. They will be able to create a script that will DO other functions that are not provided by this HUD.
Note: I won’t answer any questions about this feature. I expect 3rd party creators to have the knowledge to interpret the information I have provided. If you DON’T understand this feature then I suggest that you do not write scripts for it.
I do not support 3rd party scripts and will not trouble shoot or assist with a HUD repair that have them in it.
3rd Party script creators must agree and understand that their scripts will be auto deleted in the event that ‘GOD Mode’ is activated on the HUD.

[STOP]/ [END ALL] Stops everything! This will force any avatars on the HUD to clear their animation lists and put them in a stand animation. This is can be used to clear avatars of pesky animations that won’t go away.  

[NOANI] – stops all animations of all slots. DOES NOT stop the macro. Use this to stop a dance but continue to run the Macro.

[PAUSE:time] will pause the HUD and not fire an event until it has cycled. This cannot be stopped.

Voice Functions
[WHISPER:##] OR [WHISPER]
If you change the voice channel it will not default back to channel 0. You must add in a macro statement like [SAY]| . That will reset the channel to 0.

[SAY:##]  OR  [SAY]
[SHOUT:##]  OR  [SHOUT]
[REGION:##] OR [REGION]##
[SAY]| does the same as [END SAY]  That has been removed from the compiler.
\name inserts the  name of the current AV that has focus from the HUD. To set focus on a AV see the [AVSELECT] or [ME] function. Can be used like this...
[SAY]HI \name.|


Animation Control Functions
The following functions only work with the 'Poetry of Dance' HUD
[INVITE]# Invites to a specific slot

[CLEAR]slot…   Resets that slot to null, dumps Dancers and resets group to null …[AVSELECT][INVITE]slot

[GROUP]X|ANIMATE or PS …. (tells channel x to play that animation)

[SET GROUP]##,SLOT...  (puts slot on channel x) this sets it to that group