diff --git a/data/interfaces/lossless/album.html b/data/interfaces/classic/album.html similarity index 56% rename from data/interfaces/lossless/album.html rename to data/interfaces/classic/album.html index 6dac1ad8..16c1a4ef 100644 --- a/data/interfaces/lossless/album.html +++ b/data/interfaces/classic/album.html @@ -6,31 +6,29 @@ <%def name="headerIncludes()">
-
- Delete Album +
+
- « Back to ${album['ArtistName']} <%def name="body()">
-
-
- albumart -
- +

<- Back to ${album['ArtistName']}

+
+ albumart

${album['AlbumTitle']}

${album['ArtistName']}

+
<% totalduration = myDB.action("SELECT SUM(TrackDuration) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] totaltracks = len(myDB.select("SELECT TrackTitle from tracks WHERE AlbumID=?", [album['AlbumID']])) @@ -40,16 +38,12 @@ albumduration = 'n/a' %> -
- %if description: -

${description['Summary']}

- %endif -
    -
  • Tracks: ${totaltracks}
  • -
  • Duration: ${albumduration}
  • -
-
- +

Tracks: ${totaltracks}

+

Duration: ${albumduration}

+ %if description: +

Description:

+ ${description['Summary']} + %endif
@@ -122,25 +116,21 @@ <%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/classic/artist.html b/data/interfaces/classic/artist.html new file mode 100644 index 00000000..98b539ad --- /dev/null +++ b/data/interfaces/classic/artist.html @@ -0,0 +1,165 @@ +<%inherit file="base.html"/> +<%! + from headphones import db + import headphones +%> + +<%def name="headerIncludes()"> +
+ +
+ + +<%def name="body()"> +
+

${artist['ArtistName']}

+ %if artist['Status'] == 'Loading': +

(Album information for this artist is currently being loaded)

+ %endif +
+ +

Mark selected albums as + + +

+
+ + + + + + + + + + + + + + + %for album in albums: + <% + if album['Status'] == 'Skipped': + grade = 'Z' + elif album['Status'] == 'Wanted': + grade = 'X' + elif album['Status'] == 'Snatched': + grade = 'C' + else: + grade = 'A' + + myDB = db.DBConnection() + totaltracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=?', [album['AlbumID']])) + havetracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=? AND Location IS NOT NULL', [album['AlbumID']])) + len(myDB.select('SELECT TrackTitle from have WHERE ArtistName like ? AND AlbumTitle LIKE ?', [album['ArtistName'], album['AlbumTitle']])) + + try: + percent = (havetracks*100.0)/totaltracks + if percent > 100: + percent = 100 + except (ZeroDivisionError, TypeError): + percent = 0 + totaltracks = '?' + + avgbitrate = myDB.action("SELECT AVG(BitRate) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] + if avgbitrate: + bitrate = str(int(avgbitrate)/1000) + ' kbps' + else: + bitrate = '' + + albumformatcount = myDB.action("SELECT COUNT(DISTINCT Format) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] + if albumformatcount == 1: + albumformat = myDB.action("SELECT DISTINCT Format FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] + elif albumformatcount > 1: + albumformat = 'Mixed' + else: + albumformat = '' + + lossy_formats = [str.upper(fmt) for fmt in headphones.LOSSY_MEDIA_FORMATS] + + %> + + + + + + + + + + + + %endfor + +
NameDateTypeStatusHaveBitrateFormat
${album['AlbumTitle']}${album['ReleaseDate']}${album['Type']}${album['Status']} + %if album['Status'] == 'Skipped': + [want] + %elif (album['Status'] == 'Wanted' or album['Status'] == 'Wanted Lossless'): + [skip] + %else: + [retry][new] + %endif + %if albumformat in lossy_formats and album['Status'] == 'Skipped': + [want lossless] + %elif albumformat in lossy_formats and (album['Status'] == 'Snatched' or album['Status'] == 'Downloaded'): + [retry lossless] + %endif +
${havetracks}/${totaltracks}
${bitrate}${albumformat}
+ + + +<%def name="headIncludes()"> + + %if artist['Status'] == 'Loading': + + %endif + + +<%def name="javascriptIncludes()"> + + + diff --git a/data/interfaces/classic/base.html b/data/interfaces/classic/base.html new file mode 100644 index 00000000..7053f803 --- /dev/null +++ b/data/interfaces/classic/base.html @@ -0,0 +1,107 @@ +<% + import headphones + from headphones import version +%> + + + + + + + + + + + Headphones - ${title} + + + + + + + + + ${next.headIncludes()} + + + + +
+
+ % if not headphones.CURRENT_VERSION: +
+ You're running an unknown version of Headphones. Click here to update +
+ % elif headphones.CURRENT_VERSION != headphones.LATEST_VERSION and headphones.INSTALL_TYPE != 'win': +
+ A newer version is available. You're ${headphones.COMMITS_BEHIND} commits behind. Click here to update +
+ % endif + + + +
+ ${next.headerIncludes()} +
+
+ +
+ ${next.body()} +
+ +
+
+ Version: ${headphones.CURRENT_VERSION} + %if version.HEADPHONES_VERSION != 'master': + (${version.HEADPHONES_VERSION}) + %endif +
+ +
+
+ + + + ${next.javascriptIncludes()} + + + + + + + + +<%def name="javascriptIncludes()"> +<%def name="headIncludes()"> +<%def name="headerIncludes()"> diff --git a/data/interfaces/classic/config.html b/data/interfaces/classic/config.html new file mode 100644 index 00000000..f75b5c50 --- /dev/null +++ b/data/interfaces/classic/config.html @@ -0,0 +1,669 @@ +<%inherit file="base.html"/> +<%! + import headphones +%> + +<%def name="headerIncludes()"> +
+ +
+ +<%def name="body()"> +
+

+

+
+
+

Web Interface

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

HTTP Host:

+
+ e.g. localhost or 0.0.0.0 +
+

HTTP Username:

+ +
+

HTTP Port:

+ +
+

HTTP Password:

+ +
+

Launch Browser on Startup:

+
+

Enable API:

+
+
+

API key:



+
+
+

NZB Search Interval:

+ mins +
+

Download Scan Interval:

+ mins +
+

Library Scan Interval:

+ mins +
+
+
+

Download Settings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

SABnzbd:

+
+

SABnzbd Host:


+ + usually http://localhost:8080 +
+

SABnzbd Username:

+
+

SABnzbd API:

+
+

SABnzbd Password:

+
+

SABnzbd Category:

+
+

Music Download Directory:


+ + Full path to the directory where SAB downloads your music
+ e.g. /Users/name/Downloads/music
+
+

Use Black Hole:

+
+

Black Hole Directory:


+ + Folder your Download program watches for NZBs +
+

Usenet Retention:

+
+



Torrent:

+
+

Black Hole Directory:


+ + Folder your Download program watches for Torrents +
+

Minimum seeders:


+ + Number of minimum seeders a torrent must have to be accepted +
+

Music Download Directory:


+ + Full path to the directory where your torrent client downloads your music
+ e.g. /Users/name/Downloads/music
+
+
+
+

Search Providers

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

SABnzbd:

+
+

NZBMatrix:

+
+

NZBMatrix Username:

+ +
+

NZBMatrix API:

+ +
+

Newznab:

+
+

Newznab Host:

+
+ e.g. http://nzb.su +
+

Newznab API:

+ +
+

NZBs.org:

+
+ +

NZBs.org API Key:

+ + +
+

Newzbin:

+
+

Newzbin UID:

+ + +
+

Newzbin Password:

+ +
+

Torrent:


+
+

Isohunt:


+
+

Mininova:


+
+

Kick Ass Torrents:

+
+
+
+

Quality & Post Processing

+ + + + + + + + + + +
+

Album Quality:


+

Highest Quality excluding Lossless

+

Highest Quality including Lossless

+

Lossless Only

+

Preferred Bitrate: + kbps

+ Auto-Detect Preferred Bitrate +
+

Post-Processing:

+

Move downloads to Destination Folder

+

Rename files

+

Correct metadata

+

Delete leftover files (.m3u, .nfo, .sfv, .nzb, etc.)

+

Add album art as 'folder.jpg' to album folder

+

Embed album art in each file

+

Embed lyrics

+
+
+ +

Path to Destination folder:

+
+ e.g. /Users/name/Music/iTunes or /Volumes/share/music +
+
+
+

Advanced Settings

+ + + + + + + + + + + + + +
+

Renaming Options:

+
+

Folder Format:


+ Use: $Artist/$artist, $Album/$album, $Year/$year, $Type/$type (release type) and $First/$first (first letter in artist name)
+ E.g.: $Type/$First/$artist/$album [$year] = Album/G/girl talk/all day [2010]
+

+

File Format:

+
+ Use: $Track/$track (track #), $Title/$title, $Artist/$artist, $Album/$album and $Year/$year +
+

Miscellaneous:

+
+

Automatically Include Extras When Adding an Artist

+ (EPs, Compilations, Live Albums, Remix Albums and Singles) +

Automatically Mark Upcoming Albums as Wanted

+

Automatically Mark All Albums as Wanted

+
+

Interface: +

+

Log Directory:

+
+

Re-Encoding Options:

+ Note: this option requires the lame or ffmpeg encoder +

+

Re-encode downloads during postprocessing

+
+
+

Only re-encode lossless files (.flac)

+
+ <% + if config['encoder'] == 'lame': + lameselect = 'selected="selected"' + ffmpegselect = '' + else: + lameselect = '' + ffmpegselect = 'selected="selected"' + %> +

Encoder: + + Format:

+
+ +

Audio Properties:

+
+

VBR/CBR: + + Quality:

+ +
+

Bitrate: + + <% + if config["samplingfrequency"] == 44100: + freq44100 = 'selected="selected"' + freq48000 = '' + else: + freq44100 = '' + freq48000 = 'selected="selected"' + %> + Sampling:

+
+
+

Advanced Encoding Options:

+

+ (ignores audio properties) +

+ +
+

Path to Encoder:

+
+
+

Notifications:


+

Enable Prowl Notifications


+
+

API key:



+

Notify on snatch?


+

Priority (-2,-1,0,1 or 2):



+
+

Enable XBMC Updates


+
+

XBMC Host:Port:


+ e.g. http://localhost:8080. Separate hosts with commas
+

XBMC Username:



+

XBMC Password:



+

Update XBMC Library


+

Send Notification to XBMC


+
+

Enable NotifyMyAndroid


+
+

NotifyMyAndroid API Key:


+ Separate multiple api keys with commas
+

Priority: +

+

+
+

Muscbrainz Mirror: + +
+

Host:

+

Port:

+

Sleep Interval:

+
+ +
+

Username:

+

Password:

+ Get an Account

+
+

+
+ +


+ (Web Interface changes require a restart to take effect) + + + +<%def name="javascriptIncludes()"> + + diff --git a/data/interfaces/classic/css/navbar.css b/data/interfaces/classic/css/navbar.css new file mode 100644 index 00000000..cb72e3a0 --- /dev/null +++ b/data/interfaces/classic/css/navbar.css @@ -0,0 +1,111 @@ +#nav { + margin: 0; + padding: 0px 0px 0; + border: solid 1px #6d6d6d; +} +#nav li { + margin: 0 10px; + padding: 5px; + float: left; + position: relative; + list-style: none; +} +/* main level link */ +#nav a { + font-weight: bold; + color: #e7e5e5; + text-decoration: none; + display: block; + padding: 8px 20px; + margin: 0; + text-shadow: 0 1px 1px rgba(0, 0, 0, .3); +} +/* main level link hover */ +#nav .current a, #nav li:hover > a { + background: #d1d1d1; /* for non-css3 browsers */ + color: #444; + border-top: solid 1px #f8f8f8; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .2); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, .2); + box-shadow: 0 1px 1px rgba(0, 0, 0, .2); + text-shadow: 0 1px 0 rgba(255, 255, 255, .8); +} +/* sub levels link hover */ +#nav ul li:hover a, #nav li:hover li a { + background: none; + border: none; + color: #666; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} +#nav ul a:hover { + background: #0399d4 !important; /* for non-css3 browsers */ + color: #fff !important; + -webkit-border-radius: 0; + -moz-border-radius: 0; + text-shadow: 0 1px 1px rgba(0, 0, 0, .1); +} +/* level 2 list */ +#nav ul { + background: #ddd; /* for non-css3 browsers */ + display: none; + margin: 0; + padding: 0; + width: 185px; + position: absolute; + top: 35px; + left: 0; + border: solid 1px #b4b4b4; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .3); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .3); + box-shadow: 0 1px 3px rgba(0, 0, 0, .3); +} +/* dropdown */ +#nav li:hover > ul { + display: block; +} +#nav ul li { + float: none; + margin: 0; + padding: 0; +} +#nav ul a { + font-weight: normal; + text-shadow: 0 1px 1px rgba(255, 255, 255, .9); +} +/* level 3+ list */ +#nav ul ul { + left: 181px; + top: -3px; +} +/* rounded corners for first and last child */ +#nav ul li:first-child > a { + -webkit-border-top-left-radius: 9px; + -moz-border-radius-topleft: 9px; + -webkit-border-top-right-radius: 9px; + -moz-border-radius-topright: 9px; +} +#nav ul li:last-child > a { + -webkit-border-bottom-left-radius: 9px; + -moz-border-radius-bottomleft: 9px; + -webkit-border-bottom-right-radius: 9px; + -moz-border-radius-bottomright: 9px; +} +/* clearfix */ +#nav:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} +#nav { + display: inline-block; +} +html[xmlns] #nav { + display: block; +} +* html #nav { + height: 1%; +} \ No newline at end of file diff --git a/data/interfaces/lossless/extras.html b/data/interfaces/classic/extras.html similarity index 68% rename from data/interfaces/lossless/extras.html rename to data/interfaces/classic/extras.html index fff485d5..d9dbbe2f 100644 --- a/data/interfaces/lossless/extras.html +++ b/data/interfaces/classic/extras.html @@ -1,9 +1,7 @@ <%inherit file="base.html" /> <%def name="body()"> -

-

extraArtists You Might Like

-
+

Artists You Might Like

    %for artist in cloudlist: diff --git a/data/interfaces/classic/history.html b/data/interfaces/classic/history.html new file mode 100644 index 00000000..ac7c4f6d --- /dev/null +++ b/data/interfaces/classic/history.html @@ -0,0 +1,85 @@ +<%inherit file="base.html"/> +<%! + from headphones import helpers +%> + +<%def name="headerIncludes()"> + + + +<%def name="body()"> +
    + History +
    + + + + + + + + + + + + %for item in history: + <% + if item['Status'] == 'Processed': + grade = 'A' + elif item['Status'] == 'Snatched': + grade = 'C' + elif item['Status'] == 'Unprocessed': + grade = 'X' + else: + grade = 'U' + + fileid = 'unknown' + if item['URL'].find('nzb') != -1: + fileid = 'nzb' + if item['URL'].find('torrent') != -1: + fileid = 'torrent' + %> + + + + + + + + %endfor + +
    Date AddedFile NameSizeStatus
    ${item['DateAdded']}${item['Title']} [${fileid}][album page]${helpers.bytes_to_mb(item['Size'])}${item['Status']}[retry][new]
    + + +<%def name="headIncludes()"> + + + +<%def name="javascriptIncludes()"> + + + \ No newline at end of file diff --git a/data/interfaces/lossless/index.html b/data/interfaces/classic/index.html similarity index 60% rename from data/interfaces/lossless/index.html rename to data/interfaces/classic/index.html index bf437622..83a594b6 100644 --- a/data/interfaces/lossless/index.html +++ b/data/interfaces/classic/index.html @@ -7,7 +7,6 @@ - @@ -47,14 +46,10 @@ if artist['Status'] == 'Paused': grade = 'X' - - if artist['Status'] == 'Loading': - grade = 'L' %> - - + @@ -65,42 +60,27 @@ <%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> - \ No newline at end of file diff --git a/data/interfaces/lossless/logs.html b/data/interfaces/classic/logs.html similarity index 83% rename from data/interfaces/lossless/logs.html rename to data/interfaces/classic/logs.html index 58c8cfeb..98004034 100644 --- a/data/interfaces/lossless/logs.html +++ b/data/interfaces/classic/logs.html @@ -1,12 +1,9 @@ -lossless<%inherit file="base.html"/> +<%inherit file="base.html"/> <%! from headphones import helpers %> <%def name="body()"> -
    -

    LogsLogs

    -
    Artist Name Status Latest Album
    ${artist['ArtistName']}${artist['ArtistName']} ${artist['Status']} ${albumdisplay}
    ${havetracks}/${totaltracks}
    @@ -36,7 +33,7 @@ lossless<%inherit file="base.html"/> <%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/classic/manage.html b/data/interfaces/classic/manage.html new file mode 100644 index 00000000..cf5a476a --- /dev/null +++ b/data/interfaces/classic/manage.html @@ -0,0 +1,74 @@ +<%inherit file="base.html" /> +<%! + import headphones + from headphones.helpers import checked +%> +<%def name="headerIncludes()"> +
    + +
    + + +<%def name="body()"> +
    +

    +

    +
    +

    Scan Music Library


    + Where do you keep your music?

    + You can put in any directory, and it will scan for audio files in that folder + (including all subdirectories)

    For example: '/Users/name/Music' +

    + It may take a while depending on how many files you have. You can navigate away from the page
    + as soon as you click 'Submit' +

    +
    + %if headphones.MUSIC_DIR: + + %else: + + %endif +
    +

    Automatically add new artists

    +

    + +
    + +
    +

    Import Last.FM Artists


    + Enter the username whose artists you want to import:

    +
    + <% + if headphones.LASTFM_USERNAME: + lastfmvalue = headphones.LASTFM_USERNAME + else: + lastfmvalue = 'Last.fm Username' + %> + +

    +
    + +
    +

    Placeholder :-)


    +

    +
    + +

    +
    + + + \ No newline at end of file diff --git a/data/interfaces/lossless/manageartists.html b/data/interfaces/classic/manageartists.html similarity index 51% rename from data/interfaces/lossless/manageartists.html rename to data/interfaces/classic/manageartists.html index 41fda9e0..368d653c 100644 --- a/data/interfaces/lossless/manageartists.html +++ b/data/interfaces/classic/manageartists.html @@ -1,37 +1,24 @@ -lossless<%inherit file="base.html" /> - - - -<%def name="headerIncludes()"> -
    -   -
    - « Back to manage overview - - +<%inherit file="base.html" /> <%def name="body()"> -
    -
    -

    manageManage Artists

    +
    +

    Manage Artists

    -
    -
    - selected artists - -
    + +

    - @@ -59,7 +46,6 @@ lossless<%inherit file="base.html" /> %> - @@ -68,44 +54,29 @@ lossless<%inherit file="base.html" />
    Artist Name Status Latest Album
    ${artist['ArtistName']} ${artist['Status']} ${albumdisplay}
    -
<%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> \ No newline at end of file diff --git a/data/interfaces/lossless/managenew.html b/data/interfaces/classic/managenew.html similarity index 53% rename from data/interfaces/lossless/managenew.html rename to data/interfaces/classic/managenew.html index cd141268..bea493b2 100644 --- a/data/interfaces/lossless/managenew.html +++ b/data/interfaces/classic/managenew.html @@ -1,28 +1,17 @@ -lossless<%inherit file="base.html" /> +<%inherit file="base.html" /> <%! import headphones %> - -<%def name="headerIncludes()"> - - « Back to manage overview - - - <%def name="body()"> -
-
-

manageManage New Artists

+
+

Manage New Artists

+

Scan Music Library

-
+

Add selected artists -

+

@@ -40,11 +29,10 @@ lossless<%inherit file="base.html" />
-
<%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> @@ -56,12 +44,9 @@ lossless<%inherit file="base.html" /> { "aaSorting": [[1, 'asc']], "bStateSave": false, - "bPaginate": false, - "oLanguage": { - "sSearch" : ""}, + "bPaginate": false }); -initActions(); }); \ No newline at end of file diff --git a/data/interfaces/classic/searchresults.html b/data/interfaces/classic/searchresults.html new file mode 100644 index 00000000..b02fedd6 --- /dev/null +++ b/data/interfaces/classic/searchresults.html @@ -0,0 +1,70 @@ +<%inherit file="base.html" /> + +<%def name="body()"> + +
+

