Reworks default tools, moves some files

This commit is contained in:
Guillaume Tâche
2024-10-04 21:54:55 +02:00
parent df58cf4585
commit c58a8b0588
132 changed files with 600 additions and 257 deletions

124
.idea/uiDesigner.xml generated Normal file
View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

231
.idea/workspace.xml generated
View File

@@ -5,130 +5,147 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="b9d7e333-acad-414e-8be1-4685e71ee4fe" name="Changes" comment=""> <list default="true" id="b9d7e333-acad-414e-8be1-4685e71ee4fe" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/api/src/main/java/com/github/gtache/autosubtitle/ToolType.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/converter/json/impl/JSONConverterModule.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ToolTypeKey.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleConverter.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoLoaderSetup.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleSegment.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitles.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/modules/subtitle/converter/json/impl/TestJSONConverterModule.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersBinder.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/SetupManagerStringConverter.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/Whisper.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperPythonVersion.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperX.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXBundledRoot.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXVenvPath.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/TestJSONSubtitleSegment.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/TestJSONSubtitles.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/TestWhisperXJSONSubtitleConverter.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/whisperx-in.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/whisperx-out.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/csv-editor.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/uiDesigner.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/api/src/main/java/com/github/gtache/autosubtitle/setup/SetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/api/src/main/java/com/github/gtache/autosubtitle/setup/SetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/api/src/main/java/com/github/gtache/autosubtitle/ToolType.java" beforeDir="false" afterPath="$PROJECT_DIR$/api/src/main/java/com/github/gtache/autosubtitle/ToolType.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cli/src/main/java/com/github/gtache/autosubtitle/cli/Cli.java" beforeDir="false" afterPath="$PROJECT_DIR$/cli/src/main/java/com/github/gtache/autosubtitle/cli/Cli.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaBundledPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaBundledPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaInstallerPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaInstallerPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMajorVersion.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMajorVersion.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMinorVersion.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaMinimumMinorVersion.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaRootPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaRootPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaSystemPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/modules/setup/conda/CondaSystemPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/main/java/com/github/gtache/autosubtitle/setup/conda/CondaSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/conda/src/test/java/com/github/gtache/autosubtitle/setup/conda/TestCondaSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/conda/src/test/java/com/github/gtache/autosubtitle/setup/conda/TestCondaSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ArchiverProviderImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ArchiverProviderImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/core/pom.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ZipArchiver.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/archive/impl/ZipArchiver.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/CoreModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/CoreModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ExecutableExtension.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/ExecutableExtension.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontName.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontName.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontSize.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/FontSize.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLineLength.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLineLength.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLines.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/impl/MaxLines.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/CacheRoot.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/CacheRoot.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SetupModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/converter/impl/SubtitleConverterModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/converter/impl/SubtitleConverterModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SubtitleExtractorSetup.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/SubtitleExtractorSetup.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/ToolsRoot.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/ToolsRoot.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/TranslatorSetup.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/TranslatorSetup.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoConverterSetup.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/modules/setup/impl/VideoConverterSetup.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/process/impl/ProcessRunnerImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/process/impl/ProcessRunnerImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/ASSSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/module-info.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SRTSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SRTSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/setup/impl/TestAbstractSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/setup/impl/TestAbstractSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SubtitleConverterProviderImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/impl/SubtitleConverterProviderImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestASSSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestASSSubtitleConverter.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/JSONSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/impl/SubtitleImporterExporterImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/main/java/com/github/gtache/autosubtitle/subtitle/impl/SubtitleImporterExporterImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/modules/setup/impl/TestSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/modules/setup/impl/TestSetupModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestSRTSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/impl/TestSRTSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/modules/deepl/DeepLModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/modules/setup/deepl/DeepLSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/modules/setup/deepl/DeepLSetupModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/setup/deepl/DeepLSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/deepl/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/main/java/module-info.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/translation/deepl/DeepLTranslator.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/main/java/com/github/gtache/autosubtitle/translation/deepl/DeepLTranslator.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/deepl/src/test/java/com/github/gtache/autosubtitle/setup/deepl/TestDeepLSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/deepl/src/test/java/com/github/gtache/autosubtitle/setup/deepl/TestDeepLSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/TarArchiver.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/TarArchiver.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/XZArchiver.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/archive/ffmpeg/XZArchiver.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFmpegVideoConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFmpegVideoConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFprobeVideoLoader.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/ffmpeg/FFprobeVideoLoader.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/ffmpeg/FFmpegModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFBundledRoot.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFBundledRoot.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFProbeInstallerPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFProbeInstallerPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegBundledPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegBundledPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegInstallerPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegInstallerPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSetupModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSystemPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegSystemPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegVersion.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFmpegVersion.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeBundledPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeBundledPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeSystemPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/modules/setup/ffmpeg/FFprobeSystemPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/main/java/com/github/gtache/autosubtitle/setup/ffmpeg/FFmpegSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ffmpeg/src/test/java/com/github/gtache/autosubtitle/setup/ffmpeg/TestFFmpegSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/ffmpeg/src/test/java/com/github/gtache/autosubtitle/setup/ffmpeg/TestFFmpegSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/setup/SetupController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/setup/SetupController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/main/MainModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/MainModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/setup/SetupModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/api/src/main/java/com/github/gtache/autosubtitle/gui/setup/SetupModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/api/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/api/src/main/java/module-info.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle.properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProvider.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle_fr.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle_fr.properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/ParametersBundleProviderImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/parameters/impl/spi/ParametersBundleProviderImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/pom.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProvider.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SetupBundleProviderImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/setup/impl/spi/SetupBundleProviderImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProvider.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/SubtitlesBundleProviderImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/impl/spi/SubtitlesBundleProviderImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProvider.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/impl/spi/WorkBundleProviderImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/gui/work/impl/spi/WorkBundleProviderImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/GuiCoreModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/GuiCoreModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Pause.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Pause.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Play.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/com/github/gtache/autosubtitle/modules/gui/impl/Play.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/java/module-info.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/MediaBundle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/MediaBundle.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/MediaBundle_fr.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/MediaBundle_fr.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/ParametersBundle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/impl/ParametersBundle.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/ParametersBundle_fr.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/impl/ParametersBundle_fr.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/setup/impl/SetupBundle.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SetupBundle_fr.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/setup/impl/SetupBundle_fr.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SubtitlesBundle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/impl/SubtitlesBundle.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/SubtitlesBundle_fr.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/impl/SubtitlesBundle_fr.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/WorkBundle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/work/impl/WorkBundle.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/WorkBundle_fr.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/work/impl/WorkBundle_fr.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/pause_64.png" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/pause_64.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/impl/play_64.png" beforeDir="false" afterPath="$PROJECT_DIR$/gui/core/src/main/resources/com/github/gtache/autosubtitle/gui/media/impl/play_64.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/main/fx/FXMainModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/fx/FXMainModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaBinder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/media/fx/FXMediaModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/parameters/fx/FXParametersModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/setup/fx/FXSetupModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesBinder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/subtitles/fx/FXSubtitlesModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkBinder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/gui/work/fx/FXWorkModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/setupView.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/setupView.fxml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/modules/gui/fx/FXModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/modules/gui/fx/FXModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/parameters/fx/TestFXParametersController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/parameters/fx/TestFXParametersController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/setup/gui/fx/FXSetupUserBridge.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/com/github/gtache/autosubtitle/setup/gui/fx/FXSetupUserBridge.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/parameters/fx/TestFXParametersModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/parameters/fx/TestFXParametersModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/java/module-info.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/setup/fx/TestFXSetupController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/setup/fx/TestFXSetupController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mainView.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mainView.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/setup/fx/TestFXSetupModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/setup/fx/TestFXSetupModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/mediaView.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/media/fx/mediaView.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/parametersView.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/parameters/fx/parametersView.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/setupView.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/setup/fx/setupView.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/subtitlesView.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/subtitles/fx/subtitlesView.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/fx/workView.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/main/resources/com/github/gtache/autosubtitle/gui/work/fx/workView.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/main/fx/TestFXMainController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/fx/TestFXMainController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/main/fx/TestFXMainModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/fx/TestFXMainModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesBinder.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesBinder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/subtitles/fx/TestFXSubtitlesModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkBinder.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkBinder.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkBinder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkModel.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/gui/work/fx/TestFXWorkModel.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/run/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/gui/run/pom.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/modules/gui/fx/TestFXModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/modules/gui/fx/TestFXModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/setup/gui/fx/TestFXSetupUserBridge.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/fx/src/test/java/com/github/gtache/autosubtitle/setup/gui/fx/TestFXSetupUserBridge.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/run/src/main/java/com/github/gtache/autosubtitle/modules/gui/run/RunComponent.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/run/src/main/java/com/github/gtache/autosubtitle/modules/gui/run/RunComponent.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/gui/run/src/main/java/com/github/gtache/autosubtitle/modules/gui/run/RunComponent.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/run/src/main/java/com/github/gtache/autosubtitle/modules/gui/run/RunComponent.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gui/run/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/gui/run/src/main/java/module-info.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/Whisper.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/Whisper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperBundledRoot.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperBundledRoot.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/pom.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperPythonVersion.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperPythonVersion.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperSetupModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperVenvPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperVenvPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/extractor/whisper/base/WhisperExtractorModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/extractor/whisper/base/WhisperExtractorModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/parser/json/whisper/base/WhisperJsonModule.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/whisper/base/WhisperModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/whisper/base/WhisperModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/setup/whisper/base/WhisperSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/setup/whisper/base/WhisperSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/setup/whisper/base/WhisperSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/setup/whisper/base/WhisperSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisper/base/JSONSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisper/base/JSONSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/base/WhisperSubtitleExtractor.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/base/WhisperSubtitleExtractor.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/base/WhisperSubtitleExtractor.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/base/WhisperSubtitleExtractor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisper/base/JSONSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisper/base/JSONSubtitleConverter.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/whisper/base/WhisperExtractionModelProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/whisper/base/WhisperExtractionModelProvider.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisper/base/JSONSubtitleSegment.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisper/base/JSONSubtitleSegment.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperX.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperX.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisper/base/JSONSubtitles.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisper/base/JSONSubtitles.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXBundledRoot.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXBundledRoot.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/base/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/module-info.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXPythonVersion.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXPythonVersion.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/PythonVersion.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXPythonVersion.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/WhisperBundledRoot.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperBundledRoot.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/WhisperCommonSetupModule.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/WhisperVenvPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/base/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisper/base/WhisperVenvPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/setup/whisper/AbstractWhisperSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/setup/whisper/AbstractWhisperSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/AbstractWhisperSubtitleExtractor.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/common/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/AbstractWhisperSubtitleExtractor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/common/src/main/java/module-info.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/test/java/com/github/gtache/autosubtitle/modules/setup/whisper/TestWhisperCommonSetupModule.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/test/java/com/github/gtache/autosubtitle/setup/whisper/TestAbstractWhisperSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/common/src/test/java/com/github/gtache/autosubtitle/setup/whisper/TestAbstractWhisperSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/common/src/test/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/TestAbstractWhisperSubtitleExtractor.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/common/src/test/java/com/github/gtache/autosubtitle/subtitle/extractor/whisper/TestAbstractWhisperSubtitleExtractor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXSetupModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXSetupModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/extractor/whisperx/WhisperXExtractorModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/extractor/whisperx/WhisperXExtractorModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXVenvPath.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/setup/whisperx/WhisperXVenvPath.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/subtitle/parser/json/whisperx/WhisperXJsonModule.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/whisperx/WhisperXModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/whisperx/WhisperXModule.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/whisperx/WhisperXModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/modules/whisperx/WhisperXModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/setup/whisperx/WhisperXSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/setup/whisperx/WhisperXSetupManager.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/setup/whisperx/WhisperXSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/setup/whisperx/WhisperXSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/WhisperXJSONSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/WhisperXJSONSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisperx/WhisperXSubtitleExtractor.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisperx/WhisperXSubtitleExtractor.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisperx/WhisperXSubtitleExtractor.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/extractor/whisperx/WhisperXSubtitleExtractor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/JSONSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/WhisperXJSONSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/JSONSubtitleSegment.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/JSONSubtitleSegment.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/JSONSubtitleWords.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/JSONSubtitleWords.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/JSONSubtitles.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/JSONSubtitles.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/whisperx/WhisperXExtractionModelProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/whisperx/WhisperXExtractionModelProvider.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/whisperx/WhisperXExtractionModelProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/com/github/gtache/autosubtitle/whisperx/WhisperXExtractionModelProvider.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/main/java/module-info.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/main/java/module-info.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/modules/setup/whisperx/TestWhisperXSetupModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/modules/setup/whisperx/TestWhisperXSetupModule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/modules/subtitle/parser/json/whisperx/TestWhisperXJsonModule.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/setup/whisperx/TestWhisperXSetupManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/setup/whisperx/TestWhisperXSetupManager.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/extractor/whisperx/TestWhisperXSubtitleExtractor.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/extractor/whisperx/TestWhisperXSubtitleExtractor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/TestJSONSubtitleConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/TestJSONSubtitleSegment.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitleSegment.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/TestJSONSubtitleWords.java" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/TestJSONSubtitleWords.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/java/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/TestJSONSubtitles.java" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/java/com/github/gtache/autosubtitle/subtitle/converter/json/impl/TestJSONSubtitles.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/whisperx-in.json" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/resources/com/github/gtache/autosubtitle/subtitle/converter/json/impl/in.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/whisperx-max-lines.json" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/whisperx-max-lines.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/whisperx-max-words.json" beforeDir="false" afterPath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/converter/json/whisperx/whisperx-max-words.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whisper/whisperx/src/test/resources/com/github/gtache/autosubtitle/subtitle/parser/json/whisperx/whisperx-out.json" beforeDir="false" afterPath="$PROJECT_DIR$/core/src/test/resources/com/github/gtache/autosubtitle/subtitle/converter/json/impl/out.json" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="CoverageOptionsProvider">
<option name="myAddOrReplace" value="0" />
</component>
<component name="FormatOnSaveOptions"> <component name="FormatOnSaveOptions">
<option name="myRunOnSave" value="true" /> <option name="myRunOnSave" value="true" />
</component> </component>
@@ -174,9 +191,12 @@
<component name="PropertiesComponent"><![CDATA[{ <component name="PropertiesComponent"><![CDATA[{
"keyToString": { "keyToString": {
"Application.Main.executor": "Run", "Application.Main.executor": "Run",
"JUnit.All in autosubtitle-core.executor": "Run",
"Maven.autosubtitle [clean,package,-DskipTests].executor": "Run", "Maven.autosubtitle [clean,package,-DskipTests].executor": "Run",
"Maven.autosubtitle [clean,package].executor": "Run", "Maven.autosubtitle [clean,package].executor": "Run",
"Maven.autosubtitle [clean].executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true", "RunOnceActivity.ShowReadmeOnStart": "true",
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
"com.codeium.enabled": "true", "com.codeium.enabled": "true",
"git-widget-placeholder": "master", "git-widget-placeholder": "master",
"ignore.virus.scanning.warn.message": "true", "ignore.virus.scanning.warn.message": "true",
@@ -193,13 +213,34 @@
"vue.rearranger.settings.migration": "true" "vue.rearranger.settings.migration": "true"
} }
}]]></component> }]]></component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="I:\Projects\Java\auto-subtitle\gui\fx\src\main\resources\com\github\gtache\autosubtitle\gui\work\fx" />
<recent name="I:\Projects\Java\auto-subtitle\gui\fx\src\main\resources\com\github\gtache\autosubtitle\gui\subtitles\fx" />
<recent name="I:\Projects\Java\auto-subtitle\gui\fx\src\main\resources\com\github\gtache\autosubtitle\gui\setup\fx" />
<recent name="I:\Projects\Java\auto-subtitle\gui\fx\src\main\resources\com\github\gtache\autosubtitle\gui\parameters\fx" />
<recent name="I:\Projects\Java\auto-subtitle\gui\core\src\main\resources\com\github\gtache\autosubtitle\gui\work\impl" />
</key>
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
<recent name="com.github.gtache.autosubtitle.gui.work.impl.spi" />
<recent name="com.github.gtache.autosubtitle.gui.subtitles.impl.spi" />
<recent name="com.github.gtache.autosubtitle.gui.setup.impl.spi" />
<recent name="com.github.gtache.autosubtitle.gui.parameters.impl.spi" />
<recent name="com.github.gtache.autosubtitle.gui.fx" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.github.gtache.autosubtitle.modules.setup.impl" />
<recent name="com.github.gtache.autosubtitle.modules.impl" />
</key>
</component>
<component name="RunAnythingCache"> <component name="RunAnythingCache">
<option name="myCommands"> <option name="myCommands">
<command value="mvn clean package" /> <command value="mvn clean package" />
<command value="mvn clean" />
<command value="mvn clean package -DskipTests" /> <command value="mvn clean package -DskipTests" />
</option> </option>
</component> </component>
<component name="RunManager"> <component name="RunManager" selected="Application.Main">
<configuration default="true" type="Applet"> <configuration default="true" type="Applet">
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<method v="2"> <method v="2">
@@ -235,6 +276,15 @@
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="All in autosubtitle-core" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="autosubtitle-core" />
<option name="PACKAGE_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit"> <configuration default="true" type="JUnit" factoryName="JUnit">
<option name="TEST_OBJECT" value="class" /> <option name="TEST_OBJECT" value="class" />
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" /> <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
@@ -317,6 +367,7 @@
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="Application.Main" /> <item itemvalue="Application.Main" />
<item itemvalue="JUnit.All in autosubtitle-core" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@@ -337,11 +388,15 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1727983986841</updated> <updated>1727983986841</updated>
<workItem from="1727983987865" duration="45000" /> <workItem from="1727983987865" duration="45000" />
<workItem from="1727984039387" duration="1228000" /> <workItem from="1727984039387" duration="1480000" />
<workItem from="1728066754302" duration="4517000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" /> <option name="version" value="3" />
</component> </component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/auto_subtitle$All_in_autosubtitle_core.ic" NAME="All in autosubtitle-core Coverage Results" MODIFIED="1728070687799" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="true" />
</component>
</project> </project>

