Difference between revisions of "Cabal Common Library Doc Music"
m |
m (→Overview) |
||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
− | This is the main class for the event driven inflight music for missions. | + | This is the main class for the event driven inflight music for missions and part of the [[Cabal_Common_Library]]. |
The script handles incoming data from worldScripts to play music in specific situations. | The script handles incoming data from worldScripts to play music in specific situations. | ||
Line 13: | Line 13: | ||
musicfiles. For the volume it is adviced to use at least -9 db (peak) to avoid conflicts with spoken inflight messages | musicfiles. For the volume it is adviced to use at least -9 db (peak) to avoid conflicts with spoken inflight messages | ||
and digital clipping. | and digital clipping. | ||
− | |||
== Properties == | == Properties == |
Revision as of 22:49, 29 May 2012
Contents
Overview
This is the main class for the event driven inflight music for missions and part of the Cabal_Common_Library.
The script handles incoming data from worldScripts to play music in specific situations. OXPs can place or remove their sets fairly simple and a few parameters are handled. The inserted data is associated to the inserting worldScript by ID and the whole group of events can be easily de/activated at every time via .changeStatus(). Additionally a property can be assigned to a specific event, means that different entries can be de/activated by using different properties.
Note: Length, volume and fadeIn/fadeOut in the audio itself are important factors for a smooth transition between musicfiles. For the volume it is adviced to use at least -9 db (peak) to avoid conflicts with spoken inflight messages and digital clipping.
Properties
requestHandlerSet
On startUp created set of handlers (Array) for Cabal_Common_Music.
var a = worldScripts.Cabal_Common_Music.requestHandlerSet;
a -> [ [aegis, enter, exit], [alert, red, ... ] ... ] |
Functions
addMedia()
addMedia = function( obj ) |
Profiler | |
---|---|
Native | 0.000097s |
Extension | 0.000032s |
JS | 0.000455s |
Adds incoming object to the list and associates the entries to the sending worldScript. Internally every entry gets a group ID, so don't pass non-writable, sealed or frozen objects.
Properties:
- who
- String. Required. Name of the sending worldScript.
- start
- Boolean. Required. Starting state for the group after insertion.
- aegis
- Object. Allowed members: enter3, exit3.
- alert
- Object. Allowed members: red, yellow1, green1.
- destroyed
- Object. Allowed members: ent.
- exitWS
- Object. Allowed members: inter, goneNova, doNova, standard, any.
- launch
- Object. Allowed members: ent, inter, goneNova, doNova, main, any.
- planet
- Object. Allowed members: ent3, enterMain3, enterSun3, exitMain3, exitSun3.
- scooped
- Object. Allowed members: ent2.
- track
- Object. Allowed members: byName.
Returns
- Boolean
- True on success, false on failure.
1 If other handlers have fired blocked for 10 seconds.
2 The handler is only fired for scripted pods.
3 Can collide, because aegis and planet vicinities can be close together.
The above mentioned members are all of type Array and are holding the music related objects.
See Structure for a overview.
removeMedia()
removeMedia = function( who ) |
Profiler | |
---|---|
Native | 0.000040s |
Extension | 0.000012s |
JS | 0.000346s |
Removes all entries of a group from the stored list.
Properties:
- who
- String. Name of the worldScript.
Returns
- Boolean
- True on success, false on failure.
changeStatus()
changeStatus = function( who, status ) |
Profiler | |
---|---|
Native | 0.000040s |
Extension | 0.000017s |
JS | 0.000104s |
Changes the group state for a specific group.
Properties:
- who
- String. Name of the worldScript.
- status
- Boolean. Sets the group flag for all inserted files of a specific worldScript group.
Returns
- Boolean
- True on success, false on failure.
Structure
A short overview about the expected structure:
var eventMusic = {
}; |
The objects that are holding the music itself have a set of available properties as well.
- dist
- Number. Min. distance to entity. Required in track.byName.
- ent
- String/Number. Either entity.name (String) or entity.radius (Number). Required in destroyed.ent, launch.ent, planet.ent (radius), scooped.ent and track.byName.
- fadeQ
- Number. Optional. Sound as transition between musicfiles. If used must be 1 (will be expanded).
- music
- String. Required. Filename with fileextension.
- prop
- String. Optional. Name of worldScript property to be checked.