code: function() {
        var self = this;
        var args = arguments;
        var loop, id, sound;
  
        // Determine the values for loop and id.
        if (args.length === 0) {
          // Return the grou's loop value.
          return self._loop;
        } else if (args.length === 1) {
          if (typeof args[0] === 'boolean') {
            loop = args[0];
            self._loop = loop;
          } else {
            // Return this sound's loop value.
            sound = self._soundById(parseInt(args[0], 10));
            return sound ? sound._loop : false;
          }
        } else if (args.length === 2) {
          loop = args[0];
          id = parseInt(args[1], 10);
        }
  
        // If no id is passed, get all ID's to be looped.
        var ids = self._getSoundIds(id);
        for (var i=0; i<ids.length; i++) {
          sound = self._soundById(ids[i]);
  
          if (sound) {
            sound._loop = loop;
            if (self._webAudio && sound._node && sound._node.bufferSource) {
              sound._node.bufferSource.loop = loop;
              if (loop) {
                sound._node.bufferSource.loopStart = sound._start || 0;
                sound._node.bufferSource.loopEnd = sound._stop;
              }
            }
          }
        }
  
        return self;
      }
docs: Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.
  loop() -> Returns the group's loop value.
  loop(id) -> Returns the sound id's loop value.
  loop(loop) -> Sets the loop value for all sounds in this Howl group.
  loop(loop, id) -> Sets the loop value of passed sound id.
  @return {Howl/Boolean} Returns self or current loop value.