@@ -77,6 +77,7 @@ GNU General Public License for more details.
7777
7878 var globalVolume = 1.0 ;
7979 var updateInterval = 10 ; //Update sound volume, etc. once every 10 ms
80+ var defaultOverlap = 1000 ; //Default track overlap is 1000 ms
8081 var minVolume = 0.01 ; // Minimum possible volume -- 0 is mute, so we want somethings slightly above that
8182 var soundInterval = 0.1 ; // Creates an interval of 1/10 creates ten stages of loudness. Used by quieter/louder. Feel free to tweak
8283 var fileExtensions = [ "ogg" , "mp3" , "wav" , "webm" ] ; // Acceptable file extensions for audio
@@ -154,7 +155,7 @@ GNU General Public License for more details.
154155
155156 // Defaults
156157 this . volumeProportion = 1.0 ; // By default, full volume
157- this . overlap = 1000 ; // By default, 1000 ms (1 second)
158+ this . overlap = defaultOverlap ; // By default, 1000 ms (1 second)
158159 this . isPlayable = false ; // Assume audio is not playable
159160 this . looping = false ; // Assume audio not looping
160161 this . alternate = false ;
@@ -219,7 +220,15 @@ GNU General Public License for more details.
219220 //Use easing to prevent sound popping in or out
220221 //
221222 var desiredVolume = easeInOutSine ( currentIteration , startVolume , deltaVolume , totalIterations ) ;
222- audioObj . volume = desiredVolume ;
223+
224+ //alert("Well desiredVol is " + desiredVolume + " cos currIter " + currentIteration + " startVol " + startVolume + " delta vol " + deltaVolume + " total iter " + totalIterations);
225+ //This should never happen, but if it does, skip the fade
226+ if ( isNaN ( desiredVolume ) ) {
227+ audioObj . volume = startVolume + deltaVolume ;
228+ console . log ( "There was a problem with the fade. Possibly overlap " + this . overlap + " is shorter than updateInterval " + updateInterval + "? " ) ;
229+ } else {
230+ audioObj . volume = desiredVolume ;
231+ }
223232 currentIteration += 1 ;
224233
225234 if ( audioObj . volume === ( startVolume + deltaVolume ) ) {
@@ -592,7 +601,7 @@ GNU General Public License for more details.
592601
593602 var soundtrack = getSoundTrack ( this . args [ 0 ] ) ;
594603 var volumeProportion = args [ 1 ] !== undefined ? args [ 1 ] : soundtrack . volumeProportion ;
595- soundtrack . overlap = args [ 2 ] !== undefined ? args [ 2 ] : 0 ;
604+ soundtrack . overlap = args [ 2 ] !== undefined ? args [ 2 ] : defaultOverlap ;
596605 var loop = args [ 3 ] !== undefined ? args [ 3 ] : false ;
597606 soundtrack . setVolumeProportion ( volumeProportion ) ;
598607 soundtrack . updateVolume ( ) ;
@@ -628,7 +637,7 @@ GNU General Public License for more details.
628637 for ( var index = 0 ; index < clipNames . length ; index ++ ) {
629638 var soundtrack = getSoundTrack ( cleanClipName ( clipNames [ index ] ) ) ;
630639 var volumeProportion = args [ 1 ] !== undefined ? args [ 1 ] : soundtrack . volumeProportion ;
631- soundtrack . overlap = args [ 2 ] !== undefined ? args [ 2 ] : 0 ;
640+ soundtrack . overlap = args [ 2 ] !== undefined ? args [ 2 ] : defaultOverlap ;
632641 var loop = args [ 3 ] !== undefined ? args [ 3 ] : false ;
633642 soundtrack . setVolumeProportion ( volumeProportion ) ;
634643 soundtrack . updateVolume ( ) ;
@@ -728,7 +737,7 @@ GNU General Public License for more details.
728737 var args = manageCommonArgs ( this , [ clipNameLabel ] ) ;
729738 var soundtrack = getSoundTrack ( this . args [ 0 ] ) ;
730739 var volumeProportion = args [ 1 ] !== undefined ? args [ 1 ] : soundtrack . volumeProportion ;
731- soundtrack . overlap = args [ 2 ] !== undefined ? args [ 2 ] : 0 ;
740+ soundtrack . overlap = args [ 2 ] !== undefined ? args [ 2 ] : defaultOverlap ;
732741 soundtrack . setVolumeProportion ( volumeProportion ) ;
733742 soundtrack . updateVolume ( ) ;
734743 soundtrack . loop ( ) ;
0 commit comments