diff --git a/chrome/content/groove-shredder.js b/chrome/content/groove-shredder.js
index e54ee77..ec6c10d 100644
--- a/chrome/content/groove-shredder.js
+++ b/chrome/content/groove-shredder.js
@@ -5,11 +5,14 @@ var orgArgeeCodeGrooveShredder = {};
orgArgeeCodeGrooveShredder.$ = jQuery.noConflict();
/* Global Variables contained in the namespace */
-// orgArgeeCodeGrooveShredder.console = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);
+orgArgeeCodeGrooveShredder.console = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);
orgArgeeCodeGrooveShredder.download_manager = Components.classes["@mozilla.org/download-manager;1"].getService(Components.interfaces.nsIDownloadManager);
orgArgeeCodeGrooveShredder.pref_service = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
orgArgeeCodeGrooveShredder.gpreferences = orgArgeeCodeGrooveShredder.pref_service.getBranch("extensions.grooveshredder");
+/* Debug flag in case of emergency */
+orgArgeeCodeGrooveShredder.debug = true;
+
/**
* grooveshredder
*
@@ -553,21 +556,33 @@ orgArgeeCodeGrooveShredder.utility =
var theApp = orgArgeeCodeGrooveShredder;
// Store the POST data for re-use
theApp.streamKeyData = postdata;
+ // Extract this song's ID
+ var songId = postdata.match(/"songID":([0-9]+)/)[1];
// Add a button to grooveshark
var element = theApp.browser.contentDocument.getElementById("playerDetails_nowPlaying");
theApp.$(element).children('b').remove();
theApp.$(element).append(' \
Download Song');
+ // Obtain the file name
+ var songFile = theApp.fileUtilities.getFileName();
+ // Attach a click handler
theApp.$(element).children('b').click(function(){
- theApp.grooveDownloader.getStreamKeyAndSave(0, "", 5);
+ theApp.grooveDownloader.addDownload(songId, songFile, 5);
});
- // Autodownload if preferred
- if(theApp.gpreferences.getBoolPref(".autoget")){
+ // Autodownload if preferred (make sure it's not the same song)
+ if(theApp.gpreferences.getBoolPref(".autoget")
+ && this.songId != songId){
+ // This is now our song
+ this.songId = songId;
// Download the song automagically
- theApp.grooveDownloader.getStreamKeyAndSave(0, "", 5);
+ theApp.grooveDownloader.addDownload(songId, songFile, 5);
// Skip to next song if preferred
if(theApp.gpreferences.getBoolPref(".autonext")){
- theApp.browser.contentDocument.getElementById("player_next").click();
+ setTimeout(function(){
+ theApp.browser.contentDocument
+ .getElementById("player_next")
+ .click();
+ }, 1000);
}
}
},
@@ -690,4 +705,11 @@ orgArgeeCodeGrooveShredder.utility =
theApp : orgArgeeCodeGrooveShredder
}
+orgArgeeCodeGrooveShredder.debugMessage =
+function(logMessage){
+ var theApp = orgArgeeCodeGrooveShredder;
+ if(theApp.debug)
+ theApp.console.logStringMessage(logMessage);
+}
+
window.addEventListener("load", function () { orgArgeeCodeGrooveShredder.grooveshredder.onLoad(); }, false);
diff --git a/chrome/content/options.js b/chrome/content/options.js
index 9351f9f..989441f 100644
--- a/chrome/content/options.js
+++ b/chrome/content/options.js
@@ -48,7 +48,7 @@ $grooveShredderQuery(function(){
$grooveShredderQuery.get('https://addons.mozilla.org/en-US/firefox/addon/grooveshredder/', function(data){
var re = /([0-9.]+)<\/span>/i
var version = re.exec(data)[1];
- var my_version = '1.14.3';
+ var my_version = '1.14.5';
if(version > my_version){
$grooveShredderQuery('#abovecontainer .orange').css('display', 'block');
} else if(version < my_version) {
diff --git a/chrome/locale/en-US/grooveshredder.properties b/chrome/locale/en-US/grooveshredder.properties
index 4ced819..77d3bbb 100644
--- a/chrome/locale/en-US/grooveshredder.properties
+++ b/chrome/locale/en-US/grooveshredder.properties
@@ -8,4 +8,4 @@ multiWarn=It is HIGHLY recommended to turn off duplicate file prompts,\r\nas wel
prefsTitle=Groove Shredder preferences
onlyNewTab=Groove Shredder has acquired a new token, it won't work with older tabs.
willDownload=songs will be downloaded.
-scanningSongs=Scanning songs. Please wait...
\ No newline at end of file
+scanningSongs=Scanning songs. Please wait...
diff --git a/chrome/locale/en-US/options.dtd b/chrome/locale/en-US/options.dtd
index e23e034..5d39951 100644
--- a/chrome/locale/en-US/options.dtd
+++ b/chrome/locale/en-US/options.dtd
@@ -29,4 +29,4 @@
-
+
diff --git a/chrome/locale/ja-JP/grooveshredder.properties b/chrome/locale/ja-JP/grooveshredder.properties
index e4e99e6..3759dfd 100644
--- a/chrome/locale/ja-JP/grooveshredder.properties
+++ b/chrome/locale/ja-JP/grooveshredder.properties
@@ -6,4 +6,6 @@ overPrompt=保存先でもう一つがあります。 書き換えればいい
playFirst=このボタンを使うまえに、一つ歌を遣らなくちゃいけません。
multiWarn=It is HIGHLY recommended to turn off duplicate file prompts,\r\nas well as skipping the file select dialog.\r\nDo you still want to Continue?
prefsTitle=グルブシュレッダ設定
-onlyNewTab=
\ No newline at end of file
+onlyNewTab=Groove Shredder has acquired a new token, it won't work with older tabs.
+willDownload=songs will be downloaded.
+scanningSongs=Scanning songs. Please wait...
diff --git a/chrome/locale/ja-JP/options.dtd b/chrome/locale/ja-JP/options.dtd
index 8e0dcf6..6ccf56a 100644
--- a/chrome/locale/ja-JP/options.dtd
+++ b/chrome/locale/ja-JP/options.dtd
@@ -29,4 +29,4 @@
-
+
diff --git a/install.rdf b/install.rdf
index c81df12..8b16385 100644
--- a/install.rdf
+++ b/install.rdf
@@ -1,14 +1,14 @@
- grooveshredder@code.argee.org
- 2
- Groove Shredder
- 1.14.3
- Rohit Garg
-
- An extension to download mp3 files from Grooveshark.
- chrome://grooveshredder/content/options.xul
+ grooveshredder@code.argee.org
+ 2
+ Groove Shredder
+ 1.14.5
+ Rohit Garg
+
+ An extension to download mp3 files from Grooveshark
+ chrome://grooveshredder/content/options.xul
chrome://grooveshredder/skin/shark.png