coverartarchive-api

Java bindings for the MusicBrainz Cover Art Archive

License

License

GroupId

GroupId

fm.last
ArtifactId

ArtifactId

coverartarchive-api
Last Version

Last Version

2.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

coverartarchive-api
Java bindings for the MusicBrainz Cover Art Archive
Project URL

Project URL

https://github.com/lastfm/coverartarchive-api
Project Organization

Project Organization

Last.fm
Source Code Management

Source Code Management

https://github.com/lastfm/coverartarchive-api

Download coverartarchive-api

How to add to project

<!-- https://jarcasting.com/artifacts/fm.last/coverartarchive-api/ -->
<dependency>
    <groupId>fm.last</groupId>
    <artifactId>coverartarchive-api</artifactId>
    <version>2.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/fm.last/coverartarchive-api/
implementation 'fm.last:coverartarchive-api:2.1.1'
// https://jarcasting.com/artifacts/fm.last/coverartarchive-api/
implementation ("fm.last:coverartarchive-api:2.1.1")
'fm.last:coverartarchive-api:jar:2.1.1'
<dependency org="fm.last" name="coverartarchive-api" rev="2.1.1">
  <artifact name="coverartarchive-api" type="jar" />
</dependency>
@Grapes(
@Grab(group='fm.last', module='coverartarchive-api', version='2.1.1')
)
libraryDependencies += "fm.last" % "coverartarchive-api" % "2.1.1"
[fm.last/coverartarchive-api "2.1.1"]

Dependencies

compile (6)

Group / Artifact Type Version
com.google.guava : guava jar 12.0
org.apache.httpcomponents : httpclient jar 4.2.1
com.fasterxml.jackson.core : jackson-core jar 2.0.5
com.fasterxml.jackson.core : jackson-databind jar 2.0.5
org.slf4j : slf4j-api jar 1.6.6
commons-io : commons-io jar 2.4

test (4)

Group / Artifact Type Version
org.hamcrest : hamcrest-library jar 1.3.RC2
junit : junit jar 4.10
org.mockito : mockito-core jar 1.9.0
org.slf4j : slf4j-log4j12 jar 1.6.6

Project Modules

There are no modules declared in this project.

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

fm.last

Last.fm

Versions

Version
2.1.1
2.1.0
2.0.0
1.0.0