crossbrowdy
Version:
A Multimedia JavaScript framework to create real cross-platform and hybrid game engines, games, emulators, multimedia libraries and apps.
2,362 lines (880 loc) • 395 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>CrossBrowdy API documentation Class: CB_AudioFileSpritesPool</title>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
<link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
</head>
<body style="min-width:800px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;">
<div class="navbar navbar-default navbar-fixed-top ">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="index.html">CrossBrowdy API documentation</a>
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="topNavigation">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b class="caret"></b></a>
<ul class="dropdown-menu inline">
<li><a href="CB_Arrays.html">CB_Arrays</a></li><li><a href="CB_AudioDetector.html">CB_AudioDetector</a></li><li><a href="CB_Client.html">CB_Client</a></li><li><a href="CB_Collisions.html">CB_Collisions</a></li><li><a href="CB_Configuration.html">CB_Configuration</a></li><li><a href="CB_Configuration.CrossBase.html">CB_Configuration.CrossBase</a></li><li><a href="CB_Configuration.CrossBrowdy.html">CB_Configuration.CrossBrowdy</a></li><li><a href="CB_Controllers.html">CB_Controllers</a></li><li><a href="CB_Controllers_Proprietary.html">CB_Controllers_Proprietary</a></li><li><a href="CB_Controllers_Proprietary.WII.html">CB_Controllers_Proprietary.WII</a></li><li><a href="CB_Controllers_Proprietary.WII_U.html">CB_Controllers_Proprietary.WII_U</a></li><li><a href="CB_Device.html">CB_Device</a></li><li><a href="CB_Device.AmbientLight.html">CB_Device.AmbientLight</a></li><li><a href="CB_Device.Battery.html">CB_Device.Battery</a></li><li><a href="CB_Device.Location.html">CB_Device.Location</a></li><li><a href="CB_Device.Motion.html">CB_Device.Motion</a></li><li><a href="CB_Device.Orientation.html">CB_Device.Orientation</a></li><li><a href="CB_Device.Proximity.html">CB_Device.Proximity</a></li><li><a href="CB_Device.Vibration.html">CB_Device.Vibration</a></li><li><a href="CB_Elements.html">CB_Elements</a></li><li><a href="CB_Events.html">CB_Events</a></li><li><a href="CB_Keyboard.html">CB_Keyboard</a></li><li><a href="CB_Keyboard.chars.html">CB_Keyboard.chars</a></li><li><a href="CB_Keyboard.extended.html">CB_Keyboard.extended</a></li><li><a href="CB_Keyboard.keys.html">CB_Keyboard.keys</a></li><li><a href="CB_Modules.html">CB_Modules</a></li><li><a href="CB_Mouse.html">CB_Mouse</a></li><li><a href="CB_Mouse.CursorImage.html">CB_Mouse.CursorImage</a></li><li><a href="CB_Net.html">CB_Net</a></li><li><a href="CB_Net.Fetch.html">CB_Net.Fetch</a></li><li><a href="CB_Net.REST.html">CB_Net.REST</a></li><li><a href="CB_Net.Sockets.html">CB_Net.Sockets</a></li><li><a href="CB_Net.Sockets.SockJS.html">CB_Net.Sockets.SockJS</a></li><li><a href="CB_Net.XHR.html">CB_Net.XHR</a></li><li><a href="CB_Pointer.html">CB_Pointer</a></li><li><a href="CB_Screen.html">CB_Screen</a></li><li><a href="CB_Speaker.html">CB_Speaker</a></li><li><a href="CB_Touch.html">CB_Touch</a></li><li><a href="CB_baseSymbols.html">CB_baseSymbols</a></li>
</ul>
</li>
<li class="dropdown">
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a>
<ul class="dropdown-menu inline">
<li><a href="CB_AudioFile.html">CB_AudioFile</a></li><li><a href="CB_AudioFileCache.html">CB_AudioFileCache</a></li><li><a href="CB_AudioFileSprites.html">CB_AudioFileSprites</a></li><li><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></li><li><a href="CB_AudioFile_API.AAPI.html">CB_AudioFile_API.AAPI</a></li><li><a href="CB_AudioFile_API.ACMP.html">CB_AudioFile_API.ACMP</a></li><li><a href="CB_AudioFile_API.SM2.html">CB_AudioFile_API.SM2</a></li><li><a href="CB_AudioFile_API.WAAPI.html">CB_AudioFile_API.WAAPI</a></li><li><a href="CB_Canvas.html">CB_Canvas</a></li><li><a href="CB_GraphicSprites.html">CB_GraphicSprites</a></li><li><a href="CB_GraphicSpritesScene.html">CB_GraphicSpritesScene</a></li>
</ul>
</li>
<li class="dropdown">
<a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b class="caret"></b></a>
<ul class="dropdown-menu inline">
<li><a href="global.html#CB_BASE_NAME">CB_BASE_NAME</a></li><li><a href="global.html#CB_CREDITS_DEFAULT">CB_CREDITS_DEFAULT</a></li><li><a href="global.html#CB_NAME">CB_NAME</a></li><li><a href="global.html#CB_OPTIONS">CB_OPTIONS</a></li><li><a href="global.html#CB_VERSION">CB_VERSION</a></li><li><a href="global.html#CB_addCredits">CB_addCredits</a></li><li><a href="global.html#CB_baseToBase">CB_baseToBase</a></li><li><a href="global.html#CB_baseToInt">CB_baseToInt</a></li><li><a href="global.html#CB_br2nl">CB_br2nl</a></li><li><a href="global.html#CB_brToNl">CB_brToNl</a></li><li><a href="global.html#CB_combineArraysOrObjects">CB_combineArraysOrObjects</a></li><li><a href="global.html#CB_combineAutomatically">CB_combineAutomatically</a></li><li><a href="global.html#CB_combineJSON">CB_combineJSON</a></li><li><a href="global.html#CB_combineURIParameters">CB_combineURIParameters</a></li><li><a href="global.html#CB_combineURLParameters">CB_combineURLParameters</a></li><li><a href="global.html#CB_console">CB_console</a></li><li><a href="global.html#CB_copyObject">CB_copyObject</a></li><li><a href="global.html#CB_countDecimalDigits">CB_countDecimalDigits</a></li><li><a href="global.html#CB_countDecimalPart">CB_countDecimalPart</a></li><li><a href="global.html#CB_countDecimals">CB_countDecimals</a></li><li><a href="global.html#CB_countIntegerDigits">CB_countIntegerDigits</a></li><li><a href="global.html#CB_countIntegerPart">CB_countIntegerPart</a></li><li><a href="global.html#CB_credits">CB_credits</a></li><li><a href="global.html#CB_forEach">CB_forEach</a></li><li><a href="global.html#CB_forceString">CB_forceString</a></li><li><a href="global.html#CB_getBase64StringObject">CB_getBase64StringObject</a></li><li><a href="global.html#CB_getCookie">CB_getCookie</a></li><li><a href="global.html#CB_getDatum">CB_getDatum</a></li><li><a href="global.html#CB_getJSONPropertyValue">CB_getJSONPropertyValue</a></li><li><a href="global.html#CB_getLZStringObject">CB_getLZStringObject</a></li><li><a href="global.html#CB_getValueIndex">CB_getValueIndex</a></li><li><a href="global.html#CB_getValuePath">CB_getValuePath</a></li><li><a href="global.html#CB_includeJSFile">CB_includeJSFile</a></li><li><a href="global.html#CB_indexOf">CB_indexOf</a></li><li><a href="global.html#CB_init">CB_init</a></li><li><a href="global.html#CB_intToBase">CB_intToBase</a></li><li><a href="global.html#CB_isArray">CB_isArray</a></li><li><a href="global.html#CB_isEmail">CB_isEmail</a></li><li><a href="global.html#CB_isFileLocal">CB_isFileLocal</a></li><li><a href="global.html#CB_isString">CB_isString</a></li><li><a href="global.html#CB_lastIndexOf">CB_lastIndexOf</a></li><li><a href="global.html#CB_ltrim">CB_ltrim</a></li><li><a href="global.html#CB_nl2br">CB_nl2br</a></li><li><a href="global.html#CB_nlToBr">CB_nlToBr</a></li><li><a href="global.html#CB_numberFormat">CB_numberFormat</a></li><li><a href="global.html#CB_numberOfDecimalDigits">CB_numberOfDecimalDigits</a></li><li><a href="global.html#CB_numberOfDecimals">CB_numberOfDecimals</a></li><li><a href="global.html#CB_numberOfIntegerDigits">CB_numberOfIntegerDigits</a></li><li><a href="global.html#CB_parseJSON">CB_parseJSON</a></li><li><a href="global.html#CB_parseString">CB_parseString</a></li><li><a href="global.html#CB_regularExpressionString">CB_regularExpressionString</a></li><li><a href="global.html#CB_renderString">CB_renderString</a></li><li><a href="global.html#CB_replaceAll">CB_replaceAll</a></li><li><a href="global.html#CB_rtrim">CB_rtrim</a></li><li><a href="global.html#CB_scriptPath">CB_scriptPath</a></li><li><a href="global.html#CB_scriptPathCalculate">CB_scriptPathCalculate</a></li><li><a href="global.html#CB_setCookie">CB_setCookie</a></li><li><a href="global.html#CB_setDatum">CB_setDatum</a></li><li><a href="global.html#CB_sizeOf">CB_sizeOf</a></li><li><a href="global.html#CB_sizeof">CB_sizeof</a></li><li><a href="global.html#CB_stringifyJSON">CB_stringifyJSON</a></li><li><a href="global.html#CB_symmetricCall">CB_symmetricCall</a></li><li><a href="global.html#CB_symmetricCallClear">CB_symmetricCallClear</a></li><li><a href="global.html#CB_this">CB_this</a></li><li><a href="global.html#CB_trim">CB_trim</a></li>
</ul>
</li>
</ul>
<div class="col-sm-3 col-md-3">
<form class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q" id="search-input">
<div class="input-group-btn">
<button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="container" id="toc-content" style="width:100%;">
<div class="row" style="width:100%;">
<div class="col-md-8" style="width:85%;">
<div id="main">
<h1 class="page-title">Class: CB_AudioFileSpritesPool</h1>
<section>
<header>
<h2>
CB_AudioFileSpritesPool
</h2>
<div class="class-description"><p>Class to manage many audio sprites stored in different groups, each with one <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object (used internally).</p></div>
</header>
<article>
<div class="container-overview">
<hr>
<dt>
<h4 class="name" id="CB_AudioFileSpritesPool"><span class="type-signature"></span>new CB_AudioFileSpritesPool<span class="signature">( [dataObject])</span><span class="type-signature"> → {<a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>The constructor is recommended to be called through a user-driven event (as onClick, onTouch, etc.), as some clients may need this at least the first time in order to be able to play the audio.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th style="width:12%; min-width:110px;">Name</th>
<th style="width:12%; min-width:110px;">Type</th>
<th style="width:12%; min-width:110px;">Argument</th>
<th class="last" style="min-width:310px;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>dataObject</code></td>
<td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;">
<span class="param-type"><a href="CB_AudioFileSpritesPool.html#.DATA_OBJECT">CB_AudioFileSpritesPool.DATA_OBJECT</a></span>
</td>
<td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;">
<optional><br>
</td>
<td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Object with the desired data and options for the groups of audio sprites. Each group will have a <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object. Some of its properties ("preferredAPIs", "preferredFormats", "minimumAudioFiles", "maximumAudioFiles", "minimumAudioFilesFree", "newAudioFilesWhenNeeded", "retries", "checkManually", "checkManuallyOnNeededCreated", "checkManuallyOnPlayingFailed", "checkManuallyOnCheckingFailed" and "disableAutoLoad") will be used as the default value to create internally the <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> objects when the value is not given in the <a href="CB_AudioFileSpritesPool.html#.SPRITES_GROUPS_OBJECT"><code>CB_AudioFileSpritesPool.SPRITES_GROUPS_OBJECT</code></a> object (set as the value of the <code>CB_AudioFileSpritesPool.DATA_OBJECT#spritesGroups</code> property).</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-55">line 55</a>
</li>
</ul>
</dd>
<dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt>
<dd class="tag-todo">
<ul>
<li>Do not allow to create one object with an "id" which has already been used (unless the value is undefined, null...).</li>
<li>Method getCopy and static method filterProperties (similar to the ones from <a href="CB_GraphicSprites.html"><code>CB_GraphicSprites</code></a> and <a href="CB_GraphicSpritesScene.html"><code>CB_GraphicSpritesScene</code></a>).</li>
</ul>
</dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Returns a new <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></span>
</dd>
</dl>
</dd>
</div>
<h3 class="subsection-title">Members</h3>
<dl>
<hr>
<dt class="name" id="audioFileSprites">
<h4 id="audioFileSprites"><span class="type-signature"><readonly> </span>audioFileSprites<span class="type-signature"> :Object</span></h4>
</dt>
<dd>
<div class="description">
<p>Stores the internally-created <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> objects, using the name of each property as their group ID and the value being the <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object itself. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>{}</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-204">line 204</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="checkManually">
<h4 id="checkManually"><span class="type-signature"><readonly> </span>checkManually<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
<p>Tells whether the <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects must be checked automatically or not (manually). Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_AudioFileCache.checkManually_DEFAULT</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-141">line 141</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="checkManuallyOnCheckingFailed">
<h4 id="checkManuallyOnCheckingFailed"><span class="type-signature"><readonly> </span>checkManuallyOnCheckingFailed<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
<p>Tells whether the <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects must be checked automatically or not (manually) when checking one has failed and tries to reload it. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_AudioFileCache.checkManuallyOnCheckingFailed_DEFAULT</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-168">line 168</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="checkManuallyOnNeededCreated">
<h4 id="checkManuallyOnNeededCreated"><span class="type-signature"><readonly> </span>checkManuallyOnNeededCreated<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
<p>Tells whether the <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects must be checked automatically or not (manually) when creates a new <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> object needed. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_AudioFileCache.checkManuallyOnNeededCreated_DEFAULT</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-150">line 150</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="checkManuallyOnPlayingFailed">
<h4 id="checkManuallyOnPlayingFailed"><span class="type-signature"><readonly> </span>checkManuallyOnPlayingFailed<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
<p>Tells whether the <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects must be checked automatically or not (manually) when playing one has failed and tries to reload it. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_AudioFileCache.checkManuallyOnPlayingFailed_DEFAULT</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-159">line 159</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="disableAutoLoad">
<h4 id="disableAutoLoad"><span class="type-signature"><readonly> </span>disableAutoLoad<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
<p>If set to true, it will not create automatically the <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects by calling the <a href="CB_AudioFileCache.html#createAudioFiles"><code>CB_AudioFileCache#createAudioFiles</code></a> method internally. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>false</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-177">line 177</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="id">
<h4 id="id"><span class="type-signature"><readonly> </span>id<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
<p>Stores the identifier for the audio file sprites pool object.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-68">line 68</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="maximumAudioFiles">
<h4 id="maximumAudioFiles"><span class="type-signature"><readonly> </span>maximumAudioFiles<span class="type-signature"> :integer|null</span></h4>
</dt>
<dd>
<div class="description">
<p>Maximum <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects that are to be created internally for each <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object. If it is set to null, there will not be a maximum (it will be unlimited). If an integer is provided, it must be the same number or greater than the value set in the <a href="CB_AudioFileCache.html#minimumAudioFiles"><code>CB_AudioFileCache#minimumAudioFiles</code></a> property, allowing 1 minimum. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
|
<span class="param-type">null</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_AudioFileCache.maximumAudioFiles_DEFAULT</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-104">line 104</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="minimumAudioFiles">
<h4 id="minimumAudioFiles"><span class="type-signature"><readonly> </span>minimumAudioFiles<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Minimum <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects to create internally for each <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object. It must be an integer being 1 the minimum. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_AudioFileCache.minimumAudioFiles_DEFAULT</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-95">line 95</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="minimumAudioFilesFree">
<h4 id="minimumAudioFilesFree"><span class="type-signature"><readonly> </span>minimumAudioFilesFree<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>New <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects will be created internally for each <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object when the number of free <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects reaches this limit. It must be an integer being 0 (zero) the minimum. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>parseInt(<a href="CB_AudioFileCache.html#minimumAudioFiles"><code>CB_AudioFileCache#minimumAudioFiles</code></a> * 0.25 + 0.5)</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-113">line 113</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="newAudioFilesWhenNeeded">
<h4 id="newAudioFilesWhenNeeded"><span class="type-signature"><readonly> </span>newAudioFilesWhenNeeded<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Number of new <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects to create internally for each <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object when the minimum limit of free <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects (<a href="CB_AudioFileCache.html#minimumAudioFilesFree"><code>CB_AudioFileCache#minimumAudioFilesFree</code></a>) is reached. It must be an integer being 0 (zero) the minimum. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>Math.min(parseInt(<a href="CB_AudioFileCache.html#minimumAudioFiles"><code>CB_AudioFileCache#minimumAudioFiles</code></a> * 0.1 + 0.5), 1)</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-122">line 122</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="onError">
<h4 id="onError"><span class="type-signature"><readonly> </span>onError<span class="type-signature"> :function</span></h4>
</dt>
<dd>
<div class="description">
<p>Desired function to be called when any kind of error happens. The first and unique parameter will be a string with the error description (if it could be determined), being "this" the current <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object. If a function is set, it will always be called through the <a href="CB_AudioFileSpritesPool.html#errorFunction"><code>CB_AudioFileSpritesPool#errorFunction</code></a> method whenever the "onError" event of an internally-created <a href="CB_AudioFileSprites.html"><code>CB_AudioFileSprites</code></a> object is fired.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">function</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-195">line 195</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="onLoad">
<h4 id="onLoad"><span class="type-signature"><readonly> </span>onLoad<span class="type-signature"> :function</span></h4>
</dt>
<dd>
<div class="description">
<p>Desired function to be called once the pool has been loaded. The first and unique parameter will be an integer with the <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> objects that still need to be checked, if any, being "this" the current <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">function</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-186">line 186</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="preferredAPIs">
<h4 id="preferredAPIs"><span class="type-signature"><readonly> </span>preferredAPIs<span class="type-signature"> :array</span></h4>
</dt>
<dd>
<div class="description">
<p>Stores an array of strings with the preferred audio API or audio APIs, in order of preference. Possible audio APIs are "WAAPI" (<a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API">HTML5 Web Audio API</a>), "SM2" (<a href="http://schillmania.com/projects/soundmanager2/">SoundManager 2</a>), "ACMP" (<a href="https://github.com/apache/cordova-plugin-media">Apache Cordova Media Plugin</a>) or "AAPI" (<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio">HTML5 Audio API</a>). Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">array</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_Configuration.CrossBase.CB_AudioFileCache_PREFERRED_AUDIO_APIS</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-77">line 77</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="preferredFormats">
<h4 id="preferredFormats"><span class="type-signature"><readonly> </span>preferredFormats<span class="type-signature"> :array</span></h4>
</dt>
<dd>
<div class="description">
<p>Stores an array of strings with the preferred audio format or audio formats (they can include just the format as 'audio/ogg' or also the codec as for example 'audio/ogg; codecs="vorbis"'), in order of preference. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">array</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_Configuration.CrossBase.CB_AudioFileCache_PREFERRED_AUDIO_FORMATS</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-86">line 86</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="retries">
<h4 id="retries"><span class="type-signature"><readonly> </span>retries<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Number of retries to try to load a <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> object internally before trying to load the next possible one internally (if any). It must be an integer being 0 the minimum. Internal usage only recommended.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>CB_AudioFileCache.retries_DEFAULT</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-131">line 131</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id=".ABORTED">
<h4 id=".ABORTED"><span class="type-signature"><static, constant> </span>ABORTED<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Status value for an audio file sprites pool which has been aborted. This will happen when the audio file sprites pool has been destroyed with the <a href="CB_AudioFileSpritesPool.html#destructor"><code>CB_AudioFileSpritesPool#destructor</code></a> method. Can be used to compare the value returned by the <a href="CB_AudioFileSpritesPool.html#getStatus"><code>CB_AudioFileSpritesPool#getStatus</code></a> method. Recommended for internal usage only.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>6</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-277">line 277</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id=".CHECKING">
<h4 id=".CHECKING"><span class="type-signature"><static, constant> </span>CHECKING<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Status value for an audio file sprites pool which is being checked currently. Can be used to compare the value returned by the <a href="CB_AudioFileSpritesPool.html#getStatus"><code>CB_AudioFileSpritesPool#getStatus</code></a> method. Recommended for internal usage only.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>3</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-253">line 253</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id=".FAILED">
<h4 id=".FAILED"><span class="type-signature"><static, constant> </span>FAILED<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Status value for an audio file sprites pool which failed to be loaded or failed for any other reason. Can be used to compare the value returned by the <a href="CB_AudioFileSpritesPool.html#getStatus"><code>CB_AudioFileSpritesPool#getStatus</code></a> method. Recommended for internal usage only.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>5</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-269">line 269</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id=".LOADED">
<h4 id=".LOADED"><span class="type-signature"><static, constant> </span>LOADED<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Status value for an audio file sprites pool which has been loaded. Can be used to compare the value returned by the <a href="CB_AudioFileSpritesPool.html#getStatus"><code>CB_AudioFileSpritesPool#getStatus</code></a> method. Recommended for internal usage only.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>4</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-261">line 261</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id=".LOADING">
<h4 id=".LOADING"><span class="type-signature"><static, constant> </span>LOADING<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Status value for an audio file sprites pool which is loading. Can be used to compare the value returned by the <a href="CB_AudioFileSpritesPool.html#getStatus"><code>CB_AudioFileSpritesPool#getStatus</code></a> method. Recommended for internal usage only.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>1</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-237">line 237</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id=".UNCHECKED">
<h4 id=".UNCHECKED"><span class="type-signature"><static, constant> </span>UNCHECKED<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Status value for an audio file sprites pool which has not been checked yet. Can be used to compare the value returned by the <a href="CB_AudioFileSpritesPool.html#getStatus"><code>CB_AudioFileSpritesPool#getStatus</code></a> method. Recommended for internal usage only.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>2</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-245">line 245</a>
</li>
</ul>
</dd>
</dl>
</dd>
<hr>
<dt class="name" id=".UNLOADED">
<h4 id=".UNLOADED"><span class="type-signature"><static, constant> </span>UNLOADED<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
<p>Status value for audio file sprites pool which is unloaded. Can be used to compare the value returned by the <a href="CB_AudioFileSpritesPool.html#getStatus"><code>CB_AudioFileSpritesPool#getStatus</code></a> method. Recommended for internal usage only.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt>
<dd class="tag-default">
<ul class="dummy">
<li>0</li>
</ul>
</dd>
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
<ul class="dummy">
<li>
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html">CrossBase/audiovisual/audio/CB_AudioFileSpritesPool.js</a>,
<a href="CrossBase_audiovisual_audio_CB_AudioFileSpritesPool.js.html#sunlight-1-line-229">line 229</a>
</li>
</ul>
</dd>
</dl>
</dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<dl>
<hr>
<dt>
<h4 class="name" id="cancelSoundInstance"><span class="type-signature"></span>cancelSoundInstance<span class="signature">(soundInstanceId [, cancel] [, affectWithObjectAssociated])</span><span class="type-signature"> → {boolean}</span></h4>
</dt>
<dd>
<div class="description">
<p>Cancels (to prevent it starts playing) or enables a sound instance (created by the <a href="CB_AudioFileCache.html#play"><code>CB_AudioFileCache#play</code></a> method), by its identifier. Uses the <a href="CB_AudioFileSprites.html#cancelSoundInstance"><code>CB_AudioFileSprites#cancelSoundInstance</code></a> method internally.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th style="width:12%; min-width:110px;">Name</th>
<th style="width:12%; min-width:110px;">Type</th>
<th style="width:12%; min-width:110px;">Argument</th>
<th style="width:12%; min-width:110px;">Default</th>
<th class="last" style="min-width:310px;">Description</th>
</tr>
</thead>
<tbody>
<tr>