Search Results

+

+ + + + %if type == 'album': + + %endif + + + + + + + %if searchresults: + %for result in searchresults: + <% + if result['score'] == 100: + grade = 'A' + else: + grade = 'Z' + %> + + %if type == 'album': + + %endif + + + %if type == 'album': + + %else: + + %endif + + %endfor + %endif + +
Album NameArtist NameScore
${result['title']}${result['uniquename']}${result['score']}Add this albumAdd this artist
+ + +<%def name="headIncludes()"> + + + +<%def name="javascriptIncludes()"> + + + \ No newline at end of file diff --git a/data/interfaces/lossless/shutdown.html b/data/interfaces/classic/shutdown.html similarity index 57% rename from data/interfaces/lossless/shutdown.html rename to data/interfaces/classic/shutdown.html index e28b34f3..be7ca21d 100644 --- a/data/interfaces/lossless/shutdown.html +++ b/data/interfaces/classic/shutdown.html @@ -1,4 +1,4 @@ -lossless<%inherit file="base.html"/> +<%inherit file="base.html"/> <%def name="headIncludes()"> @@ -7,7 +7,7 @@ lossless<%inherit file="base.html"/> <%def name="body()">
-

Headphones is ${message}

+

Headphones is ${message}

\ No newline at end of file diff --git a/data/interfaces/lossless/upcoming.html b/data/interfaces/classic/upcoming.html similarity index 60% rename from data/interfaces/lossless/upcoming.html rename to data/interfaces/classic/upcoming.html index 6fba69f1..5c209056 100644 --- a/data/interfaces/lossless/upcoming.html +++ b/data/interfaces/classic/upcoming.html @@ -1,51 +1,7 @@ -lossless<%inherit file="base.html" /> +<%inherit file="base.html" /> <%def name="body()"> - -
-

