diff --git a/libresonic-main/pom.xml b/libresonic-main/pom.xml
index 42fd38aa..41cd5c8b 100644
--- a/libresonic-main/pom.xml
+++ b/libresonic-main/pom.xml
@@ -194,9 +194,9 @@
- org
+ net.jthink
jaudiotagger
- 2.0.3
+ 2.2.3
@@ -398,6 +398,17 @@
slf4j-api
1.7.24
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ 2.8.7
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.8.7
+
diff --git a/libresonic-main/src/main/java/org/libresonic/player/dao/MediaFileDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/MediaFileDao.java
index 94c4045b..8759d007 100644
--- a/libresonic-main/src/main/java/org/libresonic/player/dao/MediaFileDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/MediaFileDao.java
@@ -24,6 +24,7 @@ import org.libresonic.player.domain.Genre;
import org.libresonic.player.domain.MediaFile;
import org.libresonic.player.domain.MusicFolder;
import org.libresonic.player.domain.RandomSearchCriteria;
+import org.libresonic.player.util.Util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.RowMapper;
@@ -165,6 +166,8 @@ public class MediaFileDao extends AbstractDao {
"version=? " +
"where path=?";
+ logger.trace("Updating media file {}", Util.debugObject(file));
+
int n = update(sql,
file.getFolder(), file.getMediaType().name(), file.getFormat(), file.getTitle(), file.getAlbumName(), file.getArtist(),
file.getAlbumArtist(), file.getDiscNumber(), file.getTrackNumber(), file.getYear(), file.getGenre(), file.getBitRate(),
diff --git a/libresonic-main/src/main/java/org/libresonic/player/service/metadata/JaudiotaggerParser.java b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/JaudiotaggerParser.java
index 903e42d9..59f475fb 100644
--- a/libresonic-main/src/main/java/org/libresonic/player/service/metadata/JaudiotaggerParser.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/JaudiotaggerParser.java
@@ -26,7 +26,7 @@ import org.jaudiotagger.audio.AudioFileIO;
import org.jaudiotagger.audio.AudioHeader;
import org.jaudiotagger.tag.FieldKey;
import org.jaudiotagger.tag.Tag;
-import org.jaudiotagger.tag.datatype.Artwork;
+import org.jaudiotagger.tag.images.Artwork;
import org.jaudiotagger.tag.reference.GenreTypes;
import org.libresonic.player.Logger;
import org.libresonic.player.domain.MediaFile;
diff --git a/libresonic-main/src/main/java/org/libresonic/player/util/Util.java b/libresonic-main/src/main/java/org/libresonic/player/util/Util.java
index 2f8ab6e5..88f58e68 100644
--- a/libresonic-main/src/main/java/org/libresonic/player/util/Util.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/Util.java
@@ -19,12 +19,16 @@
*/
package org.libresonic.player.util;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.libresonic.player.Logger;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
/**
* Miscellaneous general utility methods.
@@ -102,4 +106,14 @@ public final class Util {
}
return result;
}
+
+ static ObjectMapper objectMapper = new ObjectMapper();
+ public static String debugObject(Object object) {
+ try {
+ return objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(object);
+ } catch (JsonProcessingException e) {
+ LOG.warn("Cant output debug object", e);
+ return "";
+ }
+ }
}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 12c7192f..86770b8c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,6 +35,10 @@
teleal
http://teleal.org/m2
+
+ jaudiotagger-repository
+ https://dl.bintray.com/ijabz/maven
+