coverartarchive-api
Java data bindings for the Cover Art Archive.
Things to know
- Provides access to cover art through the
/release/{mbid}/
or/release-group/{mbid}/
end points. - The Javadoc can be generated by running
mvn javadoc:javadoc
.
Configuration
The recommended way of using coverartarchive-api
is through Maven. Add the coverartarchive-api
dependency to your project's POM:
<dependency>
<groupId>fm.last</groupId>
<artifactId>coverartarchive-api</artifactId>
<version>2.1.1</version>
</dependency>
(Alternatively, a JAR file can be obtained from Maven Central: fm.last:coverartarchive-api:2.1.1)
Usage example
Get all cover art for Portishead's 'Dummy' release:
CoverArtArchiveClient client = new DefaultCoverArtArchiveClient();
UUID mbid = UUID.fromString("76df3287-6cda-33eb-8e9a-044b5e15ffdd");
CoverArt coverArt = null;
try {
coverArt = client.getByMbid(mbid);
if (coverArt != null) {
for (CoverArtImage coverArtImage : coverArt.getImages()) {
File output = new File(mbid.toString() + "_" + coverArtImage.getId() + ".jpg");
FileUtils.copyInputStreamToFile(coverArtImage.getImage(), output);
}
}
} catch (Exception e) {
// ...
}
To get all cover art for Portishead's 'Dummy' using the release-group endpoint, replace:
coverArt = client.getByMbid(mbid);
with:
coverArt = client.getReleaseGroupByMbid(mbid);
To query using HTTPs instead of plain HTTP, create the client as follows.
final boolean useHttps = true;
CoverArtArchiveClient client = new DefaultCoverArtArchiveClient(useHttps);
Note that URLs for images returned by the service may still contain insecure addresses. To detect these cases you can query the URLs for each returned image by calling CoverArtImage.getImageUrl()
.
Running the tests
- Run
mvn clean verify
Contributing
All contributions are welcome. Please use the Last.fm codeformatting profile found in the lastfm-oss-config
project for formatting your changes.
License
Copyright 2012-2018 Last.fm
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Kthxbye
Last.fm <3 MusicBrainz