diff --git a/app/src/main/java/ru/vtosters/lite/music/converter/ts/FFMpeg.java b/app/src/main/java/ru/vtosters/lite/music/converter/ts/FFMpeg.java index e8c4cf1dd..c8b3aaa76 100644 --- a/app/src/main/java/ru/vtosters/lite/music/converter/ts/FFMpeg.java +++ b/app/src/main/java/ru/vtosters/lite/music/converter/ts/FFMpeg.java @@ -3,6 +3,7 @@ package ru.vtosters.lite.music.converter.ts; import com.arthenica.ffmpegkit.FFmpegKit; import com.vk.dto.music.Artist; import com.vk.dto.music.MusicTrack; +import ru.vtosters.hooks.other.Preferences; import ru.vtosters.lite.music.downloader.M3UDownloader; import ru.vtosters.lite.utils.IOUtils; @@ -25,14 +26,18 @@ public class FFMpeg { + " -loglevel error" + " -hide_banner" + " -write_id3v2 1" - + " -metadata title=\"" + IOUtils.getValidFileName(M3UDownloader.getTitle(track)) + '"' - + " -metadata artist=\"" + normalizeMetadata(track.L.stream().map(Artist::w1).collect(Collectors.joining(", "))) + '"' - + " -metadata album=\"" + normalizeMetadata(track.I.getTitle()) + '"' + + setMetadata(track) + " -c copy \"" + out + '"'; var ses = FFmpegKit.execute(cmd); if (ses.getReturnCode().isValueCancel()) throw new RuntimeException(ses.getLogsAsString()); } + private static String setMetadata(MusicTrack track) { + return Preferences.getBoolValue("setMetaData", false) ? "" : " -metadata title=\"" + IOUtils.getValidFileName(M3UDownloader.getTitle(track)) + '"' + + " -metadata artist=\"" + normalizeMetadata(track.L.stream().map(Artist::w1).collect(Collectors.joining(", "))) + '"' + + " -metadata album=\"" + normalizeMetadata(track.I.getTitle()) + '"'; + } + private static String normalizeMetadata(String in) { return in.replaceAll("[\\\\/:*?\"<>|]", ""); } diff --git a/smali/res/xml/preferences_media.xml b/smali/res/xml/preferences_media.xml index bcfd8b73e..5db8803e7 100644 --- a/smali/res/xml/preferences_media.xml +++ b/smali/res/xml/preferences_media.xml @@ -45,6 +45,11 @@ android:entryValues="@array/musicdefcatalog" android:key="musicdefcatalog" android:title="@string/musicdefcatalog_title"/> +