Wanted AlbumsWanted Albums

-
-
-
- Mark selected albums as - - -
-
- - - - - - - - - - - - - %for album in wanted: - - - - - - - - %endfor - -
ArtistAlbum NameRelease DateType
- ${album['ArtistName']}${album['AlbumTitle']}${album['ReleaseDate']}${album['Type']}
- - -
-
-

Upcoming AlbumsUpcoming Albums

-
+

Upcoming Albums

@@ -71,29 +27,60 @@ lossless<%inherit file="base.html" />
+ +
+

Mark selected albums as + + +

+
+

Wanted Albums

+ + + + + + + + + + + + + %for album in wanted: + + + + + + + + %endfor + +
ArtistAlbum NameRelease DateType
+ ${album['ArtistName']}${album['AlbumTitle']}${album['ReleaseDate']}${album['Type']}
+ +
<%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> \ No newline at end of file diff --git a/data/interfaces/default/album.html b/data/interfaces/default/album.html index 16c1a4ef..7f7028e0 100644 --- a/data/interfaces/default/album.html +++ b/data/interfaces/default/album.html @@ -6,29 +6,31 @@ <%def name="headerIncludes()">
- +
+ « Back to ${album['ArtistName']} <%def name="body()">
-

<- Back to ${album['ArtistName']}

-
- albumart +
+
+ albumart +
+

${album['AlbumTitle']}

${album['ArtistName']}