View File

@@ -4,10 +4,6 @@ package com.github.gtache.autosubtitle;
* Type of a tool * Type of a tool
*/ */
public enum ToolType { public enum ToolType {
/**
* The video converter (used to add subtitles)
*/
VIDEO_CONVERTER,
/** /**
* The subtitle extractor (used to extract subtitles from a video) * 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) * 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
} }

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.conda; package com.github.gtache.autosubtitle.modules.setup.conda;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.conda; package com.github.gtache.autosubtitle.modules.setup.conda;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.conda; package com.github.gtache.autosubtitle.modules.setup.conda;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.conda; package com.github.gtache.autosubtitle.modules.setup.conda;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.conda; package com.github.gtache.autosubtitle.modules.setup.conda;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.conda; package com.github.gtache.autosubtitle.modules.setup.conda;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -6,11 +6,13 @@ import com.github.gtache.autosubtitle.process.ProcessRunner;
import com.github.gtache.autosubtitle.setup.SetupException; import com.github.gtache.autosubtitle.setup.SetupException;
import com.github.gtache.autosubtitle.setup.SetupStatus; import com.github.gtache.autosubtitle.setup.SetupStatus;
import com.github.gtache.autosubtitle.setup.impl.AbstractSetupManager; 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.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.IOException; import java.io.IOException;
import java.net.http.HttpClient; import java.net.http.HttpClient;
import java.nio.file.Files; import java.nio.file.Files;

View File

@@ -5,6 +5,7 @@ import com.github.gtache.autosubtitle.archive.Archiver;
import com.github.gtache.autosubtitle.archive.ArchiverProvider; import com.github.gtache.autosubtitle.archive.ArchiverProvider;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@@ -3,6 +3,7 @@ package com.github.gtache.autosubtitle.archive.impl;
import com.github.gtache.autosubtitle.archive.Archiver; import com.github.gtache.autosubtitle.archive.Archiver;
import javax.inject.Inject; import javax.inject.Inject;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;

View File

@@ -13,6 +13,7 @@ import dagger.Module;
import dagger.Provides; import dagger.Provides;
import javax.inject.Singleton; import javax.inject.Singleton;
import java.util.prefs.Preferences; import java.util.prefs.Preferences;
/** /**

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.impl; package com.github.gtache.autosubtitle.modules.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.impl; package com.github.gtache.autosubtitle.modules.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.impl; package com.github.gtache.autosubtitle.modules.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.impl; package com.github.gtache.autosubtitle.modules.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.impl; package com.github.gtache.autosubtitle.modules.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -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();
}

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.impl; package com.github.gtache.autosubtitle.modules.setup.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -36,6 +36,7 @@ public final class SetupModule {
return HttpClient.newHttpClient(); return HttpClient.newHttpClient();
} }
@Provides @Provides
static Map<ToolType, Map<String, SetupManager>> providesSetupManagers(@VideoConverterSetup final Map<String, SetupManager> convertersManagers, static Map<ToolType, Map<String, SetupManager>> providesSetupManagers(@VideoConverterSetup final Map<String, SetupManager> convertersManagers,
@SubtitleExtractorSetup final Map<String, SetupManager> extractorsManagers, @SubtitleExtractorSetup final Map<String, SetupManager> extractorsManagers,
@@ -44,13 +45,4 @@ public final class SetupModule {
ToolType.SUBTITLE_EXTRACTOR, extractorsManagers, ToolType.SUBTITLE_EXTRACTOR, extractorsManagers,
ToolType.TRANSLATOR, translatorsManagers); ToolType.TRANSLATOR, translatorsManagers);
} }
@Provides
static Map<ToolType, SetupManager> 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);
}
} }

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.impl; package com.github.gtache.autosubtitle.modules.setup.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.impl; package com.github.gtache.autosubtitle.modules.setup.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.impl; package com.github.gtache.autosubtitle.modules.setup.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.impl; package com.github.gtache.autosubtitle.modules.setup.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -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 {
}

View File

@@ -3,10 +3,12 @@ package com.github.gtache.autosubtitle.process.impl;
import com.github.gtache.autosubtitle.process.ProcessListener; import com.github.gtache.autosubtitle.process.ProcessListener;
import com.github.gtache.autosubtitle.process.ProcessResult; import com.github.gtache.autosubtitle.process.ProcessResult;
import com.github.gtache.autosubtitle.process.ProcessRunner; import com.github.gtache.autosubtitle.process.ProcessRunner;
import javax.inject.Inject;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.time.Duration; import java.time.Duration;
import java.util.List; import java.util.List;

View File

@@ -14,6 +14,7 @@ import com.github.gtache.autosubtitle.subtitle.impl.SubtitleImpl;
import com.github.gtache.autosubtitle.translation.Translator; import com.github.gtache.autosubtitle.translation.Translator;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Comparator; import java.util.Comparator;

View File

@@ -13,12 +13,11 @@ import com.github.gtache.autosubtitle.translation.Translator;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.Arrays; import java.util.Arrays;
import java.util.Comparator; import java.util.Comparator;
import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.IntStream; import java.util.stream.IntStream;
import static java.util.Objects.requireNonNull;
/** /**
* Converts subtitles to SRT format * Converts subtitles to SRT format
*/ */
@@ -27,11 +26,11 @@ public class SRTSubtitleConverter implements SubtitleConverter<SubtitleImpl> {
private static final Pattern ARROW_PATTERN = Pattern.compile(" --> "); private static final Pattern ARROW_PATTERN = Pattern.compile(" --> ");
private static final Pattern DOUBLE_NEWLINE_PATTERN = Pattern.compile("\n\n"); private static final Pattern DOUBLE_NEWLINE_PATTERN = Pattern.compile("\n\n");
private final Translator<?> translator; private final Map<String, Translator<?>> translators;
@Inject @Inject
SRTSubtitleConverter(final Translator translator) { SRTSubtitleConverter(final Map<String, Translator<?>> translators) {
this.translator = requireNonNull(translator); this.translators = Map.copyOf(translators);
} }
@Override @Override
@@ -61,7 +60,7 @@ public class SRTSubtitleConverter implements SubtitleConverter<SubtitleImpl> {
return new SubtitleImpl(text, start, end, null, null); return new SubtitleImpl(text, start, end, null, null);
}).toList(); }).toList();
final var text = subtitles.stream().map(Subtitle::content).collect(Collectors.joining(" ")); 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) { } catch (final Exception e) {
throw new ParseException(e); throw new ParseException(e);
} }

