Sync a Grooveshark library to disk.
- Command line API for use as a scheduled job
$ basking -dir "~/music" -user "username" -pass "password"
- Playlist generation
GS Favorites
andGS Collection.m3u
- Robust system for keeping everything in sync with the API
- Grooveshark identifier is embedded in IDv3 tag, so files can be renamed/retagged without getting lost.
- Deletions/removed favorites are propagated to the local library
With Maven:
<dependency>
<groupId>co.arcs.groove</groupId>
<artifactId>basking</artifactId>
<version>X.X.X</version>
</dependency>
Or Gradle:
compile 'co.arcs.groove:basking:X.X.X'
Find the latest version on maven central.
Get the distribution package.
The jar-with-dependencies and wrapper script need adding to the path. On linux or OSX that would look something like this:
unzip basking-1.5.3-dist.zip
sudo cp -r basking-1.5.3 /usr/local/bin
sudo ln -s -f /usr/local/bin/basking-1.5.3/basking /usr/local/bin/basking
Config config = new Config();
config.syncPath = new File("./music");
config.username = "user@email.com";
config.password = "password"
SyncService service = new SyncService(config);
ListenableFuture<SyncOutcome> outcome = service.start();
Usage: basking [options]
Options:
-cfg, --config
JSON configuration file to load.
-dry, --dry-run
Do not modify the disk.
Default: false
-h, --help
Show this help.
Default: false
-num, --num-concurrent
Number of concurrent downloads.
Default: 1
* -pass, --password
Grooveshark user password.
* -dir, --sync-dir
Directory to sync. Will be created if it does not already exist.
* -user, --username
Grooveshark user name.
Apache 2.0. See LICENCE.txt
for details.