diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..6d50cd4 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 86b5654..ea6ca2d 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,130 +5,147 @@ - - - - - - - - - - - - - - - - - - - - - + + + - - + + + + + + + - - + + + + + + + + + - + + + + + - - - + + + + + + + - - - + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + + + + + + + - + + - - - - - - - + + + + + - - - - - - - - - - - - - - - + + + + - - + + - - - - - - - - - - - - - - - - - + + @@ -174,9 +191,12 @@ + + + + + + + + + + + + + + + + + + + + - + + + + @@ -337,11 +388,15 @@ + + + \ No newline at end of file diff --git a/api/src/main/java/com/github/gtache/autosubtitle/ToolType.java b/api/src/main/java/com/github/gtache/autosubtitle/ToolType.java index c2ec2b9..afa7243 100644 --- a/api/src/main/java/com/github/gtache/autosubtitle/ToolType.java +++ b/api/src/main/java/com/github/gtache/autosubtitle/ToolType.java @@ -4,10 +4,6 @@ package com.github.gtache.autosubtitle; * Type of a tool */ public enum ToolType { - /** - * The video converter (used to add subtitles) - */ - VIDEO_CONVERTER, /** * The subtitle extractor (used to extract subtitles from a video) */ @@ -15,5 +11,13 @@ public enum ToolType { /** * The subtitle translator (used to translate subtitles from one language to another) */ - TRANSLATOR + TRANSLATOR, + /** + * The video converter (used to add subtitles) + */ + VIDEO_CONVERTER, + /** + * The video loader (used to load videos)w + */ + VIDEO_LOADER } diff --git a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaBundledPath.java b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaBundledPath.java index d3dd0fc..eb7960e 100644 --- a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaBundledPath.java +++ b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaBundledPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.conda; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaInstallerPath.java b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaInstallerPath.java index 6a536d8..159ea7e 100644 --- a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaInstallerPath.java +++ b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaInstallerPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.conda; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMajorVersion.java b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMajorVersion.java index b391b1e..ad342d3 100644 --- a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMajorVersion.java +++ b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMajorVersion.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.conda; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMinorVersion.java b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMinorVersion.java index 857f5a2..ca7eac0 100644 --- a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMinorVersion.java +++ b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMinorVersion.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.conda; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaRootPath.java b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaRootPath.java index 1ce8230..6b5b47d 100644 --- a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaRootPath.java +++ b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaRootPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.conda; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaSystemPath.java b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaSystemPath.java index a0ab21c..0b89831 100644 --- a/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaSystemPath.java +++ b/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaSystemPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.conda; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java b/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java index 9946c39..ec76828 100644 --- a/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java +++ b/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java @@ -6,11 +6,13 @@ import com.github.gtache.autosubtitle.process.ProcessRunner; import com.github.gtache.autosubtitle.setup.SetupException; import com.github.gtache.autosubtitle.setup.SetupStatus; import com.github.gtache.autosubtitle.setup.impl.AbstractSetupManager; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import javax.inject.Inject; import javax.inject.Singleton; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import java.io.IOException; import java.net.http.HttpClient; import java.nio.file.Files; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ArchiverProviderImpl.java b/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ArchiverProviderImpl.java index a076228..4d835b9 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ArchiverProviderImpl.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ArchiverProviderImpl.java @@ -5,6 +5,7 @@ import com.github.gtache.autosubtitle.archive.Archiver; import com.github.gtache.autosubtitle.archive.ArchiverProvider; import javax.inject.Inject; + import java.util.Collection; import java.util.Map; import java.util.stream.Collectors; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ZipArchiver.java b/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ZipArchiver.java index af6d04c..22e8db4 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ZipArchiver.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ZipArchiver.java @@ -3,6 +3,7 @@ package com.github.gtache.autosubtitle.archive.impl; import com.github.gtache.autosubtitle.archive.Archiver; import javax.inject.Inject; + import java.io.File; import java.io.IOException; import java.nio.file.Files; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/CoreModule.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/CoreModule.java index b5589c2..e284dab 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/CoreModule.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/CoreModule.java @@ -13,6 +13,7 @@ import dagger.Module; import dagger.Provides; import javax.inject.Singleton; + import java.util.prefs.Preferences; /** diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ExecutableExtension.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ExecutableExtension.java index 738916e..13b684d 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ExecutableExtension.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ExecutableExtension.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontName.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontName.java index 484b3b6..fbe0070 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontName.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontName.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontSize.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontSize.java index 89898a4..63fe684 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontSize.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontSize.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLineLength.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLineLength.java index ca32f2a..a6f3c57 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLineLength.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLineLength.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLines.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLines.java index 8e2c5aa..800571b 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLines.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLines.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ToolTypeKey.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ToolTypeKey.java new file mode 100644 index 0000000..28bd64f --- /dev/null +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ToolTypeKey.java @@ -0,0 +1,16 @@ +package com.github.gtache.autosubtitle.modules.impl; + +import com.github.gtache.autosubtitle.ToolType; +import dagger.MapKey; + +/** + * Used for injection + */ +@MapKey +public @interface ToolTypeKey { + + /** + * @return the tool type + */ + ToolType value(); +} diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/CacheRoot.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/CacheRoot.java index e454127..77b972d 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/CacheRoot.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/CacheRoot.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java index 5fbee4a..b677a52 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java @@ -36,6 +36,7 @@ public final class SetupModule { return HttpClient.newHttpClient(); } + @Provides static Map> providesSetupManagers(@VideoConverterSetup final Map convertersManagers, @SubtitleExtractorSetup final Map extractorsManagers, @@ -44,13 +45,4 @@ public final class SetupModule { ToolType.SUBTITLE_EXTRACTOR, extractorsManagers, ToolType.TRANSLATOR, translatorsManagers); } - - @Provides - static Map providesDefaultManagers(@VideoConverterSetup final SetupManager videoConverterManager, - @SubtitleExtractorSetup final SetupManager subtitleExtractorManager, - @TranslatorSetup final SetupManager translatorManager) { - return Map.of(ToolType.VIDEO_CONVERTER, videoConverterManager, - ToolType.SUBTITLE_EXTRACTOR, subtitleExtractorManager, - ToolType.TRANSLATOR, translatorManager); - } } diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SubtitleExtractorSetup.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SubtitleExtractorSetup.java index 02d18b9..681fe82 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SubtitleExtractorSetup.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SubtitleExtractorSetup.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/ToolsRoot.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/ToolsRoot.java index 5fb97fe..1588d0b 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/ToolsRoot.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/ToolsRoot.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/TranslatorSetup.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/TranslatorSetup.java index 026bd9f..95619cb 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/TranslatorSetup.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/TranslatorSetup.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoConverterSetup.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoConverterSetup.java index 448ab49..7b91d1a 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoConverterSetup.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoConverterSetup.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoLoaderSetup.java b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoLoaderSetup.java new file mode 100644 index 0000000..6a96925 --- /dev/null +++ b/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoLoaderSetup.java @@ -0,0 +1,16 @@ +package com.github.gtache.autosubtitle.modules.setup.impl; + +import javax.inject.Qualifier; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +@Qualifier +@Documented +@Retention(RUNTIME) +@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD}) +public @interface VideoLoaderSetup { +} diff --git a/core/src/main/java/com/github/gtache/autosubtitle/process/impl/ProcessRunnerImpl.java b/core/src/main/java/com/github/gtache/autosubtitle/process/impl/ProcessRunnerImpl.java index d51b474..b64eac4 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/process/impl/ProcessRunnerImpl.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/process/impl/ProcessRunnerImpl.java @@ -3,10 +3,12 @@ package com.github.gtache.autosubtitle.process.impl; import com.github.gtache.autosubtitle.process.ProcessListener; import com.github.gtache.autosubtitle.process.ProcessResult; import com.github.gtache.autosubtitle.process.ProcessRunner; + +import javax.inject.Inject; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import javax.inject.Inject; import java.io.IOException; import java.time.Duration; import java.util.List; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java index 601ce29..63c50f0 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java @@ -14,6 +14,7 @@ import com.github.gtache.autosubtitle.subtitle.impl.SubtitleImpl; import com.github.gtache.autosubtitle.translation.Translator; import javax.inject.Inject; + import java.util.Arrays; import java.util.Collection; import java.util.Comparator; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SRTSubtitleConverter.java b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SRTSubtitleConverter.java index 451dc2a..8d94eea 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SRTSubtitleConverter.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SRTSubtitleConverter.java @@ -13,12 +13,11 @@ import com.github.gtache.autosubtitle.translation.Translator; import javax.inject.Inject; import java.util.Arrays; import java.util.Comparator; +import java.util.Map; import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.IntStream; -import static java.util.Objects.requireNonNull; - /** * Converts subtitles to SRT format */ @@ -27,11 +26,11 @@ public class SRTSubtitleConverter implements SubtitleConverter { private static final Pattern ARROW_PATTERN = Pattern.compile(" --> "); private static final Pattern DOUBLE_NEWLINE_PATTERN = Pattern.compile("\n\n"); - private final Translator translator; + private final Map> translators; @Inject - SRTSubtitleConverter(final Translator translator) { - this.translator = requireNonNull(translator); + SRTSubtitleConverter(final Map> translators) { + this.translators = Map.copyOf(translators); } @Override @@ -61,7 +60,7 @@ public class SRTSubtitleConverter implements SubtitleConverter { return new SubtitleImpl(text, start, end, null, null); }).toList(); final var text = subtitles.stream().map(Subtitle::content).collect(Collectors.joining(" ")); - return new SubtitleCollectionImpl<>(text, subtitles, translator.getLanguage(text)); + return new SubtitleCollectionImpl<>(text, subtitles, translators.values().iterator().next().getLanguage(text)); //Use any translator for now } catch (final Exception e) { throw new ParseException(e); } diff --git a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SubtitleConverterProviderImpl.java b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SubtitleConverterProviderImpl.java index 39660fc..adc8a21 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SubtitleConverterProviderImpl.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SubtitleConverterProviderImpl.java @@ -4,6 +4,7 @@ import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider; import javax.inject.Inject; + import java.util.Collection; import java.util.Map; import java.util.stream.Collectors; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleConverter.java b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleConverter.java index afae575..c900e63 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleConverter.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleConverter.java @@ -14,6 +14,7 @@ import com.github.gtache.autosubtitle.subtitle.impl.SubtitleImpl; import javax.inject.Inject; import javax.inject.Singleton; + import java.nio.file.Path; import java.util.Comparator; import java.util.Objects; diff --git a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/impl/SubtitleImporterExporterImpl.java b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/impl/SubtitleImporterExporterImpl.java index 74a2151..ee00c12 100644 --- a/core/src/main/java/com/github/gtache/autosubtitle/subtitle/impl/SubtitleImporterExporterImpl.java +++ b/core/src/main/java/com/github/gtache/autosubtitle/subtitle/impl/SubtitleImporterExporterImpl.java @@ -11,10 +11,12 @@ import com.github.gtache.autosubtitle.subtitle.converter.FormatException; import com.github.gtache.autosubtitle.subtitle.converter.ParseException; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider; + +import javax.inject.Inject; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import javax.inject.Inject; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; diff --git a/core/src/test/java/com/github/gtache/autosubtitle/modules/setup/impl/TestSetupModule.java b/core/src/test/java/com/github/gtache/autosubtitle/modules/setup/impl/TestSetupModule.java index 632de07..78a1235 100644 --- a/core/src/test/java/com/github/gtache/autosubtitle/modules/setup/impl/TestSetupModule.java +++ b/core/src/test/java/com/github/gtache/autosubtitle/modules/setup/impl/TestSetupModule.java @@ -1,12 +1,16 @@ package com.github.gtache.autosubtitle.modules.setup.impl; +import com.github.gtache.autosubtitle.ToolType; +import com.github.gtache.autosubtitle.setup.SetupManager; import org.junit.jupiter.api.Test; import java.net.http.HttpClient; import java.nio.file.Paths; +import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.mockito.Mockito.mock; class TestSetupModule { @@ -24,4 +28,17 @@ class TestSetupModule { void testHttpClient() { assertInstanceOf(HttpClient.class, SetupModule.providesHttpClient()); } + + @Test + void testSetupManagers() { + final var videoConverters = Map.of("test", mock(SetupManager.class)); + final var subtitleExtractors = Map.of("test1", mock(SetupManager.class)); + final var translators = Map.of("test2", mock(SetupManager.class)); + + final var expected = Map.of(ToolType.VIDEO_CONVERTER, videoConverters, + ToolType.SUBTITLE_EXTRACTOR, subtitleExtractors, + ToolType.TRANSLATOR, translators); + + assertEquals(expected, SetupModule.providesSetupManagers(videoConverters, subtitleExtractors, translators)); + } } diff --git a/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestSRTSubtitleConverter.java b/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestSRTSubtitleConverter.java index d7f040c..1ee4fc6 100644 --- a/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestSRTSubtitleConverter.java +++ b/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestSRTSubtitleConverter.java @@ -1,7 +1,6 @@ package com.github.gtache.autosubtitle.subtitle.converter.impl; import com.github.gtache.autosubtitle.Language; -import com.github.gtache.autosubtitle.subtitle.Subtitle; import com.github.gtache.autosubtitle.subtitle.converter.FormatOptions; import com.github.gtache.autosubtitle.subtitle.converter.ParseException; import com.github.gtache.autosubtitle.subtitle.converter.ParseOptions; @@ -15,6 +14,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import java.util.Arrays; +import java.util.Map; import java.util.Objects; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -25,19 +25,20 @@ import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) class TestSRTSubtitleConverter { - private final Translator translator; + private final Translator translator; private final Language language; private final FormatOptions formatOptions; private final ParseOptions parseOptions; private final SRTSubtitleConverter converter; - TestSRTSubtitleConverter(@Mock final Translator translator, @Mock final Language language, + TestSRTSubtitleConverter(@Mock final Translator translator, @Mock final Language language, @Mock final FormatOptions formatOptions, @Mock final ParseOptions parseOptions) { this.translator = Objects.requireNonNull(translator); this.language = Objects.requireNonNull(language); this.formatOptions = Objects.requireNonNull(formatOptions); this.parseOptions = Objects.requireNonNull(parseOptions); - this.converter = new SRTSubtitleConverter(translator); + final var translators = Map.>of("first", translator); + this.converter = new SRTSubtitleConverter(translators); } @BeforeEach diff --git a/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleConverter.java b/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleConverter.java index ef1e1a4..7f47db0 100644 --- a/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleConverter.java +++ b/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleConverter.java @@ -1,5 +1,6 @@ package com.github.gtache.autosubtitle.subtitle.converter.json.impl; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.gtache.autosubtitle.Language; import com.github.gtache.autosubtitle.subtitle.Subtitle; @@ -24,6 +25,10 @@ import java.util.List; import java.util.Objects; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) @@ -65,6 +70,22 @@ class TestJSONSubtitleConverter { } } + @Test + void testFormatError() throws JsonProcessingException { + final var faultyMapper = mock(ObjectMapper.class); + when(faultyMapper.writeValueAsString(any())).thenThrow(JsonProcessingException.class); + final var faultyConverter = new JSONSubtitleConverter(faultyMapper); + assertThrows(FormatException.class, () -> faultyConverter.format(new SubtitleCollectionImpl<>("test", List.of(), Language.FR), formatOptions)); + } + + @Test + void testParseError() throws JsonProcessingException { + final var faultyMapper = mock(ObjectMapper.class); + when(faultyMapper.readValue(anyString(), any(Class.class))).thenThrow(JsonProcessingException.class); + final var faultyConverter = new JSONSubtitleConverter(faultyMapper); + assertThrows(ParseException.class, () -> faultyConverter.parse("{}", parseOptions)); + } + @ParameterizedTest @CsvSource({ "test.json,true", diff --git a/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java b/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java index 30297c2..7d6e1ee 100644 --- a/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java +++ b/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java @@ -1,5 +1,7 @@ package com.github.gtache.autosubtitle.modules.deepl; +import com.github.gtache.autosubtitle.ToolType; +import com.github.gtache.autosubtitle.modules.impl.ToolTypeKey; import com.github.gtache.autosubtitle.modules.setup.deepl.DeepLSetupModule; import com.github.gtache.autosubtitle.translation.Translator; import com.github.gtache.autosubtitle.translation.deepl.DeepLTranslator; @@ -25,8 +27,12 @@ public abstract class DeepLModule { @StringKey("deepl") abstract Translator bindsTranslatorInMap(final DeepLTranslator translator); - @Binds - abstract Translator bindsTranslator(final DeepLTranslator translator); + @Provides + @IntoMap + @ToolTypeKey(ToolType.TRANSLATOR) + static String providesDefaultTranslator() { + return "deepl"; + } @Provides @Singleton diff --git a/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java b/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java index ddd2646..d45c055 100644 --- a/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java +++ b/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java @@ -10,6 +10,7 @@ import com.github.gtache.autosubtitle.setup.impl.AbstractSetupManager; import javax.inject.Inject; import javax.inject.Singleton; + import java.net.http.HttpClient; import java.util.Objects; import java.util.prefs.BackingStoreException; diff --git a/deepl/src/main/java/com/github/gtache/autosubtitle/translation/deepl/DeepLTranslator.java b/deepl/src/main/java/com/github/gtache/autosubtitle/translation/deepl/DeepLTranslator.java index 87c5b5e..eccb7bd 100644 --- a/deepl/src/main/java/com/github/gtache/autosubtitle/translation/deepl/DeepLTranslator.java +++ b/deepl/src/main/java/com/github/gtache/autosubtitle/translation/deepl/DeepLTranslator.java @@ -9,9 +9,11 @@ import com.github.gtache.autosubtitle.subtitle.impl.SubtitleCollectionImpl; import com.github.gtache.autosubtitle.subtitle.impl.SubtitleImpl; import com.github.gtache.autosubtitle.translation.TranslationException; import com.github.gtache.autosubtitle.translation.Translator; -import org.apache.tika.language.detect.LanguageDetector; import javax.inject.Inject; + +import org.apache.tika.language.detect.LanguageDetector; + import java.util.ArrayList; import java.util.List; import java.util.Objects; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/TarArchiver.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/TarArchiver.java index 4bf6261..75a024f 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/TarArchiver.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/TarArchiver.java @@ -1,10 +1,12 @@ package com.github.gtache.autosubtitle.archive.ffmpeg; import com.github.gtache.autosubtitle.archive.Archiver; + +import javax.inject.Inject; + import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; -import javax.inject.Inject; import java.io.File; import java.io.IOException; import java.nio.file.Files; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/XZArchiver.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/XZArchiver.java index eab2017..9433ffe 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/XZArchiver.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/XZArchiver.java @@ -1,9 +1,11 @@ package com.github.gtache.autosubtitle.archive.ffmpeg; import com.github.gtache.autosubtitle.archive.Archiver; -import org.tukaani.xz.XZInputStream; import javax.inject.Inject; + +import org.tukaani.xz.XZInputStream; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFmpegVideoConverter.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFmpegVideoConverter.java index f27db60..c728ac2 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFmpegVideoConverter.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFmpegVideoConverter.java @@ -15,10 +15,12 @@ import com.github.gtache.autosubtitle.subtitle.SubtitleCollection; import com.github.gtache.autosubtitle.subtitle.converter.FormatException; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider; + +import javax.inject.Inject; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import javax.inject.Inject; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFprobeVideoLoader.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFprobeVideoLoader.java index 05a029d..0ee711f 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFprobeVideoLoader.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFprobeVideoLoader.java @@ -9,6 +9,7 @@ import com.github.gtache.autosubtitle.modules.setup.ffmpeg.FFprobeSystemPath; import com.github.gtache.autosubtitle.process.ProcessRunner; import javax.inject.Inject; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java index 783b094..6941aa4 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java @@ -1,12 +1,15 @@ package com.github.gtache.autosubtitle.modules.ffmpeg; +import com.github.gtache.autosubtitle.ToolType; import com.github.gtache.autosubtitle.VideoConverter; import com.github.gtache.autosubtitle.VideoLoader; import com.github.gtache.autosubtitle.ffmpeg.FFmpegVideoConverter; import com.github.gtache.autosubtitle.ffmpeg.FFprobeVideoLoader; +import com.github.gtache.autosubtitle.modules.impl.ToolTypeKey; import com.github.gtache.autosubtitle.modules.setup.ffmpeg.FFmpegSetupModule; import dagger.Binds; import dagger.Module; +import dagger.Provides; import dagger.multibindings.IntoMap; import dagger.multibindings.StringKey; @@ -25,14 +28,22 @@ public abstract class FFmpegModule { @StringKey("ffmpeg") abstract VideoConverter bindsVideoConverter(final FFmpegVideoConverter converter); - @Binds - abstract VideoConverter bindsDefaultVideoConverter(final FFmpegVideoConverter converter); + @Provides + @IntoMap + @ToolTypeKey(ToolType.VIDEO_CONVERTER) + static String bindsDefaultVideoConverter() { + return "ffmpeg"; + } @Binds @IntoMap @StringKey("ffprobe") abstract VideoLoader bindsVideoLoader(final FFprobeVideoLoader loader); - @Binds - abstract VideoLoader bindsDefaultVideoLoader(final FFprobeVideoLoader loader); + @Provides + @IntoMap + @ToolTypeKey(ToolType.VIDEO_LOADER) + static String bindsDefaultVideoLoader() { + return "ffprobe"; + } } diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFBundledRoot.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFBundledRoot.java index 104d206..64a2c4b 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFBundledRoot.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFBundledRoot.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFProbeInstallerPath.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFProbeInstallerPath.java index 83d0969..95348e9 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFProbeInstallerPath.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFProbeInstallerPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegBundledPath.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegBundledPath.java index 4b7ef39..780a513 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegBundledPath.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegBundledPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegInstallerPath.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegInstallerPath.java index bd86030..7a8a54f 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegInstallerPath.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegInstallerPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java index 4172aab..c2284ae 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java @@ -9,6 +9,7 @@ import com.github.gtache.autosubtitle.modules.impl.ExecutableExtension; import com.github.gtache.autosubtitle.modules.setup.impl.CacheRoot; import com.github.gtache.autosubtitle.modules.setup.impl.ToolsRoot; import com.github.gtache.autosubtitle.modules.setup.impl.VideoConverterSetup; +import com.github.gtache.autosubtitle.modules.setup.impl.VideoLoaderSetup; import com.github.gtache.autosubtitle.setup.SetupManager; import com.github.gtache.autosubtitle.setup.ffmpeg.FFmpegSetupConfiguration; import com.github.gtache.autosubtitle.setup.ffmpeg.FFmpegSetupManager; @@ -52,8 +53,10 @@ public abstract class FFmpegSetupModule { abstract SetupManager bindsFFmpegSetupManager(final FFmpegSetupManager manager); @Binds - @VideoConverterSetup - abstract SetupManager bindsDefaultSetupManager(final FFmpegSetupManager manager); + @VideoLoaderSetup + @IntoMap + @StringKey("ffprobe") + abstract SetupManager bindsFFprobeSetupManager(final FFmpegSetupManager manager); @Provides static FFmpegSetupConfiguration providesFFmpegSetupConfiguration(@FFBundledRoot final Path root, @FFmpegBundledPath final Path bundledPath, @FFmpegSystemPath final Path systemPath, diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSystemPath.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSystemPath.java index c393a77..7f7cc64 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSystemPath.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSystemPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegVersion.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegVersion.java index c798f05..7d62d25 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegVersion.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegVersion.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeBundledPath.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeBundledPath.java index df69cf1..f087bf7 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeBundledPath.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeBundledPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeSystemPath.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeSystemPath.java index f63e040..7d7f531 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeSystemPath.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeSystemPath.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.setup.ffmpeg; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java index 031b2e2..6efde97 100644 --- a/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java +++ b/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java @@ -11,6 +11,7 @@ import com.github.gtache.autosubtitle.setup.impl.AbstractSetupManager; import javax.inject.Inject; import javax.inject.Singleton; + import java.io.IOException; import java.net.http.HttpClient; import java.nio.file.Files; diff --git a/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainController.java b/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainController.java similarity index 84% rename from gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainController.java rename to gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainController.java index bd6aaaa..a4f437e 100644 --- a/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainController.java +++ b/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainController.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.main; +package com.github.gtache.autosubtitle.gui; /** * Controller for the main view diff --git a/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainModel.java b/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainModel.java similarity index 84% rename from gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainModel.java rename to gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainModel.java index fac95e6..e69d43d 100644 --- a/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainModel.java +++ b/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainModel.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.main; +package com.github.gtache.autosubtitle.gui; /** * Model for the main view diff --git a/gui/api/src/main/java/module-info.java b/gui/api/src/main/java/module-info.java index c7c870b..05085f4 100644 --- a/gui/api/src/main/java/module-info.java +++ b/gui/api/src/main/java/module-info.java @@ -4,7 +4,6 @@ module com.github.gtache.autosubtitle.gui.api { requires transitive com.github.gtache.autosubtitle.api; exports com.github.gtache.autosubtitle.gui; - exports com.github.gtache.autosubtitle.gui.main; exports com.github.gtache.autosubtitle.gui.media; exports com.github.gtache.autosubtitle.gui.parameters; exports com.github.gtache.autosubtitle.gui.setup; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProvider.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProvider.java similarity index 74% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProvider.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProvider.java index b9b7a5d..2da8ba7 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProvider.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProvider.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.parameters.impl.spi; import java.util.spi.ResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProviderImpl.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProviderImpl.java similarity index 78% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProviderImpl.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProviderImpl.java index 72c1110..da4e7fa 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProviderImpl.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProviderImpl.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.parameters.impl.spi; import java.util.spi.AbstractResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProvider.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProvider.java similarity index 74% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProvider.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProvider.java index de42d4c..01a721c 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProvider.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProvider.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.setup.impl.spi; import java.util.spi.ResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProviderImpl.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProviderImpl.java similarity index 79% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProviderImpl.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProviderImpl.java index a35fbc0..19d7fba 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProviderImpl.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProviderImpl.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.setup.impl.spi; import java.util.spi.AbstractResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProvider.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProvider.java similarity index 74% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProvider.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProvider.java index 143820d..17ee09e 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProvider.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProvider.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.subtitles.impl.spi; import java.util.spi.ResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProviderImpl.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProviderImpl.java similarity index 78% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProviderImpl.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProviderImpl.java index 5657769..731dc84 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProviderImpl.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProviderImpl.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.subtitles.impl.spi; import java.util.spi.AbstractResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProvider.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProvider.java similarity index 75% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProvider.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProvider.java index 3583df5..5f0b810 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProvider.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProvider.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.work.impl.spi; import java.util.spi.ResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProviderImpl.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProviderImpl.java similarity index 79% rename from gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProviderImpl.java rename to gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProviderImpl.java index aa5dbcb..aa42f19 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProviderImpl.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProviderImpl.java @@ -1,4 +1,4 @@ -package com.github.gtache.autosubtitle.gui.impl.spi; +package com.github.gtache.autosubtitle.gui.work.impl.spi; import java.util.spi.AbstractResourceBundleProvider; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/GuiCoreModule.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/GuiCoreModule.java index 419c394..f132ad9 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/GuiCoreModule.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/GuiCoreModule.java @@ -20,32 +20,31 @@ public final class GuiCoreModule { @Provides static ResourceBundle providesBundle() { return new CombinedResourceBundle(ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.MainBundle"), - ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.SetupBundle"), - ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.WorkBundle"), - ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.ParametersBundle"), - ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.SubtitlesBundle"), - ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.MediaBundle")); + ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.setup.impl.SetupBundle"), + ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.work.impl.WorkBundle"), + ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.parameters.impl.ParametersBundle"), + ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.subtitles.impl.SubtitlesBundle"), + ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.media.impl.MediaBundle")); } @Provides @Play static byte[] providesPlayImage() { - try (final var in = GuiCoreModule.class.getResourceAsStream("/com/github/gtache/autosubtitle/gui/impl/play_64.png")) { - if (in == null) { - throw new UncheckedIOException(new IOException("Resource not found : /com/github/gtache/autosubtitle/gui/impl/play_64.png")); - } - return in.readAllBytes(); - } catch (final IOException e) { - throw new UncheckedIOException(e); - } + final var path = "/com/github/gtache/autosubtitle/gui/media/impl/play_64.png"; + return readResource(path); } @Provides @Pause static byte[] providesPauseImage() { - try (final var in = GuiCoreModule.class.getResourceAsStream("/com/github/gtache/autosubtitle/gui/impl/pause_64.png")) { + final var path = "/com/github/gtache/autosubtitle/gui/media/impl/pause_64.png"; + return readResource(path); + } + + private static byte[] readResource(final String path) { + try (final var in = GuiCoreModule.class.getResourceAsStream(path)) { if (in == null) { - throw new UncheckedIOException(new IOException("Resource not found : /com/github/gtache/autosubtitle/gui/impl/pause_64.png")); + throw new UncheckedIOException(new IOException("Resource not found : " + path)); } return in.readAllBytes(); } catch (final IOException e) { diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Pause.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Pause.java index 313eafc..1bff173 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Pause.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Pause.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.gui.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Play.java b/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Play.java index b035666..d636de3 100644 --- a/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Play.java +++ b/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Play.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.modules.gui.impl; import javax.inject.Qualifier; + import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/gui/core/src/main/java/module-info.java b/gui/core/src/main/java/module-info.java index 48e0010..71c65d5 100644 --- a/gui/core/src/main/java/module-info.java +++ b/gui/core/src/main/java/module-info.java @@ -1,12 +1,3 @@ -import com.github.gtache.autosubtitle.gui.impl.spi.MainBundleProvider; -import com.github.gtache.autosubtitle.gui.impl.spi.MainBundleProviderImpl; -import com.github.gtache.autosubtitle.gui.impl.spi.ParametersBundleProvider; -import com.github.gtache.autosubtitle.gui.impl.spi.ParametersBundleProviderImpl; -import com.github.gtache.autosubtitle.gui.impl.spi.SetupBundleProvider; -import com.github.gtache.autosubtitle.gui.impl.spi.SetupBundleProviderImpl; -import com.github.gtache.autosubtitle.gui.impl.spi.WorkBundleProvider; -import com.github.gtache.autosubtitle.gui.impl.spi.WorkBundleProviderImpl; - /** * Core gui module for autosubtitle */ @@ -14,12 +5,13 @@ module com.github.gtache.autosubtitle.gui.core { requires transitive com.github.gtache.autosubtitle.gui.api; requires transitive com.github.gtache.autosubtitle.core; requires org.apache.logging.log4j; + exports com.github.gtache.autosubtitle.gui.impl; exports com.github.gtache.autosubtitle.gui.impl.spi; + exports com.github.gtache.autosubtitle.gui.parameters.impl.spi; + exports com.github.gtache.autosubtitle.gui.setup.impl.spi; + exports com.github.gtache.autosubtitle.gui.subtitles.impl.spi; + exports com.github.gtache.autosubtitle.gui.work.impl.spi; + exports com.github.gtache.autosubtitle.modules.gui.impl; - - provides MainBundleProvider with MainBundleProviderImpl; - provides ParametersBundleProvider with ParametersBundleProviderImpl; - provides SetupBundleProvider with SetupBundleProviderImpl; - provides WorkBundleProvider with WorkBundleProviderImpl; } \ No newline at end of file diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/MediaBundle.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/MediaBundle.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/MediaBundle.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/MediaBundle.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/MediaBundle_fr.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/MediaBundle_fr.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/MediaBundle_fr.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/MediaBundle_fr.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/pause_64.png b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/pause_64.png similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/pause_64.png rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/pause_64.png diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/play_64.png b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/play_64.png similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/play_64.png rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/play_64.png diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/ParametersBundle.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/impl/ParametersBundle.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/ParametersBundle.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/impl/ParametersBundle.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/ParametersBundle_fr.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/impl/ParametersBundle_fr.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/ParametersBundle_fr.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/impl/ParametersBundle_fr.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/setup/impl/SetupBundle.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/setup/impl/SetupBundle.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle_fr.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/setup/impl/SetupBundle_fr.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle_fr.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/setup/impl/SetupBundle_fr.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SubtitlesBundle.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/impl/SubtitlesBundle.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SubtitlesBundle.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/impl/SubtitlesBundle.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SubtitlesBundle_fr.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/impl/SubtitlesBundle_fr.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SubtitlesBundle_fr.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/impl/SubtitlesBundle_fr.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/WorkBundle.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/work/impl/WorkBundle.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/WorkBundle.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/work/impl/WorkBundle.properties diff --git a/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/WorkBundle_fr.properties b/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/work/impl/WorkBundle_fr.properties similarity index 100% rename from gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/WorkBundle_fr.properties rename to gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/work/impl/WorkBundle_fr.properties diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainController.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainController.java similarity index 86% rename from gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainController.java rename to gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainController.java index 6e7ad5f..9128461 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainController.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainController.java @@ -1,7 +1,6 @@ -package com.github.gtache.autosubtitle.gui.main.fx; +package com.github.gtache.autosubtitle.gui.fx; -import com.github.gtache.autosubtitle.gui.fx.AbstractFXController; -import com.github.gtache.autosubtitle.gui.main.MainController; +import com.github.gtache.autosubtitle.gui.MainController; import javafx.fxml.FXML; import javafx.scene.control.TabPane; import javafx.stage.Window; diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainModel.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainModel.java similarity index 86% rename from gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainModel.java rename to gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainModel.java index 5a48505..7aa546b 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainModel.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainModel.java @@ -1,6 +1,6 @@ -package com.github.gtache.autosubtitle.gui.main.fx; +package com.github.gtache.autosubtitle.gui.fx; -import com.github.gtache.autosubtitle.gui.main.MainModel; +import com.github.gtache.autosubtitle.gui.MainModel; import javafx.beans.property.IntegerProperty; import javafx.beans.property.SimpleIntegerProperty; diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaBinder.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaBinder.java index 76650c0..600714c 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaBinder.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaBinder.java @@ -2,10 +2,12 @@ package com.github.gtache.autosubtitle.gui.media.fx; import com.github.gtache.autosubtitle.gui.fx.FXBinder; import com.github.gtache.autosubtitle.gui.work.fx.FXWorkModel; -import javafx.beans.binding.Bindings; import javax.inject.Inject; import javax.inject.Singleton; + +import javafx.beans.binding.Bindings; + import java.util.Objects; /** diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java index eaef8b0..ef97283 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java @@ -7,6 +7,10 @@ import com.github.gtache.autosubtitle.modules.gui.impl.Pause; import com.github.gtache.autosubtitle.modules.gui.impl.Play; import com.github.gtache.autosubtitle.subtitle.Subtitle; import com.github.gtache.autosubtitle.subtitle.gui.fx.SubtitleLabel; + +import javax.inject.Inject; +import javax.inject.Singleton; + import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.fxml.FXML; @@ -29,8 +33,6 @@ import javafx.util.Duration; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import javax.inject.Inject; -import javax.inject.Singleton; import java.nio.file.Path; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaModel.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaModel.java index 99fdf1f..50736b4 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaModel.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaModel.java @@ -3,14 +3,15 @@ package com.github.gtache.autosubtitle.gui.media.fx; import com.github.gtache.autosubtitle.Video; import com.github.gtache.autosubtitle.gui.media.MediaModel; import com.github.gtache.autosubtitle.subtitle.EditableSubtitle; + +import javax.inject.Inject; +import javax.inject.Singleton; + import javafx.beans.binding.Bindings; import javafx.beans.property.*; import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import javax.inject.Inject; -import javax.inject.Singleton; - /** * FX implementation of {@link MediaModel} */ diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java index 87076f5..cccebf1 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java @@ -4,6 +4,10 @@ import com.github.gtache.autosubtitle.gui.fx.AbstractFXController; import com.github.gtache.autosubtitle.gui.parameters.ParametersController; import com.github.gtache.autosubtitle.subtitle.OutputFormat; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModel; + +import javax.inject.Inject; +import javax.inject.Singleton; + import javafx.application.Platform; import javafx.fxml.FXML; import javafx.scene.control.TextField; @@ -15,8 +19,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.controlsfx.control.PrefixSelectionComboBox; -import javax.inject.Inject; -import javax.inject.Singleton; import java.util.function.UnaryOperator; import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java index 76299ab..0036dd3 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java @@ -10,6 +10,10 @@ import com.github.gtache.autosubtitle.subtitle.OutputFormat; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModel; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModelProvider; import com.github.gtache.autosubtitle.subtitle.impl.FontImpl; + +import javax.inject.Inject; +import javax.inject.Singleton; + import javafx.beans.binding.Bindings; import javafx.beans.property.IntegerProperty; import javafx.beans.property.ObjectProperty; @@ -23,8 +27,6 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.collections.ObservableMap; -import javax.inject.Inject; -import javax.inject.Singleton; import java.util.Map; /** diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java index 64f0c42..b24da01 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java @@ -37,7 +37,7 @@ public class FXSetupModel implements SetupModel { @Inject FXSetupModel(final Map> setupManagers, - final Map defaultManagers) { + final Map defaultTools) { final var tmpAvailableSetupManagers = FXCollections.>observableHashMap(); final var tmpSelectedTools = FXCollections.observableHashMap(); final var tmpSelectedSetupManagers = FXCollections.>observableHashMap(); @@ -47,13 +47,22 @@ public class FXSetupModel implements SetupModel { final var tmpSetupEditables = FXCollections.observableHashMap(); setupManagers.forEach((type, managers) -> { tmpAvailableSetupManagers.put(type, getUnmodifiableObservableList(managers.values())); - tmpSelectedTools.put(type, new SimpleStringProperty(getKeyForValue(managers, defaultManagers.get(type)))); + tmpSelectedTools.put(type, new SimpleStringProperty(defaultTools.get(type))); tmpSelectedSetupManagers.put(type, new SimpleObjectProperty<>()); tmpSetupStatuses.put(type, new SimpleObjectProperty<>(SetupStatus.ERRORED)); tmpSetupProgresses.put(type, new SimpleDoubleProperty(-2)); tmpSetupProgressLabels.put(type, new SimpleStringProperty("")); tmpSetupEditables.put(type, new ReadOnlyBooleanWrapper(false)); }); + for (final var value : ToolType.values()) { + tmpAvailableSetupManagers.computeIfAbsent(value, t -> FXCollections.emptyObservableList()); + tmpSelectedTools.computeIfAbsent(value, t -> new SimpleStringProperty()); + tmpSelectedSetupManagers.computeIfAbsent(value, t -> new SimpleObjectProperty<>()); + tmpSetupStatuses.computeIfAbsent(value, t -> new SimpleObjectProperty<>(SetupStatus.ERRORED)); + tmpSetupProgresses.computeIfAbsent(value, t -> new SimpleDoubleProperty(-2)); + tmpSetupProgressLabels.computeIfAbsent(value, t -> new SimpleStringProperty("")); + tmpSetupEditables.computeIfAbsent(value, t -> new ReadOnlyBooleanWrapper(false)); + } this.availableSetupManagers = FXCollections.unmodifiableObservableMap(tmpAvailableSetupManagers); this.selectedTools = FXCollections.unmodifiableObservableMap(tmpSelectedTools); this.selectedSetupManagers = FXCollections.unmodifiableObservableMap(tmpSelectedSetupManagers); @@ -66,12 +75,12 @@ public class FXSetupModel implements SetupModel { { setupStatuses.get(type).set(newValue == null ? SetupStatus.ERRORED : newValue.status()); selectedTools.get(type).set(newValue == null ? - getKeyForValue(setupManagers.get(type), defaultManagers.get(type)) : + defaultTools.get(type) : getKeyForValue(setupManagers.get(type), newValue)); })); selectedTools.forEach((type, value) -> value.addListener((observable, oldValue, newValue) -> { if (newValue != null) { - final var manager = setupManagers.get(type).get(newValue); + final var manager = setupManagers.getOrDefault(type, Map.of()).get(newValue); if (manager != null) { setSelectedSetupManager(type, manager); } @@ -80,7 +89,7 @@ public class FXSetupModel implements SetupModel { setupInProgress.forEach((type, value) -> value.bind(setupProgresses.get(type).greaterThan(-2))); - defaultManagers.forEach(this::setSelectedSetupManager); + defaultTools.forEach((type, value) -> setSelectedSetupManager(type, setupManagers.getOrDefault(type, Map.of()).get(value))); } private static String getKeyForValue(final Map managers, final SetupManager manager) { diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java index a00d665..e706fe3 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java @@ -12,11 +12,12 @@ import com.github.gtache.autosubtitle.subtitle.converter.impl.ParseOptionsImpl; import com.github.gtache.autosubtitle.subtitle.gui.fx.ObservableSubtitleCollectionImpl; import com.github.gtache.autosubtitle.subtitle.impl.ExportOptionsImpl; import com.github.gtache.autosubtitle.subtitle.impl.ImportOptionsImpl; -import javafx.beans.binding.Bindings; import javax.inject.Inject; import javax.inject.Singleton; +import javafx.beans.binding.Bindings; + import static java.util.Objects.requireNonNull; /** diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java index d91f5ff..0943d82 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java @@ -10,6 +10,10 @@ import com.github.gtache.autosubtitle.subtitle.converter.ParseException; import com.github.gtache.autosubtitle.subtitle.gui.fx.ObservableSubtitleCollectionImpl; import com.github.gtache.autosubtitle.subtitle.gui.fx.ObservableSubtitleImpl; import com.github.gtache.autosubtitle.translation.TranslationException; + +import javax.inject.Inject; +import javax.inject.Singleton; + import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleObjectProperty; @@ -34,8 +38,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.controlsfx.control.PrefixSelectionComboBox; -import javax.inject.Inject; -import javax.inject.Singleton; import java.io.IOException; import java.nio.file.Path; import java.text.MessageFormat; diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java index 9bea1e8..8b60059 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.gui.subtitles.fx; import com.github.gtache.autosubtitle.Language; +import com.github.gtache.autosubtitle.ToolType; import com.github.gtache.autosubtitle.gui.subtitles.SubtitlesModel; import com.github.gtache.autosubtitle.subtitle.ExportOptions; import com.github.gtache.autosubtitle.subtitle.ImportOptions; @@ -54,7 +55,7 @@ public class FXSubtitlesModel implements SubtitlesModel importOptions; @Inject - FXSubtitlesModel(final Map> translators, final Translator defaultTranslator) { + FXSubtitlesModel(final Map> translators, final Map defaultTools) { this.availableTranslators = FXCollections.unmodifiableObservableMap(FXCollections.observableMap(translators)); this.availableVideoLanguages = FXCollections.unmodifiableObservableList(FXCollections.observableArrayList(Arrays.stream(Language.values()) .sorted((o1, o2) -> { @@ -83,7 +84,7 @@ public class FXSubtitlesModel implements SubtitlesModel(); this.importOptions = new SimpleObjectProperty<>(); - this.translator = new SimpleObjectProperty<>(defaultTranslator); + this.translator = new SimpleObjectProperty<>(translators.get(defaultTools.get(ToolType.TRANSLATOR))); canSaveSubtitles.bind(Bindings.isNotEmpty(collections)); collections.addListener((MapChangeListener) change -> diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkBinder.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkBinder.java index eb926e0..1829db2 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkBinder.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkBinder.java @@ -7,11 +7,12 @@ import com.github.gtache.autosubtitle.subtitle.converter.impl.FormatOptionsImpl; import com.github.gtache.autosubtitle.subtitle.converter.impl.ParseOptionsImpl; import com.github.gtache.autosubtitle.subtitle.extractor.impl.ExtractOptionsImpl; import com.github.gtache.autosubtitle.subtitle.impl.ExportOptionsImpl; -import javafx.beans.binding.Bindings; import javax.inject.Inject; import javax.inject.Singleton; +import javafx.beans.binding.Bindings; + import static java.util.Objects.requireNonNull; /** diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java index 16c3855..161aa21 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java @@ -8,6 +8,10 @@ import com.github.gtache.autosubtitle.subtitle.SubtitleCollection; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractEvent; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractException; import com.github.gtache.autosubtitle.subtitle.extractor.SubtitleExtractorListener; + +import javax.inject.Inject; +import javax.inject.Singleton; + import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.fxml.FXML; @@ -20,8 +24,6 @@ import javafx.stage.Window; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import javax.inject.Inject; -import javax.inject.Singleton; import java.io.IOException; import java.nio.file.Path; import java.text.MessageFormat; diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java index bb4561b..c9d6f78 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java @@ -1,6 +1,7 @@ package com.github.gtache.autosubtitle.gui.work.fx; import com.github.gtache.autosubtitle.Language; +import com.github.gtache.autosubtitle.ToolType; import com.github.gtache.autosubtitle.Video; import com.github.gtache.autosubtitle.VideoConverter; import com.github.gtache.autosubtitle.VideoLoader; @@ -56,15 +57,14 @@ public class FXWorkModel implements WorkModel { private final ObjectProperty extractOptions; @Inject - FXWorkModel(final Map> subtitleExtractors, final SubtitleExtractor defaultExtractor, - final Map videoLoaders, final VideoLoader defaultVideoLoader, - final Map videoConverters, final VideoConverter defaultVideoConverter) { + FXWorkModel(final Map> subtitleExtractors, final Map videoLoaders, + final Map videoConverters, final Map defaultTools) { this.availableSubtitleExtractors = FXCollections.unmodifiableObservableMap(FXCollections.observableMap(subtitleExtractors)); - this.subtitleExtractor = new SimpleObjectProperty<>(defaultExtractor); + this.subtitleExtractor = new SimpleObjectProperty<>(subtitleExtractors.get(defaultTools.get(ToolType.SUBTITLE_EXTRACTOR))); this.availableVideoLoaders = FXCollections.unmodifiableObservableMap(FXCollections.observableMap(videoLoaders)); - this.videoLoader = new SimpleObjectProperty<>(defaultVideoLoader); + this.videoLoader = new SimpleObjectProperty<>(videoLoaders.get(defaultTools.get(ToolType.VIDEO_LOADER))); this.availableVideoConverters = FXCollections.unmodifiableObservableMap(FXCollections.observableMap(videoConverters)); - this.videoConverter = new SimpleObjectProperty<>(defaultVideoConverter); + this.videoConverter = new SimpleObjectProperty<>(videoConverters.get(defaultTools.get(ToolType.VIDEO_CONVERTER))); this.video = new SimpleObjectProperty<>(); this.workStatus = new SimpleObjectProperty<>(WorkStatus.IDLE); this.progress = new SimpleDoubleProperty(-1); diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/modules/gui/fx/FXModule.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/modules/gui/fx/FXModule.java index d5aae2c..3fe4af4 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/modules/gui/fx/FXModule.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/modules/gui/fx/FXModule.java @@ -2,7 +2,7 @@ package com.github.gtache.autosubtitle.modules.gui.fx; import com.github.gtache.autosubtitle.gui.TimeFormatter; import com.github.gtache.autosubtitle.gui.fx.ColonTimeFormatter; -import com.github.gtache.autosubtitle.gui.main.fx.FXMainController; +import com.github.gtache.autosubtitle.gui.fx.FXMainController; import com.github.gtache.autosubtitle.gui.media.fx.FXMediaController; import com.github.gtache.autosubtitle.gui.parameters.fx.FXParametersController; import com.github.gtache.autosubtitle.gui.setup.fx.FXSetupController; diff --git a/gui/fx/src/main/java/com/github/gtache/autosubtitle/setup/gui/fx/FXSetupUserBridge.java b/gui/fx/src/main/java/com/github/gtache/autosubtitle/setup/gui/fx/FXSetupUserBridge.java index 372715b..57ace22 100644 --- a/gui/fx/src/main/java/com/github/gtache/autosubtitle/setup/gui/fx/FXSetupUserBridge.java +++ b/gui/fx/src/main/java/com/github/gtache/autosubtitle/setup/gui/fx/FXSetupUserBridge.java @@ -1,6 +1,6 @@ package com.github.gtache.autosubtitle.setup.gui.fx; -import com.github.gtache.autosubtitle.gui.main.fx.FXMainController; +import com.github.gtache.autosubtitle.gui.fx.FXMainController; import com.github.gtache.autosubtitle.setup.SetupUserBridge; import javafx.application.Platform; import javafx.scene.control.Alert; diff --git a/gui/fx/src/main/java/module-info.java b/gui/fx/src/main/java/module-info.java index d56d3bc..0771da0 100644 --- a/gui/fx/src/main/java/module-info.java +++ b/gui/fx/src/main/java/module-info.java @@ -5,27 +5,27 @@ module com.github.gtache.autosubtitle.gui.fx { requires transitive com.github.gtache.autosubtitle.core; requires transitive com.github.gtache.autosubtitle.gui.core; requires transitive javafx.controls; - requires transitive javafx.media; requires transitive javafx.fxml; + requires transitive javafx.media; + requires transitive java.prefs; requires org.controlsfx.controls; requires org.apache.logging.log4j; - requires transitive java.prefs; exports com.github.gtache.autosubtitle.gui.fx; + exports com.github.gtache.autosubtitle.gui.media.fx; + exports com.github.gtache.autosubtitle.gui.parameters.fx; + exports com.github.gtache.autosubtitle.gui.setup.fx; + exports com.github.gtache.autosubtitle.gui.subtitles.fx; + exports com.github.gtache.autosubtitle.gui.work.fx; exports com.github.gtache.autosubtitle.setup.gui.fx; exports com.github.gtache.autosubtitle.subtitle.gui.fx; + exports com.github.gtache.autosubtitle.modules.gui.fx; + opens com.github.gtache.autosubtitle.gui.fx to javafx.fxml; - exports com.github.gtache.autosubtitle.gui.main.fx; - opens com.github.gtache.autosubtitle.gui.main.fx to javafx.fxml; - exports com.github.gtache.autosubtitle.gui.media.fx; opens com.github.gtache.autosubtitle.gui.media.fx to javafx.fxml; - exports com.github.gtache.autosubtitle.gui.parameters.fx; opens com.github.gtache.autosubtitle.gui.parameters.fx to javafx.fxml; - exports com.github.gtache.autosubtitle.gui.setup.fx; opens com.github.gtache.autosubtitle.gui.setup.fx to javafx.fxml; - exports com.github.gtache.autosubtitle.gui.subtitles.fx; opens com.github.gtache.autosubtitle.gui.subtitles.fx to javafx.fxml; - exports com.github.gtache.autosubtitle.gui.work.fx; opens com.github.gtache.autosubtitle.gui.work.fx to javafx.fxml; } \ No newline at end of file diff --git a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mainView.fxml b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mainView.fxml index f93226a..e4f6d47 100644 --- a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mainView.fxml +++ b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mainView.fxml @@ -3,21 +3,21 @@ + fx:controller="com.github.gtache.autosubtitle.gui.fx.FXMainController"> - + - + - + diff --git a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mediaView.fxml b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/media/fx/mediaView.fxml similarity index 100% rename from gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mediaView.fxml rename to gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/media/fx/mediaView.fxml diff --git a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/parametersView.fxml b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/fx/parametersView.fxml similarity index 100% rename from gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/parametersView.fxml rename to gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/fx/parametersView.fxml diff --git a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/setupView.fxml b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/setup/fx/setupView.fxml similarity index 100% rename from gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/setupView.fxml rename to gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/setup/fx/setupView.fxml diff --git a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/subtitlesView.fxml b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/fx/subtitlesView.fxml similarity index 100% rename from gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/subtitlesView.fxml rename to gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/fx/subtitlesView.fxml diff --git a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/workView.fxml b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/work/fx/workView.fxml similarity index 81% rename from gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/workView.fxml rename to gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/work/fx/workView.fxml index 73d3cf4..c01d045 100644 --- a/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/workView.fxml +++ b/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/work/fx/workView.fxml @@ -1,16 +1,8 @@ - - - - - - - - - - + + @@ -51,9 +43,11 @@ -