View File

@@ -4,6 +4,7 @@ import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter;
import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@@ -14,6 +14,7 @@ import com.github.gtache.autosubtitle.subtitle.impl.SubtitleImpl;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Comparator; import java.util.Comparator;
import java.util.Objects; import java.util.Objects;

View File

@@ -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.ParseException;
import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter;
import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider;
import javax.inject.Inject;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;

View File

@@ -1,12 +1,16 @@
package com.github.gtache.autosubtitle.modules.setup.impl; 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 org.junit.jupiter.api.Test;
import java.net.http.HttpClient; import java.net.http.HttpClient;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.mockito.Mockito.mock;
class TestSetupModule { class TestSetupModule {
@@ -24,4 +28,17 @@ class TestSetupModule {
void testHttpClient() { void testHttpClient() {
assertInstanceOf(HttpClient.class, SetupModule.providesHttpClient()); 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));
}
} }

View File

@@ -1,7 +1,6 @@
package com.github.gtache.autosubtitle.subtitle.converter.impl; package com.github.gtache.autosubtitle.subtitle.converter.impl;
import com.github.gtache.autosubtitle.Language; 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.FormatOptions;
import com.github.gtache.autosubtitle.subtitle.converter.ParseException; import com.github.gtache.autosubtitle.subtitle.converter.ParseException;
import com.github.gtache.autosubtitle.subtitle.converter.ParseOptions; import com.github.gtache.autosubtitle.subtitle.converter.ParseOptions;
@@ -15,6 +14,7 @@ import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import java.util.Arrays; import java.util.Arrays;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -25,19 +25,20 @@ import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class) @ExtendWith(MockitoExtension.class)
class TestSRTSubtitleConverter { class TestSRTSubtitleConverter {
private final Translator<Subtitle> translator; private final Translator<?> translator;
private final Language language; private final Language language;
private final FormatOptions formatOptions; private final FormatOptions formatOptions;
private final ParseOptions parseOptions; private final ParseOptions parseOptions;
private final SRTSubtitleConverter converter; private final SRTSubtitleConverter converter;
TestSRTSubtitleConverter(@Mock final Translator<Subtitle> translator, @Mock final Language language, TestSRTSubtitleConverter(@Mock final Translator<?> translator, @Mock final Language language,
@Mock final FormatOptions formatOptions, @Mock final ParseOptions parseOptions) { @Mock final FormatOptions formatOptions, @Mock final ParseOptions parseOptions) {
this.translator = Objects.requireNonNull(translator); this.translator = Objects.requireNonNull(translator);
this.language = Objects.requireNonNull(language); this.language = Objects.requireNonNull(language);
this.formatOptions = Objects.requireNonNull(formatOptions); this.formatOptions = Objects.requireNonNull(formatOptions);
this.parseOptions = Objects.requireNonNull(parseOptions); this.parseOptions = Objects.requireNonNull(parseOptions);
this.converter = new SRTSubtitleConverter(translator); final var translators = Map.<String, Translator<?>>of("first", translator);
this.converter = new SRTSubtitleConverter(translators);
} }
@BeforeEach @BeforeEach

View File

@@ -1,5 +1,6 @@
package com.github.gtache.autosubtitle.subtitle.converter.json.impl; package com.github.gtache.autosubtitle.subtitle.converter.json.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.gtache.autosubtitle.Language; import com.github.gtache.autosubtitle.Language;
import com.github.gtache.autosubtitle.subtitle.Subtitle; import com.github.gtache.autosubtitle.subtitle.Subtitle;
@@ -24,6 +25,10 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import static org.junit.jupiter.api.Assertions.assertEquals; 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; import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class) @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 @ParameterizedTest
@CsvSource({ @CsvSource({
"test.json,true", "test.json,true",

View File

@@ -1,5 +1,7 @@
package com.github.gtache.autosubtitle.modules.deepl; 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.modules.setup.deepl.DeepLSetupModule;
import com.github.gtache.autosubtitle.translation.Translator; import com.github.gtache.autosubtitle.translation.Translator;
import com.github.gtache.autosubtitle.translation.deepl.DeepLTranslator; import com.github.gtache.autosubtitle.translation.deepl.DeepLTranslator;
@@ -25,8 +27,12 @@ public abstract class DeepLModule {
@StringKey("deepl") @StringKey("deepl")
abstract Translator<?> bindsTranslatorInMap(final DeepLTranslator translator); abstract Translator<?> bindsTranslatorInMap(final DeepLTranslator translator);
@Binds @Provides
abstract Translator bindsTranslator(final DeepLTranslator translator); @IntoMap
@ToolTypeKey(ToolType.TRANSLATOR)
static String providesDefaultTranslator() {
return "deepl";
}
@Provides @Provides
@Singleton @Singleton

View File

@@ -10,6 +10,7 @@ import com.github.gtache.autosubtitle.setup.impl.AbstractSetupManager;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import java.net.http.HttpClient; import java.net.http.HttpClient;
import java.util.Objects; import java.util.Objects;
import java.util.prefs.BackingStoreException; import java.util.prefs.BackingStoreException;

View File

@@ -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.subtitle.impl.SubtitleImpl;
import com.github.gtache.autosubtitle.translation.TranslationException; import com.github.gtache.autosubtitle.translation.TranslationException;
import com.github.gtache.autosubtitle.translation.Translator; import com.github.gtache.autosubtitle.translation.Translator;
import org.apache.tika.language.detect.LanguageDetector;
import javax.inject.Inject; import javax.inject.Inject;
import org.apache.tika.language.detect.LanguageDetector;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;

View File

@@ -1,10 +1,12 @@
package com.github.gtache.autosubtitle.archive.ffmpeg; package com.github.gtache.autosubtitle.archive.ffmpeg;
import com.github.gtache.autosubtitle.archive.Archiver; import com.github.gtache.autosubtitle.archive.Archiver;
import javax.inject.Inject;
import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import javax.inject.Inject;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;

View File

@@ -1,9 +1,11 @@
package com.github.gtache.autosubtitle.archive.ffmpeg; package com.github.gtache.autosubtitle.archive.ffmpeg;
import com.github.gtache.autosubtitle.archive.Archiver; import com.github.gtache.autosubtitle.archive.Archiver;
import org.tukaani.xz.XZInputStream;
import javax.inject.Inject; import javax.inject.Inject;
import org.tukaani.xz.XZInputStream;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;

View File

@@ -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.FormatException;
import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter;
import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider; import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverterProvider;
import javax.inject.Inject;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;

View File

@@ -9,6 +9,7 @@ import com.github.gtache.autosubtitle.modules.setup.ffmpeg.FFprobeSystemPath;
import com.github.gtache.autosubtitle.process.ProcessRunner; import com.github.gtache.autosubtitle.process.ProcessRunner;
import javax.inject.Inject; import javax.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;

View File

@@ -1,12 +1,15 @@
package com.github.gtache.autosubtitle.modules.ffmpeg; package com.github.gtache.autosubtitle.modules.ffmpeg;
import com.github.gtache.autosubtitle.ToolType;
import com.github.gtache.autosubtitle.VideoConverter; import com.github.gtache.autosubtitle.VideoConverter;
import com.github.gtache.autosubtitle.VideoLoader; import com.github.gtache.autosubtitle.VideoLoader;
import com.github.gtache.autosubtitle.ffmpeg.FFmpegVideoConverter; import com.github.gtache.autosubtitle.ffmpeg.FFmpegVideoConverter;
import com.github.gtache.autosubtitle.ffmpeg.FFprobeVideoLoader; 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 com.github.gtache.autosubtitle.modules.setup.ffmpeg.FFmpegSetupModule;
import dagger.Binds; import dagger.Binds;
import dagger.Module; import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoMap; import dagger.multibindings.IntoMap;
import dagger.multibindings.StringKey; import dagger.multibindings.StringKey;
@@ -25,14 +28,22 @@ public abstract class FFmpegModule {
@StringKey("ffmpeg") @StringKey("ffmpeg")
abstract VideoConverter bindsVideoConverter(final FFmpegVideoConverter converter); abstract VideoConverter bindsVideoConverter(final FFmpegVideoConverter converter);
@Binds @Provides
abstract VideoConverter bindsDefaultVideoConverter(final FFmpegVideoConverter converter); @IntoMap
@ToolTypeKey(ToolType.VIDEO_CONVERTER)
static String bindsDefaultVideoConverter() {
return "ffmpeg";
}
@Binds @Binds
@IntoMap @IntoMap
@StringKey("ffprobe") @StringKey("ffprobe")
abstract VideoLoader bindsVideoLoader(final FFprobeVideoLoader loader); abstract VideoLoader bindsVideoLoader(final FFprobeVideoLoader loader);
@Binds @Provides
abstract VideoLoader bindsDefaultVideoLoader(final FFprobeVideoLoader loader); @IntoMap
@ToolTypeKey(ToolType.VIDEO_LOADER)
static String bindsDefaultVideoLoader() {
return "ffprobe";
}
} }

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -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.CacheRoot;
import com.github.gtache.autosubtitle.modules.setup.impl.ToolsRoot; 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.VideoConverterSetup;
import com.github.gtache.autosubtitle.modules.setup.impl.VideoLoaderSetup;
import com.github.gtache.autosubtitle.setup.SetupManager; import com.github.gtache.autosubtitle.setup.SetupManager;
import com.github.gtache.autosubtitle.setup.ffmpeg.FFmpegSetupConfiguration; import com.github.gtache.autosubtitle.setup.ffmpeg.FFmpegSetupConfiguration;
import com.github.gtache.autosubtitle.setup.ffmpeg.FFmpegSetupManager; import com.github.gtache.autosubtitle.setup.ffmpeg.FFmpegSetupManager;
@@ -52,8 +53,10 @@ public abstract class FFmpegSetupModule {
abstract SetupManager bindsFFmpegSetupManager(final FFmpegSetupManager manager); abstract SetupManager bindsFFmpegSetupManager(final FFmpegSetupManager manager);
@Binds @Binds
@VideoConverterSetup @VideoLoaderSetup
abstract SetupManager bindsDefaultSetupManager(final FFmpegSetupManager manager); @IntoMap
@StringKey("ffprobe")
abstract SetupManager bindsFFprobeSetupManager(final FFmpegSetupManager manager);
@Provides @Provides
static FFmpegSetupConfiguration providesFFmpegSetupConfiguration(@FFBundledRoot final Path root, @FFmpegBundledPath final Path bundledPath, @FFmpegSystemPath final Path systemPath, static FFmpegSetupConfiguration providesFFmpegSetupConfiguration(@FFBundledRoot final Path root, @FFmpegBundledPath final Path bundledPath, @FFmpegSystemPath final Path systemPath,

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.setup.ffmpeg; package com.github.gtache.autosubtitle.modules.setup.ffmpeg;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -11,6 +11,7 @@ import com.github.gtache.autosubtitle.setup.impl.AbstractSetupManager;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import java.io.IOException; import java.io.IOException;
import java.net.http.HttpClient; import java.net.http.HttpClient;
import java.nio.file.Files; import java.nio.file.Files;

View File

@@ -1,4 +1,4 @@
package com.github.gtache.autosubtitle.gui.main; package com.github.gtache.autosubtitle.gui;
/** /**
* Controller for the main view * Controller for the main view

View File

@@ -1,4 +1,4 @@
package com.github.gtache.autosubtitle.gui.main; package com.github.gtache.autosubtitle.gui;
/** /**
* Model for the main view * Model for the main view

View File

@@ -4,7 +4,6 @@
module com.github.gtache.autosubtitle.gui.api { module com.github.gtache.autosubtitle.gui.api {
requires transitive com.github.gtache.autosubtitle.api; requires transitive com.github.gtache.autosubtitle.api;
exports com.github.gtache.autosubtitle.gui; 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.media;
exports com.github.gtache.autosubtitle.gui.parameters; exports com.github.gtache.autosubtitle.gui.parameters;
exports com.github.gtache.autosubtitle.gui.setup; exports com.github.gtache.autosubtitle.gui.setup;

View File

@@ -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; import java.util.spi.ResourceBundleProvider;

View File

@@ -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; import java.util.spi.AbstractResourceBundleProvider;

View File

@@ -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; import java.util.spi.ResourceBundleProvider;

View File

@@ -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; import java.util.spi.AbstractResourceBundleProvider;

View File

@@ -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; import java.util.spi.ResourceBundleProvider;

View File

@@ -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; import java.util.spi.AbstractResourceBundleProvider;

View File

@@ -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; import java.util.spi.ResourceBundleProvider;

View File

@@ -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; import java.util.spi.AbstractResourceBundleProvider;

View File

@@ -20,32 +20,31 @@ public final class GuiCoreModule {
@Provides @Provides
static ResourceBundle providesBundle() { static ResourceBundle providesBundle() {
return new CombinedResourceBundle(ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.MainBundle"), 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.setup.impl.SetupBundle"),
ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.WorkBundle"), ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.work.impl.WorkBundle"),
ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.ParametersBundle"), ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.parameters.impl.ParametersBundle"),
ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.SubtitlesBundle"), ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.subtitles.impl.SubtitlesBundle"),
ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.impl.MediaBundle")); ResourceBundle.getBundle("com.github.gtache.autosubtitle.gui.media.impl.MediaBundle"));
} }
@Provides @Provides
@Play @Play
static byte[] providesPlayImage() { static byte[] providesPlayImage() {
try (final var in = GuiCoreModule.class.getResourceAsStream("/com/github/gtache/autosubtitle/gui/impl/play_64.png")) { final var path = "/com/github/gtache/autosubtitle/gui/media/impl/play_64.png";
if (in == null) { return readResource(path);
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);
}
} }
@Provides @Provides
@Pause @Pause
static byte[] providesPauseImage() { 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) { 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(); return in.readAllBytes();
} catch (final IOException e) { } catch (final IOException e) {

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.gui.impl; package com.github.gtache.autosubtitle.modules.gui.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.modules.gui.impl; package com.github.gtache.autosubtitle.modules.gui.impl;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -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 * 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.gui.api;
requires transitive com.github.gtache.autosubtitle.core; requires transitive com.github.gtache.autosubtitle.core;
requires org.apache.logging.log4j; requires org.apache.logging.log4j;
exports com.github.gtache.autosubtitle.gui.impl; exports com.github.gtache.autosubtitle.gui.impl;
exports com.github.gtache.autosubtitle.gui.impl.spi; exports com.github.gtache.autosubtitle.gui.impl.spi;
exports com.github.gtache.autosubtitle.modules.gui.impl; 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;
provides MainBundleProvider with MainBundleProviderImpl; exports com.github.gtache.autosubtitle.modules.gui.impl;
provides ParametersBundleProvider with ParametersBundleProviderImpl;
provides SetupBundleProvider with SetupBundleProviderImpl;
provides WorkBundleProvider with WorkBundleProviderImpl;
} }

View File

@@ -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.MainController;
import com.github.gtache.autosubtitle.gui.main.MainController;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.TabPane; import javafx.scene.control.TabPane;
import javafx.stage.Window; import javafx.stage.Window;

View File

@@ -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.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleIntegerProperty;

View File

@@ -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.fx.FXBinder;
import com.github.gtache.autosubtitle.gui.work.fx.FXWorkModel; import com.github.gtache.autosubtitle.gui.work.fx.FXWorkModel;
import javafx.beans.binding.Bindings;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import javafx.beans.binding.Bindings;
import java.util.Objects; import java.util.Objects;
/** /**

View File

@@ -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.modules.gui.impl.Play;
import com.github.gtache.autosubtitle.subtitle.Subtitle; import com.github.gtache.autosubtitle.subtitle.Subtitle;
import com.github.gtache.autosubtitle.subtitle.gui.fx.SubtitleLabel; import com.github.gtache.autosubtitle.subtitle.gui.fx.SubtitleLabel;
import javax.inject.Inject;
import javax.inject.Singleton;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.beans.binding.Bindings; import javafx.beans.binding.Bindings;
import javafx.fxml.FXML; import javafx.fxml.FXML;
@@ -29,8 +33,6 @@ import javafx.util.Duration;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@@ -3,14 +3,15 @@ package com.github.gtache.autosubtitle.gui.media.fx;
import com.github.gtache.autosubtitle.Video; import com.github.gtache.autosubtitle.Video;
import com.github.gtache.autosubtitle.gui.media.MediaModel; import com.github.gtache.autosubtitle.gui.media.MediaModel;
import com.github.gtache.autosubtitle.subtitle.EditableSubtitle; import com.github.gtache.autosubtitle.subtitle.EditableSubtitle;
import javax.inject.Inject;
import javax.inject.Singleton;
import javafx.beans.binding.Bindings; import javafx.beans.binding.Bindings;
import javafx.beans.property.*; import javafx.beans.property.*;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javax.inject.Inject;
import javax.inject.Singleton;
/** /**
* FX implementation of {@link MediaModel} * FX implementation of {@link MediaModel}
*/ */

View File

@@ -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.gui.parameters.ParametersController;
import com.github.gtache.autosubtitle.subtitle.OutputFormat; import com.github.gtache.autosubtitle.subtitle.OutputFormat;
import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModel; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModel;
import javax.inject.Inject;
import javax.inject.Singleton;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
@@ -15,8 +19,6 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.controlsfx.control.PrefixSelectionComboBox; import org.controlsfx.control.PrefixSelectionComboBox;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.function.UnaryOperator; import java.util.function.UnaryOperator;
import java.util.prefs.BackingStoreException; import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences; import java.util.prefs.Preferences;

View File

@@ -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.ExtractionModel;
import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModelProvider; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModelProvider;
import com.github.gtache.autosubtitle.subtitle.impl.FontImpl; import com.github.gtache.autosubtitle.subtitle.impl.FontImpl;
import javax.inject.Inject;
import javax.inject.Singleton;
import javafx.beans.binding.Bindings; import javafx.beans.binding.Bindings;
import javafx.beans.property.IntegerProperty; import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty; import javafx.beans.property.ObjectProperty;
@@ -23,8 +27,6 @@ import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.collections.ObservableMap; import javafx.collections.ObservableMap;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Map; import java.util.Map;
/** /**

View File

@@ -37,7 +37,7 @@ public class FXSetupModel implements SetupModel {
@Inject @Inject
FXSetupModel(final Map<ToolType, Map<String, SetupManager>> setupManagers, FXSetupModel(final Map<ToolType, Map<String, SetupManager>> setupManagers,
final Map<ToolType, SetupManager> defaultManagers) { final Map<ToolType, String> defaultTools) {
final var tmpAvailableSetupManagers = FXCollections.<ToolType, ObservableList<SetupManager>>observableHashMap(); final var tmpAvailableSetupManagers = FXCollections.<ToolType, ObservableList<SetupManager>>observableHashMap();
final var tmpSelectedTools = FXCollections.<ToolType, StringProperty>observableHashMap(); final var tmpSelectedTools = FXCollections.<ToolType, StringProperty>observableHashMap();
final var tmpSelectedSetupManagers = FXCollections.<ToolType, ObjectProperty<SetupManager>>observableHashMap(); final var tmpSelectedSetupManagers = FXCollections.<ToolType, ObjectProperty<SetupManager>>observableHashMap();
@@ -47,13 +47,22 @@ public class FXSetupModel implements SetupModel {
final var tmpSetupEditables = FXCollections.<ToolType, ReadOnlyBooleanWrapper>observableHashMap(); final var tmpSetupEditables = FXCollections.<ToolType, ReadOnlyBooleanWrapper>observableHashMap();
setupManagers.forEach((type, managers) -> { setupManagers.forEach((type, managers) -> {
tmpAvailableSetupManagers.put(type, getUnmodifiableObservableList(managers.values())); 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<>()); tmpSelectedSetupManagers.put(type, new SimpleObjectProperty<>());
tmpSetupStatuses.put(type, new SimpleObjectProperty<>(SetupStatus.ERRORED)); tmpSetupStatuses.put(type, new SimpleObjectProperty<>(SetupStatus.ERRORED));
tmpSetupProgresses.put(type, new SimpleDoubleProperty(-2)); tmpSetupProgresses.put(type, new SimpleDoubleProperty(-2));
tmpSetupProgressLabels.put(type, new SimpleStringProperty("")); tmpSetupProgressLabels.put(type, new SimpleStringProperty(""));
tmpSetupEditables.put(type, new ReadOnlyBooleanWrapper(false)); 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.availableSetupManagers = FXCollections.unmodifiableObservableMap(tmpAvailableSetupManagers);
this.selectedTools = FXCollections.unmodifiableObservableMap(tmpSelectedTools); this.selectedTools = FXCollections.unmodifiableObservableMap(tmpSelectedTools);
this.selectedSetupManagers = FXCollections.unmodifiableObservableMap(tmpSelectedSetupManagers); this.selectedSetupManagers = FXCollections.unmodifiableObservableMap(tmpSelectedSetupManagers);
@@ -66,12 +75,12 @@ public class FXSetupModel implements SetupModel {
{ {
setupStatuses.get(type).set(newValue == null ? SetupStatus.ERRORED : newValue.status()); setupStatuses.get(type).set(newValue == null ? SetupStatus.ERRORED : newValue.status());
selectedTools.get(type).set(newValue == null ? selectedTools.get(type).set(newValue == null ?
getKeyForValue(setupManagers.get(type), defaultManagers.get(type)) : defaultTools.get(type) :
getKeyForValue(setupManagers.get(type), newValue)); getKeyForValue(setupManagers.get(type), newValue));
})); }));
selectedTools.forEach((type, value) -> value.addListener((observable, oldValue, newValue) -> { selectedTools.forEach((type, value) -> value.addListener((observable, oldValue, newValue) -> {
if (newValue != null) { if (newValue != null) {
final var manager = setupManagers.get(type).get(newValue); final var manager = setupManagers.getOrDefault(type, Map.of()).get(newValue);
if (manager != null) { if (manager != null) {
setSelectedSetupManager(type, manager); setSelectedSetupManager(type, manager);
} }
@@ -80,7 +89,7 @@ public class FXSetupModel implements SetupModel {
setupInProgress.forEach((type, value) -> value.bind(setupProgresses.get(type).greaterThan(-2))); 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<String, ? extends SetupManager> managers, final SetupManager manager) { private static String getKeyForValue(final Map<String, ? extends SetupManager> managers, final SetupManager manager) {

View File

@@ -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.gui.fx.ObservableSubtitleCollectionImpl;
import com.github.gtache.autosubtitle.subtitle.impl.ExportOptionsImpl; import com.github.gtache.autosubtitle.subtitle.impl.ExportOptionsImpl;
import com.github.gtache.autosubtitle.subtitle.impl.ImportOptionsImpl; import com.github.gtache.autosubtitle.subtitle.impl.ImportOptionsImpl;
import javafx.beans.binding.Bindings;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import javafx.beans.binding.Bindings;
import static java.util.Objects.requireNonNull; import static java.util.Objects.requireNonNull;
/** /**

View File

@@ -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.ObservableSubtitleCollectionImpl;
import com.github.gtache.autosubtitle.subtitle.gui.fx.ObservableSubtitleImpl; import com.github.gtache.autosubtitle.subtitle.gui.fx.ObservableSubtitleImpl;
import com.github.gtache.autosubtitle.translation.TranslationException; import com.github.gtache.autosubtitle.translation.TranslationException;
import javax.inject.Inject;
import javax.inject.Singleton;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.beans.binding.Bindings; import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
@@ -34,8 +38,6 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.controlsfx.control.PrefixSelectionComboBox; import org.controlsfx.control.PrefixSelectionComboBox;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Path; import java.nio.file.Path;
import java.text.MessageFormat; import java.text.MessageFormat;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.gui.subtitles.fx; package com.github.gtache.autosubtitle.gui.subtitles.fx;
import com.github.gtache.autosubtitle.Language; 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.gui.subtitles.SubtitlesModel;
import com.github.gtache.autosubtitle.subtitle.ExportOptions; import com.github.gtache.autosubtitle.subtitle.ExportOptions;
import com.github.gtache.autosubtitle.subtitle.ImportOptions; import com.github.gtache.autosubtitle.subtitle.ImportOptions;
@@ -54,7 +55,7 @@ public class FXSubtitlesModel implements SubtitlesModel<ObservableSubtitleImpl,
private final ObjectProperty<ImportOptions> importOptions; private final ObjectProperty<ImportOptions> importOptions;
@Inject @Inject
FXSubtitlesModel(final Map<String, Translator<?>> translators, final Translator defaultTranslator) { FXSubtitlesModel(final Map<String, Translator<?>> translators, final Map<ToolType, String> defaultTools) {
this.availableTranslators = FXCollections.unmodifiableObservableMap(FXCollections.observableMap(translators)); this.availableTranslators = FXCollections.unmodifiableObservableMap(FXCollections.observableMap(translators));
this.availableVideoLanguages = FXCollections.unmodifiableObservableList(FXCollections.observableArrayList(Arrays.stream(Language.values()) this.availableVideoLanguages = FXCollections.unmodifiableObservableList(FXCollections.observableArrayList(Arrays.stream(Language.values())
.sorted((o1, o2) -> { .sorted((o1, o2) -> {
@@ -83,7 +84,7 @@ public class FXSubtitlesModel implements SubtitlesModel<ObservableSubtitleImpl,
this.isTranslating = new SimpleBooleanProperty(false); this.isTranslating = new SimpleBooleanProperty(false);
this.exportOptions = new SimpleObjectProperty<>(); this.exportOptions = new SimpleObjectProperty<>();
this.importOptions = new SimpleObjectProperty<>(); this.importOptions = new SimpleObjectProperty<>();
this.translator = new SimpleObjectProperty<>(defaultTranslator); this.translator = new SimpleObjectProperty<>(translators.get(defaultTools.get(ToolType.TRANSLATOR)));
canSaveSubtitles.bind(Bindings.isNotEmpty(collections)); canSaveSubtitles.bind(Bindings.isNotEmpty(collections));
collections.addListener((MapChangeListener<Language, ObservableSubtitleCollectionImpl>) change -> collections.addListener((MapChangeListener<Language, ObservableSubtitleCollectionImpl>) change ->

View File

@@ -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.converter.impl.ParseOptionsImpl;
import com.github.gtache.autosubtitle.subtitle.extractor.impl.ExtractOptionsImpl; import com.github.gtache.autosubtitle.subtitle.extractor.impl.ExtractOptionsImpl;
import com.github.gtache.autosubtitle.subtitle.impl.ExportOptionsImpl; import com.github.gtache.autosubtitle.subtitle.impl.ExportOptionsImpl;
import javafx.beans.binding.Bindings;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import javafx.beans.binding.Bindings;
import static java.util.Objects.requireNonNull; import static java.util.Objects.requireNonNull;
/** /**

View File

@@ -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.ExtractEvent;
import com.github.gtache.autosubtitle.subtitle.extractor.ExtractException; import com.github.gtache.autosubtitle.subtitle.extractor.ExtractException;
import com.github.gtache.autosubtitle.subtitle.extractor.SubtitleExtractorListener; import com.github.gtache.autosubtitle.subtitle.extractor.SubtitleExtractorListener;
import javax.inject.Inject;
import javax.inject.Singleton;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.beans.binding.Bindings; import javafx.beans.binding.Bindings;
import javafx.fxml.FXML; import javafx.fxml.FXML;
@@ -20,8 +24,6 @@ import javafx.stage.Window;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Path; import java.nio.file.Path;
import java.text.MessageFormat; import java.text.MessageFormat;

View File

@@ -1,6 +1,7 @@
package com.github.gtache.autosubtitle.gui.work.fx; package com.github.gtache.autosubtitle.gui.work.fx;
import com.github.gtache.autosubtitle.Language; import com.github.gtache.autosubtitle.Language;
import com.github.gtache.autosubtitle.ToolType;
import com.github.gtache.autosubtitle.Video; import com.github.gtache.autosubtitle.Video;
import com.github.gtache.autosubtitle.VideoConverter; import com.github.gtache.autosubtitle.VideoConverter;
import com.github.gtache.autosubtitle.VideoLoader; import com.github.gtache.autosubtitle.VideoLoader;
@@ -56,15 +57,14 @@ public class FXWorkModel implements WorkModel {
private final ObjectProperty<ExtractOptions> extractOptions; private final ObjectProperty<ExtractOptions> extractOptions;
@Inject @Inject
FXWorkModel(final Map<String, SubtitleExtractor<?>> subtitleExtractors, final SubtitleExtractor defaultExtractor, FXWorkModel(final Map<String, SubtitleExtractor<?>> subtitleExtractors, final Map<String, VideoLoader> videoLoaders,
final Map<String, VideoLoader> videoLoaders, final VideoLoader defaultVideoLoader, final Map<String, VideoConverter> videoConverters, final Map<ToolType, String> defaultTools) {
final Map<String, VideoConverter> videoConverters, final VideoConverter defaultVideoConverter) {
this.availableSubtitleExtractors = FXCollections.unmodifiableObservableMap(FXCollections.observableMap(subtitleExtractors)); 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.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.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.video = new SimpleObjectProperty<>();
this.workStatus = new SimpleObjectProperty<>(WorkStatus.IDLE); this.workStatus = new SimpleObjectProperty<>(WorkStatus.IDLE);
this.progress = new SimpleDoubleProperty(-1); this.progress = new SimpleDoubleProperty(-1);

View File

@@ -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.TimeFormatter;
import com.github.gtache.autosubtitle.gui.fx.ColonTimeFormatter; 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.media.fx.FXMediaController;
import com.github.gtache.autosubtitle.gui.parameters.fx.FXParametersController; import com.github.gtache.autosubtitle.gui.parameters.fx.FXParametersController;
import com.github.gtache.autosubtitle.gui.setup.fx.FXSetupController; import com.github.gtache.autosubtitle.gui.setup.fx.FXSetupController;

View File

@@ -1,6 +1,6 @@
package com.github.gtache.autosubtitle.setup.gui.fx; 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 com.github.gtache.autosubtitle.setup.SetupUserBridge;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.scene.control.Alert; import javafx.scene.control.Alert;

View File

@@ -5,27 +5,27 @@ module com.github.gtache.autosubtitle.gui.fx {
requires transitive com.github.gtache.autosubtitle.core; requires transitive com.github.gtache.autosubtitle.core;
requires transitive com.github.gtache.autosubtitle.gui.core; requires transitive com.github.gtache.autosubtitle.gui.core;
requires transitive javafx.controls; requires transitive javafx.controls;
requires transitive javafx.media;
requires transitive javafx.fxml; requires transitive javafx.fxml;
requires transitive javafx.media;
requires transitive java.prefs;
requires org.controlsfx.controls; requires org.controlsfx.controls;
requires org.apache.logging.log4j; requires org.apache.logging.log4j;
requires transitive java.prefs;
exports com.github.gtache.autosubtitle.gui.fx; 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.setup.gui.fx;
exports com.github.gtache.autosubtitle.subtitle.gui.fx; exports com.github.gtache.autosubtitle.subtitle.gui.fx;
exports com.github.gtache.autosubtitle.modules.gui.fx; exports com.github.gtache.autosubtitle.modules.gui.fx;
opens com.github.gtache.autosubtitle.gui.fx to javafx.fxml; 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; 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; 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; 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; 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; opens com.github.gtache.autosubtitle.gui.work.fx to javafx.fxml;
} }

View File

@@ -3,21 +3,21 @@
<?import javafx.scene.control.Tab?> <?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?> <?import javafx.scene.control.TabPane?>
<TabPane fx:id="tabPane" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" <TabPane fx:id="tabPane" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.github.gtache.autosubtitle.gui.main.fx.FXMainController"> fx:controller="com.github.gtache.autosubtitle.gui.fx.FXMainController">
<tabs> <tabs>
<Tab closable="false" text="%main.tab.work.label"> <Tab closable="false" text="%main.tab.work.label">
<content> <content>
<fx:include source="workView.fxml"/> <fx:include source="../work/fx/workView.fxml"/>
</content> </content>
</Tab> </Tab>
<Tab closable="false" text="%main.tab.setup.label"> <Tab closable="false" text="%main.tab.setup.label">
<content> <content>
<fx:include source="setupView.fxml"/> <fx:include source="../setup/fx/setupView.fxml"/>
</content> </content>
</Tab> </Tab>
<Tab closable="false" text="%main.tab.parameters.label"> <Tab closable="false" text="%main.tab.parameters.label">
<content> <content>
<fx:include source="parametersView.fxml"/> <fx:include source="../parameters/fx/parametersView.fxml"/>
</content> </content>
</Tab> </Tab>
</tabs> </tabs>

Some files were not shown because too many files have changed in this diff Show More