-
<% totalduration = myDB.action("SELECT SUM(TrackDuration) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] totaltracks = len(myDB.select("SELECT TrackTitle from tracks WHERE AlbumID=?", [album['AlbumID']])) @@ -38,12 +40,16 @@ albumduration = 'n/a' %> -

Tracks: ${totaltracks}

-

Duration: ${albumduration}

- %if description: -

Description:

- ${description['Summary']} - %endif +
+ %if description: +

${description['Summary']}

+ %endif +
    +
  • Tracks: ${totaltracks}
  • +
  • Duration: ${albumduration}
  • +
+
+
@@ -116,21 +122,25 @@ <%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/artist.html b/data/interfaces/default/artist.html index 98b539ad..4b418732 100644 --- a/data/interfaces/default/artist.html +++ b/data/interfaces/default/artist.html @@ -6,40 +6,47 @@ <%def name="headerIncludes()">
- +
+ « Back to overview <%def name="body()"> -
-

${artist['ArtistName']}

+
+
+ ${artist['ArtistName']} +
+

${artist['ArtistName']}

+
%if artist['Status'] == 'Loading':

(Album information for this artist is currently being loaded)

%endif
- -

Mark selected albums as - +

Mark selected albums as + - -

+ +

@@ -103,22 +110,22 @@ - + %endfor
${album['Type']} ${album['Status']} %if album['Status'] == 'Skipped': - [want] + [want] %elif (album['Status'] == 'Wanted' or album['Status'] == 'Wanted Lossless'): - [skip] + [skip] %else: - [retry][new] + [retry][new] %endif %if albumformat in lossy_formats and album['Status'] == 'Skipped': - [want lossless] + [want lossless] %elif albumformat in lossy_formats and (album['Status'] == 'Snatched' or album['Status'] == 'Downloaded'): - [retry lossless] + [retry lossless] %endif
${havetracks}/${totaltracks}
${bitrate} ${albumformat}
@@ -126,7 +133,8 @@ <%def name="headIncludes()"> - + + + diff --git a/data/interfaces/default/base.html b/data/interfaces/default/base.html old mode 100755 new mode 100644 index 7053f803..73f58392 --- a/data/interfaces/default/base.html +++ b/data/interfaces/default/base.html @@ -13,45 +13,50 @@ Headphones - ${title} - - + + - + + ${next.headIncludes()}
-
- % if not headphones.CURRENT_VERSION: +
+ % if not headphones.CURRENT_VERSION:
- You're running an unknown version of Headphones. Click here to update + You're running an unknown version of Headphones. Update or + Close
% elif headphones.CURRENT_VERSION != headphones.LATEST_VERSION and headphones.INSTALL_TYPE != 'win':
- A newer version is available. You're ${headphones.COMMITS_BEHIND} commits behind. Click here to update + A newer version is available. You're ${headphones.COMMITS_BEHIND} commits behind. Update or Close
% endif + +
+
-
- ${next.headerIncludes()} +
+
+ ${next.headerIncludes()} +
${next.body()}
+ Back to top
- - + + + + ${next.javascriptIncludes()} - - + + diff --git a/data/interfaces/default/config.html b/data/interfaces/default/config.html index f75b5c50..7bf380a8 100644 --- a/data/interfaces/default/config.html +++ b/data/interfaces/default/config.html @@ -5,531 +5,625 @@ <%def name="headerIncludes()"> <%def name="body()"> -
-

-

-
-
-

Web Interface

+ + +
+

settingsSettings

+
+ + +
+ +
+ + - - - - - - - - - - - - - - - - - - - - - - - - +
-

HTTP Host:

-
- e.g. localhost or 0.0.0.0 -
-

HTTP Username:

- -
-

HTTP Port:

- -
-

HTTP Password:

- -
-

Launch Browser on Startup:

-
-

Enable API:

-
-
-

API key:



-
-
-

NZB Search Interval:

- mins -
-

Download Scan Interval:

- mins -
-

Library Scan Interval:

- mins +
+
+ Basic +
+ + + e.g. localhost or 0.0.0.0 +
+
+ + +
+
+ + +
+ +
+ + +
+
+ +
+
+
+
+ API +
+ +
+
+ + + + Current API key: ${config['api_key']} +
+
+ +
+ Interval +
+ + mins +
+ +
+ + mins +
+ +
+ + mins +
+
-
-

Download Settings

+ +
- - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

SABnzbd:

+
+ SABnzbd +
+ + + usually http://localhost:8080 +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ Downloads +
+ + + Full path where SAB downloads your music. e.g. /Users/name/Downloads/music +
+
-

SABnzbd Host:


- - usually http://localhost:8080 +
+ Torrents +
+ + + Folder your Download program watches for Torrents +
+
+ + + Number of minimum seeders a torrent must have to be accepted +
+
+ + + Full path where your torrent client downloads your music e.g. /Users/name/Downloads/music +
+
+
+ Blackhole +
+ +
+
+
+ + + Folder your Download program watches for NZBs +
+
+
+ +
+
-

SABnzbd Username:

-
-

SABnzbd API:

-
-

SABnzbd Password:

-
-

SABnzbd Category:

-
-

Music Download Directory:


- - Full path to the directory where SAB downloads your music
- e.g. /Users/name/Downloads/music
-
-

Use Black Hole:

-
-

Black Hole Directory:


- - Folder your Download program watches for NZBs -
-

Usenet Retention:

-
-



Torrent:

-
-

Black Hole Directory:


- - Folder your Download program watches for Torrents -
-

Minimum seeders:


- - Number of minimum seeders a torrent must have to be accepted -
-

Music Download Directory:


- - Full path to the directory where your torrent client downloads your music
- e.g. /Users/name/Downloads/music
-
+ + +
-
-

Search Providers

+
- - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

SABnzbd:

+
+ NZBMatrix +
+ +
+
+
+ + +
+
+ + +
+
+
+ +
+ Newsnab +
+ +
+
+
+ + + e.g. http://nzb.su +
+
+ + +
+
+
-

NZBMatrix:

-
-

NZBMatrix Username:

- +
+ NZBs.org +
+ +
+
+
+ + +
+
+
+
+ Newsbin +
+ +
+
+
+ + +
+
+ + +
+
+
+
+ Torrents +
+ +
+
+ +
+
+
+
+
-

NZBMatrix API:

- -
-

Newznab:

-
-

Newznab Host:

-
- e.g. http://nzb.su -
-

Newznab API:

- -
-

NZBs.org:

-
- -

NZBs.org API Key:

- - -
-

Newzbin:

-
-

Newzbin UID:

- - -
-

Newzbin Password:

- -
-

Torrent:


-
-

Isohunt:


-
-

Mininova:


-
-

Kick Ass Torrents:

-
-
-

Quality & Post Processing

- +
+
+ Quality +
+ + + + +
+
+ + +
+ +
+ - - - - +
+ Post-Processing +
+ + + + + + + + +
+
+ + + e.g. /Users/name/Music/iTunes or /Volumes/share/music +
+
+
-

Album Quality:


-

Highest Quality excluding Lossless

-

Highest Quality including Lossless

-

Lossless Only

-

Preferred Bitrate: - kbps

- Auto-Detect Preferred Bitrate -
-

Post-Processing:

-

Move downloads to Destination Folder

-

Rename files

-

Correct metadata

-

Delete leftover files (.m3u, .nfo, .sfv, .nzb, etc.)

-

Add album art as 'folder.jpg' to album folder

-

Embed album art in each file

-

Embed lyrics

-
-
- -

Path to Destination folder:

-
- e.g. /Users/name/Music/iTunes or /Volumes/share/music -
-
-

Advanced Settings

- +
- - - - - - - + +
+ Renaming options +
+ + + Use: $Artist/$artist, $Album/$album, $Year/$year, $Type/$type (release type) and $First/$first (first letter in artist name) + E.g.: $Type/$First/$artist/$album [$year] = Album/G/girl talk/all day [2010] + +
+
+ + + Use: $Track/$track (track #), $Title/$title, $Artist/$artist, $Album/$album and $Year/$year +
+
+ +
+ Re-Encoding Options + Note: this option requires the lame or ffmpeg encoder +
+ +
+
+ +
+ <% + if config['encoder'] == 'lame': + lameselect = 'selected="selected"' + ffmpegselect = '' + else: + lameselect = '' + ffmpegselect = 'selected="selected"' + %> +
+ + +
+
+ + +
+
+ +
+ Audio Properties +
+ + +
+
+ + +
+
+ + +
+ + + <% + if config["samplingfrequency"] == 44100: + freq44100 = 'selected="selected"' + freq48000 = '' + else: + freq44100 = '' + freq48000 = 'selected="selected"' + %> +
+ + +
+
+ +
+ Advanced Encoding Options +
+ + +
+
+ + +
+ +
+ +
-

Renaming Options:

-
-

Folder Format:


- Use: $Artist/$artist, $Album/$album, $Year/$year, $Type/$type (release type) and $First/$first (first letter in artist name)
- E.g.: $Type/$First/$artist/$album [$year] = Album/G/girl talk/all day [2010]
-

-

File Format:

-
- Use: $Track/$track (track #), $Title/$title, $Artist/$artist, $Album/$album and $Year/$year -
-

Miscellaneous:

-
-

Automatically Include Extras When Adding an Artist

- (EPs, Compilations, Live Albums, Remix Albums and Singles) -

Automatically Mark Upcoming Albums as Wanted

-

Automatically Mark All Albums as Wanted

-
-

Interface: -

-

Log Directory:

-
-

Re-Encoding Options:

- Note: this option requires the lame or ffmpeg encoder -

-

Re-encode downloads during postprocessing

-
-
-

Only re-encode lossless files (.flac)

-
- <% - if config['encoder'] == 'lame': - lameselect = 'selected="selected"' - ffmpegselect = '' - else: - lameselect = '' - ffmpegselect = 'selected="selected"' - %> -

Encoder: - - Format:

-
- -

Audio Properties:

-
-

VBR/CBR: - - Quality:

- -
-

Bitrate: - - <% - if config["samplingfrequency"] == 44100: - freq44100 = 'selected="selected"' - freq48000 = '' - else: - freq44100 = '' - freq48000 = 'selected="selected"' - %> - Sampling:

-
-
-

Advanced Encoding Options:

-

- (ignores audio properties) -

- -
-

Path to Encoder:

-
-
-

Notifications:


-

Enable Prowl Notifications


-
-

API key:



-

Notify on snatch?


-

Priority (-2,-1,0,1 or 2):



-
-

Enable XBMC Updates


-
-

XBMC Host:Port:


- e.g. http://localhost:8080. Separate hosts with commas
-

XBMC Username:



-

XBMC Password:



-

Update XBMC Library


-

Send Notification to XBMC


-
-

Enable NotifyMyAndroid


-
-

NotifyMyAndroid API Key:


- Separate multiple api keys with commas
-

Priority: -

-

-
-

Muscbrainz Mirror: -
-

Host:

-

Port:

-

Sleep Interval:

-
+
+ Miscellaneous +
+ + +
+
+ +
+ +
+
+
+
+ Interface +
+ + + +
+
+ + +
+
+ + + +

Notifications

+
+

Prowl

+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
-
-

Username:

-

Password:

- Get an Account

-
+ +
+

XBMC

+
+ +
+
+
+ + + e.g. http://localhost:8080. Separate hosts with commas +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+

NotifyMyAndroid

+
+ +
+
+
+ + + Separate multiple api keys with commas +
+
+ + +
+
+
+ +
+ Musicbrainz +
+ + +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + Get an Account +
+
+
+
-
+
+ +
+

Web Interface changes require a restart to take effect

+
-


- (Web Interface changes require a restart to take effect)

+
<%def name="javascriptIncludes()"> diff --git a/data/interfaces/lossless/css/config.less b/data/interfaces/default/css/config.less similarity index 100% rename from data/interfaces/lossless/css/config.less rename to data/interfaces/default/css/config.less diff --git a/data/interfaces/lossless/css/data_table.css b/data/interfaces/default/css/data_table.css similarity index 98% rename from data/interfaces/lossless/css/data_table.css rename to data/interfaces/default/css/data_table.css index c05488be..820d947e 100644 --- a/data/interfaces/lossless/css/data_table.css +++ b/data/interfaces/default/css/data_table.css @@ -177,17 +177,17 @@ table.display tr.even.gradeA { } table.display tr.odd.gradeC { - background-color: #ddddff; + background-color: #ebf5ff; } table.display tr.even.gradeC { - background-color: #ddddff; + background-color: #ebf5ff; } table.display tr.even.gradeL { - background-color: #ddddff; + background-color: #ebf5ff; } table.display tr.odd.gradeL { - background-color: #ddddff; + background-color: #ebf5ff; } table.display tr.odd.gradeX { diff --git a/data/interfaces/lossless/css/jquery-ui.css b/data/interfaces/default/css/jquery-ui.css similarity index 100% rename from data/interfaces/lossless/css/jquery-ui.css rename to data/interfaces/default/css/jquery-ui.css diff --git a/data/interfaces/lossless/css/style.css b/data/interfaces/default/css/style.css similarity index 100% rename from data/interfaces/lossless/css/style.css rename to data/interfaces/default/css/style.css diff --git a/data/interfaces/lossless/css/style.less b/data/interfaces/default/css/style.less similarity index 100% rename from data/interfaces/lossless/css/style.less rename to data/interfaces/default/css/style.less diff --git a/data/interfaces/lossless/css/style_bu.css b/data/interfaces/default/css/style_bu.css similarity index 100% rename from data/interfaces/lossless/css/style_bu.css rename to data/interfaces/default/css/style_bu.css diff --git a/data/interfaces/default/extras.html b/data/interfaces/default/extras.html index d9dbbe2f..2c25d357 100644 --- a/data/interfaces/default/extras.html +++ b/data/interfaces/default/extras.html @@ -1,7 +1,9 @@ <%inherit file="base.html" /> <%def name="body()"> +
+

extraArtists You Might Like

+
-

Artists You Might Like

    %for artist in cloudlist: diff --git a/data/interfaces/default/history.html b/data/interfaces/default/history.html index ac7c4f6d..2b7d705d 100644 --- a/data/interfaces/default/history.html +++ b/data/interfaces/default/history.html @@ -5,18 +5,18 @@ <%def name="headerIncludes()"> <%def name="body()">
    - History +

    HistoryHistory

    @@ -51,7 +51,7 @@ - + %endfor @@ -59,27 +59,31 @@ <%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> \ No newline at end of file diff --git a/data/interfaces/lossless/images/NoAlbumArt.png b/data/interfaces/default/images/NoAlbumArt.png similarity index 100% rename from data/interfaces/lossless/images/NoAlbumArt.png rename to data/interfaces/default/images/NoAlbumArt.png diff --git a/data/interfaces/lossless/images/button.png b/data/interfaces/default/images/button.png similarity index 100% rename from data/interfaces/lossless/images/button.png rename to data/interfaces/default/images/button.png diff --git a/data/interfaces/lossless/images/icon_add.png b/data/interfaces/default/images/icon_add.png similarity index 100% rename from data/interfaces/lossless/images/icon_add.png rename to data/interfaces/default/images/icon_add.png diff --git a/data/interfaces/lossless/images/icon_delete.png b/data/interfaces/default/images/icon_delete.png similarity index 100% rename from data/interfaces/lossless/images/icon_delete.png rename to data/interfaces/default/images/icon_delete.png diff --git a/data/interfaces/lossless/images/icon_extra.gif b/data/interfaces/default/images/icon_extra.gif similarity index 100% rename from data/interfaces/lossless/images/icon_extra.gif rename to data/interfaces/default/images/icon_extra.gif diff --git a/data/interfaces/lossless/images/icon_gear.png b/data/interfaces/default/images/icon_gear.png similarity index 100% rename from data/interfaces/lossless/images/icon_gear.png rename to data/interfaces/default/images/icon_gear.png diff --git a/data/interfaces/lossless/images/icon_getextra.png b/data/interfaces/default/images/icon_getextra.png similarity index 100% rename from data/interfaces/lossless/images/icon_getextra.png rename to data/interfaces/default/images/icon_getextra.png diff --git a/data/interfaces/lossless/images/icon_history.png b/data/interfaces/default/images/icon_history.png similarity index 100% rename from data/interfaces/lossless/images/icon_history.png rename to data/interfaces/default/images/icon_history.png diff --git a/data/interfaces/lossless/images/icon_like.png b/data/interfaces/default/images/icon_like.png similarity index 100% rename from data/interfaces/lossless/images/icon_like.png rename to data/interfaces/default/images/icon_like.png diff --git a/data/interfaces/lossless/images/icon_logs.png b/data/interfaces/default/images/icon_logs.png similarity index 100% rename from data/interfaces/lossless/images/icon_logs.png rename to data/interfaces/default/images/icon_logs.png diff --git a/data/interfaces/lossless/images/icon_manage.png b/data/interfaces/default/images/icon_manage.png similarity index 100% rename from data/interfaces/lossless/images/icon_manage.png rename to data/interfaces/default/images/icon_manage.png diff --git a/data/interfaces/lossless/images/icon_pause.png b/data/interfaces/default/images/icon_pause.png similarity index 100% rename from data/interfaces/lossless/images/icon_pause.png rename to data/interfaces/default/images/icon_pause.png diff --git a/data/interfaces/lossless/images/icon_refresh.png b/data/interfaces/default/images/icon_refresh.png similarity index 100% rename from data/interfaces/lossless/images/icon_refresh.png rename to data/interfaces/default/images/icon_refresh.png diff --git a/data/interfaces/lossless/images/icon_removeextra.png b/data/interfaces/default/images/icon_removeextra.png similarity index 100% rename from data/interfaces/lossless/images/icon_removeextra.png rename to data/interfaces/default/images/icon_removeextra.png diff --git a/data/interfaces/lossless/images/icon_search.gif b/data/interfaces/default/images/icon_search.gif similarity index 100% rename from data/interfaces/lossless/images/icon_search.gif rename to data/interfaces/default/images/icon_search.gif diff --git a/data/interfaces/lossless/images/icon_search.png b/data/interfaces/default/images/icon_search.png similarity index 100% rename from data/interfaces/lossless/images/icon_search.png rename to data/interfaces/default/images/icon_search.png diff --git a/data/interfaces/lossless/images/icon_sprite_black.png b/data/interfaces/default/images/icon_sprite_black.png similarity index 100% rename from data/interfaces/lossless/images/icon_sprite_black.png rename to data/interfaces/default/images/icon_sprite_black.png diff --git a/data/interfaces/lossless/images/icon_sprite_white.png b/data/interfaces/default/images/icon_sprite_white.png similarity index 100% rename from data/interfaces/lossless/images/icon_sprite_white.png rename to data/interfaces/default/images/icon_sprite_white.png diff --git a/data/interfaces/lossless/images/icon_upcoming.png b/data/interfaces/default/images/icon_upcoming.png similarity index 100% rename from data/interfaces/lossless/images/icon_upcoming.png rename to data/interfaces/default/images/icon_upcoming.png diff --git a/data/interfaces/lossless/images/icon_wanted.png b/data/interfaces/default/images/icon_wanted.png similarity index 100% rename from data/interfaces/lossless/images/icon_wanted.png rename to data/interfaces/default/images/icon_wanted.png diff --git a/data/interfaces/lossless/images/loader_black.gif b/data/interfaces/default/images/loader_black.gif similarity index 100% rename from data/interfaces/lossless/images/loader_black.gif rename to data/interfaces/default/images/loader_black.gif diff --git a/data/interfaces/lossless/images/loader_blue.gif b/data/interfaces/default/images/loader_blue.gif similarity index 100% rename from data/interfaces/lossless/images/loader_blue.gif rename to data/interfaces/default/images/loader_blue.gif diff --git a/data/interfaces/lossless/images/loader_refresh_black.gif b/data/interfaces/default/images/loader_refresh_black.gif similarity index 100% rename from data/interfaces/lossless/images/loader_refresh_black.gif rename to data/interfaces/default/images/loader_refresh_black.gif diff --git a/data/interfaces/lossless/images/loader_refresh_blue.gif b/data/interfaces/default/images/loader_refresh_blue.gif similarity index 100% rename from data/interfaces/lossless/images/loader_refresh_blue.gif rename to data/interfaces/default/images/loader_refresh_blue.gif diff --git a/data/interfaces/lossless/images/no-cover-art.png b/data/interfaces/default/images/no-cover-art.png similarity index 100% rename from data/interfaces/lossless/images/no-cover-art.png rename to data/interfaces/default/images/no-cover-art.png diff --git a/data/interfaces/lossless/images/no-cover-artist.png b/data/interfaces/default/images/no-cover-artist.png similarity index 100% rename from data/interfaces/lossless/images/no-cover-artist.png rename to data/interfaces/default/images/no-cover-artist.png diff --git a/data/interfaces/lossless/images/sort_asc.png b/data/interfaces/default/images/sort_asc.png similarity index 100% rename from data/interfaces/lossless/images/sort_asc.png rename to data/interfaces/default/images/sort_asc.png diff --git a/data/interfaces/lossless/images/sort_both.png b/data/interfaces/default/images/sort_both.png similarity index 100% rename from data/interfaces/lossless/images/sort_both.png rename to data/interfaces/default/images/sort_both.png diff --git a/data/interfaces/lossless/images/sort_desc.png b/data/interfaces/default/images/sort_desc.png similarity index 100% rename from data/interfaces/lossless/images/sort_desc.png rename to data/interfaces/default/images/sort_desc.png diff --git a/data/interfaces/lossless/images/toTop.gif b/data/interfaces/default/images/toTop.gif similarity index 100% rename from data/interfaces/lossless/images/toTop.gif rename to data/interfaces/default/images/toTop.gif diff --git a/data/interfaces/lossless/images/ui-bg_flat_0_aaaaaa_40x100.png b/data/interfaces/default/images/ui-bg_flat_0_aaaaaa_40x100.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_flat_0_aaaaaa_40x100.png rename to data/interfaces/default/images/ui-bg_flat_0_aaaaaa_40x100.png diff --git a/data/interfaces/lossless/images/ui-bg_flat_0_eeeeee_40x100.png b/data/interfaces/default/images/ui-bg_flat_0_eeeeee_40x100.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_flat_0_eeeeee_40x100.png rename to data/interfaces/default/images/ui-bg_flat_0_eeeeee_40x100.png diff --git a/data/interfaces/lossless/images/ui-bg_flat_55_c0402a_40x100.png b/data/interfaces/default/images/ui-bg_flat_55_c0402a_40x100.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_flat_55_c0402a_40x100.png rename to data/interfaces/default/images/ui-bg_flat_55_c0402a_40x100.png diff --git a/data/interfaces/lossless/images/ui-bg_flat_55_eeeeee_40x100.png b/data/interfaces/default/images/ui-bg_flat_55_eeeeee_40x100.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_flat_55_eeeeee_40x100.png rename to data/interfaces/default/images/ui-bg_flat_55_eeeeee_40x100.png diff --git a/data/interfaces/lossless/images/ui-bg_glass_100_f8f8f8_1x400.png b/data/interfaces/default/images/ui-bg_glass_100_f8f8f8_1x400.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_glass_100_f8f8f8_1x400.png rename to data/interfaces/default/images/ui-bg_glass_100_f8f8f8_1x400.png diff --git a/data/interfaces/lossless/images/ui-bg_glass_35_dddddd_1x400.png b/data/interfaces/default/images/ui-bg_glass_35_dddddd_1x400.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_glass_35_dddddd_1x400.png rename to data/interfaces/default/images/ui-bg_glass_35_dddddd_1x400.png diff --git a/data/interfaces/lossless/images/ui-bg_glass_60_eeeeee_1x400.png b/data/interfaces/default/images/ui-bg_glass_60_eeeeee_1x400.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_glass_60_eeeeee_1x400.png rename to data/interfaces/default/images/ui-bg_glass_60_eeeeee_1x400.png diff --git a/data/interfaces/lossless/images/ui-bg_inset-hard_75_999999_1x100.png b/data/interfaces/default/images/ui-bg_inset-hard_75_999999_1x100.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_inset-hard_75_999999_1x100.png rename to data/interfaces/default/images/ui-bg_inset-hard_75_999999_1x100.png diff --git a/data/interfaces/lossless/images/ui-bg_inset-soft_50_c9c9c9_1x100.png b/data/interfaces/default/images/ui-bg_inset-soft_50_c9c9c9_1x100.png similarity index 100% rename from data/interfaces/lossless/images/ui-bg_inset-soft_50_c9c9c9_1x100.png rename to data/interfaces/default/images/ui-bg_inset-soft_50_c9c9c9_1x100.png diff --git a/data/interfaces/lossless/images/ui-icons_3383bb_256x240.png b/data/interfaces/default/images/ui-icons_3383bb_256x240.png similarity index 100% rename from data/interfaces/lossless/images/ui-icons_3383bb_256x240.png rename to data/interfaces/default/images/ui-icons_3383bb_256x240.png diff --git a/data/interfaces/lossless/images/ui-icons_454545_256x240.png b/data/interfaces/default/images/ui-icons_454545_256x240.png similarity index 100% rename from data/interfaces/lossless/images/ui-icons_454545_256x240.png rename to data/interfaces/default/images/ui-icons_454545_256x240.png diff --git a/data/interfaces/lossless/images/ui-icons_70b2e1_256x240.png b/data/interfaces/default/images/ui-icons_70b2e1_256x240.png similarity index 100% rename from data/interfaces/lossless/images/ui-icons_70b2e1_256x240.png rename to data/interfaces/default/images/ui-icons_70b2e1_256x240.png diff --git a/data/interfaces/lossless/images/ui-icons_999999_256x240.png b/data/interfaces/default/images/ui-icons_999999_256x240.png similarity index 100% rename from data/interfaces/lossless/images/ui-icons_999999_256x240.png rename to data/interfaces/default/images/ui-icons_999999_256x240.png diff --git a/data/interfaces/lossless/images/ui-icons_fbc856_256x240.png b/data/interfaces/default/images/ui-icons_fbc856_256x240.png similarity index 100% rename from data/interfaces/lossless/images/ui-icons_fbc856_256x240.png rename to data/interfaces/default/images/ui-icons_fbc856_256x240.png diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html index 83a594b6..d85497a6 100644 --- a/data/interfaces/default/index.html +++ b/data/interfaces/default/index.html @@ -7,6 +7,7 @@
    ${item['Title']} [${fileid}][album page] ${helpers.bytes_to_mb(item['Size'])} ${item['Status']}[retry][new][retry][new]
    + @@ -46,10 +47,14 @@ if artist['Status'] == 'Paused': grade = 'X' + + if artist['Status'] == 'Loading': + grade = 'L' %> - + + @@ -60,27 +65,42 @@ <%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> + \ No newline at end of file diff --git a/data/interfaces/lossless/js/fancybox/blank.gif b/data/interfaces/default/js/fancybox/blank.gif similarity index 100% rename from data/interfaces/lossless/js/fancybox/blank.gif rename to data/interfaces/default/js/fancybox/blank.gif diff --git a/data/interfaces/lossless/js/fancybox/fancy_close.png b/data/interfaces/default/js/fancybox/fancy_close.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_close.png rename to data/interfaces/default/js/fancybox/fancy_close.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_loading.png b/data/interfaces/default/js/fancybox/fancy_loading.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_loading.png rename to data/interfaces/default/js/fancybox/fancy_loading.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_nav_left.png b/data/interfaces/default/js/fancybox/fancy_nav_left.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_nav_left.png rename to data/interfaces/default/js/fancybox/fancy_nav_left.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_nav_right.png b/data/interfaces/default/js/fancybox/fancy_nav_right.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_nav_right.png rename to data/interfaces/default/js/fancybox/fancy_nav_right.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_e.png b/data/interfaces/default/js/fancybox/fancy_shadow_e.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_e.png rename to data/interfaces/default/js/fancybox/fancy_shadow_e.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_n.png b/data/interfaces/default/js/fancybox/fancy_shadow_n.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_n.png rename to data/interfaces/default/js/fancybox/fancy_shadow_n.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_ne.png b/data/interfaces/default/js/fancybox/fancy_shadow_ne.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_ne.png rename to data/interfaces/default/js/fancybox/fancy_shadow_ne.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_nw.png b/data/interfaces/default/js/fancybox/fancy_shadow_nw.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_nw.png rename to data/interfaces/default/js/fancybox/fancy_shadow_nw.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_s.png b/data/interfaces/default/js/fancybox/fancy_shadow_s.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_s.png rename to data/interfaces/default/js/fancybox/fancy_shadow_s.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_se.png b/data/interfaces/default/js/fancybox/fancy_shadow_se.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_se.png rename to data/interfaces/default/js/fancybox/fancy_shadow_se.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_sw.png b/data/interfaces/default/js/fancybox/fancy_shadow_sw.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_sw.png rename to data/interfaces/default/js/fancybox/fancy_shadow_sw.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_shadow_w.png b/data/interfaces/default/js/fancybox/fancy_shadow_w.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_shadow_w.png rename to data/interfaces/default/js/fancybox/fancy_shadow_w.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_title_left.png b/data/interfaces/default/js/fancybox/fancy_title_left.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_title_left.png rename to data/interfaces/default/js/fancybox/fancy_title_left.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_title_main.png b/data/interfaces/default/js/fancybox/fancy_title_main.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_title_main.png rename to data/interfaces/default/js/fancybox/fancy_title_main.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_title_over.png b/data/interfaces/default/js/fancybox/fancy_title_over.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_title_over.png rename to data/interfaces/default/js/fancybox/fancy_title_over.png diff --git a/data/interfaces/lossless/js/fancybox/fancy_title_right.png b/data/interfaces/default/js/fancybox/fancy_title_right.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancy_title_right.png rename to data/interfaces/default/js/fancybox/fancy_title_right.png diff --git a/data/interfaces/lossless/js/fancybox/fancybox-x.png b/data/interfaces/default/js/fancybox/fancybox-x.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancybox-x.png rename to data/interfaces/default/js/fancybox/fancybox-x.png diff --git a/data/interfaces/lossless/js/fancybox/fancybox-y.png b/data/interfaces/default/js/fancybox/fancybox-y.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancybox-y.png rename to data/interfaces/default/js/fancybox/fancybox-y.png diff --git a/data/interfaces/lossless/js/fancybox/fancybox.png b/data/interfaces/default/js/fancybox/fancybox.png similarity index 100% rename from data/interfaces/lossless/js/fancybox/fancybox.png rename to data/interfaces/default/js/fancybox/fancybox.png diff --git a/data/interfaces/lossless/js/fancybox/jquery.easing-1.3.pack.js b/data/interfaces/default/js/fancybox/jquery.easing-1.3.pack.js similarity index 100% rename from data/interfaces/lossless/js/fancybox/jquery.easing-1.3.pack.js rename to data/interfaces/default/js/fancybox/jquery.easing-1.3.pack.js diff --git a/data/interfaces/lossless/js/fancybox/jquery.fancybox-1.3.4.css b/data/interfaces/default/js/fancybox/jquery.fancybox-1.3.4.css similarity index 100% rename from data/interfaces/lossless/js/fancybox/jquery.fancybox-1.3.4.css rename to data/interfaces/default/js/fancybox/jquery.fancybox-1.3.4.css diff --git a/data/interfaces/lossless/js/fancybox/jquery.fancybox-1.3.4.js b/data/interfaces/default/js/fancybox/jquery.fancybox-1.3.4.js similarity index 100% rename from data/interfaces/lossless/js/fancybox/jquery.fancybox-1.3.4.js rename to data/interfaces/default/js/fancybox/jquery.fancybox-1.3.4.js diff --git a/data/interfaces/lossless/js/fancybox/jquery.fancybox-1.3.4.pack.js b/data/interfaces/default/js/fancybox/jquery.fancybox-1.3.4.pack.js similarity index 100% rename from data/interfaces/lossless/js/fancybox/jquery.fancybox-1.3.4.pack.js rename to data/interfaces/default/js/fancybox/jquery.fancybox-1.3.4.pack.js diff --git a/data/interfaces/lossless/js/fancybox/jquery.mousewheel-3.0.4.pack.js b/data/interfaces/default/js/fancybox/jquery.mousewheel-3.0.4.pack.js similarity index 100% rename from data/interfaces/lossless/js/fancybox/jquery.mousewheel-3.0.4.pack.js rename to data/interfaces/default/js/fancybox/jquery.mousewheel-3.0.4.pack.js diff --git a/data/interfaces/lossless/js/libs/dd_belatedpng.js b/data/interfaces/default/js/libs/dd_belatedpng.js similarity index 100% rename from data/interfaces/lossless/js/libs/dd_belatedpng.js rename to data/interfaces/default/js/libs/dd_belatedpng.js diff --git a/data/interfaces/lossless/js/libs/jquery-1.7.2.min.js b/data/interfaces/default/js/libs/jquery-1.7.2.min.js similarity index 100% rename from data/interfaces/lossless/js/libs/jquery-1.7.2.min.js rename to data/interfaces/default/js/libs/jquery-1.7.2.min.js diff --git a/data/interfaces/lossless/js/libs/jquery-ui.min.js b/data/interfaces/default/js/libs/jquery-ui.min.js similarity index 100% rename from data/interfaces/lossless/js/libs/jquery-ui.min.js rename to data/interfaces/default/js/libs/jquery-ui.min.js diff --git a/data/interfaces/lossless/js/libs/jquery.dataTables.min.js b/data/interfaces/default/js/libs/jquery.dataTables.min.js similarity index 100% rename from data/interfaces/lossless/js/libs/jquery.dataTables.min.js rename to data/interfaces/default/js/libs/jquery.dataTables.min.js diff --git a/data/interfaces/lossless/js/libs/modernizr-1.7.min.js b/data/interfaces/default/js/libs/modernizr-1.7.min.js similarity index 100% rename from data/interfaces/lossless/js/libs/modernizr-1.7.min.js rename to data/interfaces/default/js/libs/modernizr-1.7.min.js diff --git a/data/interfaces/lossless/js/plugins.js b/data/interfaces/default/js/plugins.js similarity index 100% rename from data/interfaces/lossless/js/plugins.js rename to data/interfaces/default/js/plugins.js diff --git a/data/interfaces/lossless/js/script.js b/data/interfaces/default/js/script.js similarity index 91% rename from data/interfaces/lossless/js/script.js rename to data/interfaces/default/js/script.js index ee823afa..7f1cc3fd 100644 --- a/data/interfaces/lossless/js/script.js +++ b/data/interfaces/default/js/script.js @@ -15,7 +15,7 @@ function getArtistInfo(name,imgElem,size,artistID) { } else { if ( data.artist === undefined || imageUrl == "" || imageUrl == undefined ) { var imageLarge = "#"; - var imageUrl = "interfaces/lossless/images/no-cover-artist.png"; + var imageUrl = "interfaces/default/images/no-cover-artist.png"; } else { var artist = data.artist.mbid; var artistBio = data.artist.bio.summary; @@ -42,7 +42,7 @@ function getArtistInfo(name,imgElem,size,artistID) { } if ( data.artist === undefined || imageUrl == "" ) { var imageLarge = "#"; - var imageUrl = "interfaces/lossless/images/no-cover-artist.png"; + var imageUrl = "interfaces/default/images/no-cover-artist.png"; } else { var artist = data.artist.name; var artistBio = data.artist.bio.summary; @@ -76,9 +76,9 @@ function getAlbumInfo(name, album, elem,size) { } if (data.album === undefined || imageUrl == "") { if ( elem.width() == 50 ) { - var imageUrl = "interfaces/lossless/images/no-cover-artist.png"; + var imageUrl = "interfaces/default/images/no-cover-artist.png"; } else { - var imageUrl = "interfaces/lossless/images/no-cover-art.png"; + var imageUrl = "interfaces/default/images/no-cover-art.png"; } } else { var imageUrl = data.album.image[size]['#text']; @@ -86,17 +86,17 @@ function getAlbumInfo(name, album, elem,size) { } $(cover).error(function(){ if ( elem.width() == 50 ) { - var imageUrl = "interfaces/lossless/images/no-cover-artist.png"; + var imageUrl = "interfaces/default/images/no-cover-artist.png"; } else { - var imageUrl = "interfaces/lossless/images/no-cover-art.png"; + var imageUrl = "interfaces/default/images/no-cover-art.png"; } $(elem).css("background", "url("+ imageUrl+") center top no-repeat"); }); if ( imageUrl == "") { if ( elem.width() == 50 ) { - var imageUrl = "interfaces/lossless/images/no-cover-artist.png"; + var imageUrl = "interfaces/default/images/no-cover-artist.png"; } else { - var imageUrl = "interfaces/lossless/images/no-cover-art.png"; + var imageUrl = "interfaces/default/images/no-cover-art.png"; } $(elem).css("background", "url("+ imageUrl+") center top no-repeat"); } @@ -129,18 +129,18 @@ function replaceEmptyAlbum(elem,name) { var imageUrl; $.getJSON(url, function(data, response) { if (data.album === undefined) { - imageUrl = "interfaces/lossless/images/no-cover-art.png"; + imageUrl = "interfaces/default/images/no-cover-art.png"; } else { imageUrl = data.album.image[3]['#text']; imageLarge = data.album.image[4]['#text']; // If Last.fm don't provide a cover then use standard } $(cover).error(function(){ - imageUrl = "interfaces/lossless/images/no-cover-art.png"; + imageUrl = "interfaces/default/images/no-cover-art.png"; $(this).hide().attr("src", imageUrl).show(); }) if ( imageUrl == "") { - imageUrl = "interfaces/lossless/images/no-cover-art.png"; + imageUrl = "interfaces/default/images/no-cover-art.png"; $(this).hide().attr("src", imageUrl).show(); } $(cover).hide().attr("src", imageUrl).show(); @@ -240,7 +240,7 @@ function doAjaxCall(url,elem,reload,form) { var dataString = $(formID).serialize(); } // Loader Image - var loader = $("loading"); + var loader = $("loading"); // Data Success Message var dataSucces = $(elem).data('success'); if (typeof dataSucces === "undefined") { @@ -335,8 +335,8 @@ function preventDefault(){ function initFancybox() { if ( $("a[rel=dialog]").length > 0 ) { - $.getScript('interfaces/lossless/js/fancybox/jquery.fancybox-1.3.4.js', function() { - $("head").append(""); + $.getScript('interfaces/default/js/fancybox/jquery.fancybox-1.3.4.js', function() { + $("head").append(""); $("a[rel=dialog]").fancybox(); }); } diff --git a/data/interfaces/default/logs.html b/data/interfaces/default/logs.html index 98004034..022be43e 100644 --- a/data/interfaces/default/logs.html +++ b/data/interfaces/default/logs.html @@ -1,9 +1,12 @@ -<%inherit file="base.html"/> +lossless<%inherit file="base.html"/> <%! from headphones import helpers %> <%def name="body()"> +
    +

    LogsLogs

    +
    Artist Name Status Latest Album
    ${artist['ArtistName']}
    ${artist['ArtistName']} ${artist['Status']} ${albumdisplay}
    ${havetracks}/${totaltracks}
    @@ -33,7 +36,7 @@ <%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/manage.html b/data/interfaces/default/manage.html index cf5a476a..d0a29417 100644 --- a/data/interfaces/default/manage.html +++ b/data/interfaces/default/manage.html @@ -1,74 +1,104 @@ -<%inherit file="base.html" /> +lossless<%inherit file="base.html" /> <%! import headphones from headphones.helpers import checked %> <%def name="headerIncludes()">
    - +
    <%def name="body()">
    -

    -

    -
    -

    Scan Music Library


    - Where do you keep your music?

    - You can put in any directory, and it will scan for audio files in that folder - (including all subdirectories)

    For example: '/Users/name/Music' -

    - It may take a while depending on how many files you have. You can navigate away from the page
    - as soon as you click 'Submit' -

    -
    - %if headphones.MUSIC_DIR: - - %else: - - %endif -
    -

    Automatically add new artists

    -

    - +

    manageManage

    +
    + +
    +
    +
    + Scan Music Library +

    Where do you keep your music?

    +

    You can put in any directory, and it will scan for audio files in that folder + (including all subdirectories).
    For example: '/Users/name/Music'

    +

    + It may take a while depending on how many files you have. You can navigate away from the page
    + as soon as you click 'Save changes' +

    +
    +
    + + %if headphones.MUSIC_DIR: + + %else: + + %endif +
    +
    + +
    + +
    + + +
    -
    -

    Import Last.FM Artists


    - Enter the username whose artists you want to import:

    -
    - <% - if headphones.LASTFM_USERNAME: - lastfmvalue = headphones.LASTFM_USERNAME - else: - lastfmvalue = 'Last.fm Username' - %> - -

    +
    +
    +
    + Import Last.FM Artists +

    Enter the username whose artists you want to import:

    +
    +
    + + <% + if headphones.LASTFM_USERNAME: + lastfmvalue = headphones.LASTFM_USERNAME + else: + lastfmvalue = '' + %> + + Reset username +
    +
    + +
    -
    -

    Placeholder :-)


    -

    -
    - -

    -
    - - + +<%def name="javascriptIncludes()"> + \ No newline at end of file diff --git a/data/interfaces/default/manageartists.html b/data/interfaces/default/manageartists.html index 368d653c..5a1d433d 100644 --- a/data/interfaces/default/manageartists.html +++ b/data/interfaces/default/manageartists.html @@ -1,24 +1,37 @@ -<%inherit file="base.html" /> +lossless<%inherit file="base.html" /> + + + +<%def name="headerIncludes()"> +
    +   +
    + « Back to manage overview + + <%def name="body()"> -
    -

    Manage Artists

    +
    +
    +

    manageManage Artists

    -
    -

    - + selected artists - -

    + +

    + @@ -46,6 +59,7 @@ %> + @@ -54,29 +68,44 @@
    Artist Name Status Latest Album
    ${artist['ArtistName']} ${artist['Status']} ${albumdisplay}
    +
<%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> \ No newline at end of file diff --git a/data/interfaces/default/managenew.html b/data/interfaces/default/managenew.html index bea493b2..c58b549b 100644 --- a/data/interfaces/default/managenew.html +++ b/data/interfaces/default/managenew.html @@ -1,17 +1,28 @@ -<%inherit file="base.html" /> +lossless<%inherit file="base.html" /> <%! import headphones %> + +<%def name="headerIncludes()"> + + « Back to manage overview + + + <%def name="body()"> -
-

Manage New Artists

-

Scan Music Library

+
+
+

manageManage New Artists

-

+

Add selected artists -

+
@@ -29,10 +40,11 @@
+
<%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> @@ -44,9 +56,12 @@ { "aaSorting": [[1, 'asc']], "bStateSave": false, - "bPaginate": false + "bPaginate": false, + "oLanguage": { + "sSearch" : ""}, }); +initActions(); }); \ No newline at end of file diff --git a/data/interfaces/default/searchresults.html b/data/interfaces/default/searchresults.html index b02fedd6..785b2513 100644 --- a/data/interfaces/default/searchresults.html +++ b/data/interfaces/default/searchresults.html @@ -1,16 +1,17 @@ <%inherit file="base.html" /> <%def name="body()"> - +
-

Search Results

+

Search resultsSearch Result

- %if type == 'album': - - %endif + + %if type == 'album': + + %endif @@ -25,46 +26,69 @@ else: grade = 'Z' %> - + + %if type == 'album': %endif - - + + %if type == 'album': - + %else: - + %endif %endfor %endif
Album NameAlbum NameArtist Name Score
${result['title']}${result['uniquename']}${result['score']}${result['uniquename']}
${result['score']}
Add this album Add this albumAdd this artist Add this artist
+
<%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> + + \ No newline at end of file diff --git a/data/interfaces/default/shutdown.html b/data/interfaces/default/shutdown.html index be7ca21d..e0e5b6dd 100644 --- a/data/interfaces/default/shutdown.html +++ b/data/interfaces/default/shutdown.html @@ -1,4 +1,4 @@ -<%inherit file="base.html"/> +lossless<%inherit file="base.html"/> <%def name="headIncludes()"> @@ -7,7 +7,7 @@ <%def name="body()">
-

Headphones is ${message}

+

Headphones is ${message}

\ No newline at end of file diff --git a/data/interfaces/default/upcoming.html b/data/interfaces/default/upcoming.html index 5c209056..b9f7d0fe 100644 --- a/data/interfaces/default/upcoming.html +++ b/data/interfaces/default/upcoming.html @@ -1,7 +1,51 @@ -<%inherit file="base.html" /> +lossless<%inherit file="base.html" /> <%def name="body()"> + +
+

Wanted AlbumsWanted Albums

+
+
+
+ Mark selected albums as + + +
+
+ + + + + + + + + + + + + %for album in wanted: + + + + + + + + %endfor + +
ArtistAlbum NameRelease DateType
+ ${album['ArtistName']}${album['AlbumTitle']}${album['ReleaseDate']}${album['Type']}
+ + +
+
+

Upcoming AlbumsUpcoming Albums

+
-

Upcoming Albums

@@ -27,60 +71,29 @@
- -
-

Mark selected albums as - - -

-
-

Wanted Albums

- - - - - - - - - - - - - %for album in wanted: - - - - - - - - %endfor - -
ArtistAlbum NameRelease DateType
- ${album['ArtistName']}${album['AlbumTitle']}${album['ReleaseDate']}${album['Type']}
- -
<%def name="headIncludes()"> - + <%def name="javascriptIncludes()"> \ No newline at end of file diff --git a/data/interfaces/lossless/artist.html b/data/interfaces/lossless/artist.html deleted file mode 100644 index bf1e689d..00000000 --- a/data/interfaces/lossless/artist.html +++ /dev/null @@ -1,190 +0,0 @@ -<%inherit file="base.html"/> -<%! - from headphones import db - import headphones -%> - -<%def name="headerIncludes()"> -
-
- Refresh Artist - Delete Artist - %if artist['Status'] == 'Paused': - Resume Artist - %else: - Pause Artist - %endif - %if artist['IncludeExtras']: - Remove Extras - %else: - Get Extras - %endif -
-
- « Back to overview - - -<%def name="body()"> -
-
- ${artist['ArtistName']} -
-

${artist['ArtistName']}

-
- %if artist['Status'] == 'Loading': -

(Album information for this artist is currently being loaded)

- %endif -
- - -
Mark selected albums as - - -
- - - - - - - - - - - - - - - - %for album in albums: - <% - if album['Status'] == 'Skipped': - grade = 'Z' - elif album['Status'] == 'Wanted': - grade = 'X' - elif album['Status'] == 'Snatched': - grade = 'C' - else: - grade = 'A' - - myDB = db.DBConnection() - totaltracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=?', [album['AlbumID']])) - havetracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=? AND Location IS NOT NULL', [album['AlbumID']])) + len(myDB.select('SELECT TrackTitle from have WHERE ArtistName like ? AND AlbumTitle LIKE ?', [album['ArtistName'], album['AlbumTitle']])) - - try: - percent = (havetracks*100.0)/totaltracks - if percent > 100: - percent = 100 - except (ZeroDivisionError, TypeError): - percent = 0 - totaltracks = '?' - - avgbitrate = myDB.action("SELECT AVG(BitRate) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] - if avgbitrate: - bitrate = str(int(avgbitrate)/1000) + ' kbps' - else: - bitrate = '' - - albumformatcount = myDB.action("SELECT COUNT(DISTINCT Format) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] - if albumformatcount == 1: - albumformat = myDB.action("SELECT DISTINCT Format FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] - elif albumformatcount > 1: - albumformat = 'Mixed' - else: - albumformat = '' - - lossy_formats = [str.upper(fmt) for fmt in headphones.LOSSY_MEDIA_FORMATS] - - %> - - - - - - - - - - - - %endfor - -
NameDateTypeStatusHaveBitrateFormat
${album['AlbumTitle']}${album['ReleaseDate']}${album['Type']}${album['Status']} - %if album['Status'] == 'Skipped': - [want] - %elif (album['Status'] == 'Wanted' or album['Status'] == 'Wanted Lossless'): - [skip] - %else: - [retry][new] - %endif - %if albumformat in lossy_formats and album['Status'] == 'Skipped': - [want lossless] - %elif albumformat in lossy_formats and (album['Status'] == 'Snatched' or album['Status'] == 'Downloaded'): - [retry lossless] - %endif -
${havetracks}/${totaltracks}
${bitrate}${albumformat}
-
- - -<%def name="headIncludes()"> - - - - - diff --git a/data/interfaces/lossless/base.html b/data/interfaces/lossless/base.html deleted file mode 100644 index a1742071..00000000 --- a/data/interfaces/lossless/base.html +++ /dev/null @@ -1,117 +0,0 @@ -<% - import headphones - from headphones import version -%> - - - - - - - - - - - Headphones - ${title} - - - - - - - - - - ${next.headIncludes()} - - - - -
-
- % if not headphones.CURRENT_VERSION: -
- You're running an unknown version of Headphones. Update or - Close -
- % elif headphones.CURRENT_VERSION != headphones.LATEST_VERSION and headphones.INSTALL_TYPE != 'win': -
- A newer version is available. You're ${headphones.COMMITS_BEHIND} commits behind. Update or Close -
- % endif - -
-
- - - - -
-
- -
-
- ${next.headerIncludes()} -
- ${next.body()} -
- - - Back to top -
- - - - - - ${next.javascriptIncludes()} - - - - - - - - -<%def name="javascriptIncludes()"> -<%def name="headIncludes()"> -<%def name="headerIncludes()"> diff --git a/data/interfaces/lossless/config.html b/data/interfaces/lossless/config.html deleted file mode 100644 index 60d866ad..00000000 --- a/data/interfaces/lossless/config.html +++ /dev/null @@ -1,775 +0,0 @@ -<%inherit file="base.html"/> -<%! - import headphones -%> - -<%def name="headerIncludes()"> -
- -
- -<%def name="body()"> - - - -
-

settingsSettings

-
-
- -
- -
- - - - - - - -
-
- Basic -
- - - e.g. localhost or 0.0.0.0 -
-
- - -
-
- - -
- -
- - -
-
- -
-
-
-
- API -
- -
-
- - - - Current API key: ${config['api_key']} -
-
- -
- Interval -
- - mins -
- -
- - mins -
- -
- - mins -
-
-
-
- -
- - - - - - - -
-
- SABnzbd -
- - - usually http://localhost:8080 -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
- Downloads -
- - - Full path where SAB downloads your music. e.g. /Users/name/Downloads/music -
-
-
-
- Torrents -
- - - Folder your Download program watches for Torrents -
-
- - - Number of minimum seeders a torrent must have to be accepted -
-
- - - Full path where your torrent client downloads your music e.g. /Users/name/Downloads/music -
-
-
- Blackhole -
- -
-
-
- - - Folder your Download program watches for NZBs -
-
-
- -
-
-
-
-
- - - - - - - -
-
- NZBMatrix -
- -
-
-
- - -
-
- - -
-
-
- -
- Newsnab -
- -
-
-
- - - e.g. http://nzb.su -
-
- - -
-
-
-
-
- NZBs.org -
- -
-
-
- - -
-
-
-
- Newsbin -
- -
-
-
- - -
-
- - -
-
-
-
- Torrents -
- -
-
- -
-
-
-
- -
-
-
- - - - - -
-
- Quality -
- - - - -
-
- - -
- -
-
-
- Post-Processing -
- - - - - - - - -
-
- - - e.g. /Users/name/Music/iTunes or /Volumes/share/music -
-
-
-
-
- - - - - -
- -
- Renaming options -
- - - Use: $Artist/$artist, $Album/$album, $Year/$year, $Type/$type (release type) and $First/$first (first letter in artist name) - E.g.: $Type/$First/$artist/$album [$year] = Album/G/girl talk/all day [2010] - -
-
- - - Use: $Track/$track (track #), $Title/$title, $Artist/$artist, $Album/$album and $Year/$year -
-
- -
- Re-Encoding Options - Note: this option requires the lame or ffmpeg encoder -
- -
-
- -
- <% - if config['encoder'] == 'lame': - lameselect = 'selected="selected"' - ffmpegselect = '' - else: - lameselect = '' - ffmpegselect = 'selected="selected"' - %> -
- - -
-
- - -
-
- -
- Audio Properties -
- - -
-
- - -
-
- - -
- - - <% - if config["samplingfrequency"] == 44100: - freq44100 = 'selected="selected"' - freq48000 = '' - else: - freq44100 = '' - freq48000 = 'selected="selected"' - %> -
- - -
-
- -
- Advanced Encoding Options -
- - -
-
- - -
- -
- -
- -
- Miscellaneous -
- - -
-
- -
- -
-
-
-
- Interface -
- - - -
-
- - -
-
- - - -

Notifications

-
-

Prowl

-
- -
-
-
- -
-
- -
-
- - -
-
-
- - -
-

XBMC

-
- -
-
-
- - - e.g. http://localhost:8080. Separate hosts with commas -
-
- -
-
- -
-
- -
-
- -
-
-
- -
-

NotifyMyAndroid

-
- -
-
-
- - - Separate multiple api keys with commas -
-
- - -
-
-
- -
- Musicbrainz -
- - -
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - Get an Account -
-
-
- -
-
- -
-

Web Interface changes require a restart to take effect

-
- - -
- - -<%def name="javascriptIncludes()"> - - diff --git a/data/interfaces/lossless/history.html b/data/interfaces/lossless/history.html deleted file mode 100644 index 7a37f932..00000000 --- a/data/interfaces/lossless/history.html +++ /dev/null @@ -1,89 +0,0 @@ -<%inherit file="base.html"/> -<%! - from headphones import helpers -%> - -<%def name="headerIncludes()"> - - - -<%def name="body()"> -
-

HistoryHistory

-
- - - - - - - - - - - - %for item in history: - <% - if item['Status'] == 'Processed': - grade = 'A' - elif item['Status'] == 'Snatched': - grade = 'C' - elif item['Status'] == 'Unprocessed': - grade = 'X' - else: - grade = 'U' - - fileid = 'unknown' - if item['URL'].find('nzb') != -1: - fileid = 'nzb' - if item['URL'].find('torrent') != -1: - fileid = 'torrent' - %> - - - - - - - - %endfor - -
Date AddedFile NameSizeStatus
${item['DateAdded']}${item['Title']} [${fileid}][album page]${helpers.bytes_to_mb(item['Size'])}${item['Status']}[retry][new]
- - -<%def name="headIncludes()"> - - - -<%def name="javascriptIncludes()"> - - - \ No newline at end of file diff --git a/data/interfaces/lossless/manage.html b/data/interfaces/lossless/manage.html deleted file mode 100644 index cf8d2471..00000000 --- a/data/interfaces/lossless/manage.html +++ /dev/null @@ -1,104 +0,0 @@ -lossless<%inherit file="base.html" /> -<%! - import headphones - from headphones.helpers import checked -%> -<%def name="headerIncludes()"> -
-
- Manage Artists - %if not headphones.ADD_ARTISTS: - Manage New Artists - %endif -
-
- - -<%def name="body()"> -
-

manageManage

-
-
- -
-
-
- Scan Music Library -

Where do you keep your music?

-

You can put in any directory, and it will scan for audio files in that folder - (including all subdirectories).
For example: '/Users/name/Music'

-

- It may take a while depending on how many files you have. You can navigate away from the page
- as soon as you click 'Save changes' -

-
-
- - %if headphones.MUSIC_DIR: - - %else: - - %endif -
-
- -
- -
- - -
- -
-
-
- Import Last.FM Artists -

Enter the username whose artists you want to import:

-
-
- - <% - if headphones.LASTFM_USERNAME: - lastfmvalue = headphones.LASTFM_USERNAME - else: - lastfmvalue = '' - %> - - Reset username -
-
- -
-
- - -
- -<%def name="javascriptIncludes()"> - - \ No newline at end of file diff --git a/data/interfaces/lossless/searchresults.html b/data/interfaces/lossless/searchresults.html deleted file mode 100644 index b3e0c99c..00000000 --- a/data/interfaces/lossless/searchresults.html +++ /dev/null @@ -1,94 +0,0 @@ -<%inherit file="base.html" /> - -<%def name="body()"> -
-
-

Search resultsSearch Result

-
- - - - - %if type == 'album': - - %endif - - - - - - - %if searchresults: - %for result in searchresults: - <% - if result['score'] == 100: - grade = 'A' - else: - grade = 'Z' - %> - - - %if type == 'album': - - %endif - - - %if type == 'album': - - %else: - - %endif - - %endfor - %endif - -
Album NameArtist NameScore
${result['title']}${result['uniquename']}
${result['score']}
Add this album Add this artist
-
- - -<%def name="headIncludes()"> - - - -<%def name="javascriptIncludes()"> - - - - - \ No newline at end of file