$ = jQuery
context = window
logger = context.JK.logger
rest = context.JK.Rest()
EVENTS = context.JK.EVENTS


JamTrackPreviewActions = @JamTrackPreviewActions

@JamTrackPreviewStore = Reflux.createStore(
  {
    listenables: JamTrackPreviewActions
    logger: context.JK.logger
    nowPlaying: []

    init: ->
      # Register with the app store to get @app
      this.listenTo(context.AppStore, this.onAppInit)

    onAppInit: (app) ->
      @app = app

    onStartedPlaying: (preview) ->

      for playingSound in @nowPlaying
        playingSound.issueStop()
      @nowPlaying = []
      @nowPlaying.push(preview)

    onStoppedPlaying: (preview) ->
      @nowPlaying.splice(preview)
      if @nowPlaying.length > 0
        @logger.warn("multiple jamtrack previews playing")

    onScreenChange: () ->
      for playingSound in @nowPlaying
        playingSound.issueStop()
      @nowPlaying = []
  }
)