Skip to content
    Bug fixes

        Added forceUseGlobalHTML5Audio setup option, to address desktop Safari breaking playlist-style playback when in a background tab (something with new Audio() prevents playback from starting automatically?)

        Improved RequireJS compatibility, correct define() usage and support for SM2_DEFER.

    API Updates

        API now fires onstop() when destroying a sound.

        New setup option: ignoreMobileRestrictions. Enable if you want to avoid the singleton HTML5 object pattern used for mobile devices. iOS WebView purportedly allows use of multiple HTML5 Audio() objects.

        soundManager.setVolume(33) now applies to all sounds. (Overloaded form; standard is soundManager.setVolume('mySound', 33).)

    Bar UI Updates

        Added window.sm2BarPlayers API including data and methods. Players are now scriptable / controllable from JS.

        on object for event callbacks, global and per-instance - e.g., window.sm2BarPlayers.on = { play: function() { ... }, stop: function() { ... } }); - or, per-instance: window.sm2BarPlayers[0].on = { ... }

        New config option: stopOtherSounds (i.e., only one player active at a time)

        More config: excludeClass (default: sm2-exclude), prevents SM2 from playing link. Will fall through, download etc.

        Added support for additional links in playlist: shopping cart ("buy now"), and music note ("download") next to each playlist item.

        Playlist now scrolls currently-playing item into view by default.

        Fix timing issue when user switches tracks in error case.

        Improved playlist open-by-default UI state. Added playlist toggle to demo.

        Check for defaultItem, handle case when starting with an empty playlist.

        Workaround for non-zero scrollTop offset the first time the playlist is opened.

        Minor UI tweaks for alignment, polish.

    Miscellaneous

        New 2015 Turntable UI Demo. Based on the 2011 "Wheels Of Steel" browser-based turntable UI prototype. Basic UI, API and load/play ability with easily customizable slipmats, record and album artwork.

        Added bower.json, component.json and npm package.json definition files.

        Improved RequireJS compatibility, correct define() usage and support for SM2_DEFER.

        soundmanager2.js code style review (mostly for consistency.) Line breaks, quotes on strings, conditions and ternary statements, comment formatting etc.

        Side note: The prior release's pre-emptive fix for iOS 8 ended up being a non-issue, as the official iOS 8 release did not use "OS 10" in the user-agent string. Nonetheless, SM2 will now correctly identify iOS 10+ vs. incorrectly flagging it as "iOS 1".