anchor.diff:  
     Duration _lastSeek;
   
  +  Future<String> Function(Audio) onPlay;
  +
     /// returns the looping state : true -> looping, false -> not looping
     bool get loop => _loop.value;
     bool get shuffle => _loop.value;
  
positive.code:     loop = !loop;
    }
  
    void toggleShuffle() {
      shuffle = !shuffle;
    }
  
negative.code:         }
          _lastOpenedAssetsAudio = audio;
          /*final result = */
  
          await _sendChannel.invokeMethod('open', params);
  
          _playlistFinished.value = false;
  