Skip to content

Commit

Permalink
Merge pull request #201 from xbmc/develop
Browse files Browse the repository at this point in the history
Develop to master 2.4.0
  • Loading branch information
jez500 authored Jan 8, 2017
2 parents 7349973 + 8e91c87 commit f3f7eb4
Show file tree
Hide file tree
Showing 132 changed files with 3,060 additions and 474 deletions.
26 changes: 26 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
Version 2.4.0
-------------
* Fixed edge case bug when navigating away from large lists
* Fixed issue with volume bar bouncing around after vol change
* Ensure all strings using sprintf are translatable #198
* Added ability to thumbs up currently playing item via playlist
* If item is already in playlist when click play, it will play the item in the playlist rather than adding it again
* Fixed bug where you were unable to local play a single song
* Added ability to thumbs up media from details page
* Search artists looks at all artists not just album artists
* Prevented moving the currently playing item within the playlist due to the adverse effects it causes #196
* Fix playing position after playlist clear then add whilst item is still playing #195
* Enabled selecting items using command key in osX
* Added workaround for addons and files missing title and thumb in playlist
* Added 'Top music' section to browse most played albums and songs
* Added ability to refresh/re-scrape movies, tv and episodes
* Listen for media updates from Kodi and refresh the UI if that media is visible
* Removed theaudiodb external search
* Rendering performance improvements with large collections, especially songs
* Added section to browse all music genres, added landing page per genre with artist/album/songs in that genre
* Added Spanish translation #194
* Updated Polish translation #193
* Spelling Corrections #192
* New settings page for adding custom add-on search to main Chorus search
* Browser updates: ability to download files, ability to sort #188, added folder actions (queue/play folder) #131

Version 2.3.9
-------------
* Added Add-on section with the ability to browse and execute enabled addons #182
Expand Down
2 changes: 1 addition & 1 deletion dist/lang/en/license.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ <h2 id="included-images">Included Images</h2>
<p>All photos used within Chorus are licensed under <a href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons Zero</a>
which means you can copy, modify, distribute and use the photos for free. Images have been sourced from:</p>
<ul>
<li><a href="https://unsplash.com">Unslplash</a> - <a href="https://unsplash.com/license">CC0 License</a></li>
<li><a href="https://unsplash.com">Unsplash</a> - <a href="https://unsplash.com/license">CC0 License</a></li>
<li><a href="https://www.pexels.com">Pexels</a> - <a href="https://www.pexels.com/photo-license/">CC0 License</a></li>
</ul>
<p>Other included images and gifs have been hand crafted by <a href="http://jez.me">Jeremy Graham</a></p>
Expand Down
2 changes: 1 addition & 1 deletion dist/lib/icons/icomoon.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"icomoon-feed": "feed",
"icomoon-feed2": "feed2",
"icomoon-youtube": "youtube",
"icomoon-picassa": "picassa",
"icomoon-picasa": "picasa",
"icomoon-github": "github",
"icomoon-github2": "github2",
"icomoon-github3": "github3",
Expand Down
2 changes: 1 addition & 1 deletion dist/lib/icons/mdi.json
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@
"mdi-image-wb-auto": "image wb-auto",
"mdi-image-wb-cloudy": "image wb-cloudy",
"mdi-image-wb-incandescent": "image wb-incandescent",
"mdi-image-wb-irradescent": "image wb-irradescent",
"mdi-image-wb-iridescent": "image wb-iridescent",
"mdi-image-wb-sunny": "image wb-sunny",
"mdi-maps-beenhere": "maps beenhere",
"mdi-maps-directions": "maps directions",
Expand Down
4 changes: 2 additions & 2 deletions dist/themes/base/fonts/icomoon/demo.html
Original file line number Diff line number Diff line change
Expand Up @@ -815,10 +815,10 @@ <h1 class="mvm mtn fgc1">Grid Size: 16</h1>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-picassa">
<span class="icon-picasa">

