Options
+
+
+
diff --git a/js/app.js b/js/app.js
index ecfa880..73903c6 100755
--- a/js/app.js
+++ b/js/app.js
@@ -1,4 +1,4 @@
-// Global Variables
+// Global Variables
var debug = false;
var audio = null;
var hostURL = location.href;
@@ -85,13 +85,15 @@ function loadTabContent(tab) {
case '#tabPlaylists':
if (debug) { console.log("TAG PLAYLIST"); }
loadPlaylists();
- loadFolders();
+ loadFolders();
+ loadGenres();
break;
case '#tabPodcasts':
if (debug) { console.log("TAG PODCAST"); }
loadPodcasts();
break;
case '#tabPreferences':
+ getGenres();
break;
default:
break;
diff --git a/js/libs/api.js b/js/libs/api.js
index dd22083..a3507b0 100755
--- a/js/libs/api.js
+++ b/js/libs/api.js
@@ -130,6 +130,39 @@ function getMusicFolders() {
}
});
}
+function getGenres() {
+ var genres = 'Acid Rock,Acoustic,Alt Country,Alt/Indie,Alternative & Punk,Alternative Metal,Alternative,AlternRock,Awesome,Bluegrass,Blues,Blues-Rock,Classic Hard Rock,Classic Rock,Comedy,Country,Country-Rock,Dance,Dance-Rock,Deep Funk,Easy Listening,Electronic,Electronica,Electronica/Dance,Folk,Folk/Rock,Funk,Grunge,Hard Rock,Heavy Metal,Holiday,House,Improg,Indie Rock,Indie,International,Irish,Jam Band,Jam,Jazz Fusion,Jazz,Latin,Live Albums,Metal,Music,Oldies,Other,Pop,Pop/Rock,Post Rock,Progressive Rock,Psychedelic Rock,Psychedelic,Punk,R&B,Rap & Hip-Hop,Reggae,Rock & Roll,Rock,Rock/Pop,Roots,Ska,Soft Rock,Soul,Southern Rock,Thrash Metal,Unknown,Vocal,World';
+ var genresArr = genres.split(',');
+ var options = [];
+ options.push('
');
+ $.each(genresArr, function (i, genre) {
+ options.push('
');
+ });
+ $('#Genres').html(options.join(''));
+}
+function loadGenres(refresh) {
+ if (debug) { console.log("LOAD GENRES"); }
+ if (refresh) {
+ $('#AutoPlaylistContainer').empty();
+ }
+ var content = $('#AutoPlaylistContainer').html();
+ if (content === "") {
+ var genres = $.cookie('GenrePlaylists');
+ if (genres) {
+ var genresArr = genres.split(',');
+ //
Alternative
+ $.each(genresArr, function (i, genre) {
+ var html = "";
+ html += '
';
+ html += '' + genre + '';
+ html += '';
+ html += '';
+ html += '';
+ $(html).appendTo("#AutoPlaylistContainer");
+ });
+ }
+ }
+}
function getAlbums(id, action, appendto) {
$('.first').trigger('click');
$.ajax({
@@ -442,7 +475,6 @@ function loadFolders(refresh) {
});
}
}
-
function loadPlaylists(refresh) {
if (debug) { console.log("LOAD PLAYLISTS"); }
if (refresh) {
diff --git a/js/ui-ready.js b/js/ui-ready.js
index e77af42..828730f 100755
--- a/js/ui-ready.js
+++ b/js/ui-ready.js
@@ -1,7 +1,8 @@
-$(document).ready(function () {
+$(document).ready(function () {
//User config staff
$('#Username').val($.cookie('username'));
//$('#Password').val($.cookie('passwordenc'));
+ $('#GenrePlaylists').val($.cookie('GenrePlaylists'));
$('#AutoAlbumSize').val($.cookie('AutoAlbumSize'));
$('#AutoPlaylistSize').val($.cookie('AutoPlaylistSize'));
$('#Server').val($.cookie('Server'));
@@ -401,24 +402,24 @@ $(document).ready(function () {
});
return false;
});
+
// Playlist Click Events
$('#AutoPlaylistContainer li.item, #FolderContainer li.item').live('click', function () {
- $('#AutoPlaylistContainer li').removeClass('selected');
- $('#PlaylistContainer li').removeClass('selected');
+ $('#AutoPlaylistContainer li, #FolderContainer li, #PlaylistContainer li').removeClass('selected');
$(this).addClass('selected');
var genre = $(this).data('genre');
- var folder = $(this).data('folder');
+ var folder = $(this).data('folder');
getRandomSongList('', '#TrackContainer', genre, folder);
});
$('#AutoPlaylistContainer li.item a.play, #FolderContainer li.item a.play').live('click', function () {
- var genre = $(this).data('genre');
- var folder = $(this).data('folder');
+ var genre = $(this).data('genre');
+ var folder = $(this).data('folder');
getRandomSongList('autoplay', '#CurrentPlaylistContainer', genre, folder);
return false;
});
$('#AutoPlaylistContainer li.item a.add, #FolderContainer li.item a.add').live('click', function () {
- var genre = $(this).data('genre');
- var folder = $(this).data('folder');
+ var genre = $(this).data('genre');
+ var folder = $(this).data('folder');
getRandomSongList('', '#CurrentPlaylistContainer', genre, folder);
return false;
});
@@ -443,7 +444,7 @@ $(document).ready(function () {
});
$('#action_RefreshPlaylists').click(function () {
loadPlaylists(true);
- loadFolders(true);
+ loadFolders(true);
return false;
});
$('#action_DeletePlaylist').click(function () {
@@ -464,6 +465,20 @@ $(document).ready(function () {
}
return false;
});
+ $('#action_RemoveSongs').click(function () {
+ if ($('#TrackContainer tr.selected').length > 0) {
+ $('#TrackContainer tr.selected').each(function () {
+ $(this).remove();
+ });
+ }
+ return false;
+ });
+ $('#action_ShufflePlaylist').live('click', function () {
+ $('#TrackContainer tbody tr.song').shuffle();
+ refreshRowColor('#TrackContainer tbody');
+ return false;
+ });
+
// Podcast Click Events
$('#ChannelsContainer li.item').live('click', function () {
$('#AutoChannelsContainer li').removeClass('selected');
@@ -488,20 +503,6 @@ $(document).ready(function () {
loadPodcasts(true);
return false;
});
- // Current Playlist Click Events
- $('#action_RemoveSongs').click(function () {
- if ($('#TrackContainer tr.selected').length > 0) {
- $('#TrackContainer tr.selected').each(function () {
- $(this).remove();
- });
- }
- return false;
- });
- $('#action_ShufflePlaylist').live('click', function () {
- $('#TrackContainer tbody tr.song').shuffle();
- refreshRowColor('#TrackContainer tbody');
- return false;
- });
// Player Click Events
$('#PlayTrack').live('click', function () {
@@ -578,10 +579,12 @@ $(document).ready(function () {
if (password != "") {
$.cookie('passwordenc', 'enc:' + HexEncode(password), { expires: 365 });
}
+ var GenrePlaylists = $('#GenrePlaylists').val();
+ if (GenrePlaylists != '') { $.cookie('GenrePlaylists', GenrePlaylists, { expires: 365 }); }
var AutoAlbumSize = $('#AutoAlbumSize').val();
+ if (AutoAlbumSize != '') { $.cookie('AutoAlbumSize', AutoAlbumSize, { expires: 365 }); }
var AutoPlaylistSize = $('#AutoPlaylistSize').val();
- $.cookie('AutoAlbumSize', AutoAlbumSize, { expires: 365 });
- $.cookie('AutoPlaylistSize', AutoPlaylistSize, { expires: 365 });
+ if (AutoPlaylistSize != '') { $.cookie('AutoPlaylistSize', AutoPlaylistSize, { expires: 365 }); }
var server = $('#Server').val();
if (server != "") {
$.cookie('Server', server, { expires: 365 });
@@ -592,6 +595,17 @@ $(document).ready(function () {
}
location.reload(true);
});
+ $('#Genres').live('change', function () {
+ var genre = $(this).val();
+ var currentGenres = $('#GenrePlaylists').val();
+ var newGenres;
+ if (currentGenres == '') {
+ newGenres = genre;
+ } else {
+ newGenres = currentGenres + ', ' + genre;
+ }
+ $('#GenrePlaylists').val(newGenres);
+ });
$('#HideAZ').live('click', function () {
if ($('#HideAZ').is(':checked')) {
$.cookie('HideAZ', '1', { expires: 365 });
@@ -686,5 +700,5 @@ $(document).ready(function () {
}
}).disableSelection();
-}); // End document.ready
+}); // End document.ready
diff --git a/style/Style.css b/style/Style.css
index 3a64326..e484225 100755
--- a/style/Style.css
+++ b/style/Style.css
@@ -1114,6 +1114,10 @@ select
margin: 5px;
border: 1px solid #d6d6d6;
}
+select.large
+{
+ width: 192px;
+}
select#SearchType
{
margin: 0;