YuukSpace Script (YSS)

YuukSpace Script (YSS) is the scripting language used in AST sessions.

YSS allows you to fire custom events and define different blocks within the same session.

Example Script:

[anchor;id=top]
[setting.session.type=bst]
[setting.spirals.line_duration=1500]
[controller=random]
[block=start;id=initial]
[setting.session.type=mst;id=initial]
[setting.spirals.line_duration=2000;id=initial]
[style.text.main.color=#FF0000;apply=1] This is a test of the first block
Second line
Third Line[sound=/static/testing/ding.mp3]
[block=end;id=initial]
[block=start;id=bsttest]
[setting.session.type=bst;id=msttest]
[setting.spirals.line_duration=1000;id=msttest]
This is a test of the BST block
BST block tests are cool [sound=/static/testing/ding.mp3]
[style.text.main.color=#FF0000;apply=1] BST application is fun
[block=end;id=bsttest]

Element Reference

[anchor] (Not Yet Implemented)

Allows you to define a location in the script to go to, with required extra parameter id denoting the unique name of the location.

Usage:

[anchor;id=backhere]
.....
[block=end;id=someOtherPlace;goto=backhere]

[setting.*]

Used to define settings for the session. Pass the extra attribute `id` to denote that the parameter should be associated with a certian block session.

Current Settings Implemented:

[style.*]

Used to define on-screen style changes. Extra attributes include `id` to denote that the style change should only occur in the block and `apply` that accepts a positive number or the word 'always' to determine how long the style change should last for.

[style.*] is usable inline in BST and MST sessions.

Current Style Implemented:

[sound]

Used to play a sound effect. Takes no attributes. URL for Sound can be direct or relative.

[sound] is usable inline in BST and MST sessions.

[controller] (Not Yet Implemented)

Used to determine how the session's blocks are controlled. Two valid choices are `sequential` (default) and `random`. Sequential will go down the list of blocks in order, random will generate a random list from the available blocks and play them in that order. Note: If you select Random, any text outside of a block will be played at the end of the randomized block list no matter where it is in the script.

[block]

Block is used to create a compartmentalized session within an AST session. Blocks require a start value and an end value, with each containing the ID attribute. Block End Values can also include the optional goto attribute to jump to another part of the session forward or backward. Warning, at the current time of development, jumping backward will create an infinite loop that will make the AST session impossible to finish. Blocks can have localized settings by denoting the ID attribute on settings tags.

[setting.spirals.line_duration=1500] # Set line duration to 1500ms globally.
[setting.session.type=mst] # Set global session type to MST
[controller=sequential]
Welcome
Lets begin
Be a good subject.
[block=start;id=lineChange]
[setting.spirals.line_duration=2000;id=lineChange] # set line duration to 2000ms for the lineChange block only. After the block is finished, the global settings will be back in play.
[setting.session.type=bst;id=lineChange] # Set this block only to be an BST session. After this block, global settings will take back over.
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
[block=end;id=lineChange]


Revision #3
Created 22 December 2024 18:24:02 by Yuuk
Updated 22 December 2024 21:47:27 by Yuuk