Hi, and thanks for your great plugin, which I'm using in my typewriter simulator, OverType: http://uniqcode.com/typewriter
I was having an issue with my application that uses it in Safari (8.0.7/Mac), that didn't happen in Firefox or Chrome. The root cause was that I was calling $.ionSound.stop('soundname') with the name of a sound that wasn't playing (had played before but already had .stop() called on it). But Firefox and Chrome don't complain about this, whereas in Safari it is treated as a fatal error and causes the script to stop altogether:
[Error] InvalidStateError: DOM Exception 11: An attempt was made to use an object that is not, or is no longer, usable.
stop (ion.sound.min.js, line 14)
stop (ion.sound.min.js, line 14)
stop (ion.sound.min.js, line 11)
_method (ion.sound.min.js, line 4)
stop (ion.sound.min.js, line 5)
(anonymous function) (typewriter, line 259)
complete (jquery.min.js, line 3)
j (jquery.min.js, line 2)
add (jquery.min.js, line 2)
Xb (jquery.min.js, line 3)
g (jquery.min.js, line 3)
dequeue (jquery.min.js, line 3)
complete (jquery.min.js, line 3)
j (jquery.min.js, line 2)
fireWith (jquery.min.js, line 2)
i (jquery.min.js, line 3)
tick (jquery.min.js, line 3)
Although the fault was sloppiness on my part, it would be great if ion.sound could, for the sake of Safari, handle and ignore (maybe with a console warning) any attempt to stop an already-stopped sound :)