diff --git a/pom.xml b/pom.xml
index d03769ad..0e4beca5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,7 +70,7 @@
commons-io
commons-io
- 2.7
+ 2.11.0
compile
@@ -83,7 +83,7 @@
org.controlsfx
controlsfx
- 11.1.0
+ 11.1.1
org.openjfx
@@ -95,13 +95,13 @@
com.google.code.gson
gson
- 2.8.6
+ 2.8.9
com.google.guava
guava
- 30.1.1-jre
+ 31.0.1-jre
diff --git a/src/main/java/uk/yermak/audiobookconverter/AudiobookConverter.java b/src/main/java/uk/yermak/audiobookconverter/AudiobookConverter.java
index 56942c4e..e406d2aa 100644
--- a/src/main/java/uk/yermak/audiobookconverter/AudiobookConverter.java
+++ b/src/main/java/uk/yermak/audiobookconverter/AudiobookConverter.java
@@ -16,8 +16,6 @@
import org.controlsfx.control.Notifications;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import uk.yermak.audiobookconverter.AppProperties;
-import uk.yermak.audiobookconverter.Utils;
import uk.yermak.audiobookconverter.Version;
import uk.yermak.audiobookconverter.fx.ConversionContext;
import uk.yermak.audiobookconverter.fx.JfxEnv;
diff --git a/src/main/java/uk/yermak/audiobookconverter/Chapter.java b/src/main/java/uk/yermak/audiobookconverter/Chapter.java
index 4e433203..24719f02 100644
--- a/src/main/java/uk/yermak/audiobookconverter/Chapter.java
+++ b/src/main/java/uk/yermak/audiobookconverter/Chapter.java
@@ -63,12 +63,6 @@ public long getDuration() {
return media.stream().mapToLong(MediaInfo::getDuration).sum();
}
-/*
- public String getDurationString() {
- return Utils.formatTime(getDuration());
- }
-*/
-
@Override
public boolean split() {
if (part.getChapters().size() == 1) {
diff --git a/src/main/java/uk/yermak/audiobookconverter/ConversionException.java b/src/main/java/uk/yermak/audiobookconverter/ConversionException.java
index d25b8294..1d1878a4 100644
--- a/src/main/java/uk/yermak/audiobookconverter/ConversionException.java
+++ b/src/main/java/uk/yermak/audiobookconverter/ConversionException.java
@@ -2,10 +2,6 @@
public class ConversionException extends RuntimeException {
- public ConversionException(String message) {
- super(message);
- }
-
public ConversionException(String message, Throwable cause) {
super(message, cause);
}
@@ -14,7 +10,4 @@ public ConversionException(Throwable cause) {
super(cause);
}
- public ConversionException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
- super(message, cause, enableSuppression, writableStackTrace);
- }
}
diff --git a/src/main/java/uk/yermak/audiobookconverter/ConversionGroup.java b/src/main/java/uk/yermak/audiobookconverter/ConversionGroup.java
index a762cb44..b7f99014 100644
--- a/src/main/java/uk/yermak/audiobookconverter/ConversionGroup.java
+++ b/src/main/java/uk/yermak/audiobookconverter/ConversionGroup.java
@@ -139,15 +139,13 @@ public void launch(ListView progressQueue, ProgressComponent
Chapter chapter = chapters.get(i);
String finalDesination = outputDestination;
if (chapters.size() > 1) {
- finalDesination = finalDesination.replace("." + format.toString(), ", Chapter " + (i + 1) + "." + format.toString());
+ finalDesination = finalDesination.replace("." + format.toString(), ", Chapter " + (i + 1) + "." + format);
}
String finalName = new File(finalDesination).getName();
logger.debug("Adding conversion for chapter {}", finalName);
ConversionProgress conversionProgress = this.start(chapter, finalDesination);
- Platform.runLater(() -> {
- progressQueue.getItems().add(0, new ProgressComponent(conversionProgress));
- });
+ Platform.runLater(() -> progressQueue.getItems().add(0, new ProgressComponent(conversionProgress)));
}
} else {
@@ -156,15 +154,13 @@ public void launch(ListView progressQueue, ProgressComponent
Part part = parts.get(i);
String finalDesination = outputDestination;
if (parts.size() > 1) {
- finalDesination = finalDesination.replace("." + format.toString(), ", Part " + (i + 1) + "." + format.toString());
+ finalDesination = finalDesination.replace("." + format.toString(), ", Part " + (i + 1) + "." + format);
}
String finalName = new File(finalDesination).getName();
logger.debug("Adding conversion for part {}", finalName);
ConversionProgress conversionProgress = this.start(part, finalDesination);
- Platform.runLater(() -> {
- progressQueue.getItems().add(0, new ProgressComponent(conversionProgress));
- });
+ Platform.runLater(() -> progressQueue.getItems().add(0, new ProgressComponent(conversionProgress)));
}
}
diff --git a/src/main/java/uk/yermak/audiobookconverter/ConversionJob.java b/src/main/java/uk/yermak/audiobookconverter/ConversionJob.java
index 87187370..7661b760 100644
--- a/src/main/java/uk/yermak/audiobookconverter/ConversionJob.java
+++ b/src/main/java/uk/yermak/audiobookconverter/ConversionJob.java
@@ -55,7 +55,6 @@ public void run() {
String tempFile = Utils.getTmp(jobId, outputDestination.hashCode(), conversionGroup.getWorkfileExtension());
- File metaFile = null;
try {
// conversion.getOutputParameters().updateAuto(conversion.getMedia());
@@ -94,8 +93,6 @@ public void run() {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
error(e.getMessage() + "; " + sw.getBuffer().toString());
- } finally {
- FileUtils.deleteQuietly(metaFile);
}
}
diff --git a/src/main/java/uk/yermak/audiobookconverter/Environment.java b/src/main/java/uk/yermak/audiobookconverter/Environment.java
index 3cf2dcd3..186ba50c 100644
--- a/src/main/java/uk/yermak/audiobookconverter/Environment.java
+++ b/src/main/java/uk/yermak/audiobookconverter/Environment.java
@@ -20,14 +20,14 @@ protected String getAppPath() {
}
@Override
- protected File getConfigFilePath(File file) {
+ protected File getConfigFilePath() {
return new File(getAppPath(), "Contents/app/path.properties");
}
},
LINUX {
@Override
- protected File getConfigFilePath(File file) {
+ protected File getConfigFilePath() {
return new File("../lib/app/path.properties");
}
@@ -83,14 +83,13 @@ protected String getAppPath() {
return "";
}
- protected File getConfigFilePath(File file) {
+ protected File getConfigFilePath() {
return new File("app/path.properties");
}
synchronized Properties loadAppProperties() {
if (properties.isEmpty()) {
- File file = null;
- file = getConfigFilePath(file);
+ File file = getConfigFilePath();
if (file.exists()) {
try (FileInputStream in = new FileInputStream(file)) {
diff --git a/src/main/java/uk/yermak/audiobookconverter/FFMediaLoader.java b/src/main/java/uk/yermak/audiobookconverter/FFMediaLoader.java
index b63be59c..22e290d0 100644
--- a/src/main/java/uk/yermak/audiobookconverter/FFMediaLoader.java
+++ b/src/main/java/uk/yermak/audiobookconverter/FFMediaLoader.java
@@ -203,8 +203,7 @@ static void parseCue(MediaInfoBean mediaInfo, String cue) {
private static long parseCueTime(String substring) {
String cleanText = cleanText(substring);
String[] split = cleanText.split(":");
- long time = 1000 * (Integer.parseInt(split[0]) * 60 + Integer.parseInt(split[1])) + Integer.parseInt(split[2]) * 1000 / 75;
- return time;
+ return 1000 * (Integer.parseInt(split[0]) * 60 + Integer.parseInt(split[1])) + Integer.parseInt(split[2]) * 1000 / 75;
}
private static String cleanText(String text) {
diff --git a/src/main/java/uk/yermak/audiobookconverter/FFMpegConcatenator.java b/src/main/java/uk/yermak/audiobookconverter/FFMpegConcatenator.java
index 0444d8aa..482adb65 100644
--- a/src/main/java/uk/yermak/audiobookconverter/FFMpegConcatenator.java
+++ b/src/main/java/uk/yermak/audiobookconverter/FFMpegConcatenator.java
@@ -30,7 +30,6 @@ public class FFMpegConcatenator {
private final ProgressCallback callback;
private ProgressParser progressParser;
private List tmpFiles = new ArrayList<>();
- private String fileListFileName;
public FFMpegConcatenator(ConversionJob conversionJob, String outputFileName, MetadataBuilder metadataBuilder, List media, ProgressCallback callback) {
this.conversionJob = conversionJob;
@@ -49,14 +48,12 @@ protected static File prepareFiles(long jobId, List media, String wor
public void concat() throws IOException, InterruptedException {
if (conversionJob.getStatus().isOver()) return;
- fileListFileName = prepareFiles(conversionJob.jobId, media, conversionJob.getConversionGroup().getWorkfileExtension()).getAbsolutePath();
+ String fileListFileName = prepareFiles(conversionJob.jobId, media, conversionJob.getConversionGroup().getWorkfileExtension()).getAbsolutePath();
while (ProgressStatus.PAUSED.equals(conversionJob.getStatus())) Thread.sleep(1000);
callback.reset();
try {
- progressParser = new TcpProgressParser(progress -> {
- callback.converted(progress.out_time_ns / 1000000, progress.total_size);
- });
+ progressParser = new TcpProgressParser(progress -> callback.converted(progress.out_time_ns / 1000000, progress.total_size));
progressParser.start();
} catch (URISyntaxException e) {
}
@@ -83,15 +80,15 @@ public void concat() throws IOException, InterruptedException {
while (!conversionJob.getStatus().isOver() && !finished) {
finished = process.waitFor(500, TimeUnit.MILLISECONDS);
}
- logger.debug("Concat Out: {}", out.toString());
- logger.error("Concat Error: {}", err.toString());
+ logger.debug("Concat Out: {}", out);
+ logger.error("Concat Error: {}", err);
if (process.exitValue() != 0) {
throw new ConversionException("Concatenation exit code " + process.exitValue() + "!=0", new Error(err.toString()));
}
if (!new File(outputFileName).exists()) {
- throw new ConversionException("Concatenation failed, no output file:" + out.toString(), new Error(err.toString()));
+ throw new ConversionException("Concatenation failed, no output file:" + out, new Error(err.toString()));
}
} catch (Exception e) {
logger.error("Error during concatination of files:", e);
diff --git a/src/main/java/uk/yermak/audiobookconverter/FFMpegNativeConverter.java b/src/main/java/uk/yermak/audiobookconverter/FFMpegNativeConverter.java
index cf34a952..f7cb8203 100644
--- a/src/main/java/uk/yermak/audiobookconverter/FFMpegNativeConverter.java
+++ b/src/main/java/uk/yermak/audiobookconverter/FFMpegNativeConverter.java
@@ -69,8 +69,8 @@ public String call() throws Exception {
while (!conversionJob.getStatus().isOver() && !finished) {
finished = process.waitFor(500, TimeUnit.MILLISECONDS);
}
- logger.debug("ffmpeg out: {}", out.toString());
- logger.warn("ffmpeg err: {}", err.toString());
+ logger.debug("ffmpeg out: {}", out);
+ logger.warn("ffmpeg err: {}", err);
DurationVerifier.ffMpegUpdateDuration(mediaInfo, outputFileName);
return outputFileName;
diff --git a/src/main/java/uk/yermak/audiobookconverter/FFMpegOptimizer.java b/src/main/java/uk/yermak/audiobookconverter/FFMpegOptimizer.java
index 41321f03..29eb28df 100644
--- a/src/main/java/uk/yermak/audiobookconverter/FFMpegOptimizer.java
+++ b/src/main/java/uk/yermak/audiobookconverter/FFMpegOptimizer.java
@@ -18,7 +18,6 @@ public class FFMpegOptimizer {
private String tempFile;
private final String outputFileName;
- private final ProgressCallback callback;
private ProgressParser progressParser;
@@ -26,7 +25,6 @@ public FFMpegOptimizer(ConversionJob conversionJob, String tempFile, String outp
this.conversionJob = conversionJob;
this.tempFile = tempFile;
this.outputFileName = outputFileName;
- this.callback = callback;
}
@@ -45,7 +43,7 @@ public void moveResultingFile() {
}
}
- private void optimize() throws IOException, InterruptedException {
+ private void optimize() throws InterruptedException {
if (conversionJob.getStatus().isOver()) return;
while (ProgressStatus.PAUSED.equals(conversionJob.getStatus())) Thread.sleep(1000);
// callback.reset();
@@ -88,15 +86,15 @@ private void optimize() throws IOException, InterruptedException {
while (!conversionJob.getStatus().isOver() && !finished) {
finished = process.waitFor(500, TimeUnit.MILLISECONDS);
}
- logger.debug("Optimize Out: {}", out.toString());
- logger.error("Optimize Error: {}", err.toString());
+ logger.debug("Optimize Out: {}", out);
+ logger.error("Optimize Error: {}", err);
if (process.exitValue() != 0) {
throw new ConversionException("Optimisation exit code " + process.exitValue() + "!=0", new Error(err.toString()));
}
if (!new File(Utils.getTmp(conversionJob.jobId, outputFileName.hashCode()+1, conversionJob.getConversionGroup().getWorkfileExtension())).exists()) {
- throw new ConversionException("Optimisation failed, no output file:" + out.toString(), new Error(err.toString()));
+ throw new ConversionException("Optimisation failed, no output file:" + out, new Error(err.toString()));
}
} catch (Exception e) {
logger.error("Error during optimisation of resulting file:", e);
diff --git a/src/main/java/uk/yermak/audiobookconverter/FFmpegArtWorkExtractor.java b/src/main/java/uk/yermak/audiobookconverter/FFmpegArtWorkExtractor.java
index 4e1dff6e..cbda93d0 100644
--- a/src/main/java/uk/yermak/audiobookconverter/FFmpegArtWorkExtractor.java
+++ b/src/main/java/uk/yermak/audiobookconverter/FFmpegArtWorkExtractor.java
@@ -28,7 +28,6 @@ public ArtWork call() throws Exception {
if (conversionGroup.isOver() || conversionGroup.isStarted() || conversionGroup.isDetached())
throw new InterruptedException("ArtWork loading was interrupted");
String poster = Utils.getTmp(mediaInfo.hashCode(), stream, format);
- //TODO consider replacing with m4art extract for m4b files
ProcessBuilder pictureProcessBuilder = new ProcessBuilder(Environment.FFMPEG,
"-i", mediaInfo.getFileName(),
"-map", "0:" + stream,
@@ -47,8 +46,8 @@ public ArtWork call() throws Exception {
while (!conversionGroup.isOver() && !finished) {
finished = process.waitFor(500, TimeUnit.MILLISECONDS);
}
- FFMediaLoader.logger.debug("ArtWork Out: {}", out.toString());
- FFMediaLoader.logger.error("ArtWork Error: {}", err.toString());
+ FFMediaLoader.logger.debug("ArtWork Out: {}", out);
+ FFMediaLoader.logger.error("ArtWork Error: {}", err);
ArtWorkBean artWorkBean = new ArtWorkBean(poster);
Platform.runLater(() -> {
diff --git a/src/main/java/uk/yermak/audiobookconverter/MediaInfo.java b/src/main/java/uk/yermak/audiobookconverter/MediaInfo.java
index 8f0fc425..1fb62554 100644
--- a/src/main/java/uk/yermak/audiobookconverter/MediaInfo.java
+++ b/src/main/java/uk/yermak/audiobookconverter/MediaInfo.java
@@ -22,9 +22,9 @@ public interface MediaInfo extends Organisable {
void setChapter(Chapter chapter);
- public Chapter getChapter();
+ Chapter getChapter();
- public int getUID();
+ int getUID();
}
\ No newline at end of file
diff --git a/src/main/java/uk/yermak/audiobookconverter/MediaInfoProxy.java b/src/main/java/uk/yermak/audiobookconverter/MediaInfoProxy.java
index b60e00d1..d97a5e9a 100644
--- a/src/main/java/uk/yermak/audiobookconverter/MediaInfoProxy.java
+++ b/src/main/java/uk/yermak/audiobookconverter/MediaInfoProxy.java
@@ -1,7 +1,6 @@
package uk.yermak.audiobookconverter;
import java.util.List;
-import java.util.Objects;
import java.util.concurrent.Future;
public class MediaInfoProxy implements MediaInfo {
diff --git a/src/main/java/uk/yermak/audiobookconverter/Mp4v2ArtBuilder.java b/src/main/java/uk/yermak/audiobookconverter/Mp4v2ArtBuilder.java
index 6d1b0f57..d2877679 100644
--- a/src/main/java/uk/yermak/audiobookconverter/Mp4v2ArtBuilder.java
+++ b/src/main/java/uk/yermak/audiobookconverter/Mp4v2ArtBuilder.java
@@ -33,7 +33,7 @@ public void coverArt(String outputFileName) throws IOException, InterruptedExcep
}
}
- public void updateSinglePoster(ArtWork poster, int index, String outputFileName) throws IOException, InterruptedException {
+ public void updateSinglePoster(ArtWork poster, int index, String outputFileName) {
Process process = null;
try {
ProcessBuilder artProcessBuilder = new ProcessBuilder(Environment.MP4ART,
@@ -53,15 +53,15 @@ public void updateSinglePoster(ArtWork poster, int index, String outputFileName)
while (!conversionJob.getStatus().isOver() && !finished) {
finished = process.waitFor(500, TimeUnit.MILLISECONDS);
}
- logger.debug("mp4art out: {}", out.toString());
- logger.warn("mp4art err: {}", err.toString());
+ logger.debug("mp4art out: {}", out);
+ logger.warn("mp4art err: {}", err);
if (process.exitValue() != 0) {
throw new ConversionException("ArtWork failed with code " + process.exitValue() + "!=0", new Error(err.toString()));
}
if (!new File(outputFileName).exists()) {
- throw new ConversionException("ArtWork failed, no output file:" + out.toString(), new Error(err.toString()));
+ throw new ConversionException("ArtWork failed, no output file:" + out, new Error(err.toString()));
}
} catch (Exception e) {
logger.error("Failed to apply art work", e);
diff --git a/src/main/java/uk/yermak/audiobookconverter/Utils.java b/src/main/java/uk/yermak/audiobookconverter/Utils.java
index e64e7a5a..7cf08c9a 100644
--- a/src/main/java/uk/yermak/audiobookconverter/Utils.java
+++ b/src/main/java/uk/yermak/audiobookconverter/Utils.java
@@ -162,9 +162,7 @@ public static String renderPart(Part part, Map> c
ST partTemplate = new ST(g, partFormat);
- context.forEach((key, value) -> {
- partTemplate.add(key, value.apply(part));
- });
+ context.forEach((key, value) -> partTemplate.add(key, value.apply(part)));
String result = partTemplate.render();
char[] toRemove = new char[]{':', '\\', '/', '>', '<', '|', '?', '*', '"'};
diff --git a/src/main/java/uk/yermak/audiobookconverter/Version.java b/src/main/java/uk/yermak/audiobookconverter/Version.java
index 4095cc9f..e5954aab 100644
--- a/src/main/java/uk/yermak/audiobookconverter/Version.java
+++ b/src/main/java/uk/yermak/audiobookconverter/Version.java
@@ -3,7 +3,7 @@
public class Version {
public static String getVersionString() {
- return "AudioBookConverter-5.6.3";
+ return "AudiobookConverter-#{APP_VERSION}#";
}
}
diff --git a/src/main/java/uk/yermak/audiobookconverter/fx/BookInfoController.java b/src/main/java/uk/yermak/audiobookconverter/fx/BookInfoController.java
index 64e81d42..d808fd77 100644
--- a/src/main/java/uk/yermak/audiobookconverter/fx/BookInfoController.java
+++ b/src/main/java/uk/yermak/audiobookconverter/fx/BookInfoController.java
@@ -85,7 +85,7 @@ private void initialize() {
year.textProperty().addListener(o -> AudiobookConverter.getContext().getBookInfo().year().set(year.getText()));
comment.textProperty().addListener(o -> AudiobookConverter.getContext().getBookInfo().comment().set(comment.getText()));
- AudiobookConverter.getContext().addContextDetachListener(observable -> Platform.runLater(() -> clearTags()));
+ AudiobookConverter.getContext().addContextDetachListener(observable -> Platform.runLater(this::clearTags));
}
private void updateTags(ObservableList media, boolean clear) {
diff --git a/src/main/java/uk/yermak/audiobookconverter/fx/ConversionContext.java b/src/main/java/uk/yermak/audiobookconverter/fx/ConversionContext.java
index d6df0d57..0e581b26 100644
--- a/src/main/java/uk/yermak/audiobookconverter/fx/ConversionContext.java
+++ b/src/main/java/uk/yermak/audiobookconverter/fx/ConversionContext.java
@@ -137,9 +137,7 @@ public void movePosterUp(final Integer selected) {
}
public void addPosterIfMissingWithDelay(ArtWork artWork) {
- Platform.runLater(() -> {
- addPosterIfMissing(artWork);
- });
+ Platform.runLater(() -> addPosterIfMissing(artWork));
}
public void addPosterIfMissing(ArtWork artWork) {
diff --git a/src/main/java/uk/yermak/audiobookconverter/fx/DialogHelper.java b/src/main/java/uk/yermak/audiobookconverter/fx/DialogHelper.java
index 697b66d7..f43fb4b6 100644
--- a/src/main/java/uk/yermak/audiobookconverter/fx/DialogHelper.java
+++ b/src/main/java/uk/yermak/audiobookconverter/fx/DialogHelper.java
@@ -55,7 +55,7 @@ public static List selectFilesDialog() {
Arrays.stream(FILE_EXTENSIONS).map(String::toUpperCase).forEach(filetypes::add);
- fileChooser.setTitle("Select " + filetypes.toString() + " files for conversion");
+ fileChooser.setTitle("Select " + filetypes + " files for conversion");
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Audio", Arrays.asList(toSuffixes("*.", FILE_EXTENSIONS))));
@@ -67,8 +67,7 @@ public static List selectFilesDialog() {
File parentFile = firstFile.getParentFile();
AppProperties.setProperty("source.folder", parentFile.getAbsolutePath());
}
- List fileNames = collectFiles(files);
- return fileNames;
+ return collectFiles(files);
}
public static List selectFolderDialog() {
@@ -81,14 +80,13 @@ public static List selectFolderDialog() {
Arrays.stream(FILE_EXTENSIONS).map(String::toUpperCase).forEach(filetypes::add);
- directoryChooser.setTitle("Select folder with " + filetypes.toString() + " files for conversion");
+ directoryChooser.setTitle("Select folder with " + filetypes + " files for conversion");
File selectedDirectory = directoryChooser.showDialog(window);
if (selectedDirectory == null) return null;
AppProperties.setProperty("source.folder", selectedDirectory.getAbsolutePath());
- List fileNames = collectFiles(Collections.singleton(selectedDirectory));
- return fileNames;
+ return collectFiles(Collections.singleton(selectedDirectory));
}
static List collectFiles(Collection files) {
diff --git a/src/main/java/uk/yermak/audiobookconverter/fx/OutputController.java b/src/main/java/uk/yermak/audiobookconverter/fx/OutputController.java
index d635ef31..18075e95 100644
--- a/src/main/java/uk/yermak/audiobookconverter/fx/OutputController.java
+++ b/src/main/java/uk/yermak/audiobookconverter/fx/OutputController.java
@@ -90,12 +90,9 @@ private void initialize() {
AudiobookConverter.getContext().setSpeed(Double.valueOf(newValue));
});
force.getSelectionModel().select(0);
- force.valueProperty().addListener(new ChangeListener() {
- @Override
- public void changed(ObservableValue extends String> observableValue, String oldValue, String newValue) {
- if (newValue == null) return;
- AudiobookConverter.getContext().getOutputParameters().setForce(FORCE.equals(newValue));
- }
+ force.valueProperty().addListener((observableValue, oldValue, newValue) -> {
+ if (newValue == null) return;
+ AudiobookConverter.getContext().getOutputParameters().setForce(FORCE.equals(newValue));
});
outputFormatBox.getItems().addAll(Format.values());
diff --git a/src/main/java/uk/yermak/audiobookconverter/fx/SubTracksDialog.java b/src/main/java/uk/yermak/audiobookconverter/fx/SubTracksDialog.java
index db1a14a8..ff34eb08 100644
--- a/src/main/java/uk/yermak/audiobookconverter/fx/SubTracksDialog.java
+++ b/src/main/java/uk/yermak/audiobookconverter/fx/SubTracksDialog.java
@@ -7,13 +7,11 @@
import javafx.scene.control.Spinner;
import javafx.scene.layout.GridPane;
import javafx.stage.Window;
-import javafx.util.Callback;
import javafx.util.Pair;
import org.controlsfx.control.ToggleSwitch;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.imageio.plugins.tiff.GeoTIFFTagSet;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
diff --git a/src/main/java/uk/yermak/audiobookconverter/fx/util/ContextMenuTreeTableRow.java b/src/main/java/uk/yermak/audiobookconverter/fx/util/ContextMenuTreeTableRow.java
index ac87a0a9..c23cd86f 100644
--- a/src/main/java/uk/yermak/audiobookconverter/fx/util/ContextMenuTreeTableRow.java
+++ b/src/main/java/uk/yermak/audiobookconverter/fx/util/ContextMenuTreeTableRow.java
@@ -19,9 +19,7 @@ public static Callback, TreeTableRow> forListView(final
row.setContextMenu(contextMenuBuilder.menu(row.getTreeItem().getValue()));
}
});
- row.selectedProperty().addListener((observableValue, prev, current) -> {
- row.setContextMenu(contextMenuBuilder.menu(row.getTreeItem().getValue()));
- });
+ row.selectedProperty().addListener((observableValue, prev, current) -> row.setContextMenu(contextMenuBuilder.menu(row.getTreeItem().getValue())));
return row;
};
}
diff --git a/src/test/java/uk/yermak/audiobookconverter/DurationVerifierTest.java b/src/test/java/uk/yermak/audiobookconverter/DurationVerifierTest.java
index cfeb2b3f..d29c1bf6 100644
--- a/src/test/java/uk/yermak/audiobookconverter/DurationVerifierTest.java
+++ b/src/test/java/uk/yermak/audiobookconverter/DurationVerifierTest.java
@@ -8,11 +8,12 @@ public class DurationVerifierTest {
@Test
public void testParseInfo() {
- String info ="Track Type Info\n" +
- "1 audio MPEG-4 AAC LC, 7137.041 secs, 119 kbps, 44100 Hz\n" +
- "2 text\n" +
- " Comments: null\n" +
- " Media Type: Audio Book";
+ String info = """
+ Track Type Info
+ 1 audio MPEG-4 AAC LC, 7137.041 secs, 119 kbps, 44100 Hz
+ 2 text
+ Comments: null
+ Media Type: Audio Book""";
long l = DurationVerifier.parseDuration(info);
assertEquals(l, 7137041);