angular.module('soundmist').directive('whisper', function (Player, API) {
  return {
    restrict: 'E',
    scope: {
      track: '=track',
      queue: '=queue'
    },
    replace: true,
    transclude: true,
    templateUrl: 'directives/whisper/whisper.html',
    link: function (scope, element, attrs) {
      scope.Player = Player
      scope.API = API

      API.ready.promise.then(() => {
        scope.playlists = cache.playlists
        console.log(scope.playlists)
      })

      let duration = scope.track.duration / 1000
      var minutes = '0' + Math.floor(duration / 60)
      var seconds = '0' + (duration - minutes * 60);
      scope.duration = minutes.substr(-2) + ':' + seconds.substr(-2);
    }
  }
})

angular.module('soundmist').directive('whisper', function (Player, API) {
  return {
    restrict: 'E',
    scope: {
      track: '=track',
      queue: '=queue'
    },
    replace: true,
    transclude: true,
    templateUrl: 'directives/whisper/whisper.html',
    link: function (scope, element, attrs) {
      scope.Player = Player
      scope.API = API

      let duration = scope.track.duration / 1000
      var minutes = '0' + Math.floor(duration / 60)
      var seconds = '0' + (duration - minutes * 60);
      scope.duration = minutes.substr(-2) + ':' + seconds.substr(-2);
    }
  }
})

Remove leftover testing code