</span>
<span class="mls"> icon-picassa</span>
<span class="mls"> icon-picasa</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e638" class="unit size1of2" />
Expand Down
4 changes: 2 additions & 2 deletions dist/themes/base/fonts/icomoon/selection.json
Original file line number Diff line number Diff line change
Expand Up @@ -1298,7 +1298,7 @@
"M704 394.26l-364.456-364.456c53.89-19.276 111.94-29.804 172.456-29.804 67.904 0 132.704 13.25 192 37.256v357.004zM768 704v-635.486c153.034 88.528 256 253.978 256 443.486 0 67.904-13.25 132.704-37.256 192h-218.744zM320 768h635.486c-88.528 153.034-253.978 256-443.486 256-67.904 0-132.704-13.25-192-37.256v-218.744zM426.26 224l-411.282 411.282c-9.764-39.49-14.978-80.774-14.978-123.282 0-193.382 107.226-361.702 265.452-448.808l160.808 160.808zM256 501.74v453.746c-94.596-54.722-170.036-138.848-213.874-239.872l213.874-213.874z"
],
"tags": [
"picassa",
"picasa",
"social"
],
"grid": 16,
Expand All @@ -1310,7 +1310,7 @@
"order": 11,
"prevSize": 32,
"code": 58936,
"name": "picassa"
"name": "picasa"
},
"setIdx": 2,
"setId": 1,
Expand Down
2 changes: 1 addition & 1 deletion dist/themes/base/fonts/icomoon/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@
.icon-youtube:before {
content: "\e637";
}
.icon-picassa:before {
.icon-picasa:before {
content: "\e638";
}
.icon-github:before {
Expand Down
5 changes: 4 additions & 1 deletion src/js/app.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@
keyboardControl: 'kodi'
disableThumbs: false
showDeviceName: false
refreshIgnoreNFO: true
}

## The App Inance
## The App Instance
@Kodi = do (Backbone, Marionette) ->

App = new Backbone.Marionette.Application()
Expand All @@ -49,3 +50,5 @@ $(document).ready =>
Kodi.start()
# Start material
$.material.init()
# Bind to scroll/resize for redraw trigger
helpers.ui.bindOnScrollResize()
6 changes: 4 additions & 2 deletions src/js/apps/addon/addon_app.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
@addonController().getEnabledAddons true, (addons) ->
config.setLocal "addOnsEnabled", addons
config.setLocal "addOnsLoaded", true
config.setLocal "addOnsSearchSettings", API.getSearchSettings(addons)
config.set 'app', "addOnsSearchSettings", API.getSearchSettings(addons)
if callback
callback addons
addons
Expand Down Expand Up @@ -85,4 +85,6 @@

# Request excluded breadcrumb paths
App.reqres.setHandler 'addon:search:enabled', ->
config.getLocal "addOnsSearchSettings", []
settings = config.get 'app', "addOnsSearchSettings", []
settings = settings.concat App.request('searchAddons:entities').toJSON()
settings
8 changes: 4 additions & 4 deletions src/js/apps/album/edit/edit_controller.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
@model = @getOption('model')
options = {
title: '<span>' + tr('Edit') + '</span>' + @model.get('title')
form: @getSructure()
form: @getStructure()
formState: @model.attributes
config:
attributes: {class: 'edit-form'}
Expand All @@ -17,7 +17,7 @@
}
form = App.request "form:popup:wrapper", options

getSructure: ->
getStructure: ->
[
{
title: 'General'
Expand Down Expand Up @@ -47,5 +47,5 @@
saveCallback: (data, formView) ->
controller = App.request "command:kodi:controller", 'audio', 'AudioLibrary'
controller.setAlbumDetails @model.get('id'), data, =>
helpers.entities.triggerUpdate @model, data
Kodi.execute "notification:show", t.sprintf("Updated %1$s details", 'album')
Kodi.vent.trigger 'entity:kodi:update', @model.get('uid')
Kodi.execute "notification:show", t.sprintf(tr("Updated %1$s details"), 'album')
7 changes: 3 additions & 4 deletions src/js/apps/album/list/list_controller.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@
App.listenTo view, 'childview:album:edit', (parent, item) ->
App.execute 'album:edit', item.model

getAlbumsList: (collection, set = false) ->
viewName = if set then 'AlbumsSet' else 'Albums'
view = new List[viewName]
getAlbumsList: (collection) ->
view = new List.Albums
collection: collection
API.bindTriggers(view)
view
Expand Down Expand Up @@ -74,4 +73,4 @@

## handler for other modules to get a list view.
App.reqres.setHandler "album:list:view", (collection) ->
API.getAlbumsList collection, true
API.getAlbumsList collection
14 changes: 4 additions & 10 deletions src/js/apps/album/list/list_view.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@
@setMeta()
@model.set(App.request('album:action:items'))
setMeta: ->
artist = if @model.get('artist') != '' then @model.get('artist') else '&nbsp;'
artistLink = @themeLink artist, helpers.url.get('artist', @model.get('artistid'))
@model.set subtitle: artistLink
if @model
artist = if @model.get('artist') != '' then @model.get('artist') else '&nbsp;'
artistLink = @themeLink artist, helpers.url.get('artist', @model.get('artistid'))
@model.set subtitle: artistLink

class List.Empty extends App.Views.EmptyViewResults
tagName: "li"
Expand All @@ -30,10 +31,3 @@
tagName: "ul"
sort: 'artist'
className: "card-grid--square"

class List.AlbumsSet extends App.Views.CollectionView
childView: List.AlbumTeaser
emptyView: List.Empty
tagName: "ul"
sort: 'artist'
className: "card-grid--square"
2 changes: 1 addition & 1 deletion src/js/apps/album/show/show_controller.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
getMusic: (id) ->
options =
filter: {albumid: id}
## Get all the songs and parse them into sepetate album collections.
## Get all the songs and parse them into separate album collections.
songs = App.request "song:entities", options
App.execute "when:entity:fetched", songs, =>
albumView = new Show.WithSongsLayout()
Expand Down
6 changes: 4 additions & 2 deletions src/js/apps/album/show/show_view.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,15 @@

class Show.AlbumTeaser extends App.AlbumApp.List.AlbumTeaser
tagName: "div"
className: "card-minimal"
initialize: ->
@setMeta()
@model.set(App.request('album:action:items'))
setMeta: ->
@model.set
subtitle: @themeLink @model.get('year'), 'music/albums?year=' + @model.get('year')
attributes: ->
@watchedAttributes 'card-minimal'

class Show.AlbumDetailTeaser extends Show.AlbumTeaser
className: "card-detail"
attributes: ->
@watchedAttributes 'card-detail'
1 change: 0 additions & 1 deletion src/js/apps/album/show/tpl/details_meta.jst.eco
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
<li class="dropdown-submenu external-search"><%= tr('External Search') %>
<ul class="dropdown-menu">
<li data-type="google" data-query="<%= @artist %> <%= @label %>">Google</li>
<li data-type="audiodb" data-query="<%= @artist %>">AudioDb</li>
<li data-type="soundcloud" data-query="<%= @artist %>">SoundCloud</li>
</ul>
</li>
Expand Down
8 changes: 4 additions & 4 deletions src/js/apps/artist/edit/edit_controller.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
@model = @getOption('model')
options = {
title: '<span>' + tr('Edit') + '</span>' + @model.get('artist')
form: @getSructure()
form: @getStructure()
formState: @model.attributes
config:
attributes: {class: 'edit-form'}
Expand All @@ -17,7 +17,7 @@
}
form = App.request "form:popup:wrapper", options

getSructure: ->
getStructure: ->
[
{
title: 'General'
Expand Down Expand Up @@ -48,5 +48,5 @@
saveCallback: (data, formView) ->
controller = App.request "command:kodi:controller", 'audio', 'AudioLibrary'
controller.setArtistDetails @model.get('id'), data, =>
helpers.entities.triggerUpdate @model, data, [], ['artist']
Kodi.execute "notification:show", t.sprintf("Updated %1$s details", 'album')
Kodi.vent.trigger 'entity:kodi:update', @model.get('uid')
Kodi.execute "notification:show", t.sprintf(tr("Updated %1$s details"), 'album')
7 changes: 3 additions & 4 deletions src/js/apps/artist/list/list_controller.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@
App.listenTo view, 'childview:artist:edit', (parent, item) ->
App.execute 'artist:edit', item.model

getArtistList: (collection, set = false) ->
viewName = if set then 'ArtistsSet' else 'Artists'
view = new List[viewName]
getArtistList: (collection) ->
view = new List.Artists
collection: collection
API.bindTriggers view
view
Expand Down Expand Up @@ -74,4 +73,4 @@

## handler for other modules to get a list view.
App.reqres.setHandler "artist:list:view", (collection) ->
API.getArtistList collection, true
API.getArtistList collection
6 changes: 0 additions & 6 deletions src/js/apps/artist/list/list_view.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,3 @@
emptyView: List.Empty
tagName: "ul"
className: "card-grid--wide"

class List.ArtistsSet extends App.Views.CollectionView
childView: List.ArtistTeaser
emptyView: List.Empty
tagName: "ul"
className: "card-grid--wide"
5 changes: 4 additions & 1 deletion src/js/apps/artist/show/show_view.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,7 @@

class Show.ArtistTeaser extends App.ArtistApp.List.ArtistTeaser
tagName: "div"
className: "card-detail"
initialize: ->
@model.set(actions: {thumbs: tr('Thumbs up')})
attributes: ->
@watchedAttributes 'card-detail'
2 changes: 1 addition & 1 deletion src/js/apps/artist/show/tpl/details_meta.jst.eco
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<li class="dropdown-submenu external-search"><%= tr('External Search') %>
<ul class="dropdown-menu">
<li data-type="google" data-query="<%= @label %>">Google</li>
<li data-type="audiodb" data-query="<%= @label %>">AudioDb</li>
<li data-type="soundcloud" data-query="<%= @label %>">SoundCloud</li>
</ul>
</li>
<li class="youtube-search" data-query="<%= @label %>"><%= tr('YouTube Search') %></li>
Expand Down
2 changes: 1 addition & 1 deletion src/js/apps/audioStream/init.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ soundManager.setup({
onready: ->
$(window).trigger 'audiostream:ready'
ontimeout: ->
$(window).trigger 'audiostream:timout'
$(window).trigger 'audiostream:timeout'
soundManager.flashLoadTimeout = 0 # When restarting, wait indefinitely for flash
soundManager.onerror = {} # Prevent an infinite loop, in case it's not flashblock
soundManager.reboot() # Reboot
Expand Down
Loading

0 comments on commit f3f7eb4

Please sign in to comment.