diff --git a/index.html b/index.html index 62aa70e..bd188a5 100755 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - + @@ -129,13 +129,8 @@
- + + @@ -199,6 +194,9 @@

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;