Playback, import fixes

This commit is contained in:
Gregory Eremin
2012-09-17 12:25:38 +04:00
parent a29f4433ca
commit e8fa9e4cda
14 changed files with 80 additions and 43 deletions
@@ -1,6 +1,7 @@
#= require jquery
#= require jquery_ujs
#= require jquery.autocomplete
#= require jquery.neighbour
#= require bootstrap-dropdown
#= require bootstrap-tooltip
@@ -47,18 +47,18 @@ class BeatHaven.Models.Player extends Backbone.Model
if @playlist_on
# not implemented
else
nodes = @current_track.node().next()
return false unless nodes.length == 1
@tracks.get(parseInt($(nodes[0]).data("id"), 10)).play()
node = $(".tracks li.now-playing").neighbour(".tracks li", 1)
return false unless node?
@tracks.get(parseInt($(node).data("id"), 10)).play()
prev: ->
return false unless @current_track?
if @playlist_on
# not implemented
else
nodes = @current_track.node().prev()
return false unless nodes.length == 1
@tracks.get(parseInt($(nodes[0]).data("id"), 10)).play()
node = $(".tracks li.now-playing").neighbour(".tracks li", -1)
return false unless node?
@tracks.get(parseInt($(node).data("id"), 10)).play()
play_something: ->
nodes = $(".artist-page .tracks li[data-id]")
@@ -28,6 +28,7 @@ class BeatHaven.Models.Track extends Backbone.Model
self.start()
add_to_library: (params) ->
self = this
obj = soundManager.createSound
id: @.get("id")
url: @.get("url")
@@ -39,8 +40,10 @@ class BeatHaven.Models.Track extends Backbone.Model
BH.Player.update_progress_bar(this)
onfinish: ->
BH.Player.next()
self.node().removeClass("now-playing").removeClass("paused")
ondataerror: ->
BH.Player.next()
self.node().removeClass("now-playing").removeClass("paused")
@.set("sm_obj", obj)
node: ->
@@ -1,7 +1,7 @@
<div class="artist-page">
<div class="artist-page single-album">
<h1 class="title">{{album_title}} ({{album_year}})</h1>
<div class="album">
<div class="pic">
<div class="album row">
<div class="pic span3">
<img src="{{album_pic}}" alt="{{album_title}}"><br>
<div class="bh-underlay-blue">
<a href="" class="btn btn-bh-dark album-add">
@@ -16,30 +16,32 @@
</a>
</div> -->
</div>
<ul class="tracks">
{{#album_tracks}}
<li data-id="{{track_id}}">
<a href="" class="btn btn-round track-play" data-translate-title="artist.album.track.play" title="{{i18n_play}}">
<i class="icon-play"></i>
</a>
<a href="" class="btn btn-round track-pause" data-translate-title="artist.album.track.pause" title="{{i18n_pause}}">
<i class="icon-pause"></i>
</a>
<div class="title">
<div class="inner">
<a href="{{track_url}}" class="track-link">{{track_title}}</a>
<span class="delimiter">&mdash;</span>
<ul class="artists">
{{#track_artists}}<li><a href="{{artist_url}}" class="artist-page">{{artist_title}}</a></li>{{/track_artists}}
</ul>
<div class="span9">
<ul class="tracks">
{{#album_tracks}}
<li data-id="{{track_id}}">
<a href="" class="btn btn-round track-play" data-translate-title="artist.album.track.play" title="{{i18n_play}}">
<i class="icon-play"></i>
</a>
<a href="" class="btn btn-round track-pause" data-translate-title="artist.album.track.pause" title="{{i18n_pause}}">
<i class="icon-pause"></i>
</a>
<div class="title">
<div class="inner">
<a href="{{track_url}}" class="track-link">{{track_title}}</a>
<span class="delimiter">&mdash;</span>
<ul class="artists">
{{#track_artists}}<li><a href="{{artist_url}}" class="artist-page">{{artist_title}}</a></li>{{/track_artists}}
</ul>
</div>
</div>
</div>
<span class="length">{{track_length}}</span>
<a href="" class="btn btn-round track-add" data-translate-title="artist.album.track.add" title="{{i18n_add}}">
<i class="icon-plus"></i>
</a>
</li>
{{/album_tracks}}
</ul>
<span class="length">{{track_length}}</span>
<a href="" class="btn btn-round track-add" data-translate-title="artist.album.track.add" title="{{i18n_add}}">
<i class="icon-plus"></i>
</a>
</li>
{{/album_tracks}}
</ul>
</div>
</div>
</div>
@@ -1,12 +1,17 @@
class BeatHaven.Views.AlbumShow extends Backbone.View
template: HoganTemplates["backbone/templates/album/show"]
template: HoganTemplates["album/show"]
initialize: ->
@model.on("change", @render, this)
render: ->
if typeof @model.get("album_tracks") != "undefined"
@model.set "i18n_add", BH.I18n.t("artist.album.add")
@model.set "i18n_play", BH.I18n.t("artist.album.play")
for track_info in @model.get("album_tracks")
track_info["i18n_add"] = BH.I18n.t("artist.album.track.add")
track_info["i18n_play"] = BH.I18n.t("artist.album.track.play")
track_info["i18n_pause"] = BH.I18n.t("artist.album.track.pause")
track = new BeatHaven.Models.Track(track_info.meta)
BeatHaven.Player.tracks.push(track)
$(@el).html(@template.render(@model.toJSON()))
@@ -162,3 +162,13 @@
}
}
}
.artist-page.single-album {
.tracks > li {
width: 705px;
.title {
max-width: 615px;
}
}
}