V2.97a.20110123 - HTML5 audio improvements for desktop + mobile (iOS), 360° UI demo tweaks Tweaks to HTML5 features, "mixed-mode" HTML5 + flash cases, desktop and iOS tweaks. Improved sound re-use and "play-through" on iOS (believed previously working, may have regressed with iOS 4.2.1.) Code clean-up and shuffling of homepage, 360° demo (jslinted and improved functionality), load({options}) fix, better handling of broken Safari/Snow Leopard audio case. * Bug fixes o Fix for soundManager.load({options}) / SMSound.load({options})-specific case (regular load() sans-parameters was fine), where load({onload:...}) would fail if a URL parameter was not specified. load({url:...,onload:...}) was OK. If unspecified, load now takes URL from SMSound.url. o Fixed unload/replay case on iOS: play sound #1, interrupt it by starting sound #2, then play sound #1 again - previously, #1 would fail on replay due to interrupted state since iOS only allows one sound at a time. Should now restart OK. (This applies to the new soundManager.useGlobalHTML5Audio stuff.) Playlist auto-advance looks to be OK as well. * API Updates o New (experimental) soundManager.useGlobalHTML5Audio property - if true (default for iOS/mobile), reuses a single Audio() object for loading sound. Helps make playlist / onfinish()->play() work on iOS without user interaction. o New (experimental) soundManager.requireFlash property (default: false.) If true, prevents HTML5-only mode on devices with both HTML5 and Flash. May be useful when HTML5 is enabled (and can play MP3), but Flash is desired to play RTMP content etc. As of this version, will only use Flash for RTMP. o HTML5: Fix for type:'audio/mp3' returning false on canPlay(). Timer update-while-paused tweak. o HTML5: More event listeners, ignore events on destroyed sounds, improved event clean-up, "seek before load" fix * Miscellaneous o Improved broken Safari/Snow Leopard HTML5 audio situation: HTML5 mode is no longer disabled - and if available, Flash is used to play MP3/MP4 content to work around known playback issues with native HTML5 audio. o (Finally) report "true" position of MovieStar (MPEG4/AAC) content while scrubbing a playing/paused sound. Previously did not fire updates while scrubbing. Imperfect on resume due to buffer, but should be negligible and an improvement vs. old behaviour. o 360° player refresh, works with multiple types (eg. small 48x48 square vs. large 256x256 square w/spectrum + EQ visualizations) on the same page now. Can play and seek simultaneously, as well. More configurable. Removed old empty.gif + imageRoot junk. Core JS now appeases the jslint gods. o Code clean-up, removed undocumented/experimental playOnSeek and related methods from a prior fork. o Fresh homepage demo design/layout, should be nicer for new users.