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=2a80f7893fb4f82fa84736c2511905504706eac6;hpb=521b21587531238813b5439c5daa8de2ed4c40da;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 2a80f78..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; @@ -119,6 +121,14 @@ 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); + 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. */