dist/howler.js
function(event, fn, id, once) {
      var self = this;
      var events = self['_on' + event];

      if (typeof fn === 'function') {
        events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});
      }

      return self;
    }
function(event, fn, id, once) {
      var self = this;
      var events = self['_on' + event];

      if (typeof fn === 'function') {
        events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});
      }

      return self;
    }
function ( event , fn , id , once ) { var self = this ; var events = self [ '_on' + event ] ; if ( typeof fn === 'function' ) { events . push ( once ? { id : id , fn : fn , once : once } : { id : id , fn : fn } ) ; } return self ; }
Listen to a custom event.
@param  {String}   event Event name.
@param  {Function} fn    Listener to call.
@param  {Number}   id    (optional) Only listen to events for this sound.
@param  {Number}   once  (INTERNAL) Marks event to fire only once.
@return {Howl}
Listen to a custom event .