:bug: Fixed a bug in Gig.stop that prevented subsequent Gig.play from working (audio never "loaded")
Issue stemmed from howler holding onto the audio in memory even after the Gig object is destroyed, which prevents this.music.on('load') from firing again
Solution is to call music.unload() in Gig.stop in addition to music.stop() (apparently calling stop in howler does NOT unload the audio)
Potential performance hit here since the audio may re-fetch, but in my testing it still uses the browser's disk cache
Can eliminate performance hit once we integrate Workbox (can control that cache at the Service Worker level ourselves)
:anchor: Added some basic scaffolding work towards re-orientation / recovery
Unrelated to this fix - but thought it was necessary at first
Handle this in another branch once we move onto supporting pause / resume
Changes
Gig.stop
that prevented subsequentGig.play
from working (audio never "loaded")howler
holding onto the audio in memory even after theGig
object is destroyed, which preventsthis.music.on('load')
from firing againmusic.unload()
inGig.stop
in addition tomusic.stop()
(apparently callingstop
inhowler
does NOT unload the audio)pause
/resume
howler
to2.2.0