X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fpage%2Fadmin%2FAddTrackDerivativePage.java;h=620d302099f362540fc9596b0564e4ebb520b0de;hb=7d564a0d18ae3385677021e396a02b9fbedd8f94;hp=579940c1eaab34f3e35a00e9ba52a917257d1c17;hpb=89374975e400fb63e2c0a8e68986c98ed76bd711;p=demoscenemusic.git diff --git a/src/main/java/net/pterodactylus/demoscenemusic/page/admin/AddTrackDerivativePage.java b/src/main/java/net/pterodactylus/demoscenemusic/page/admin/AddTrackDerivativePage.java index 579940c..620d302 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/page/admin/AddTrackDerivativePage.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/page/admin/AddTrackDerivativePage.java @@ -29,6 +29,8 @@ import net.pterodactylus.demoscenemusic.core.Core; import net.pterodactylus.demoscenemusic.data.Track; import net.pterodactylus.demoscenemusic.data.TrackDerivative; import net.pterodactylus.demoscenemusic.page.ServletRequest; +import net.pterodactylus.demoscenemusic.utils.AudioCodecs; +import net.pterodactylus.demoscenemusic.utils.AudioCodecs.AudioCodecDescription; import net.pterodactylus.util.database.DatabaseException; import net.pterodactylus.util.io.Closer; import net.pterodactylus.util.io.StreamCopier; @@ -118,7 +120,15 @@ public class AddTrackDerivativePage extends AdminBasePage { /* okay, we’re here, so everything’s fine, probably. */ TrackDerivative derivative = getCore().getDataManager().createTrackDerivative(track); - derivative.getProperties().set("file.original-name", filename); + derivative.getProperties().set("file/original-name", filename); + if (filename.indexOf('.') > filename.lastIndexOf('/')) { + derivative.getProperties().set("file/extension", filename.substring(filename.lastIndexOf('.') + 1)); + } + AudioCodecDescription audioCodecDescription = AudioCodecs.detect(filename); + if (audioCodecDescription != null) { + derivative.getProperties().set("audio/codec", audioCodecDescription.code); + } + /* TODO - identify file type and media information */ getCore().getDataManager().saveTrackDerivate(derivative); /* copy the file again. */