home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / software / temacd / sonique / s2beta_103_install.exe / 23_file < prev    next >
Text (UTF-16)  |  2004-03-02  |  247KB  |  2,494 lines

  1. <translation>
  2.     <module name="sonique">
  3.         <language name="English">
  4.             <section name="help">
  5.                 <section name="eq">
  6.                     <item name="GetNumBands">
  7. How many bands the equalizer is configured to use - Usage: equalizer.GetNumBands();
  8.        Return value:   The number of bands in the current configuration
  9.                     </item>
  10.  
  11.                     <item name="SetNumBands">
  12. Set the number of bands the equalizer is configured to use. - Usage: equalizer.SetNumBands(num);
  13.        num             The number of bands to use - between 1 and 200.
  14.                     </item>
  15.  
  16.                     <item name="GetEQData">
  17. Retrieve the current EQ gain settings. - Usage: equalizer.GetEQData();
  18.        Return value:   An array of gain values, the length of which is the number of bands.
  19.                     </item>
  20.  
  21.                     <item name="SetEQData">
  22. Set the equalizer gain settings. - Usage: equalizer.SetEQData(banddata);
  23.        banddata        An array of gain data, one value for each equalizer band.
  24.                     </item>
  25.  
  26.                     <item name="GetBandGain">
  27. Get the gain for one frequency band. - Usage: equalizer.GetBandGain(band);
  28.        band            Which frequency band to query the gain of.
  29.        Return value:   The gain for that equalizer band
  30.                     </item>
  31.  
  32.                     <item name="SetBandGain">
  33. Set the gain for one frequency band. - Usage: equalizer.SetBandGain(band, gain);
  34.        band            Which frequency band to query the gain of.
  35.        gain            The gain to set it to..
  36.                     </item>
  37.  
  38.                     <item name="RegisterChangeCallback">
  39. Register for callback whenever EQ information changes. - Usage: equalizer.RegisterChangeCallback(name, script, context);
  40.        name            The name of the callback, for future reference.
  41.        script          The script to call when eq information has changed.  It will be passed a single parameter, boolean in value, which tells whether the number of bands has changed.
  42.        context         Optional: The object that the script should be run from.  Default: The equalizer
  43.        Return value:   'registered' if success.
  44.                     </item>
  45.  
  46.                     <item name="UnregisterChangeCallback">
  47. Unregister a previously registered callback. - Usage: equalizer.UnregisterChangeCallback(name, context);
  48.        name            The name of the callback to unregister.
  49.        context         Optional: The object that the script is associated with.  Default: The equalizer
  50.        Return value:   'unregistered' if success.
  51.                     </item>
  52.  
  53.                     <item name="Reset">
  54. Reset the equalizer to flat (no equalization). - Usage: equalizer.Reset();
  55.                     </item>
  56.                 </section>
  57.  
  58.                 <section name="pab">
  59.                     <item name="GetPitch">
  60. Get the pitch setting - Usage: pitchampbal.GetPitch();
  61.        Return value:   The pitch setting, in the range 0.125 to 8.0
  62.                     </item>
  63.  
  64.                     <item name="GetAmplification">
  65. Get the amplification setting - Usage: pitchampbal.GetAmplification();
  66.        Return value:   The amplification setting, in the range 0.125 to 8.0
  67.                     </item>
  68.  
  69.                     <item name="GetBalance">
  70. Get the balance setting - Usage: pitchampbal.GetBalance();
  71.        Return value:   The balance setting, in the range -1.0 to 1.0
  72.                     </item>
  73.  
  74.                     <item name="SetPitch">
  75. Set the pitch setting - Usage: pitchampbal.SetPitch(pitch);
  76.        pitch           The pitch and tempo to set (a multiple of 'normal') in the range of 0.125 to 8.0
  77.                     </item>
  78.  
  79.                     <item name="SetAmplification">
  80. Set the amplification setting - Usage: pitchampbal.SetAmplification(gain);
  81.        gain            The gain to set in the range of 0.125 to 8.0
  82.                     </item>
  83.  
  84.                     <item name="SetBalance">
  85. Set the balance - Usage: pitchampbal.SetBalance(balance);
  86.        balance         The balance to set in the range of -1.0 to 1.0 (negative being to the left)
  87.                     </item>
  88.  
  89.                     <item name="RegisterChangeCallback">
  90. Register for callback whenever pitch, amplification, or balance settings change. - Usage: pitchampbal.RegisterChangeCallback(name, script, context);
  91.        name            The name of the callback, for future reference.
  92.        script          The script to call when settings have changed.
  93.        context         Optional: The object that the script should be run from.  Default: The pitchampbal object
  94.        Return value:   'registered' if success.
  95.                     </item>
  96.  
  97.                     <item name="UnregisterChangeCallback">
  98. Unregister a previously registered callback. - Usage: pitchampbal.UnregisterChangeCallback(name, context);
  99.        name            The name of the callback to unregister.
  100.        context         Optional: The object that the script is associated with.  Default: The pitchampbal object
  101.        Return value:   'unregistered' if success.
  102.                     </item>
  103.                 </section>
  104.  
  105.                 <section name="ID3Editor">
  106.                     <item name="RegisterCallback">
  107. Register for callback when a playlist event occurs. - Usage: ID3Editor.RegisterCallback(name, script, context);
  108.        name            The name of the callback to hook. Valid callbacks are: 'GetSucceeded,' 'GetFailed,' 'SetSucceeded,' and 'SetFailed.'
  109.        script          The script to call when a playlist event occurs.
  110.        context         Optional: The object to run the script from.  Default: the playlist object
  111.                     </item>
  112.  
  113.                     <item name="UnregisterCallback">
  114. Unregister for callback. - Usage: ID3Editor.UnregisterCallback(name, context);
  115.        name            The name of the callback to unregister.
  116.        context         Optional: The object associated with the callback.  Default: the playlist object
  117.                     </item>
  118.  
  119.                     <item name="GetTags">
  120. Get the ID3 tags from a file - Usage: ID3Editor.GetTags(URL);
  121.        URL             the file location - like 'C:/audio/artist - title.mp3'
  122.        Return value:   'getting' if success, error details otherwise
  123.                     </item>
  124.  
  125.                     <item name="SetTags">
  126. Set the ID3 tags. - Usage: ID3Editor.SetTags(URL, unicode, stripoldtags, id3v1, tags);
  127.        URL             the file location - like 'C:/audio/artist - title.mp3'
  128.        unicode         true if any of the tags are not ascii, false otherwise
  129.        stripoldtags    true if you'd like to clean out any old tags, false otherwise
  130.        id3v1           true if ID3v1 tags should be written as well (NB: if unicode is true, the ID3v1 tags will be empty except for the year)
  131.        tags            an array of ID3 information (see the return from GetTags for formatting and the available tag fields).  Notes: The track number can be like '12' or '12/14.'  The genre can be either a ID3v1 style genre number like '(3)' or a genre string like 'no wave'
  132.        Return value:   'setting' if success, error details otherwise
  133.                     </item>
  134.                 </section>
  135.  
  136.                 <section name="files">
  137.                     <item name="RegisterFileAssociation">
  138. Registers a file extention for Sonique 2 - Usage: files.RegisterFileAssociation(ext, actions, description);
  139.        ext             The extention to register
  140.        actions         A comma delimited list of actions. Possible values are "open" and "add".
  141.        description     Optional: A description of the file type eg., Ogg Vorbis file  Default: null
  142.                     </item>
  143.  
  144.                     <item name="UnregisterFileAssociation">
  145. Unregister a file extention for Sonique2 - Usage: files.UnregisterFileAssociation(ext);
  146.        ext             The extention to unregister
  147.                     </item>
  148.  
  149.                     <item name="IsFileAssociationRegistered">
  150. Queries whether a file association is registered for Sonique2. - Usage: files.IsFileAssociationRegistered(ext);
  151.        ext             The extention to query
  152.        Return value:   If registered, the type of registration, othereise false
  153.                     </item>
  154.                 </section>
  155.  
  156.                 <section name="playlists">
  157.                     <item name="AddPlaylist">
  158. Add a playlist - Usage: playlists.AddPlaylist(name);
  159.        name            The name of the playlist to add.
  160.        Return value:   'done' on success
  161.                     </item>
  162.  
  163.                     <item name="RemovePlaylist">
  164. Remove a playlist - Usage: playlists.RemovePlaylist(name);
  165.        name            The name of the playlist to remove.
  166.        Return value:   'done' on success
  167.                     </item>
  168.  
  169.                     <item name="RenamePlaylist">
  170. Rename a playlist - Usage: playlists.RenamePlaylist(oldname, newname);
  171.        oldname         The name of the playlist to rename.
  172.        newname         Its new name.
  173.        Return value:   'renamed' on success
  174.                     </item>
  175.  
  176.                     <item name="GetPlaylistList">
  177. Retrieve a list of playlists - Usage: playlists.GetPlaylistList();
  178.        Return value:   An array of playlist objects.
  179.                     </item>
  180.  
  181.                     <item name="GetPlaylist">
  182. Get the specified playlist - Usage: playlists.GetPlaylist(name);
  183.        name            the name of the playlist
  184.        Return value:   the playlist object's UID
  185.                     </item>
  186.  
  187.                     <item name="MakeTempPlaylist">
  188. Create a temporary playlist - Usage: playlists.MakeTempPlaylist(name);
  189.        name            The prefered name of the playlist to create
  190.        Return value:   Actual name of the playlist (this may differ from the preferred name)
  191.                     </item>
  192.  
  193.                     <item name="CombinePlaylists">
  194. Merge playlists - Usage: playlists.CombinePlaylists(dest, source, bAppend);
  195.        dest            The playlist to merge into
  196.        source          The playlist to merge from
  197.        bAppend         Optional: If false, this replaces the dest with the source  Default: true
  198.        Return value:   Actual name of the playlist (this may differ from the preferred name)
  199.                     </item>
  200.  
  201.                     <item name="SetIdleScan">
  202. Configure the playlist idle scan - Usage: playlists.SetIdleScan(mode);
  203.        mode            One of the following:  'none' 'quick' or 'thorough'
  204.                     </item>
  205.                 </section>
  206.  
  207.                 <section name="players">
  208.                     <item name="AddPlayer">
  209. Add a player - Usage: players.AddPlayer(name);
  210.        name            The name of the player to add.
  211.        Return value:   'done' on success
  212.                     </item>
  213.  
  214.                     <item name="RemovePlayer">
  215. Remove a player - Usage: players.RemovePlayer(name);
  216.        name            The name of the player to remove.
  217.        Return value:   'done' on success
  218.                     </item>
  219.  
  220.                     <item name="RenamePlayer">
  221. Rename a player - Usage: players.RenamePlayer(oldname, newname);
  222.        oldname         The name of the player to rename.
  223.        newname         Its new name.
  224.        Return value:   'renamed' on success
  225.                     </item>
  226.  
  227.                     <item name="GetPlayerList">
  228. Retrieve a list of players - Usage: players.GetPlayerList();
  229.        Return value:   An array of player objects.
  230.                     </item>
  231.  
  232.                     <item name="GetPlayer">
  233. Get the specified player - Usage: players.GetPlayer(name);
  234.        name            the name of the player
  235.        Return value:   the player object's UID
  236.                     </item>
  237.  
  238.                     <item name="MakeTempPlayer">
  239. Create a temporary player - Usage: players.MakeTempPlayer(name);
  240.        name            The prefered name of the player to create
  241.        Return value:   Actual name of the player (this may differ from the preferred name)
  242.                     </item>
  243.  
  244.                     <item name="GetEndpointList">
  245. Get a list of available endpoints (audio output devices) - Usage: players.GetEndpointList();
  246.     
  247. Each endpoint is reported as an array with the following members:  'name', 'description', 'factoryID'.
  248.        Return value:   An array of endpoints (audio output devices)
  249.                     </item>
  250.  
  251.                     <item name="GetDefaultEndpoint">
  252. What is the default output device? - Usage: players.GetDefaultEndpoint();
  253.        Return value:   The name of the default endpoing (output device)
  254.                     </item>
  255.  
  256.                     <item name="SetDefaultEndpoint">
  257. Set the default output device? - Usage: players.SetDefaultEndpoint(device);
  258.        device          The name of the audio output device to use as the default endpoint.
  259.        Return value:   The name of the default endpoing (output device)
  260.                     </item>
  261.  
  262.                     <item name="GetStreamList">
  263. Get a list of available streams (audio input devices) - Usage: players.GetStreamList();
  264.        Return value:   An array of streams (audio input devices)
  265. Each stream is reported as an array with the following members:  'name', 'description', 'factoryID'.
  266.                     </item>
  267.  
  268.                     <item name="GetFilterList">
  269. Get a list of available filters (audio decoding devices) - Usage: players.GetFilterList();
  270.        Return value:   An array of filters (audio decoding devices)
  271. Each filter is reported as an array with the following members:  'name', 'description', 'factoryID'.
  272.                     </item>
  273.  
  274.                     <item name="GetDSPList">
  275. Get a list of available dsps (audio processing devices) - Usage: players.GetDSPList();
  276.        Return value:   An array of DSPs (audio processing devices)
  277. Each DSP is reported as an array with the following members:  'name', 'description', 'factoryID'.
  278.                     </item>
  279.  
  280.                     <item name="GetMiscAudioList">
  281. Get a list of available miscellaneous audio plugins - Usage: players.GetMiscAudioList();
  282.        Return value:   An array of audio settings objects
  283. Each plugin is reported as an array with the following members:  'name', 'description', 'factoryID'.
  284.                     </item>
  285.  
  286.                     <item name="GetMetaFilterList">
  287. Get a list of available miscellaneous audio plugins - Usage: players.GetMetaFilterList();
  288.        Return value:   An array of audio settings objects
  289. Each plugin is reported as an array with the following members:  'name', 'description', 'factoryID'.
  290.                     </item>
  291.  
  292.                     <item name="GetWriterList">
  293. Get a list of available writer audio plugins - Usage: players.GetWriterList();
  294.        Return value:   An array of audio settings objects
  295. Each plugin is reported as an array with the following members:  'name', 'description', 'factoryID'.
  296.                     </item>
  297.                 </section>
  298.  
  299.                 <section name="playlist">
  300.                     <item name="AddItem">
  301. Add an item to the playlist - Usage: playlist.AddItem(item, where);
  302.        item            The URL or filename of the item to add to the playlist, or an array of URLs and filenames.
  303.        where           Optional: 'top', 'bottom' or the UID of the item to place it after  Default: bottom
  304.                     </item>
  305.  
  306.                     <item name="RemoveItem">
  307. Remove items from the playlist - Usage: playlist.RemoveItem(items);
  308.        items           The UID of an item to remove, or an array of UIDs.
  309.        Return value:   'removed' on success, null on error.
  310.                     </item>
  311.  
  312.                     <item name="MoveItem">
  313. Move items in the playlist - Usage: playlist.MoveItem(item, where);
  314.        item            A UID (or array of UIDS) to move within the playlist
  315.        where           Optional: 'top', 'bottom' or the UID of the item to place them after  Default: bottom
  316.        Return value:   'moved' on success, null on error
  317.                     </item>
  318.  
  319.                     <item name="RemoveAll">
  320. Remove all items from the playlist. - Usage: playlist.RemoveAll();
  321.        Return value:   'removed' on success, null on error
  322.                     </item>
  323.  
  324.                     <item name="GetFirstUID">
  325. Get the UID of the first item in the playlist - Usage: playlist.GetFirstUID(bShuffled);
  326.     
  327. The following code will count how many items are in the playlist:
  328. $key = :sonique.playlists.default.Lock();
  329. $UID = :sonique.playlists.default.GetFirstUID();
  330. $count = 1;
  331. while ($UID = :sonique.playlists.default.GetNextUID($UID))
  332. {
  333.     $count++;
  334. }
  335. :sonique.playlists.default.Unlock($key);
  336.        bShuffled       Optional: If true, this retrieves items in the order that they will be played with the current shuffling. Otherwise, it sorts by the playlist item numbers.  Default: true
  337.        Return value:   The UID of the first item in the playlist
  338.                     </item>
  339.  
  340.                     <item name="GetNextUID">
  341. Get the UID of the next item in the playlist - Usage: playlist.GetNextUID(UID, bShuffled);
  342.     
  343. The following code will count how many items are in the playlist:
  344. $key = :sonique.playlists.default.Lock();
  345. $UID = :sonique.playlists.default.GetFirstUID();
  346. $count = 1; 
  347. while ($UID = :sonique.playlists.default.GetNextUID($UID))
  348. {
  349.     $count++;
  350. }
  351. :sonique.playlists.default.Unlock($key);
  352. // Better would be :sonique.playlsits.default.GetCount();
  353.        UID             The UID of the item you're currently at.
  354.        bShuffled       Optional: If true, this retrieves items in the order that they will be played with the current shuffling. Otherwise, it sorts by the playlist item numbers.  Default: true
  355.        Return value:   The UID of the next item in the playlist, or null if we're at the end.
  356.                     </item>
  357.  
  358.                     <item name="GetPrevUID">
  359. Get the UID of the previous item in the playlist - Usage: playlist.GetPrevUID(UID, bShuffled);
  360.        UID             The UID of the item you're currently at.
  361.        bShuffled       Optional: If true, this retrieves items in the order that they will be played with the current shuffling. Otherwise, it sorts by the playlist item numbers.  Default: true
  362.        Return value:   The UID of the previous item in the playlist, or null if we're at the beginning.
  363.                     </item>
  364.  
  365.                     <item name="Reshuffle">
  366. Reshuffle the playlist. - Usage: playlist.Reshuffle();
  367.                     </item>
  368.  
  369.                     <item name="Sort">
  370. Sort the playlist. - Usage: playlist.Sort(field, direction);
  371.        field           Which field to sort by.  This can be artist, title, duration, url or any of the values returned from GetTokenList()
  372.        direction       Optional: The direction to sort by ('forwards' or 'reverse')  Default: forwards
  373.        Return value:   'sorted' on success, null on failure
  374.                     </item>
  375.  
  376.                     <item name="AdvancedSort">
  377. Sort the playlist by multiple fields. - Usage: playlist.AdvancedSort(criterion1, criterion2, ...);
  378.     
  379. The following code will sort by a few fields:
  380. :sonique.playlists.default.AdvancedSort({"artist", "forwards"},{"year", "reverse"},{"album"},{"track"},{"title"});
  381. Keep in mind sorting is an expensive operation.
  382.        criterion1      The first sort criterion.  An array of {field, direction} (see Sort for more explanation of field and direction). An array with just 'field' is assumed to be 'forwards' in direction.
  383.        criterion2      Optional: the next sort criterion.
  384.        ...             Optional: other sort criterion.  the criteria are sorted in the order they appear in the arguments list..
  385.        Return value:   'sorted' on success, null on failure
  386.                     </item>
  387.  
  388.                     <item name="Randomize">
  389. Randomize the order of the playlist - Usage: playlist.Randomize();
  390.        Return value:   'randomized' on success, otherwise null.
  391.                     </item>
  392.  
  393.                     <item name="Reverse">
  394. Reverse the order of the playlist - Usage: playlist.Reverse();
  395.        Return value:   'reversed' on success, otherwise null.
  396.                     </item>
  397.  
  398.                     <item name="Lock">
  399. Locks the playlist for manipulation. - Usage: playlist.Lock();
  400.     
  401. This function locks the playlist so that other threads won't change it.  You should use it when performing a number of operations that require the playlist to not change in between.  After locking it, you should whatever operations you want and then unlock it within a relatively short period of time, to ensure that other playlist operations remain responsive.
  402.        Return value:   A cookie that must be used with Unlock, or null on error.
  403.                     </item>
  404.  
  405.                     <item name="Unlock">
  406. Unlock a previously locked playlist.  See the Lock function for details. - Usage: playlist.Unlock(cookie);
  407.        cookie          The cookie returned by Lock
  408.        Return value:   'unlocked' on success, null otherwise
  409.                     </item>
  410.  
  411.                     <item name="UpdateLock">
  412. Refresh the lock on the playlist so it doesn't time out. - Usage: playlist.UpdateLock(cookie);
  413.     
  414. Locks will eventually time out (after 30 seconds or so).  If this is a problem, you should refresh the lock.  This will not be necessary except in extraordinary cases.  Use this with extreme care - if this is misused it will effectively make the playlist unusable from the rest of the program.
  415.        cookie          The cookie returned by Lock
  416.        Return value:   'updated' on success, null otherwise.
  417.                     </item>
  418.  
  419.                     <item name="GetCurrentVersion">
  420. Gets the revision number of the playlist. This increments whenever the playlist changes. - Usage: playlist.GetCurrentVersion();
  421.        Return value:   The revision number of the playlist
  422.                     </item>
  423.  
  424.                     <item name="GetCurrentList">
  425. Retrieves the playlist as an array of UIDs - Usage: playlist.GetCurrentList();
  426.        Return value:   An array of UIDs currently in the playlist.
  427.                     </item>
  428.  
  429.                     <item name="GetChangeList">
  430. Retrieves a list of what has changed in the playlist. - Usage: playlist.GetChangeList(rev);
  431.        rev             The revision that you wish to diff against
  432.        Return value:   An array, containing a subarray of UIDs (named 'ids'), the current version (named 'version') and a boolean value telling whether the order changed (named 'order_changed')
  433.                     </item>
  434.  
  435.                     <item name="GetCount">
  436. How many items are in the playlist? - Usage: playlist.GetCount();
  437.        Return value:   The number of items in the playlist
  438.                     </item>
  439.  
  440.                     <item name="GetUIDIndex">
  441. Get the index of the specified UID in the playlist. - Usage: playlist.GetUIDIndex(UID);
  442.        UID             The UID to search for.
  443.        Return value:   The index of that UID
  444.                     </item>
  445.  
  446.                     <item name="GetUIDAtIndex">
  447. Get the UID at a given index. - Usage: playlist.GetUIDAtIndex(index);
  448.        index           Which UID to get.
  449.        Return value:   The UID at the specified index.
  450.                     </item>
  451.  
  452.                     <item name="GetUIDForURL">
  453. Search for a URL - Usage: playlist.GetUIDForURL(URL);
  454.        URL             The URL to search for
  455.        Return value:   The UID that corresponds with a given URL. If that URL is in the playlist multiple times, only one will be returned.  If no results are found, null is returned.
  456.                     </item>
  457.  
  458.                     <item name="GetTotalPlaylistTime">
  459. The total playlist length - Usage: playlist.GetTotalPlaylistTime();
  460.        Return value:   An array, containing an element named 'time' with the time, and an element named type which will be one of the following: duration_estimate, duration_verified, duration_unknown, duration_infinite
  461.                     </item>
  462.  
  463.                     <item name="GetSongAtTime">
  464. Get the info for the song at the specified time into the playlist. - Usage: playlist.GetSongAtTime(time);
  465.        time            The time into the playlist to query.
  466.        Return value:   An array containing the following elements:  id, url, title, artist, duration, duration_type, album, and subposition (how far into this song we are at the given time)
  467.                     </item>
  468.  
  469.                     <item name="GetSongAtPercent">
  470. Get the info for the song at the specified percent through the playlist. - Usage: playlist.GetSongAtPercent(percent);
  471.        percent         How far through the playlist to query.
  472.        Return value:   An array containing the following elements:  id, url, title, artist, duration, duration_type, album, and subposition (how far into this song we are at the given percent)
  473.                     </item>
  474.  
  475.                     <item name="GetUIDInfo">
  476. Returns a structure describing the playlist entry with the specified ID - Usage: playlist.GetUIDInfo(UID);
  477.        UID             The UID to query (or an array of UIDs)
  478.        Return value:   An array with the following fields:  uid, url, title, artist, duration, duration_type.  If an array is passed in, the return value will be an array of these arrays.
  479.                     </item>
  480.  
  481.                     <item name="GetTokenList">
  482. Get a list of token names - which can then be passed into Sort() - Usage: playlist.GetTokenList();
  483.        Return value:   An array containing one array for each unique token name.  Each of those arrays has two elements, name and count (the number of occurences in the playlist of this token)
  484.                     </item>
  485.  
  486.                     <item name="RegisterCallback">
  487. Register for callback when a playlist event occurs. - Usage: playlist.RegisterCallback(name, script, context);
  488.        name            The name of the callback to hook. Valid callbacks are: 'unknown', 'ItemsAdded', 'ItemsMoved', 'ItemsRemoved', 'ItemsUpdated', 'AllItemsRemoved', 'AllItemsMoved', 'IdleScanStarted', 'IdleScanStopped', 'IdleScanSettingChanged', 'ScanningStarted', 'ScanningFinished'
  489.        script          The script to call when a playlist event occurs.
  490.        context         Optional: The object to run the script from.  Default: the playlist object
  491.                     </item>
  492.  
  493.                     <item name="UnregisterCallback">
  494. Unregister for callback. - Usage: playlist.UnregisterCallback(name, context);
  495.        name            The name of the callback to unregister.
  496.        context         Optional: The object associated with the callback.  Default: the playlist object
  497.                     </item>
  498.  
  499.                     <item name="SetIdleScan">
  500. Set the idlescan mode - Usage: playlist.SetIdleScan(mode, startnow);
  501.        mode            quick, thorough, or none.
  502.        startnow        Optional: Determines whether to start scanning immediately.  Default: true
  503.                     </item>
  504.  
  505.                     <item name="StartIdleScan">
  506. Forces the idle scan to start (in case it's not set to start immediately) - Usage: playlist.StartIdleScan();
  507.                     </item>
  508.  
  509.                     <item name="StopIdleScan">
  510. Forces the idle scan to stop - Usage: playlist.StopIdleScan();
  511.                     </item>
  512.  
  513.                     <item name="CurrentlyIdleScanning">
  514. Are we currently idle scanning? - Usage: playlist.CurrentlyIdleScanning();
  515.        Return value:   true if we are, false if we aren't.
  516.                     </item>
  517.  
  518.                     <item name="IdleScanningIsActive">
  519. Is the idle scan thread actively scanning files? - Usage: playlist.IdleScanningIsActive();
  520.        Return value:   true if we are, false if we aren't.
  521.                     </item>
  522.  
  523.                     <item name="ScanFile">
  524. do a scan of the specified file - Usage: playlist.ScanFile(URL, mode);
  525.        URL             The file location.
  526.        mode            quick or thorough
  527.        Return value:   success if the file is in the playlist
  528.                     </item>
  529.                 </section>
  530.  
  531.                 <section name="player">
  532.                     <item name="Play">
  533. If the player is stopped or paused, play - Usage: player.Play();
  534.        Return value:   'Playing' if we were started playing, null if we already were.
  535.                     </item>
  536.  
  537.                     <item name="WaveWrite">
  538. Similar to play, except that the audio is written to a file instead of (or including) it being played through the normal output device. If the parameter is true, then sound comes out of the output device normally as well as being written to file(s). If the parameter is false then the normal output method is totally bypassed and data is written as fast as possible to the file(s). - Usage: player.WaveWrite(bAudible);
  539.        bAudible        Optional: True if you want to listen to the file while it is being written, false otherwise.  Default: false
  540.        Return value:   'Writing' if this call succeeds, NULL otherwise.
  541.                     </item>
  542.  
  543.                     <item name="Stop">
  544. If the player is playing or paused, stop. - Usage: player.Stop();
  545.        Return value:   'Stopped' if we stopped, null if we were already stopped.
  546.                     </item>
  547.  
  548.                     <item name="pause">
  549. If the player is playing, pause playback. - Usage: player.pause();
  550.        Return value:   'Paused' if we paused playback, null if we were not currently playing.
  551.                     </item>
  552.  
  553.                     <item name="TogglePause">
  554. If playing, pause. If paused, play. - Usage: player.TogglePause();
  555.                     </item>
  556.  
  557.                     <item name="IsPlaying">
  558. Query whether the player is not stopped. - Usage: player.IsPlaying();
  559.        Return value:   true if it is playing, false if it isn't.
  560.                     </item>
  561.  
  562.                     <item name="IsPaused">
  563. Query whether the player is not paused. - Usage: player.IsPaused();
  564.        Return value:   true if it is paused, false if it isn't.
  565.                     </item>
  566.  
  567.                     <item name="Next">
  568. Skip to the next track in the playlist (in accordance with shuffle and what not) - Usage: player.Next();
  569.                     </item>
  570.  
  571.                     <item name="Previous">
  572. Skip to the previous track in the playlist (in accordance with shuffle and what not) - Usage: player.Previous();
  573.                     </item>
  574.  
  575.                     <item name="SeekTo">
  576. Seek to a given track in the playlist - Usage: player.SeekTo(UID, offset);
  577.        UID             The UID of the item in the playlist to skip to.
  578.        offset          Optional: How many seconds into the song to skip to.  Default: 0
  579.                     </item>
  580.  
  581.                     <item name="SeekToIndex">
  582. Seek to a given index into the playlist - Usage: player.SeekToIndex(index, offset);
  583.        index           The index of the item in the playlist to skip to.
  584.        offset          Optional: How many seconds into the song to skip to.  Default: 0
  585.                     </item>
  586.  
  587.                     <item name="SeekToTime">
  588. Seek to the specified time into the currently playing track - Usage: player.SeekToTime(time, bAccurate);
  589.        time            How many seconds into the song to skip to.
  590.        bAccurate       Optional: Use false to give a quick preview (for instance if the user is dragging a slider) and true for the final seek  Default: true
  591.                     </item>
  592.  
  593.                     <item name="Scan">
  594. Scan forward or backwards by the specified amount - Usage: player.Scan(time, bAccurate);
  595.        time            How many seconds skip. (negative means scan back)
  596.        bAccurate       Optional: Use false to give a quick preview (for instance if the user is dragging a slider) and true for the final scan  Default: true
  597.                     </item>
  598.  
  599.                     <item name="GetInfo">
  600. Get information on the current play state - Usage: player.GetInfo();
  601.        Return value:   An array containing the following fields: info (an array describing the current track, with the fields 'uid', 'url', 'title', 'artist', 'duration', and 'duration_type'), 'playstate' (an array with the following fields: 'state' (may be 'stopped', 'paused', or 'playing'), 'shuffled' (true or false), 'repeat' ('off', 'one' or 'all')), 'cursongid' (the UID of the current song), 'numsongs' (the number of songs in the playlist), 'cursongindex' (the index into the playlist currently playing), and 'curplaytime' (how many seconds into the current track we are).
  602.                     </item>
  603.  
  604.                     <item name="GetPlayProgress">
  605. Query the estimated amount of time through the playlist we're at. - Usage: player.GetPlayProgress();
  606.                     </item>
  607.  
  608.                     <item name="GetShuffle">
  609. Query whether shuffle play is enabled. - Usage: player.GetShuffle();
  610.        Return value:   true if it is, false if it isn't.
  611.                     </item>
  612.  
  613.                     <item name="SetShuffle">
  614. Enable or disable shuffle play - Usage: player.SetShuffle(shuffle);
  615.        shuffle         true to enable shuffle play, false to disable
  616.                     </item>
  617.  
  618.                     <item name="ToggleShuffle">
  619. Toggle shuffle play - Usage: player.ToggleShuffle();
  620.                     </item>
  621.  
  622.                     <item name="GetRepeat">
  623. Query repeat play is status. - Usage: player.GetRepeat();
  624.        Return value:   'off', 'one', or 'all'
  625.                     </item>
  626.  
  627.                     <item name="SetRepeat">
  628. Change repeat mode - Usage: player.SetRepeat(repeat);
  629.        repeat          'off', 'one', or 'all'
  630.                     </item>
  631.  
  632.                     <item name="ToggleRepeat">
  633. Advance through repeat settings 'off', 'one', and 'all. - Usage: player.ToggleRepeat();
  634.                     </item>
  635.  
  636.                     <item name="GetVolume">
  637. Get the current playback volume - Usage: player.GetVolume();
  638.        Return value:   The volume, between 0.0 and 1.0
  639.                     </item>
  640.  
  641.                     <item name="SetVolume">
  642. Set the current playback volume. - Usage: player.SetVolume(vol);
  643.        vol             A number between 0.0 (silence) and 1.0 (pretty loud)
  644.                     </item>
  645.  
  646.                     <item name="GetPlaybackMethod">
  647. What is the current playback mode? - Usage: player.GetPlaybackMethod();
  648.        Return value:   An array with two items 'method' (one of: 'normal', 'seamless', 'crossfade', or 'unknown') and 'transitiontime' (a number of seconds)
  649.                     </item>
  650.  
  651.                     <item name="SetPlaybackMethod">
  652. Set the playback mode - Usage: player.SetPlaybackMethod(method, time);
  653.        method          'normal', 'seamless', or 'crossfade'
  654.        time            Optional: How long to spend transitioning between tracks.  Default: -1
  655.                     </item>
  656.  
  657.                     <item name="SetSaveStreams">
  658. Enable or disable stream saving - Usage: player.SetSaveStreams(bSaveStreams);
  659.        bSaveStreams    1 to start saving streams or 0 to stop.
  660.                     </item>
  661.  
  662.                     <item name="GetSaveStreams">
  663. Determine whether stream saving is enabled or disabled - Usage: player.GetSaveStreams();
  664.                     </item>
  665.  
  666.                     <item name="RegisterCallback">
  667. Register for callback when a player event occurs. - Usage: player.RegisterCallback(name, script, context);
  668.        name            The name of the callback to hook. Valid callbacks are: 'Playing', 'Stopping', 'Pausing', 'SongStarted','VolumeChanged', 'Seeking', 'SeekFailed', 'Seeked', 'PlayFailed', 'CurrentIDChanged', 'ShuffleChanged', 'RepeatChanged', 'PlaybackMethodChanged', and 'AssociatedPlaylistChanged' 
  669.        script          What to do when player events occur.
  670.        context         Optional: The object to run the script from.  Default: the player object
  671.                     </item>
  672.  
  673.                     <item name="UnregisterCallback">
  674. Unregister a previously registered callback. - Usage: player.UnregisterCallback(name, context);
  675.        name            The name of the callback to unregister.
  676.        context         Optional: The object associated with the callback.  Default: the player object
  677.                     </item>
  678.  
  679.                     <item name="GetAssociatedPlaylistName">
  680. Get the name of the playlist associated with this player - Usage: player.GetAssociatedPlaylistName();
  681.        Return value:   The name of the playlist or 'unknown' if not known.
  682.                     </item>
  683.  
  684.                     <item name="GetAssociatedPlaylist">
  685. Get the UID of the playlist associated with this player - Usage: player.GetAssociatedPlaylist();
  686.        Return value:   The UID, or if unavailabe, null
  687.                     </item>
  688.  
  689.                     <item name="SetAssociatedPlaylist">
  690. Set which playlist this player is playing from - Usage: player.SetAssociatedPlaylist(uid);
  691.        uid             The UID of the playlist to use.
  692.                     </item>
  693.  
  694.                     <item name="SendFilterMessage">
  695. Send a message to a filter that's being used to play the current track. - Usage: player.SendFilterMessage(message);
  696.        message         A filter-specific message.  If that filter is not in use, the message will be ignored.
  697.                     </item>
  698.  
  699.                     <item name="GetFileExtensions">
  700. What file extensions can this player play? - Usage: player.GetFileExtensions();
  701.        Return value:   An array of arrays, each of which has fields named: 'ext' (the extention), and 'desc' (a description)
  702.                     </item>
  703.                 </section>
  704.  
  705.                 <section name="playersetting">
  706.                     <item name="get">
  707. Get a setting by name. - Usage: playersetting.get(name);
  708.        name            The name of the setting to get.
  709.        Return value:   The value currently set, or a null string of unset.
  710.                     </item>
  711.  
  712.                     <item name="set">
  713. Set a setting by name. - Usage: playersetting.set(name, value);
  714.        name            The name of the setting to set.
  715.        value           The value to set it to.
  716.                     </item>
  717.                 </section>
  718.  
  719.                 <section name="player">
  720.                     <item name="GetTitleString">
  721. Get the title of the currently playing track. - Usage: player.GetTitleString(format, player);
  722.        format          Optional: How to format the title string.  Default: :sonique.player.DefaultTitleFormat
  723.        player          Optional: The name of the player to query.  Default: default
  724.                     </item>
  725.  
  726.                     <item name="GetTimeString">
  727. Get the time of the currently playing track. - Usage: player.GetTimeString(format, mode, player);
  728.        format          Optional: How to format the time string.  Default: :sonique.player.DefaultTimeFormat
  729.        mode            Optional: Time display mode. Options are: 'timeremaining', 'totaltime', and 'elapsed'  Default: elapsed
  730.        player          Optional: The name of the player to query.  Default: default
  731.                     </item>
  732.  
  733.                     <item name="GetTrackString">
  734. Get the number of the currently playing track. - Usage: player.GetTrackString(format, player);
  735.        format          Optional: How to format the track string.  Default: :sonique.player.DefaultTrackFormat
  736.        player          Optional: The name of the player to query.  Default: 'default'
  737.                     </item>
  738.  
  739.                     <item name="GetTotalTimeString">
  740. Get the total length of a playlist. - Usage: player.GetTotalTimeString(format, playlist);
  741.        format          Optional: How to format the time string.  Default: :sonique.player.DefaultTotalTimeFormat
  742.        playlist        Optional: The name of the playlist to query.  Default: 'default'
  743.                     </item>
  744.  
  745.                     <item name="GetTimeSeekString">
  746. Get the string to display when seeking a certain amount. - Usage: player.GetTimeSeekString(time, format);
  747.        time            The time in seconds we would be seeking.
  748.        format          Optional: How to format the time string.  Default: :sonique.player.DefaultTimeSeekFormat
  749.                     </item>
  750.  
  751.                     <item name="GetTitleSeekString">
  752. Get the string to display when seeking a specific track. - Usage: player.GetTitleSeekString(uid, format, playlist);
  753.        uid             The UID of the track we'd be seeking to.
  754.        format          Optional: How to format the time string.  Default: :sonique.player.DefaultTrackSeekFormat
  755.        playlist        Optional: The name of the playlist to query.  Default: 'default'
  756.                     </item>
  757.  
  758.                     <item name="GetTitleTimeSeekString">
  759. Get the string to display when seeking a specific track and time. - Usage: player.GetTitleTimeSeekString(uid, time, format, playlist);
  760.        uid             The UID of the track we'd be seeking to.
  761.        time            The time into the track to seek to.
  762.        format          Optional: How to format the time string.  Default: :sonique.player.DefaultTitleTimeSeekFormat
  763.        playlist        Optional: The name of the playlist to query.  Default: 'default'
  764.                     </item>
  765.  
  766.                     <item name="GetInfoString">
  767. Get a string describing the format of the current audio stream. - Usage: player.GetInfoString(format, player);
  768.        format          Optional: How to format the info string.  Default: :sonique.player.DefaultInfoFormat
  769.        player          Optional: The name of the player to query.  Default: 'default'
  770.                     </item>
  771.                 </section>
  772.  
  773.                 <section name="prefs">
  774.                     <item name="GetString">
  775. Retrieves a string from the preferences. For use with multiple nodes of the same name and location. - Usage: prefs.GetString(section, name);
  776.        section         The section containing the preferences.
  777.        name            The name of the item within the section.
  778.        Return value:   The current value of that preference.
  779.                     </item>
  780.  
  781.                     <item name="GetStringArray">
  782. Retrieves an array string values from the preferences. - Usage: prefs.GetStringArray(section, name);
  783.        section         The section containing the preferences.
  784.        name            The name of the items within the section.
  785.        Return value:   An array containing the current values of the named preferences.
  786.                     </item>
  787.  
  788.                     <item name="SetString">
  789. Set a string in the prefernces - Usage: prefs.SetString(section, name, value);
  790.        section         The section containing the preferences.
  791.        name            The name of the item within the section.
  792.        value           The value to set it to.
  793.                     </item>
  794.  
  795.                     <item name="SetStringArray">
  796. Set multiple strings in the prefernces.  For use with multiple nodes of the same name and location, - Usage: prefs.SetStringArray(section, name, values);
  797.        section         The section containing the preferences.
  798.        name            The name of the items within the section.
  799.        values          The array of values to set them to.
  800.                     </item>
  801.  
  802.                     <item name="PrepString">
  803. Set a string value in the preferences, if it doesn't already exist. - Usage: prefs.PrepString(section, name, value);
  804.        section         The section containing the preferences.
  805.        name            The name of the item within the section.
  806.        value           The value to set it to.
  807.                     </item>
  808.  
  809.                     <item name="CreateSection">
  810. Create a preferences section in which you can store data. - Usage: prefs.CreateSection(section);
  811.        section         The section containing the preferences. If this section already exists, nothing happens.
  812.                     </item>
  813.  
  814.                     <item name="DoesSectionExist">
  815. Query whether a section exists - Usage: prefs.DoesSectionExist(section);
  816.        section         The section to query for existance.
  817.        Return value:   true if it does, false if it doesn't
  818.                     </item>
  819.  
  820.                     <item name="Save">
  821. Force Sonique to write all preferences out to disk. This normally happens only on program shutdown. - Usage: prefs.Save();
  822.                     </item>
  823.                 </section>
  824.  
  825.                 <section name="sonique">
  826.                     <item name="InstallInterface">
  827. Register a skin or interface. - Usage: :sonique.InstallInterface(path);
  828.        path            The path to the interface.
  829.                     </item>
  830.  
  831.                     <item name="OpenFiles">
  832. Present the user with a file open dialog. Selected files are added to the playlist. - Usage: :sonique.OpenFiles(playlist, immediate, append);
  833.        playlist        Optional: The playlist to add the files to.  Default: 'default'
  834.        immediate       Optional: Play or load it immediately  Default: current settings
  835.        append          Optional: Append it to the current playlist? false means clear the playlist first.  Default: current settings
  836.                     </item>
  837.  
  838.                     <item name="BrowseForFolder">
  839. Present the user with a folder browser dialog. - Usage: :sonique.BrowseForFolder(title, path);
  840.        title           Optional: The title displayed in the browse dialogue.  Default: 'null'
  841.        path            Optional: The path that is initially selected in the browse dialogue.  Default: 'null'
  842.        Return value:   The selected folder path.
  843.                     </item>
  844.  
  845.                     <item name="BrowseForFiles">
  846. Present the user with a file open dialog. - Usage: :sonique.BrowseForFiles(title, multiplefiles, filterlist, filterdescription);
  847.        title           Optional: The title displayed in the browse dialogue.  Default: 'null'
  848.        multiplefiles   Optional: true if multiple files can be selected, false otherwise  Default: true
  849.        filterlist      Optional: A semi-colon delimitted list of extensions to filter by.  example: "*.mp3;*.mpa;*.mp2;*.mp1"  Default: 'null'
  850.        filterdescription Optional: The label for the extension filter list. example:  "MPEG Audio Files (*.mp3, *.mpa, *.mp2, *.mp1)"  Default: 'null'
  851.        Return value:   An array of paths for the selected files.
  852.                     </item>
  853.  
  854.                     <item name="SavePlaylistFile">
  855. Present the user with a file save dialog, to chose where to save the playlist. - Usage: :sonique.SavePlaylistFile(playlist);
  856.        playlist        Optional: The playlist to save.  Default: 'default'
  857.                     </item>
  858.  
  859.                     <item name="LoadPlaylistFile">
  860. Present the user with a file load dialog, to chose where to load the playlist from. - Usage: :sonique.LoadPlaylistFile(playlist, append);
  861.        playlist        Optional: The playlist to load.  Default: 'default'
  862.        append          Optional: Append to the currently loaded playlist?  True means yes.  Default: false
  863.                     </item>
  864.  
  865.                     <item name="LoadSkin">
  866. Reskin the current application window.  If there is no main application window, once will be opened. - Usage: :sonique.LoadSkin(interface, skin);
  867.        interface       The unique name of an interface containing the skin to load.
  868.        skin            The name of the skin
  869.                     </item>
  870.  
  871.                     <item name="SetLanguage">
  872. Set the order of language preference. - Usage: :sonique.SetLanguage(langauges);
  873.        langauges       An array of names of languages to use, in order of descending preference. GetLanguageList() will show available languages.
  874.                     </item>
  875.  
  876.                     <item name="SetLanguageIndex">
  877. Select a single language, by index. - Usage: :sonique.SetLanguageIndex(index);
  878.        index           The index of the language to select.  GetLanguageList() will show available languages.
  879.                     </item>
  880.  
  881.                     <item name="GetLanguageList">
  882. Enumerate available languages. - Usage: :sonique.GetLanguageList();
  883.        Return value:   An array of languages that are at least partially available.
  884.                     </item>
  885.  
  886.                     <item name="GetInterfaceList">
  887. Enumerate available interfaces. - Usage: :sonique.GetInterfaceList();
  888.        Return value:   An array of interfaces that are available.
  889.                     </item>
  890.  
  891.                     <item name="CreateInterfaceWindow">
  892. Create a child window from the specified interface. - Usage: :sonique.CreateInterfaceWindow(interface, MMLType, MMLName, name, offset, alignment, context, bVisible, flags, bBelowParent, MMLFlags, CreateChildren, FactoryID);
  893.        interface       The unique name of an interface containing the window to create.
  894.        MMLType         Type of >window< (eg. generic or button)
  895.        MMLName         Name of >window< to get
  896.        name            Name of the child to create
  897.        offset          {left, top, right, bottom} - Window offset
  898.        alignment       {left, top, right, bottom} - Window alignment
  899.        context         Optional: The parent window for the new window.  Default: the calling object
  900.        bVisible        Optional: Boolean - should the window be immediately visible  Default: true
  901.        flags           Optional: Extra window flags  Default: 0
  902.        bBelowParent    Optional: Should this window be below the parent? (useful for drawers and such)  Default: false
  903.        MMLFlags        Optional: MML Create flags  Default: 0
  904.        CreateChildren  Optional: Create all decendants?  Default: true
  905.        FactoryID       Optional: MID of a factory to use to create this object  Default: loads from skin
  906.        Return value:   UID on success, NULL otherwise
  907.                     </item>
  908.  
  909.                     <item name="Status">
  910. Set the status text bar of all windows - Usage: :sonique.Status(text, type);
  911.        text            The text to set
  912.        type            Optional: How to set it. Options include: 'fallback', 'info', 'warning', 'error'  Default: 'info'
  913.                     </item>
  914.  
  915.                     <item name="LocalStatus">
  916. Set the local status bar text - Usage: :sonique.LocalStatus(text, priority, context);
  917.        text            The text to set
  918.        priority        Optional: Options include: 'fallback', 'info', 'warning', 'error'  Default: 'info'
  919.        context         Optional: The window to set the status text of.  Default: the calling object
  920.                     </item>
  921.  
  922.                     <item name="StatusProportion">
  923. Set the status bar to a slider-like value - Usage: :sonique.StatusProportion(text, proportion, text2, priority);
  924.        text            The text to set
  925.        proportion      Optional: If set, this draws a slider on the status bar, filled according to this parameter's position between 0.0 and 1.0  Default: -1
  926.        text2           Optional: The text to display to the right of the aforementioned slider.  Default: null
  927.        priority        Optional: Options include: 'fallback', 'info', 'warning', 'error'  Default: 'info'
  928.                     </item>
  929.  
  930.                     <item name="LocalStatusProportion">
  931. Set the local status bar text - Usage: :sonique.LocalStatusProportion(text, priority, proportion, text2, context);
  932.        text            The text to set
  933.        priority        Optional: Options include: 'fallback', 'info', 'warning', 'error'  Default: 'info'
  934.        proportion      Optional: If set, this draws a slider on the status bar, filled according to this parameter's position between 0.0 and 1.0  Default: -1
  935.        text2           Optional: The text to display to the right of the aforementioned slider.  Default: null
  936.        context         Optional: The window to set the status text of.  Default: the calling object
  937.                     </item>
  938.  
  939.                     <item name="LaunchRemote">
  940. Creates a a new remote window - Usage: :sonique.LaunchRemote(interface, remote);
  941.        interface       The unique name of the interface
  942.        remote          The name of the remote
  943.                     </item>
  944.  
  945.                     <item name="LaunchAppWindow">
  946. Creates a new application window with the named skin loaded.  This means it will look in the current *interface* for the named skin.  Note: This does not change what skin is the *current* skin. - Usage: :sonique.LaunchAppWindow(name);
  947.        name            The display name of the window (the 'name' attribute from your export tag)
  948.                     </item>
  949.  
  950.                     <item name="LaunchWindow">
  951. Launch a window - Usage: :sonique.LaunchWindow(interface, windowtype, name, createtype);
  952.        interface       The unique identifier for the interface to load the window from.
  953.        windowtype      The type of window - either a MID or a text string
  954.        name            The name of the window, in the MML
  955.        createtype      Optional: The MID or text string of the factory to create the window from.  NB: use Sonique2_Frame to make your window behave like a top level window (remote or skin).  If this param is missing, it will use the MID from your windowtype param.  Default: null
  956.                     </item>
  957.  
  958.                     <item name="LaunchLocalWindow">
  959. Launch a window which is defined in the current interface. - Usage: :sonique.LaunchLocalWindow(name, windowtype, createtype);
  960.        name            The name of the window, in the MML
  961.        windowtype      Optional: The type of window - either an MID or a text string.  Default: generic
  962.        createtype      Optional: The MID or text string of the factory to create the window from.  NB: use Sonique2_Frame to make your window behave like a top level window (remote or skin).  If this param is missing, it will use the MID from your windowtype param.  Default: Sonique2_Frame
  963.                     </item>
  964.  
  965.                     <item name="LaunchSettingsPopup">
  966. Launch a popup settings window. - Usage: :sonique.LaunchSettingsPopup();
  967.                     </item>
  968.  
  969.                     <item name="LaunchID3EditPopup">
  970. Launch a popup ID3 editor. - Usage: :sonique.LaunchID3EditPopup();
  971.                     </item>
  972.  
  973.                     <item name="LaunchInterfaceBrowserPopup">
  974. Launch a popup interface browser. - Usage: :sonique.LaunchInterfaceBrowserPopup();
  975.                     </item>
  976.  
  977.                     <item name="LaunchURL">
  978. Ask the operating system to launch the URL (using the system's associated application). - Usage: :sonique.LaunchURL(location);
  979.        location        the URL (NB: be sure to escape back slash characters - 'http:\\\\www.sonique.com\\')
  980.        Return value:   true/false for success/failure
  981.                     </item>
  982.  
  983.                     <item name="LaunchHelp">
  984. Launch the help window - Usage: :sonique.LaunchHelp(section);
  985.        section         The section within help to start in (currently: 'index', 'about', 'hotkeys', or 'playlist')
  986.                     </item>
  987.  
  988.                     <item name="RemoveInterface">
  989. Unload an interface. - Usage: :sonique.RemoveInterface(The unique name of the interface to remove);
  990.        The unique name of the interface to remove 
  991.                     </item>
  992.  
  993.                     <item name="RemoveInterfacePackage">
  994. Unload all interfaces associated with a package - Usage: :sonique.RemoveInterfacePackage(package);
  995.        package         The path of the package.
  996.                     </item>
  997.  
  998.                     <item name="CompactMem">
  999. Compact Memory.  Don't use lightly. - Usage: :sonique.CompactMem();
  1000.                     </item>
  1001.  
  1002.                     <item name="GetMinimizeAllToTray">
  1003. Will all windows minimize to systray at once? Note: SetMinimizeToTray must be true or this has no effect - Usage: :sonique.GetMinimizeAllToTray();
  1004.        Return value:   True if all windows will minimize to tray at once to one icon, false if they'll minimize to the systray individually to the one icon.
  1005.                     </item>
  1006.  
  1007.                     <item name="GetMinimizeToTray">
  1008. Will windows minimize to systray? - Usage: :sonique.GetMinimizeToTray();
  1009.        Return value:   True if windows will minimize to one systray icon, false if they'll minimize to the taskbar.
  1010.                     </item>
  1011.  
  1012.                     <item name="SetMinimizeAllToTray">
  1013. Set if all windows will minimize to systray at once(one for all, all for one style) Note: SetMinimizeToTray must be true or this has no effect - Usage: :sonique.SetMinimizeAllToTray(bEnable);
  1014.        bEnable         is a boolean value - true to enable, false to disable.
  1015.                     </item>
  1016.  
  1017.                     <item name="SetMinimizeToTray">
  1018. Set if windows will minimize to systray? - Usage: :sonique.SetMinimizeToTray(bEnable);
  1019.        bEnable         is a boolean value - true to enable, false to disable(minimize to taskbar).
  1020.                     </item>
  1021.  
  1022.                     <item name="SetKnobRadialControl">
  1023. Enable or disable alternat knob interface. - Usage: :sonique.SetKnobRadialControl(radial);
  1024.        radial          true means knobs spin to face cursor, false up/down and left/right will spin the knob.
  1025.                     </item>
  1026.  
  1027.                     <item name="GetKnobRadialControl">
  1028. Retrieve the knob's radial control status. - Usage: :sonique.GetKnobRadialControl();
  1029.        Return value:   false for up/down, left/right control, true for radial control
  1030.                     </item>
  1031.  
  1032.                     <item name="SetKnobSensitivity">
  1033. Set the knob sensitivity. - Usage: :sonique.SetKnobSensitivity(sensativity);
  1034.        sensativity     500 is the installation default.  Higher means faster knobs, lower means higher precision.
  1035.                     </item>
  1036.  
  1037.                     <item name="GetKnobSensitivy">
  1038. How sensitive are the knob controls? - Usage: :sonique.GetKnobSensitivy();
  1039.        Return value:   A sensitivity value.  500 is the installation default. Higher is more reactive to mouse movement.
  1040.                     </item>
  1041.  
  1042.                     <item name="EnableDithering">
  1043. Enable dithering on low bit depth displays - Usage: :sonique.EnableDithering(dither);
  1044.        dither          true - dither.  false - don't dither.   24 bit displays will never dither.
  1045.                     </item>
  1046.  
  1047.                     <item name="AddFile">
  1048. Add a file (or directory) to Sonique.  Audio, skins, visuals, whatever. - Usage: :sonique.AddFile(file, playlist, immediate, append);
  1049.        file            The path to the file or directory to add.
  1050.        playlist        Optional: The name of the playlist to add it to, if it's not a skin or something.  Default: 'default'
  1051.        immediate       Optional: Play or load it immediately  Default: current settings
  1052.        append          Optional: Append it to the current playlist? false means clear the playlist first.  Default: current settings
  1053.                     </item>
  1054.  
  1055.                     <item name="Scramble">
  1056. Jumbles up a string, makes it unreadable at a glance - Usage: :sonique.Scramble(string);
  1057.        string          Something that makes sense.
  1058.        Return value:   Something that doesn't make sense.
  1059.                     </item>
  1060.  
  1061.                     <item name="Unscramble">
  1062. Unjumbles a previously scrambled string. - Usage: :sonique.Unscramble(string);
  1063.        string          Something that doesn't make sense.
  1064.        Return value:   Something that makes sense
  1065.                     </item>
  1066.  
  1067.                     <item name="InterfacePrefsGetString">
  1068. Retrieves a string from the interface preferences. For use with multiple nodes of the same name and location. - Usage: :sonique.InterfacePrefsGetString(section, name);
  1069.        section         The section containing the preferences.
  1070.        name            The name of the item within the section.
  1071.        Return value:   The current value of that preference.
  1072.                     </item>
  1073.  
  1074.                     <item name="InterfacePrefsGetStringArray">
  1075. Retrieves an array string values from the interface preferences. - Usage: :sonique.InterfacePrefsGetStringArray(section, name);
  1076.        section         The section containing the preferences.
  1077.        name            The name of the items within the section.
  1078.        Return value:   An array containing the current values of the named preferences.
  1079.                     </item>
  1080.  
  1081.                     <item name="InterfacePrefsSetString">
  1082. Set a string in the interface preferences - Usage: :sonique.InterfacePrefsSetString(section, name, value);
  1083.        section         The section containing the preferences.
  1084.        name            The name of the item within the section.
  1085.        value           The value to set it to.
  1086.                     </item>
  1087.  
  1088.                     <item name="InterfacePrefsSetStringArray">
  1089. Set multiple strings in the interface preferences.  For use with multiple nodes of the same name and location, - Usage: :sonique.InterfacePrefsSetStringArray(section, name, values);
  1090.        section         The section containing the preferences.
  1091.        name            The name of the items within the section.
  1092.        values          The array of values to set them to.
  1093.                     </item>
  1094.  
  1095.                     <item name="InterfacePrefsPrepString">
  1096. Set a string value in the interface preferences, if it doesn't already exist. - Usage: :sonique.InterfacePrefsPrepString(section, name, value);
  1097.        section         The section containing the preferences.
  1098.        name            The name of the item within the section.
  1099.        value           The value to set it to.
  1100.                     </item>
  1101.  
  1102.                     <item name="InterfacePrefsCreateSection">
  1103. Create a preferences section in the interface preferences which you can store data. - Usage: :sonique.InterfacePrefsCreateSection(section);
  1104.        section         The section containing the preferences. If this section already exists, nothing happens.
  1105.                     </item>
  1106.  
  1107.                     <item name="InterfacePrefsDoesSectionExist">
  1108. Query whether a section exists in the interface preferences - Usage: :sonique.InterfacePrefsDoesSectionExist(section);
  1109.        section         The section to query for existance.
  1110.        Return value:   true if it does, false if it doesn't
  1111.                     </item>
  1112.  
  1113.                     <item name="URLEncode">
  1114. URL encode the given string - Usage: :sonique.URLEncode(string);
  1115.        string          The string to encode.
  1116.        Return value:   the encoded string
  1117.                     </item>
  1118.  
  1119.                     <item name="URLDecode">
  1120. URL decode the given string - Usage: :sonique.URLDecode(string);
  1121.        string          The string to decode.
  1122.        Return value:   the decoded string
  1123.                     </item>
  1124.  
  1125.                     <item name="GetExtension">
  1126. return the extension of the given path - Usage: :sonique.GetExtension(path);
  1127.        path            The path.
  1128.        Return value:   the extension
  1129.                     </item>
  1130.  
  1131.                     <item name="GetBaseName">
  1132. return the filename from the given path - Usage: :sonique.GetBaseName(path);
  1133.        path            The path.
  1134.        Return value:   the file name
  1135.                     </item>
  1136.  
  1137.                     <item name="GetDirName">
  1138. return the directory of the given path - Usage: :sonique.GetDirName(path);
  1139.        path            The path.
  1140.        Return value:   the directory
  1141.                     </item>
  1142.  
  1143.                     <item name="SetCdAutoPlay">
  1144. Sets sonique to auto-play CDs - Usage: :sonique.SetCdAutoPlay(bEnable);
  1145.        bEnable         True to enable, false to disable.
  1146.                     </item>
  1147.  
  1148.                     <item name="GetCdAutoPlay">
  1149. Gets sonique to auto-play CDs - Usage: :sonique.GetCdAutoPlay();
  1150.        Return value:   'true' if enabled, 'false' if disabled.
  1151.                     </item>
  1152.  
  1153.                     <item name="GetSystemDrives">
  1154. todo - Usage: :sonique.GetSystemDrives();
  1155.     
  1156.     Associative Drive Array notes:
  1157.  
  1158.     drive = path of drive (e.g. c:\ or d:\)
  1159.     type  = numeric representing the drive type.
  1160.             2 - floppy/removeable type
  1161.             3 - hard drive/fixed
  1162.             4 - network drive/remote
  1163.             5 - cdrom drive
  1164.             6 - ram disk
  1165.        Return value:   Two dimensional array of drives and their types
  1166.                     </item>
  1167.  
  1168.                     <item name="SetRemoveFromTaskbar">
  1169. todo - Usage: :sonique.SetRemoveFromTaskbar();
  1170.                     </item>
  1171.  
  1172.                     <item name="GetRemoveFromTaskbar">
  1173. todo - Usage: :sonique.GetRemoveFromTaskbar();
  1174.                     </item>
  1175.                 </section>
  1176.  
  1177.                 <section name="posteffects">
  1178.                     <item name="Get">
  1179. Get a setting parameter - Usage: posteffects.Get(group, name);
  1180.        group           The name of the visual group
  1181.        name            The name of the setting to retrieve
  1182.        Return value:   The value of that parameter.
  1183.                     </item>
  1184.  
  1185.                     <item name="Set">
  1186. Set a setting parameter - Usage: posteffects.Set(group, name, value);
  1187.        group           The name of the visual group
  1188.        name            The name of the setting to set
  1189.        value           The value to set
  1190.                     </item>
  1191.  
  1192.                     <item name="SendFilterMessage">
  1193. Send a filter message to the post effects enabled in a visual group. - Usage: posteffects.SendFilterMessage(group, message);
  1194.        group           The name of the visual group
  1195.        message         The message to send. That can notify post effects to reload their settings, etc.
  1196.                     </item>
  1197.                 </section>
  1198.  
  1199.                 <section name="visualsetting">
  1200.                     <item name="Get">
  1201. Get a setting parameter - Usage: visualsetting.Get(group, name);
  1202.        group           The name of the visual group
  1203.        name            The name of the setting to retrieve
  1204.        Return value:   The value of that parameter.
  1205.                     </item>
  1206.  
  1207.                     <item name="Set">
  1208. Set a setting parameter - Usage: visualsetting.Set(group, name, value);
  1209.        group           The name of the visual group
  1210.        name            The name of the setting to set
  1211.        value           The value to set
  1212.                     </item>
  1213.  
  1214.                     <item name="SendFilterMessage">
  1215. Send a filter message to the post effects enabled in a visual group. - Usage: visualsetting.SendFilterMessage(group, message);
  1216.        group           The name of the visual group
  1217.        message         The message to send. That can notify post effects to reload their settings, etc.
  1218.                     </item>
  1219.                 </section>
  1220.  
  1221.                 <section name="visuals">
  1222.                     <item name="GetVisualList">
  1223. Get a list of the IDs of all visuals currently loaded. - Usage: visuals.GetVisualList();
  1224.        Return value:   An array of IDs
  1225.                     </item>
  1226.  
  1227.                     <item name="GetVisualInfoList">
  1228. Get a list of information about all currently loaded visuals. - Usage: visuals.GetVisualInfoList();
  1229.        Return value:   An array of arrays with the following fields:  'id', 'name', 'author', and 'version'
  1230.                     </item>
  1231.  
  1232.                     <item name="GetVisualInfo">
  1233. Get info about a specific visual by ID - Usage: visuals.GetVisualInfo(id);
  1234.        id              The id of the visual
  1235.        Return value:   An array with the following fields:  'id', 'name', 'author', and 'version'
  1236.                     </item>
  1237.  
  1238.                     <item name="LoadVisual">
  1239. Loads a visual into the visual system - Usage: visuals.LoadVisual(path);
  1240.        path            The filename of the visual to load
  1241.                     </item>
  1242.  
  1243.                     <item name="UnloadVisual">
  1244. Unload a visual from the visual system - Usage: visuals.UnloadVisual(which);
  1245.        which           The id or filename of the visual to unload
  1246.                     </item>
  1247.  
  1248.                     <item name="GroupNextVisual">
  1249. Tell all windows in the specified group to change to the next available visual - Usage: visuals.GroupNextVisual(group);
  1250.        group           The name of the visual group
  1251.                     </item>
  1252.  
  1253.                     <item name="GroupPrevVisual">
  1254. Tell all windows in the specified group to change to the previous available visual - Usage: visuals.GroupPrevVisual(group);
  1255.        group           The name of the visual group
  1256.                     </item>
  1257.  
  1258.                     <item name="GroupSetVisual">
  1259. Tell all windows in the specified group to change to a certain visual. - Usage: visuals.GroupSetVisual(group, id);
  1260.        group           The name of the visual group
  1261.        id              The id of the visual to change to
  1262.                     </item>
  1263.  
  1264.                     <item name="GroupIsPostEffectEnabled">
  1265. Does this visual group have a specific posteffect enabled? - Usage: visuals.GroupIsPostEffectEnabled(group, posteffect);
  1266.        group           The name of the visual group
  1267.        posteffect      The factory id of the post effect to query
  1268.        Return value:   true if it does, false if it doesn't
  1269.                     </item>
  1270.  
  1271.                     <item name="GroupEnablePostEffect">
  1272. Enable or disable a posteffect for all windows belowing to a visual group. - Usage: visuals.GroupEnablePostEffect(group, posteffect, enable);
  1273.        group           The name of the visual group
  1274.        posteffect      The factory id of the post effect to enable or disable
  1275.        enable          True to enable, false to disable
  1276.                     </item>
  1277.  
  1278.                     <item name="GetPostEffectList">
  1279. List the available posteffects - Usage: visuals.GetPostEffectList();
  1280.        Return value:   An array of arrays with the following fields:  'name', 'description', 'factoryID'
  1281.                     </item>
  1282.  
  1283.                     <item name="RegisterGroupChangeCallback">
  1284. Register a callback for when the callback group's settings change - Usage: visuals.RegisterGroupChangeCallback(name, script, context);
  1285.        name            The name of the callback
  1286.        script          What to do when stuff changes
  1287.        context         Optional: The object to call the script from.  Default: the visual object
  1288.                     </item>
  1289.  
  1290.                     <item name="UnregisterGroupChangeCallback">
  1291. Unregister a previously registered callback. - Usage: visuals.UnregisterGroupChangeCallback(name, context);
  1292.        name            The name of the callback
  1293.        context         Optional: The object associated with the callback.  Default: the visual object
  1294.                     </item>
  1295.                 </section>
  1296.  
  1297.                 <section name="EqualizerWindow">
  1298.                     <item name="UpdateDisplay">
  1299. Causes the equalizer control's data to be refreshed and redrawn - Usage: EqualizerWindow.UpdateDisplay();
  1300.                     </item>
  1301.  
  1302.                     <item name="UpdateBands">
  1303. Causes the equalizer control's gain data to be refreshed and redrawn - Usage: EqualizerWindow.UpdateBands();
  1304.                     </item>
  1305.                 </section>
  1306.  
  1307.                 <section name="playlistwin">
  1308.                     <item name="GetAssociatedPlaylist">
  1309. Get the playlist associated with this control. - Usage: PlaylistWindow.GetAssociatedPlaylist();
  1310.        Return value:   The playlist
  1311.                     </item>
  1312.  
  1313.                     <item name="SetAssociatedPlaylist">
  1314. Set the playlist associated with this control.  NB: this will fail if the playlist does not match the associated player's playlist. - Usage: PlaylistWindow.SetAssociatedPlaylist(playlist);
  1315.        playlist        The name of the playlist to associate with this playlist window.
  1316.                     </item>
  1317.  
  1318.                     <item name="GetCurrentItem">
  1319. Get the user's current item (where the cursor is) - Usage: PlaylistWindow.GetCurrentItem();
  1320.        Return value:   The playlist ID of the current item
  1321.                     </item>
  1322.  
  1323.                     <item name="SeturrentItem">
  1324. Move the current item (the cursor). - Usage: PlaylistWindow.SeturrentItem(id);
  1325.        id              The playlist UID of the item to move to.
  1326.                     </item>
  1327.  
  1328.                     <item name="GetSelectedItems">
  1329. Get the selected items - Usage: PlaylistWindow.GetSelectedItems();
  1330.        Return value:   An array of playlist UIDs of the selected items.
  1331.                     </item>
  1332.  
  1333.                     <item name="SetSelectedItems">
  1334. Set the list of selected items - Usage: PlaylistWindow.SetSelectedItems(items);
  1335.        items           An array of playlist UIDs to select.
  1336.                     </item>
  1337.  
  1338.                     <item name="ClearSelection">
  1339. De-select all selected items. - Usage: PlaylistWindow.ClearSelection();
  1340.                     </item>
  1341.  
  1342.                     <item name="ScrollToShowItem">
  1343. Scroll the playlist window to make the specified item visible. - Usage: PlaylistWindow.ScrollToShowItem(id);
  1344.        id              The playlist UID of the item to move to.
  1345.                     </item>
  1346.  
  1347.                     <item name="ScrollToItem">
  1348. Scroll so that an item is at the top or bottom of the window. - Usage: PlaylistWindow.ScrollToItem(id, where);
  1349.        id              The playlist UID of the item to move to.
  1350.        where           'top' or 'bottom'
  1351.                     </item>
  1352.  
  1353.                     <item name="GetAssociatedPlayer">
  1354. Get the name of the associated player. NB: if there is no associated player, this returns an empty string. - Usage: PlaylistWindow.GetAssociatedPlayer();
  1355.                     </item>
  1356.  
  1357.                     <item name="SetAssociatedPlayer">
  1358. Associate a player to this playlist window.  NB: When you change the player, the control's associated playlist will be changed to match the player's associated playlist.  If the player does not exist, no player will be associated with this window.   - Usage: PlaylistWindow.SetAssociatedPlayer(player);
  1359.        player          Optional: The name of the player to associate with this playlist window.  Default: null
  1360.                     </item>
  1361.  
  1362.                     <item name="GetAvailableColumnList">
  1363. Get the available playlist columns. - Usage: PlaylistWindow.GetAvailableColumnList();
  1364.        Return value:   An array of column ID's and their language labels for use in getting the appropriate name for the column.  Use :language.Translate with playlistwindow/playlist.[name] to get the proper label.
  1365.                     </item>
  1366.  
  1367.                     <item name="RemoveColumn">
  1368. Remove the column from the playlist. - Usage: PlaylistWindow.RemoveColumn(id);
  1369.        id              the ID of the column to remove
  1370.                     </item>
  1371.  
  1372.                     <item name="InsertColumn">
  1373. Insert the column in the playlist (if it is not in there already). - Usage: PlaylistWindow.InsertColumn(id, index, width);
  1374.        id              the ID of the column to insert
  1375.        index           Optional: the index of the new column (0 being leftmost)  Default: 1
  1376.        width           Optional: a suggested width percentage.  Default: 0.2
  1377.                     </item>
  1378.                 </section>
  1379.  
  1380.                 <section name="interfaceswin">
  1381.                     <item name="Scan">
  1382. Scroll throught the interfaces window. - Usage: InterfacesWindow.Scan(direction, count);
  1383.        direction       "left" or "right"
  1384.        count           Optional: How many interfaces to scroll though.  Default: 1
  1385.        Return value:   success or not
  1386.                     </item>
  1387.                 </section>
  1388.  
  1389.                 <section name="onlinewin">
  1390.                     <item name="SetURL">
  1391. Set the URL for the location of the content for this window. - Usage: OnlineWindow.SetURL(URL);
  1392.        URL             The location of the MML content.  Note: the content of this location should have an interface name of 'general/sonique2_online/online'
  1393.        Return value:   success or not
  1394.                     </item>
  1395.  
  1396.                     <item name="ReloadContent">
  1397. Refresh the online window. - Usage: OnlineWindow.ReloadContent(URL);
  1398.        URL             Optional: The location of the MML content.  Note: the content of this location should have an interface name of 'general/sonique2_online/online'  Default: use the window's URL
  1399.        Return value:   success or not
  1400.                     </item>
  1401.                 </section>
  1402.  
  1403.                 <section name="framewin">
  1404.                     <item name="ShowMenu">
  1405. Open the popup menu at the given point. - Usage: FrameWindow.ShowMenu(mousepoint);
  1406.        mousepoint      (array) {x,y} giving pointer location to display the menu (relative to the frame window).
  1407.                     </item>
  1408.  
  1409.                     <item name="SetMenuProperty">
  1410. Load the given property and refresh the menu's imagestyles. - Usage: FrameWindow.SetMenuProperty(name);
  1411.        name            the name of the property (like "SQ2_PopupMenu")
  1412.                     </item>
  1413.                 </section>
  1414.  
  1415.                 <section name="displaywindow">
  1416.                     <item name="DisplayWindow">
  1417. Choose which window to show in the display - Usage: DisplayWindow.DisplayWindow(window);
  1418.        window          Which window to display
  1419.                     </item>
  1420.  
  1421.                     <item name="ToggleWindow">
  1422. Toggle a window in the display - Usage: DisplayWindow.ToggleWindow(window);
  1423.        window          Which window to toggle
  1424.                     </item>
  1425.  
  1426.                     <item name="History">
  1427. Jump to a relative location in the history. - Usage: DisplayWindow.History(where);
  1428.        where           0 is the current window, -1 is the previous, 1 is the next in the list
  1429.                     </item>
  1430.                 </section>
  1431.  
  1432.                 <section name="VisWin">
  1433.                     <item name="GetAssociatedPlayer">
  1434. Get the player from which this visual gets its data. - Usage: VisWin.GetAssociatedPlayer();
  1435.        Return value:   The name of the player
  1436.                     </item>
  1437.  
  1438.                     <item name="SetAssociatedPlayer">
  1439. Select a player to get data from. - Usage: VisWin.SetAssociatedPlayer(player);
  1440.        player          The name of the player to use.
  1441.                     </item>
  1442.  
  1443.                     <item name="GetVisualGroup">
  1444. Which visual group are we a memmber of - Usage: VisWin.GetVisualGroup();
  1445.        Return value:   The name of a visual group.
  1446.                     </item>
  1447.  
  1448.                     <item name="SetVisualGroup">
  1449. Which visual group should we be a member of? - Usage: VisWin.SetVisualGroup(group);
  1450.        group           The name of the visual group to join
  1451.                     </item>
  1452.  
  1453.                     <item name="NextVisual">
  1454. Go to the next visual in the list of loaded visuals. - Usage: VisWin.NextVisual();
  1455.                     </item>
  1456.  
  1457.                     <item name="PrevVisual">
  1458. Go to the previous visual in the list of loaded visuals. - Usage: VisWin.PrevVisual();
  1459.                     </item>
  1460.  
  1461.                     <item name="SetVisual">
  1462. Set the visual window to dispaly a specific visual. - Usage: VisWin.SetVisual(visual);
  1463.        visual          The id of the visual to display
  1464.                     </item>
  1465.  
  1466.                     <item name="GetVisual">
  1467. Which visual are we currently displaying? - Usage: VisWin.GetVisual();
  1468.        Return value:   The id of the visual
  1469.                     </item>
  1470.  
  1471.                     <item name="EnablePostEffect">
  1472. Enable or disable a posteffect. - Usage: VisWin.EnablePostEffect(posteffect, enable);
  1473.        posteffect      The factoryID of the posteffect to enable or disable.
  1474.        enable          true - enable the posteffect.  false - disable it.
  1475.                     </item>
  1476.                 </section>
  1477.  
  1478.                 <section name="FullScreenVis">
  1479.                     <item name="LaunchFullScreenVis">
  1480. Launch the specified visual in full-screen mode - Usage: FullScreenVis.LaunchFullScreenVis(vis, player, res, bitdepth);
  1481.        vis             The name or ID of the visual to launch
  1482.        player          Optional: The player whose output to visualize  Default: default
  1483.        res             Optional: Desired resolution to run at, an array of x, y.  Default: user preference or {640,480}
  1484.        bitdepth        Optional: Desired bit depth ("high", "medium", "low").  Default: user preference or "medium"
  1485.                     </item>
  1486.  
  1487.                     <item name="GetDeviceList">
  1488. Get Information about installed DirectDraw devices - Usage: FullScreenVis.GetDeviceList();
  1489.        Return value:   Array of arrays containing the following fields: 'id', 'name', 'description', 'GUID'
  1490.                     </item>
  1491.  
  1492.                     <item name="SetDisplayDevice">
  1493. Set the Device to use for DirectDraw operations - Usage: FullScreenVis.SetDisplayDevice(display);
  1494.        display         The GUID of the display to use.
  1495.                     </item>
  1496.  
  1497.                     <item name="GetDisplayDevice">
  1498. Get the Device to use for DirectDraw operations - Usage: FullScreenVis.GetDisplayDevice();
  1499.        Return value:   The GUID of the display
  1500.                     </item>
  1501.                 </section>
  1502.             </section>
  1503.         </language>
  1504.     </module>
  1505.  
  1506.     <module name="mml">
  1507.         <language name="English">
  1508.             <section name="help">
  1509.                 <section name="math">
  1510.                     <item name="Truncate">
  1511. Truncate a number. - Usage: :math.Truncate(val, precision);
  1512.        val             is the number to truncate.
  1513.        precision       Optional: determines how many digits after the decimal point should remain.  Default: 0
  1514.        Return value:   The truncated number
  1515.                     </item>
  1516.  
  1517.                     <item name="Power">
  1518. Exponentiation. - Usage: :math.Power(base, exponent);
  1519.        base            is the base for exponentiation.
  1520.        exponent        is the exponent
  1521.        Return value:   base ^ pow.
  1522.                     </item>
  1523.  
  1524.                     <item name="Log">
  1525. Logarithm. - Usage: :math.Log(base, value);
  1526.        base            is what base to take the log in.
  1527.        value           is whose logarithm is returned.
  1528.        Return value:   e, such that value = pow(base, e)
  1529.                     </item>
  1530.  
  1531.                     <item name="Abs">
  1532. Get the absolute value of a number. - Usage: :math.Abs(val);
  1533.        val             is the number.
  1534.        Return value:   The absolute (unsigned) value of a number
  1535.                     </item>
  1536.  
  1537.                     <item name="Round">
  1538. Round the number to the lowest integer if the decimal portion is less than .5, to the highest integer otherwise. - Usage: :math.Round(val);
  1539.        val             is the number to round.
  1540.        Return value:   The number rounded to the nearest integer.
  1541.                     </item>
  1542.  
  1543.                     <item name="Ceil">
  1544. Return the smallest integer not less than the given number. - Usage: :math.Ceil(val);
  1545.        val             is the number.
  1546.        Return value:   The ceiling of the given value.
  1547.                     </item>
  1548.  
  1549.                     <item name="Floor">
  1550. Return the largest integer not greater than the given number. - Usage: :math.Floor(val);
  1551.        val             is the number.
  1552.        Return value:   The floor of the given value.
  1553.                     </item>
  1554.  
  1555.                     <item name="ACos">
  1556. Return the arc cosine of the given angle. - Usage: :math.ACos(val);
  1557.        val             The angle in radians.
  1558.        Return value:   The arc cosine of the given angle, in the range of 0.0 through pi.
  1559.                     </item>
  1560.  
  1561.                     <item name="ASin">
  1562. Return the arc sine of the given angle. - Usage: :math.ASin(val);
  1563.        val             The angle in radians.
  1564.        Return value:   The arc sine of the given angle, in the range of -pi/2 through pi/2.
  1565.                     </item>
  1566.  
  1567.                     <item name="ATan">
  1568. Return the arc tangent ine of the given angle. - Usage: :math.ATan(val);
  1569.        val             The angle in radians.
  1570.        Return value:   The arc tangent of the given angle, in the range of -pi/2 through pi/2.
  1571.                     </item>
  1572.  
  1573.                     <item name="ATan2">
  1574. Returns the angle formed by the given point and the origin. - Usage: :math.ATan2(x, y);
  1575.        x               The x coordinate.
  1576.        y               The y coordinate.
  1577.        Return value:   The angle in radians.
  1578.                     </item>
  1579.  
  1580.                     <item name="Cos">
  1581. Return the cosine of the given angle. - Usage: :math.Cos(val);
  1582.        val             The angle in radians.
  1583.        Return value:   The cosine of the given angle.
  1584.                     </item>
  1585.  
  1586.                     <item name="Random">
  1587. Generate a random number. - Usage: :math.Random();
  1588.     
  1589. The following code will generate a pseudo-random number between 0 and 3:
  1590. $random = :math.Random() % 4;
  1591.        Return value:   A pseudo-random integer in the range from 0 to 2147483647.
  1592.                     </item>
  1593.  
  1594.                     <item name="Sin">
  1595. Return the sine of the given angle. - Usage: :math.Sin(val);
  1596.        val             The angle in radians.
  1597.        Return value:   The sine of the given angle.
  1598.                     </item>
  1599.  
  1600.                     <item name="Sqrt">
  1601. Return the square root of the given number. - Usage: :math.Sqrt(val);
  1602.        val             The number to calculate the square root of.  If the number is less than zero, it will error.
  1603.        Return value:   The square root of the given number.
  1604.                     </item>
  1605.  
  1606.                     <item name="Tan">
  1607. Return the tangent of the given angle. - Usage: :math.Tan(val);
  1608.        val             The angle in radians.
  1609.        Return value:   The tangent of the given angle.
  1610.                     </item>
  1611.                 </section>
  1612.  
  1613.                 <section name="string">
  1614.                     <item name="CharAt">
  1615. Fetch the character at the given index. - Usage: :string.CharAt(string, index);
  1616.        string          The string containing the character.
  1617.        index           The index of the character you would like returned.
  1618.        Return value:   The character as a string
  1619.                     </item>
  1620.  
  1621.                     <item name="Compare">
  1622. Lexicographically compare two strings. - Usage: :string.Compare(string1, string2, casesensitive);
  1623.        string1         The first string.
  1624.        string2         The second string
  1625.        casesensitive   Optional: True if the comparison should be case sensitive (default), false if the comparison should ignore case.  Default: true
  1626.        Return value:   A number less than zero if the first string lexicographically is less than the second, zero if exactly equal, and greater than zero if greater than the second.
  1627.                     </item>
  1628.  
  1629.                     <item name="SubStrIndex">
  1630. Find the given substring in the string. - Usage: :string.SubStrIndex(string, substring, casesensitive, start);
  1631.        string          The string to search in.
  1632.        substring       The string to search for.
  1633.        casesensitive   Optional: True if the substring comparison should be case sensitive, false if the comparison should ignore case (default).  Default: false
  1634.        start           Optional: The index to start searching from.  Default: 0
  1635.        Return value:   If the substring was found, its' index. Otherwise, -1.
  1636.                     </item>
  1637.  
  1638.                     <item name="Length">
  1639. Get the length of the string. - Usage: :string.Length(string);
  1640.        string          is the string
  1641.        Return value:   The number of characters in the given string.
  1642.                     </item>
  1643.  
  1644.                     <item name="SubString">
  1645. Returns a substring of the given string. - Usage: :string.SubString(string, start, len);
  1646.        string          is the original string.
  1647.        start           The index from which to start the substring.
  1648.        len             The number of characters in the substring.
  1649.        Return value:   A new string that is a substring of the given string.
  1650.                     </item>
  1651.  
  1652.                     <item name="ToLower">
  1653. Converts all characters in the given string to lower case. - Usage: :string.ToLower(string);
  1654.        string          is the string.
  1655.        Return value:   A new string which is the lower case version of the given string.
  1656.                     </item>
  1657.  
  1658.                     <item name="ToUpper">
  1659. Converts all characters in the given string to upper case. - Usage: :string.ToUpper(string);
  1660.        string          is the string.
  1661.        Return value:   A new string which is the upper case version of the given string.
  1662.                     </item>
  1663.  
  1664.                     <item name="StripWhiteSpace">
  1665. Removes whitespace from the beginning and end of the given string. - Usage: :string.StripWhiteSpace(string);
  1666.        string          is the string.
  1667.        Return value:   A new string which has all spaces, tabs and hard returns removed from its beginning and end.
  1668.                     </item>
  1669.                 </section>
  1670.  
  1671.                 <section name="clock">
  1672.                     <item name="GetLocalTime">
  1673. Fetch the current date/time information from the OS - Usage: :clock.GetLocalTime(24hour);
  1674.        24hour          Optional: true if the hour should be in 24 hour format (0-23), false if 12 hour format (1-12)  Default: false
  1675.        Return value:   an array of date/time data
  1676.                     </item>
  1677.                 </section>
  1678.  
  1679.                 <section name="app">
  1680.                     <item name="Exit">
  1681. Close all windows and Exit the application. - Usage: :app.Exit();
  1682.                     </item>
  1683.  
  1684.                     <item name="GetVersion">
  1685. Get the version string of Sonique - Usage: :app.GetVersion();
  1686.        Return value:   The version string
  1687.                     </item>
  1688.  
  1689.                     <item name="GetBuildTime">
  1690. Get the build time of this application. - Usage: :app.GetBuildTime();
  1691.        Return value:   The date and time this copy of the application was built.
  1692.                     </item>
  1693.  
  1694.                     <item name="GetAppName">
  1695. Get the name of the application. - Usage: :app.GetAppName();
  1696.        Return value:   The name of the application.
  1697.                     </item>
  1698.  
  1699.                     <item name="EnableKeyScripts">
  1700. Enable keyscripts (aka hotkeys) - Usage: :app.EnableKeyScripts(bEnable);
  1701.        bEnable         is a boolean value - true to enable, false to disable.
  1702.                     </item>
  1703.  
  1704.                     <item name="RegisterWindowKeyScript">
  1705. Register a script to be executed when a certain key is pressed in this window - Usage: :app.RegisterWindowKeyScript(key, script, context, windowcontext);
  1706.        key             the key code to react to, e.g. "ctrl-c", "ctrl-shift-s", "pageup"
  1707.        script          the script to execute when this key is pressed
  1708.        context         Optional: the context to execute the script in  Default: none
  1709.        windowcontext   Optional: the window in which to trap this keypress  Default: window the calling script is from
  1710.        Return value:   true/false for success/failure
  1711.                     </item>
  1712.  
  1713.                     <item name="UnregisterWindowKeyScript">
  1714. Remove an script registered to a keypress by RegisterWindowKeyScript - Usage: :app.UnregisterWindowKeyScript(key, script, context, windowcontext);
  1715.        key             the key code to unregister
  1716.        script          the script which was passed to RegisterWindowKeyScript. this is needed to check that your script is currently the one still registered.
  1717.        context         Optional: the context which was passed to RegisterWindowKeyScript.  Default: none
  1718.        windowcontext   Optional: the window context which was passed to RegisterWindowKeyScript.  Default: window the calling script is from
  1719.        Return value:   true/false for success/failure
  1720.                     </item>
  1721.  
  1722.                     <item name="RegisterGlobalKeyScript">
  1723. Register a script to be executed when a certain key is pressed in any window - Usage: :app.RegisterGlobalKeyScript(key, script, context);
  1724.        key             the key code to react to, e.g. "ctrl-c", "ctrl-shift-s", "pageup"
  1725.        script          the script to execute when this key is pressed
  1726.        context         Optional: the context to execute the script in  Default: none
  1727.        Return value:   true/false for success/failure
  1728.                     </item>
  1729.  
  1730.                     <item name="UnregisterGlobalKeyScript">
  1731. Remove an script registered to a keypress by RegisterGlobalKeyScript - Usage: :app.UnregisterGlobalKeyScript(key, script, context);
  1732.        key             the key code to unregister
  1733.        script          the script which was passed to RegisterGlobalKeyScript. this is needed to check that your script is currently the one still registered.
  1734.        context         Optional: the context which was passed to RegisterGlobalKeyScript.  Default: none
  1735.        Return value:   true/false for success/failure
  1736.                     </item>
  1737.  
  1738.                     <item name="GetScreenDimensions">
  1739. Get an array of the screen dimensions (one entry pre device) - Usage: :app.GetScreenDimensions();
  1740.                     </item>
  1741.                 </section>
  1742.  
  1743.                 <section name="console">
  1744.                     <item name="Write">
  1745. Print a string to the console. - Usage: :console.Write(stuff, mode);
  1746.        stuff           is a value to output. If it is an array it will be displayed as text.
  1747.        mode            Optional: How to log the result.  Options are: 'debug', 'info', 'logtext', 'commandtext', 'commandresult', 'warning', and 'error'  Default: logtext
  1748.                     </item>
  1749.  
  1750.                     <item name="Echo">
  1751. Print a string to the console, with a newline at the end. - Usage: :console.Echo(stuff, mode);
  1752.        stuff           is a value to output. If it is an array it will be displayed as text.
  1753.        mode            Optional: How to log the result.  Options are: 'debug', 'info', 'logtext', 'commandtext', 'commandresult', 'warning', and 'error'  Default: logtext
  1754.                     </item>
  1755.  
  1756.                     <item name="EnableDiskLogging">
  1757. Turns console disk logging on or off. - Usage: :console.EnableDiskLogging(bEnable, This);
  1758.        bEnable         is a boolean value - true to enable, false to disable.
  1759.        This            causes the console to be logged to a file when it's on. Normally this uses"consolelog.txt".
  1760.                     </item>
  1761.                 </section>
  1762.  
  1763.                 <section name="data">
  1764.                     <item name="IsScalar">
  1765. Is this data item a string? - Usage: $data.IsScalar();
  1766.        Return value:   true, if the item is a number or string, false if it is an array.
  1767.                     </item>
  1768.  
  1769.                     <item name="IsArray">
  1770. Is the data item an array? - Usage: $data.IsArray();
  1771.        Return value:   true if the item is an array, false if it is a number or a string.
  1772.                     </item>
  1773.  
  1774.                     <item name="ArraySize">
  1775. How large is an array? - Usage: $data.ArraySize();
  1776.        Return value:   the number of elements in $MyArray.
  1777.                     </item>
  1778.  
  1779.                     <item name="IsValidIndex">
  1780. Is foo a valid array index? - Usage: $data.IsValidIndex(index);
  1781.        index           is a number or string which may or may not be a valid index into $MyArray.
  1782.        Return value:   true if $MyArray[index] would evaluate succesfully, false otherwise.
  1783.                     </item>
  1784.                 </section>
  1785.  
  1786.                 <section name="base">
  1787.                     <item name="BroadcastScript">
  1788. Broadcast a script to all children. - Usage: Object.BroadcastScript(script);
  1789.        script          is a script to be run by Object and all of its children (meaning in their contexts). All return values are ignored.
  1790.                     </item>
  1791.  
  1792.                     <item name="Funcs">
  1793. Enumerate functions. - Usage: Object.Funcs();
  1794.        Return value:   An array of the names of the functions which Object contains.
  1795.                     </item>
  1796.  
  1797.                     <item name="Help">
  1798. Retrieve help information. - Usage: Object.Help();
  1799.        Return value:   A description of Object's usage. Note that Object may be a function.
  1800.                     </item>
  1801.  
  1802.                     <item name="Children">
  1803. Enumerate children. - Usage: Object.Children();
  1804.        Return value:   An array of the names of the child objects which Object contains.
  1805.                     </item>
  1806.  
  1807.                     <item name="Members">
  1808. Enumerate members. - Usage: Object.Members();
  1809.        Return value:   An array of the names of the members (data) which Object contains.
  1810.                     </item>
  1811.  
  1812.                     <item name="All">
  1813. Enumerate everything. - Usage: Object.All();
  1814.        Return value:   An array of tne names of everything which Object contains.
  1815.                     </item>
  1816.  
  1817.                     <item name="DoesChildExist">
  1818. Does an object contain a certain child? - Usage: Object.DoesChildExist(childname);
  1819.        childname       is the name of the child which Object may or may not contain.
  1820.        Return value:   true if Object contains a child, member, or function named childname. Otherwise false.
  1821.                     </item>
  1822.  
  1823.                     <item name="Name">
  1824. Ask an object its name. - Usage: Object.Name();
  1825.        Return value:   The name of the object.
  1826.                     </item>
  1827.  
  1828.                     <item name="ObjectType">
  1829. Ask an object it's type. - Usage: Object.ObjectType();
  1830.        Return value:   The internal name of Object's type. You probably won't find this useful.
  1831.                     </item>
  1832.  
  1833.                     <item name="Version">
  1834. Ask an object it's version. - Usage: Object.Version();
  1835.        Return value:   The revision number of an object's internal implementation. Please refrain from writing Mantis Script code which relies on this function if possible.
  1836.                     </item>
  1837.                 </section>
  1838.  
  1839.                 <section name="consolewin">
  1840.                     <item name="SetMinDisplayType">
  1841. Select the minimm severity of messages that are displayed on the console. - Usage: Console.SetMinDisplayType(severity);
  1842.        severity        Options are: 'debug', 'info', 'warning', and 'error'
  1843.                     </item>
  1844.                 </section>
  1845.  
  1846.                 <section name="button">
  1847.                     <item name="GetHover">
  1848. Query a control's hover status. - Usage: Button.GetHover();
  1849.        Return value:   True, if the hover is enabled. False if hover is disabled.
  1850.                     </item>
  1851.  
  1852.                     <item name="SetHover">
  1853. Set a control's hover status. - Usage: Button.SetHover(bHoverState);
  1854.        bHoverState     True to enable mouse over hovering, false to disable it.
  1855.                     </item>
  1856.  
  1857.                     <item name="SetButtonState">
  1858. Set a button's state. - Usage: Button.SetButtonState(state, delayed);
  1859.        state           A number representing which state the button should transition to.
  1860.        delayed         An optional parameter. True to use normal transitions, false for instaneous results. Default is true.
  1861.                     </item>
  1862.  
  1863.                     <item name="GetButtonState">
  1864. Retrieve a button's state. - Usage: Button.GetButtonState();
  1865.        Return value:   The number of the state that is currently active for Button.
  1866.                     </item>
  1867.  
  1868.                     <item name="GetToggle">
  1869. Get a button's toggle state. - Usage: Button.GetToggle();
  1870.        Return value:   True if the button is in Toggle mode (that is, it automatically switches between states 0 and 1 when clicked), false otherwise.
  1871.                     </item>
  1872.  
  1873.                     <item name="SetToggle">
  1874. Set a button's toggle state. - Usage: Button.SetToggle(bToggle);
  1875.        bToggle         True if you wish the button to automatically switch between states 0 and 1 when clicked, false otherwise.
  1876.                     </item>
  1877.  
  1878.                     <item name="GetText">
  1879. Get the button's display text. - Usage: Button.GetText();
  1880.                     </item>
  1881.  
  1882.                     <item name="SetText">
  1883. Set the button's display text. - Usage: Button.SetText(string);
  1884.        string          The text to display on the button.
  1885.                     </item>
  1886.                 </section>
  1887.  
  1888.                 <section name="EditControl">
  1889.                     <item name="GetText">
  1890. Retrieve an Edit control's contents. - Usage: (null).GetText();
  1891.        Return value:   The text contents of the Edit control.
  1892.                     </item>
  1893.  
  1894.                     <item name="SetText">
  1895. Set the contents of an Edit Control. - Usage: (null).SetText(text);
  1896.        text            What to set the edit control's contents to.
  1897.                     </item>
  1898.                 </section>
  1899.  
  1900.                 <section name="language">
  1901.                     <item name="Translate">
  1902. Translate a string. - Usage: :language.Translate(key, module);
  1903.        key             The name of the string to translate - this is a series of section names, each followed by a slash and then an item name, as laid out in the language XML file.
  1904.        module          Optional: The name of the module the string belongs to.   Default: "sonique gui"
  1905.        Return value:   The translation (in the currently selected language) of the key
  1906.                     </item>
  1907.                 </section>
  1908.  
  1909.                 <section name="picker">
  1910.                     <item name="GetCurrentItem">
  1911. Get the currently selected item. - Usage: Picker.GetCurrentItem();
  1912.        Return value:   The text contents of the currently selected item.
  1913.                     </item>
  1914.  
  1915.                     <item name="GetCurrentIndex">
  1916. Get the index of the selected item. - Usage: Picker.GetCurrentIndex();
  1917.        Return value:   The numeric index of the currently selected item, 0 being the first.
  1918.                     </item>
  1919.  
  1920.                     <item name="SetCurrentItem">
  1921. Sets the selected item. - Usage: Picker.SetCurrentItem(value, Note);
  1922.        value           May be either an array or a string. If it's an array, it may have an element named 'text' the value of which is the label for the new item, and an element named"data" which is the data associated with it. If value is a string, it is used for the control's label.
  1923.        Note            that this will replace the current item with the new information.
  1924.        Return value:   "set" if success. null if failure.
  1925.                     </item>
  1926.  
  1927.                     <item name="SetCurrentIndex">
  1928. Selects an item by index. - Usage: Picker.SetCurrentIndex(index);
  1929.        index           The numeric index of the item to set, beginning with 0.
  1930.                     </item>
  1931.  
  1932.                     <item name="GetItem">
  1933. Gets the contents of an item by index. - Usage: Picker.GetItem(index, Return);
  1934.        index           The numeric index of the item to get, beginning with 0.
  1935.        Return          value An array, with an elenment named"text" containing the item's label, and, if available, an item named 'data' containing it's associated data.
  1936.                     </item>
  1937.  
  1938.                     <item name="SetItem">
  1939. Sets the contents of an item by index. - Usage: Picker.SetItem(index, value, Note);
  1940.        index           The numeric index of the item to set, beginning with 0.
  1941.        value           May be either an array or a string. If it's an array, it may have an element named 'text' the value of which is the label for the new item, and an element named 'data' which is the data associated with it. If value is a string, it is used for the control's label.
  1942.        Note            that this will replace the item previously at index with the new information.
  1943.        Return value:   "set" if success. null if failure.
  1944.                     </item>
  1945.  
  1946.                     <item name="AddItem">
  1947. Add a new item on to the end of the picker list. - Usage: Picker.AddItem(value);
  1948.        value           May be either an array or a string. If it's an array, it may have an element named"text" the value of which is the label for the new item, and an element named 'data' which is the data associated with it. If value is a string, it is used for the control's label.
  1949.        Return value:   "added" if success. null if failure.
  1950.                     </item>
  1951.  
  1952.                     <item name="InsertItem">
  1953. Insert a new item into the picker list. - Usage: Picker.InsertItem(index, value);
  1954.        index           The numeric index of the item to insert before, beginning with 0.
  1955.        value           May be either an array or a string. If it's an array, it may have an element named"text" the value of which is the label for the new item, and an element named 'data' which is the data associated with it. If value is a string, it is used for the control's label.
  1956.        Return value:   "inserted" if success, null if failure.
  1957.                     </item>
  1958.  
  1959.                     <item name="RemoveItem">
  1960. Remove an item from the picker list. - Usage: Picker.RemoveItem(index);
  1961.        index           The numeric index of the item to remove, beginning with 0.
  1962.        Return value:   "removed" if success, null if failure.
  1963.                     </item>
  1964.  
  1965.                     <item name="GetAllItems">
  1966. Get the contents of the picker list. - Usage: Picker.GetAllItems();
  1967.        Return value:   An array of the items in the picker. Each item is itself an array, containing an element named 'text', which holds the item's label, and, if available, an item named 'data' containing data associated with the item.
  1968.                     </item>
  1969.  
  1970.                     <item name="SetAllItems">
  1971. Set the contents of the picker list. - Usage: Picker.SetAllItems(items);
  1972.        items           An array of items to replace the entire contents of the picker with. Each item may be either an array or a string. If it's an array, it may have an element named 'text' the value of which is the label for the new item, and an element named 'data' which is the data associated with it. If value is a string, it is used for the control's label.
  1973.        Return value:   "set" if success, null otherwise.
  1974.                     </item>
  1975.                 </section>
  1976.  
  1977.                 <section name="spinbutton">
  1978.                     <item name="GetRealPos">
  1979. Get the spinner's position, 0.0 to 1.0. - Usage: Spinner.GetRealPos();
  1980.        Return value:   A number in the range 0.0 to 1.0
  1981.                     </item>
  1982.  
  1983.                     <item name="GetIntPos">
  1984. Get the spinner's integral position. - Usage: Spinner.GetIntPos();
  1985.        Return value:   A number between the min and max integer positions
  1986.                     </item>
  1987.  
  1988.                     <item name="SetRealPos">
  1989. Set the spinner's position, 0.0 to 1.0. - Usage: Spinner.SetRealPos(pos);
  1990.        pos             A number in the range 0.0 to 1.0. 0.5 would set the Spinner to be half way between its minimum and maximum values.
  1991.                     </item>
  1992.  
  1993.                     <item name="SetIntPos">
  1994. Set the spinner's position. - Usage: Spinner.SetIntPos(pos);
  1995.        pos             A number between the spinner's minimum and maximum values.
  1996.                     </item>
  1997.  
  1998.                     <item name="GetMin">
  1999. Get the spinner's mimimum integer position. - Usage: Spinner.GetMin();
  2000.        Return value:   The minimum value that spinner can hold.
  2001.                     </item>
  2002.  
  2003.                     <item name="GetMax">
  2004. Get the spinner's maximum integer position. - Usage: Spinner.GetMax();
  2005.        Return value:   The maximum value that spinner can hold.
  2006.                     </item>
  2007.                 </section>
  2008.  
  2009.                 <section name="selectionlist">
  2010.                     <item name="IsIndexSelected">
  2011. Returns whether the supplied index is selected or not. - Usage: List.IsIndexSelected(index);
  2012.        index           The index of the item whose selection state is to be queried.
  2013.        Return value:   True if the item is selected, false otherwise.
  2014.                     </item>
  2015.  
  2016.                     <item name="IsItemSelected">
  2017. Returns whether the given item is selected or not. - Usage: List.IsItemSelected(name);
  2018.        name            The name of an item in the list.
  2019.        Return value:   True if the item named name is selected, otherwise false.
  2020.                     </item>
  2021.  
  2022.                     <item name="SetIndexSelected">
  2023. Set the specified item's selected state. - Usage: List.SetIndexSelected(index, bSelect);
  2024.        index           Which item to select or deselect.
  2025.        bSelect         true to select the item, false to deselect it.
  2026.                     </item>
  2027.  
  2028.                     <item name="SetItemSelected">
  2029. Set the specified item's selected state. - Usage: List.SetItemSelected(name, bSelect);
  2030.        name            The name of the item to select or deselect.
  2031.        bSelect         true to select the item, false to deselect it.
  2032.                     </item>
  2033.  
  2034.                     <item name="GetSelectedIndexes">
  2035. Get the selected items - Usage: List.GetSelectedIndexes();
  2036.        Return value:   An array of the selected indeces in the selection list. 
  2037.                     </item>
  2038.  
  2039.                     <item name="SetSelectedIndexes">
  2040. Set the list of selected indeces - Usage: List.SetSelectedIndexes(indexes);
  2041.        indexes         An array of the indeces of the items to select.
  2042.                     </item>
  2043.  
  2044.                     <item name="GetSelectedItems">
  2045. Get the selected items - Usage: List.GetSelectedItems();
  2046.        Return value:   An array of the names of the selected items in the selection list
  2047.                     </item>
  2048.  
  2049.                     <item name="SetSelectedItems">
  2050. Set the list of selected items - Usage: List.SetSelectedItems(items);
  2051.        items           An array of the names of the items to select.
  2052.                     </item>
  2053.  
  2054.                     <item name="ClearSelection">
  2055. De-select all selected items. - Usage: List.ClearSelection();
  2056.                     </item>
  2057.  
  2058.                     <item name="GetItem">
  2059. Get the contents of an item by index. - Usage: List.GetItem(index);
  2060.        index           The index of the item to retrieve.
  2061.        Return value:   The text at that index.
  2062.                     </item>
  2063.  
  2064.                     <item name="SetItem">
  2065. Set the contents of an item by index. - Usage: List.SetItem(index, contents);
  2066.        index           The index of the item to set.
  2067.        contents        A string containing the text to be displayed in the item.
  2068.        Return value:   "set" if success, null if failure.
  2069.                     </item>
  2070.  
  2071.                     <item name="AddItem">
  2072. Add a new item on to the end of the selection list. - Usage: List.AddItem(value);
  2073.        value           May be either an array or a string. If it's an array, it may have an element named"text" the value of which is the label for the new item, and an element named 'data' which is the data associated with it. If value is a string, it is used for the control's label.
  2074.        Return value:   "added" if success. null if failure.
  2075.                     </item>
  2076.  
  2077.                     <item name="InsertItem">
  2078. Insert a new item into the selection list. - Usage: List.InsertItem(index, value);
  2079.        index           The numeric index of the item to insert before, beginning with 0.
  2080.        value           May be either an array or a string. If it's an array, it may have an element named 'text' the value of which is the label for the new item, and an element named 'data' which is the data associated with it. If value is a string, it is used for the control's label.
  2081.        Return value:   "inserted" if success, null if failure.
  2082.                     </item>
  2083.  
  2084.                     <item name="RemoveItem">
  2085. Remove an item from the selection list. - Usage: List.RemoveItem(index);
  2086.        index           The numeric index of the item to remove, beginning with 0.
  2087.        Return value:   "removed" if success, null if failure.
  2088.                     </item>
  2089.  
  2090.                     <item name="GetAllItems">
  2091. Get the contents of the selection list. - Usage: List.GetAllItems();
  2092.        Return value:   An array of the items in the selection list. Each item is itself an array, containing an element named 'text' (which holds the item's label), an element 'selected' (which is either true or false, depending on the status of the item) and, if available, an item named 'data' containing data associated with the item.
  2093.                     </item>
  2094.  
  2095.                     <item name="SetAllItems">
  2096. Set the contents of the selection list. - Usage: List.SetAllItems(items);
  2097.        items           An array of items to replace the entire contents of the selection list with. Each item may be either an array or a string. If it's an array, it may have an element named 'text' the value of which is the label for the new item, and an element named 'data' which is the data associated with it. If value is a string, it is used for the control's label.
  2098.        Return value:   "set" if success, null otherwise.
  2099.                     </item>
  2100.                 </section>
  2101.  
  2102.                 <section name="slider">
  2103.                     <item name="GetRealPos">
  2104. Get the slider's position, 0.0 to 1.0. - Usage: Slider.GetRealPos();
  2105.        Return value:   A number in the range 0.0 to 1.0
  2106.                     </item>
  2107.  
  2108.                     <item name="GetIntPos">
  2109. Get the slider's integral position. - Usage: Slider.GetIntPos();
  2110.        Return value:   A number between the min and max integer positions
  2111.                     </item>
  2112.  
  2113.                     <item name="SetRealPos">
  2114. Set the slider's position, 0.0 to 1.0. - Usage: Slider.SetRealPos(pos);
  2115.        pos             A number in the range 0.0 to 1.0. 0.5 would set the slider to be half way between its minimum and maximum values.
  2116.                     </item>
  2117.  
  2118.                     <item name="SetIntPos">
  2119. Set the slider's position. - Usage: Slider.SetIntPos(pos);
  2120.        pos             A number between the slider's minimum and maximum values.
  2121.                     </item>
  2122.  
  2123.                     <item name="GetMin">
  2124. Get the slider's mimimum integer position. - Usage: Slider.GetMin();
  2125.        Return value:   The minimum value that slider can hold.
  2126.                     </item>
  2127.  
  2128.                     <item name="GetMax">
  2129. Get the slider's maximum integer position. - Usage: Slider.GetMax();
  2130.        Return value:   The maximum value that Slider can hold.
  2131.                     </item>
  2132.  
  2133.                     <item name="SetMin">
  2134. Set the slider's minimum integer position. - Usage: Slider.SetMin(min);
  2135.        min             The new lower bound of the slider's range.
  2136.                     </item>
  2137.  
  2138.                     <item name="SetMax">
  2139. Set the slider's maximum integer position. - Usage: Slider.SetMax(max);
  2140.        max             The new upper bound of the slider's range.
  2141.                     </item>
  2142.                 </section>
  2143.  
  2144.                 <section name="window">
  2145.                     <item name="SetWindowTitle">
  2146. Set the operating system window title (i.e. what shows up in the taskbar and sys tray). - Usage: Window.SetWindowTitle(title, bSticky);
  2147.        title           the new title
  2148.        bSticky         Optional: whether it is sticky or not.  non-sticky titles will be overwritten with now-playing info or the next call to SetWindowTitle.  Default: false
  2149.                     </item>
  2150.  
  2151.                     <item name="GetWindowTitle">
  2152. Set the operating system window title (i.e. what shows up in the taskbar and sys tray). - Usage: Window.GetWindowTitle();
  2153.        Return value:   the window title
  2154.                     </item>
  2155.  
  2156.                     <item name="GetDesiredFPS">
  2157. Retrieve the desired frame rate. - Usage: Window.GetDesiredFPS();
  2158.        Return value:   The desired frame rate, in Frames Per Second.
  2159.                     </item>
  2160.  
  2161.                     <item name="GetActualFPS">
  2162. Retrieve the actual frame rate. - Usage: Window.GetActualFPS();
  2163.        Return value:   The actual frame rate, in Frames Per Second.
  2164.                     </item>
  2165.  
  2166.                     <item name="SetDesiredFPS">
  2167. Set the desired frame rate. - Usage: Window.SetDesiredFPS(rate);
  2168.        rate            The desired frame rate, in Frames Per Second.
  2169.                     </item>
  2170.  
  2171.                     <item name="GetLocation">
  2172. Retrieve the window location. - Usage: Window.GetLocation();
  2173.        Return value:   An array (x,y) containing the position of the window relative to it's parent or the desktop (if a top level window)
  2174.                     </item>
  2175.  
  2176.                     <item name="GetOffset">
  2177. Retrieve the window offset. - Usage: Window.GetOffset(component);
  2178.        component       Optional:"left","top","right", or"bottom" to select a component of the offset, or nothing for all, in an array.
  2179.        Return value:   If no component is specifies, an array (l,t,r,b) containing the offset of the window relative to it's parent or the desktop (if a top level window). If a component is specified, only that will be returned.
  2180.                     </item>
  2181.  
  2182.                     <item name="GetAlignment">
  2183. Retrieve the window alignment. - Usage: Window.GetAlignment(component);
  2184.        component       Optional:"left","top","right", or"bottom" to select a component of the alignment, or nothing for all, in an array.
  2185.        Return value:   If no component is specifies, an array (l,t,r,b) containing the alignment of the window relative to it's parent or the desktop (if a top level window). If a component is specified, only that will be returned.
  2186.                     </item>
  2187.  
  2188.                     <item name="GetSize">
  2189. Retrieve the window size. - Usage: Window.GetSize();
  2190.        Return value:   An array (x,y) containing the dimensions in pixels of the window.
  2191.                     </item>
  2192.  
  2193.                     <item name="GetVirtSize">
  2194. Retrieve the window's virtual size. - Usage: Window.GetVirtSize();
  2195.        Return value:   An array (x,y) containing the dimensions in pixels of the window's virtual area.
  2196.                     </item>
  2197.  
  2198.                     <item name="GetPan">
  2199. Retrieve the window size. - Usage: Window.GetPan();
  2200.        Return value:   An array (x,y) containing the location of the pan origin.
  2201.                     </item>
  2202.  
  2203.                     <item name="SetLocation">
  2204. Set the window location. - Usage: Window.SetLocation(pos, start, duration, tweenfunc, bRelative, bCancelOp);
  2205.        pos             An array (x,y) containing the new position of the window
  2206.        start           Optional: How many milliseconds from now to start moving.   Default: 0
  2207.        duration        Optional: How long (milliseconds) to move for.   Default: 0
  2208.        tweenfunc       Optional: How to move - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2209.        bRelative       Optional: If this is true, pos is relative to the current position. Otherwise it's relative to the parent window or (if a top level window) the desktop.   Default: false
  2210.        bCancelOp       Optional: If this is true, all other pending SetLocation operations are cancelled.   Default: true
  2211.                     </item>
  2212.  
  2213.                     <item name="SetSize">
  2214. Set the window size. - Usage: Window.SetSize(size, start, duration, tweenfunc, bRelative, bCancelOp);
  2215.        size            An array (x,y) containing the new size of the window
  2216.        start           Optional: How many milliseconds from now to start resizing.   Default: 0
  2217.        duration        Optional: How long (milliseconds) to resize for.   Default: 0
  2218.        tweenfunc       Optional: How to resize - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2219.        bRelative       Optional: If this is true, pos is relative to the current size, otherwise it's an absolute size.   Default: false
  2220.        bCancelOp       Optional: If this is true, all other pending SetSize operations are cancelled.   Default: true
  2221.                     </item>
  2222.  
  2223.                     <item name="SetPan">
  2224. Set the window pan origin. - Usage: Window.SetPan(pos, start, duration, tweenfunc, bRelative, bCancelOp);
  2225.        pos             An array (x,y) containing the new pan origin of the window
  2226.        start           Optional: How many milliseconds from now to start panning.   Default: 0
  2227.        duration        Optional: How long (milliseconds) to pan for.   Default: 0
  2228.        tweenfunc       Optional: How to move - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2229.        bRelative       Optional: If this is true, pos is relative to the current pan origin. Otherwise it's absolute.   Default: false
  2230.        bCancelOp       Optional: If this is true, all other pending SetPan operations are cancelled.   Default: true
  2231.                     </item>
  2232.  
  2233.                     <item name="SetVirtSize">
  2234. Set the window's virtual size. - Usage: Window.SetVirtSize(size, start, duration, tweenfunc, bRelative, bCancelOp);
  2235.        size            An array (x,y) containing the new virtual size of the window. This may make parts of the window not visible.
  2236.        start           Optional: How many milliseconds from now to start resizing.   Default: 0
  2237.        duration        Optional: How long (milliseconds) to resize for.   Default: 0
  2238.        tweenfunc       Optional: How to resize - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2239.        bRelative       Optional: If this is true, pos is relative to the current virtual size, otherwise it's an absolute virtual size.   Default: false
  2240.        bCancelOp       Optional: If this is true, all other pending SetVirtSize operations are cancelled.   Default: true
  2241.                     </item>
  2242.  
  2243.                     <item name="SetAlignment">
  2244. Set the window alignment relative to its parent. - Usage: Window.SetAlignment(alignment, start, duration, tweenfunc, bRelative);
  2245.        alignment       An array (l,t,r,b) containing the new alignment of the window
  2246.        start           Optional: How many milliseconds from now to start changing.   Default: 0
  2247.        duration        Optional: How long (milliseconds) to change for.   Default: 0
  2248.        tweenfunc       Optional: How to change - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2249.        bRelative       Optional: If this is true, alignment is relative to the current alignment. Otherwise it's absolute.   Default: false
  2250.                     </item>
  2251.  
  2252.                     <item name="SetOffset">
  2253. Set the window offset from it's alignment. - Usage: Window.SetOffset(offset, start, duration, tweenfunc, bRelative);
  2254.        offset          An array (l,t,r,b) containing the new offset of the window
  2255.        start           Optional: How many milliseconds from now to start changing.   Default: 0
  2256.        duration        Optional: How long (milliseconds) to change for.   Default: 0
  2257.        tweenfunc       Optional: How to change - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2258.        bRelative       Optional: If this is true, offset is relative to the current offset. Otherwise it's absolute.   Default: false
  2259.                     </item>
  2260.  
  2261.                     <item name="DestroyWindow">
  2262. Destroy a window. - Usage: Window.DestroyWindow(when);
  2263.        when            Optional: When, in ms from now, should we destroy it?   Default: 0
  2264.                     </item>
  2265.  
  2266.                     <item name="Enable">
  2267. Enable the window to recieve input. - Usage: Window.Enable(when);
  2268.        when            Optional: When, in ms from now, to start accepting input.   Default: 0
  2269.                     </item>
  2270.  
  2271.                     <item name="Disable">
  2272. Disable the window from recieving input. - Usage: Window.Disable(when);
  2273.        when            Optional: When, in ms from now, to stop accepting input.   Default: 0
  2274.                     </item>
  2275.  
  2276.                     <item name="SetInputFocus">
  2277. Set the input focus to the window. - Usage: Window.SetInputFocus();
  2278.                     </item>
  2279.  
  2280.                     <item name="HasInputFocus">
  2281. Does the window have input focus? - Usage: Window.HasInputFocus();
  2282.        Return value:   true if the window has input focus, false otheriwise.
  2283.                     </item>
  2284.  
  2285.                     <item name="Show">
  2286. Make the window visable. - Usage: Window.Show(when);
  2287.        when            Optional: When, in ms from now, should we make the window visible.   Default: 0
  2288.                     </item>
  2289.  
  2290.                     <item name="Hide">
  2291. Make the window hidden. - Usage: Window.Hide(when);
  2292.        when            Optional: When, in ms from now, should we make the window hidden.   Default: 0
  2293.                     </item>
  2294.  
  2295.                     <item name="SetZOrder">
  2296. Change the window's z order. - Usage: Window.SetZOrder(where, when);
  2297.        where           The new position of the window. This can be one of the following:"top" or"bottom" (meaning above or below all siblings) or"top-most" or"bottom-most" (meaning above or below everything)
  2298.        when            Optional: When, in ms from now, to change the window's z-order.
  2299.                     </item>
  2300.  
  2301.                     <item name="SetZOrderRelative">
  2302. Change the window's z order in relation to the given window. - Usage: Window.SetZOrderRelative(where, who, when);
  2303.        where           The new position of the window. This can be one of the following:"top" or"bottom" (meaning above or below the given window)
  2304.        who             The window to put the given window above or below
  2305.        when            Optional: When, in ms from now, to change the window's z-order.
  2306.                     </item>
  2307.  
  2308.                     <item name="StartSize">
  2309. Start sizing the window, as though the user did so. - Usage: Window.StartSize(sizetype, mousepoint, button);
  2310.        sizetype        (string) of the set {"IH_LEFT","IH_TOPLEFT","IH_TOP","IH_TOPRIGHT","IH_RIGHT","IH_BOTTOMRIGHT","IH_BOTTOM","IH_BOTTOMLEFT" }
  2311.        mousepoint      (array) {x,y} giving pointer location to start the size.
  2312.        button          (string) of the set {"MBUTTON_LEFT","MBUTTON_MIDDLE","MBUTTON_RIGHT" }
  2313.                     </item>
  2314.  
  2315.                     <item name="StartDrag">
  2316. Start dragging the window, as though the user did so. - Usage: Window.StartDrag(dragtype, mousepoint, button);
  2317.        dragtype        (string) of the set {"DRAG","DRAGX","DRAGY" }
  2318.        mousepoint      (array) {x,y} giving pointer location to start the drag.
  2319.        button          (string) of the set {"MBUTTON_LEFT","MBUTTON_MIDDLE","MBUTTON_RIGHT" }
  2320.                     </item>
  2321.  
  2322.                     <item name="CreateWindow">
  2323. Create a child window. - Usage: Window.CreateWindow(MMLType, MMLName, name, offset, alignment, bVisible, flags, bBelowParent, MMLFlags, CreateChildren, FactoryID);
  2324.        MMLType         Type of >window< (eg. generic or button)
  2325.        MMLName         Name of >window< to copy
  2326.        name            Name of the child to create
  2327.        offset          {left, top, right, bottom} - Window offset
  2328.        alignment       {left, top, right, bottom} - Window alignment
  2329.        bVisible        Optional: Boolean - should the window be immediately visible  Default: true
  2330.        flags           Optional: Extra window flags  Default: 0
  2331.        bBelowParent    Optional: Should this window be below the parent? (useful for drawers and such)  Default: false
  2332.        MMLFlags        Optional: MML Create flags  Default: 0
  2333.        CreateChildren  Optional: Create all decendants?  Default: true
  2334.        FactoryID       Optional: MID of a factory to use to create this object  Default: loads from skin
  2335.        Return value:   UID on success, NULL otherwise
  2336.                     </item>
  2337.  
  2338.                     <item name="MinimizeWindow">
  2339. Set a window's parent's minimized state - Usage: Window.MinimizeWindow(bMinimize);
  2340.        bMinimize       Boolean - true minimizes, false restores.
  2341.                     </item>
  2342.  
  2343.                     <item name="SetAlwaysOnTop">
  2344. Set a window's Always-On-Top state - Usage: Window.SetAlwaysOnTop(bOnTop);
  2345.        bOnTop          True means parent window always on top, false means normal z-order.
  2346.                     </item>
  2347.  
  2348.                     <item name="StartIntro">
  2349. Broadcast Intro event to all children - Usage: Window.StartIntro(duration);
  2350.        duration        Optional: How long to animate for, in milliseconds.  Default: 1000, or current settings
  2351.                     </item>
  2352.  
  2353.                     <item name="StartExtro">
  2354. Broadcast Extro event to all children - Usage: Window.StartExtro(duration);
  2355.        duration        Optional: How long to animate for, in milliseconds.  Default: 1000, or current settings
  2356.                     </item>
  2357.  
  2358.                     <item name="GetAnimationDuration">
  2359. Returns the system-wide number of milliseconds that animations (i.e. intro, extro) should run for. - Usage: Window.GetAnimationDuration();
  2360.        Return value:   The time, in milliseconds, that animations should run for.
  2361.                     </item>
  2362.  
  2363.                     <item name="SetAngle">
  2364. Set the angle for a window. Angle-aware imagestyle elements will rotate  - Usage: Window.SetAngle(angle, start, duration, tweenfunc, bCancelOp);
  2365.        angle           The angle, in degrees.
  2366.        start           Optional: How many milliseconds from now to start changing.   Default: 0
  2367.        duration        Optional: How long (milliseconds) to change for.   Default: 0
  2368.        tweenfunc       Optional: How to change - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2369.        bCancelOp       Optional: Cancel other pending operations of the same type  Default: true
  2370.                     </item>
  2371.  
  2372.                     <item name="SetAnimTime">
  2373. Set the Animation time for a window. Animation time aware imagestyle elements will animate - Usage: Window.SetAnimTime(t, start, duration, tweenfunc, bCancelOp);
  2374.     
  2375. Examples:
  2376.     - SetAnimTime(.5) immediately jumps to halfway through the animation.
  2377.     - SetAnimTime(1.5, 0, 1000) takes one second to animate from whatever position it is currently at (halfway through if called right after the first example), through the end of the animation, and back to halfway through again.
  2378.     - SetAnimTime(-1, 0, 1000) takes one second to animate from whatever position it is currently at, backwards through to the initial position.
  2379.     - Calling SetAnimTime(0), SetAnimTime(10, 0, 1000), and SetAnimTime(0, 1000, 1000) in succession will cause the window to start at the beginning, animate 10 times forwards, then 10 times backwards.
  2380.        t               Percentage of the animation to run through. (.5 is half an animation, 1 is one complete interation, -2 is two complete iterations in reverse). Each window remembers what its last 't' position was, and the next call to SetAnimTime() starts from that position and animates forwards or backwards to the next 't' position.
  2381.        start           Optional: How many milliseconds from now to start changing.   Default: 0
  2382.        duration        Optional: How long (milliseconds) to change for.   Default: 0
  2383.        tweenfunc       Optional: How to change - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2384.        bCancelOp       Optional: Cancel other pending operations of the same type  Default: true
  2385.                     </item>
  2386.  
  2387.                     <item name="SetZoom">
  2388. Set the zoom for a window. Zoom aware imagestyle elements will zoom - Usage: Window.SetZoom(magnification, start, duration, tweenfunc, bCancelOp);
  2389.        magnification   The zoom factor..
  2390.        start           Optional: How many milliseconds from now to start changing.   Default: 0
  2391.        duration        Optional: How long (milliseconds) to change for.   Default: 0
  2392.        tweenfunc       Optional: How to change - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2393.        bCancelOp       Optional: Cancel other pending operations of the same type  Default: true
  2394.                     </item>
  2395.  
  2396.                     <item name="SetOpacity">
  2397. Set the opacity for a window. - Usage: Window.SetOpacity(opacity, start, duration, tweenfunc, bCancelOp);
  2398.        opacity         The opacity, from 0 to 1.
  2399.        start           Optional: How many milliseconds from now to start changing.   Default: 0
  2400.        duration        Optional: How long (milliseconds) to change for.   Default: 0
  2401.        tweenfunc       Optional: How to change - options are linear, linear_accel, linear_decel, linear_smooth, and linear_bounce.   Default: linear
  2402.        bCancelOp       Optional: Cancel other pending operations of the same type  Default: true
  2403.                     </item>
  2404.  
  2405.                     <item name="GetAngle">
  2406. Get the current angle for a window. - Usage: Window.GetAngle();
  2407.        Return value:   The current angle, in degrees
  2408.                     </item>
  2409.  
  2410.                     <item name="GetZoom">
  2411. Get the current zoom for a window. - Usage: Window.GetZoom();
  2412.        Return value:   The current zoom factor
  2413.                     </item>
  2414.  
  2415.                     <item name="GetOpacity">
  2416. Get the current opacity for a window. - Usage: Window.GetOpacity();
  2417.        Return value:   The current opacity, in the range of 0 to 1.
  2418.                     </item>
  2419.  
  2420.                     <item name="GetAnimTime">
  2421. Get the current animation time for a window. - Usage: Window.GetAnimTime();
  2422.        Return value:   The current time into the animations, in ms
  2423.                     </item>
  2424.  
  2425.                     <item name="GetHoverHint">
  2426. Get the hover hint for a window. - Usage: Window.GetHoverHint();
  2427.        Return value:   The window's hover hint.
  2428.                     </item>
  2429.  
  2430.                     <item name="SetHoverHint">
  2431. Set the hover hint for a window. - Usage: Window.SetHoverHint(hint);
  2432.        hint            The new hover hint.  If of the format "Lang://module/key", it will be loaded out of the language file.  Otherwise, it is used directly.
  2433.                     </item>
  2434.  
  2435.                     <item name="GetMouseLocation">
  2436. Retrieve the mouse location. - Usage: Window.GetMouseLocation();
  2437.        Return value:   An array (x,y) containing the location of the mouse (relative to this window).
  2438.                     </item>
  2439.  
  2440.                     <item name="GetMinimized">
  2441. Get the minimized state of the parent window. - Usage: Window.GetMinimized();
  2442.        Return value:   True if minimized, false if restored.
  2443.                     </item>
  2444.  
  2445.                     <item name="GetAlwaysOnTop">
  2446. Get the always-on-top state of the parent window. - Usage: Window.GetAlwaysOnTop();
  2447.        Return value:   True if always on top, false if normal.
  2448.                     </item>
  2449.  
  2450.                     <item name="PostScript">
  2451. Execute a script after all pending GUI events have completed. - Usage: Window.PostScript(script);
  2452.        script          What to execute when all pending GUI events are done.
  2453.                     </item>
  2454.  
  2455.                     <item name="SetImageStyle">
  2456. Set the named imagestyle to the specified style.  This is designed to allow you to change the defined imagestyles of a window on the fly.  For example: 'background,' 'state0,' 'barfilled,' etc. - Usage: Window.SetImageStyle(name, style);
  2457.        name            The name of the imagestyle you'd like to change
  2458.        style           The style you want to change the named style to
  2459.                     </item>
  2460.                 </section>
  2461.  
  2462.                 <section name="textdisplay">
  2463.                     <item name="GetText">
  2464. Get the display text. - Usage: TextDisplay.GetText();
  2465.                     </item>
  2466.  
  2467.                     <item name="SetText">
  2468. Set the display text. - Usage: TextDisplay.SetText(text);
  2469.        text            The text to set it to.
  2470.                     </item>
  2471.                 </section>
  2472.  
  2473.                 <section name="timer">
  2474.                     <item name="SetTimer">
  2475. Set a timer. - Usage: timer.SetTimer(name, interval, script, context, repeat);
  2476.     This removes any other timer associated with the specified object that has the same name.
  2477.        name            The name of the timer, for furture reference
  2478.        interval        How long, in milliseconds, before the timer is triggered
  2479.        script          What to do when the timer is triggered
  2480.        context         What object to run the script in, when the timer is triggered.
  2481.        repeat          Optional: Boolean: Should the timer reset itself when it is triggered?  Default: false
  2482.                     </item>
  2483.  
  2484.                     <item name="UnsetTimer">
  2485. Remove a previously set timer. - Usage: timer.UnsetTimer(name, context);
  2486.        name            The name of the timer to remove
  2487.        context         The object the timer is associated with
  2488.                     </item>
  2489.                 </section>
  2490.             </section>
  2491.         </language>
  2492.     </module>
  2493. </translation>
  2494.