Playlist draft

This commit is contained in:
Gregory Eremin
2012-09-10 03:47:36 +04:00
parent d1a5b11489
commit baa680e7b5
14 changed files with 96 additions and 28 deletions
@@ -13,6 +13,7 @@
#= require backbone_datalink
#= require backbone/beat_haven
#= require locale/en
#= require locale/ru
#= require bootstrap-dropdown
#= require bootstrap-tooltip
@@ -1,6 +1,8 @@
#= require_self
#= require_tree ./modules
#= require_tree ./templates
#= require_tree ./models
#= require_tree ./collections
#= require_tree ./views
#= require_tree ./routers
#= require ./i18n
@@ -6,9 +6,13 @@ class BeatHaven.Models.Player extends Backbone.Model
move_it_mousedown: false
initialize: ->
@playlist = new BeatHaven.Collections.Tracklist()
@playlist = new BeatHaven.Modules.Playlist()
@tracks = new BeatHaven.Collections.Tracklist()
#
# Actions
#
play: (track) ->
unless track?
if @current_track?
@@ -61,6 +65,20 @@ class BeatHaven.Models.Player extends Backbone.Model
return false unless nodes.length > 0
@tracks.get(parseInt($(nodes[0]).data("id"), 10)).play()
#
# Playlist
#
add_track_to_playlist: (track) ->
@playlist.add(track).render()
remove_track_from_playlist: (track) ->
@playlist.remove(track).render()
#
# Supportive
#
update_title: (params) ->
$(".player .progress-bar .title").html("#{params.artists.join(', ')} — #{params.track}")
@@ -15,9 +15,9 @@ class BeatHaven.Models.Track extends Backbone.Model
artists: @.get("artists")
track: @.get("title")
)
unless @.get("sm_obj")?
this.add_to_library(autoload: true, autoplay: false)
BH.Player.play(this)
# unless @.get("sm_obj")?
# this.add_to_library(autoload: true, autoplay: false)
# BH.Player.play(this)
$(".artist-page .tracks li[data-id]").removeClass("now-playing").removeClass("paused")
this.node().addClass("now-playing")
@@ -0,0 +1,6 @@
class BeatHaven.Modules.Playlist
selector: ".playlist"
tracks: null
initialize: ->
@tracks = new BeatHaven.Collections.Tracklist()
@@ -7,6 +7,8 @@ $ ->
BH.Player.pause()
$(".player .controls .next").live "click", (e) ->
BH.Player.next()
$(".player .controls .playlist-toggle").live "click", (e) ->
$(".playlist").toggle()
$(".player .move-it")
.live "mousedown", (e) ->
@@ -0,0 +1,5 @@
$ ->
$(".album-play").live "mouseup", (e) ->
$(this).parents(".album").find(".tracks li:first .track-play").trigger("mouseup")
$(".album-add").live "mouseup", (e) ->
$(this).parents(".album").find(".tracks li .track-add").trigger("mouseup")
@@ -1,9 +1,16 @@
$ ->
$(".track-play").live "click", (e) ->
$(".track-play").live "mouseup", (e) ->
e.preventDefault()
id = parseInt($(this).parent().data("id"), 10)
BH.Player.playlist_on = false
BH.Player.tracks.get(id).play()
$(".track-pause").live "click", (e) ->
$(".track-pause").live "mouseup", (e) ->
e.preventDefault()
id = parseInt($(this).parent().data("id"), 10)
BH.Player.tracks.get(id).pause()
$(".track-add").live "mouseup", (e) ->
e.preventDefault()
id = parseInt($(this).parent().data("id"), 10)