Improves reading of input

This commit is contained in:
Kristian Knarvik 2019-08-20 21:05:31 +02:00
parent 104d9ccb4b
commit 0a39a69e73
4 changed files with 95 additions and 87 deletions

View File

@ -6,7 +6,8 @@
</artifacts-to-build> </artifacts-to-build>
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e9b48a04-29ff-46ce-9630-42742dc34d68" name="Default" comment="Adds surround to stereo"> <list default="true" id="e9b48a04-29ff-46ce-9630-42742dc34d68" name="Default" comment="Improves reading of input">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/ffmpegconverter/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ffmpegconverter/Main.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/ffmpegconverter/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ffmpegconverter/Main.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java" afterDir="false" />
@ -31,24 +32,21 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java"> <entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2907"> <state relative-caret-position="187">
<caret line="178" column="13" selection-start-line="178" selection-start-column="13" selection-end-line="178" selection-end-column="13" /> <caret line="320" column="66" selection-start-line="320" selection-start-column="66" selection-end-line="320" selection-end-column="66" />
<folding> <folding>
<element signature="e#12992#12993#0" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="e#13075#13076#0" expanded="true" />
<element signature="e#13124#13125#0" expanded="true" />
<element signature="e#13187#13188#0" expanded="true" />
<element signature="method#concatenate#0;class#Converter#0" /> <element signature="method#concatenate#0;class#Converter#0" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java"> <entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="65"> <state relative-caret-position="249">
<caret line="14" column="59" selection-start-line="14" selection-start-column="59" selection-end-line="14" selection-end-column="59" /> <caret line="116" column="57" selection-start-line="116" selection-start-column="57" selection-end-line="116" selection-end-column="57" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
@ -68,19 +66,15 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/Main.java"> <entry file="file://$PROJECT_DIR$/src/ffmpegconverter/Main.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272"> <state relative-caret-position="231">
<caret line="25" column="10" selection-start-line="25" selection-start-column="10" selection-end-line="25" selection-end-column="10" /> <caret line="149" column="31" lean-forward="true" selection-start-line="149" selection-start-column="31" selection-end-line="149" selection-end-column="31" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#testArgumentValue#0;class#converterArgument#0;class#Main#0" /> <element signature="method#testArgumentValue#0;class#converterArgument#0;class#Main#0" />
<element signature="method#tokenizer#0;class#Main#0" />
<element signature="method#animeConverter#0;class#Main#0" />
<element signature="method#getList#0;class#Main#0" /> <element signature="method#getList#0;class#Main#0" />
<element signature="method#readInput#0;class#Main#0" />
<element signature="method#getChoice#0;class#Main#0" />
<element signature="method#getChoice#1;class#Main#0" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -109,6 +103,9 @@
<find>listSubtitlesRelative</find> <find>listSubtitlesRelative</find>
<find>debug</find> <find>debug</find>
<find>isimage</find> <find>isimage</find>
<find>jap</find>
<find>listFilesRec</find>
<find>readInput</find>
</findStrings> </findStrings>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
@ -119,17 +116,16 @@
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/src/ffmpegconverter/converter/VideoConverter.java" /> <option value="$PROJECT_DIR$/src/ffmpegconverter/converter/VideoConverter.java" />
<option value="$PROJECT_DIR$/src/ffmpegconverter/Main.java" />
<option value="$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java" />
<option value="$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java" /> <option value="$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java" />
<option value="$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java" />
<option value="$PROJECT_DIR$/src/ffmpegconverter/Main.java" />
</list> </list>
</option> </option>
</component> </component>
<component name="ProjectFrameBounds" extendedState="6"> <component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="-8" /> <option name="x" value="-7" />
<option name="y" value="-8" />
<option name="width" value="974" /> <option name="width" value="974" />
<option name="height" value="728" /> <option name="height" value="1047" />
</component> </component>
<component name="ProjectView"> <component name="ProjectView">
<navigator proportions="" version="1"> <navigator proportions="" version="1">
@ -143,6 +139,24 @@
<item name="FFmpegConvert1" type="b2602c69:ProjectViewProjectNode" /> <item name="FFmpegConvert1" type="b2602c69:ProjectViewProjectNode" />
<item name="FFmpegConvert1" type="462c0819:PsiDirectoryNode" /> <item name="FFmpegConvert1" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="FFmpegConvert1" type="b2602c69:ProjectViewProjectNode" />
<item name="FFmpegConvert1" type="462c0819:PsiDirectoryNode" />
<item name="out" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="FFmpegConvert1" type="b2602c69:ProjectViewProjectNode" />
<item name="FFmpegConvert1" type="462c0819:PsiDirectoryNode" />
<item name="out" type="462c0819:PsiDirectoryNode" />
<item name="artifacts" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="FFmpegConvert1" type="b2602c69:ProjectViewProjectNode" />
<item name="FFmpegConvert1" type="462c0819:PsiDirectoryNode" />
<item name="out" type="462c0819:PsiDirectoryNode" />
<item name="artifacts" type="462c0819:PsiDirectoryNode" />
<item name="FFmpegConvert" type="462c0819:PsiDirectoryNode" />
</path>
<path> <path>
<item name="FFmpegConvert1" type="b2602c69:ProjectViewProjectNode" /> <item name="FFmpegConvert1" type="b2602c69:ProjectViewProjectNode" />
<item name="FFmpegConvert1" type="462c0819:PsiDirectoryNode" /> <item name="FFmpegConvert1" type="462c0819:PsiDirectoryNode" />
@ -172,7 +186,7 @@
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" /> <property name="aspect.path.notification.shown" value="true" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1559848538589" /> <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1566327893996" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../rogue-one-oh-one" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/../rogue-one-oh-one" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" />
@ -317,7 +331,10 @@
<workItem from="1558270332068" duration="1231000" /> <workItem from="1558270332068" duration="1231000" />
<workItem from="1559411406801" duration="621000" /> <workItem from="1559411406801" duration="621000" />
<workItem from="1559765370819" duration="3857000" /> <workItem from="1559765370819" duration="3857000" />
<workItem from="1560477751040" duration="642000" /> <workItem from="1560477751040" duration="2758000" />
<workItem from="1561162925209" duration="2043000" />
<workItem from="1561850923206" duration="1264000" />
<workItem from="1566295287966" duration="2888000" />
</task> </task>
<task id="LOCAL-00001" summary="Adds missing files"> <task id="LOCAL-00001" summary="Adds missing files">
<created>1538261222377</created> <created>1538261222377</created>
@ -351,7 +368,7 @@
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="97157000" /> <option name="totallyTimeSpent" value="105468000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
@ -364,8 +381,9 @@
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" />
<layout> <layout>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.1098081" /> <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.1130064" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Image Layers" order="2" /> <window_info id="Image Layers" order="2" />
<window_info id="Designer" order="3" /> <window_info id="Designer" order="3" />
@ -374,17 +392,17 @@
<window_info id="Favorites" order="6" side_tool="true" /> <window_info id="Favorites" order="6" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" /> <window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" /> <window_info anchor="bottom" id="Find" order="1" />
<window_info active="true" anchor="bottom" id="Run" order="2" sideWeight="0.75054705" visible="true" weight="0.7659805" /> <window_info anchor="bottom" id="Run" order="2" sideWeight="0.75054705" weight="0.48754063" />
<window_info anchor="bottom" id="Debug" order="3" sideWeight="0.49895614" weight="0.39869988" /> <window_info anchor="bottom" id="Debug" order="3" sideWeight="0.49895614" weight="0.39869988" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" sideWeight="0.49946696" weight="0.32936078" /> <window_info anchor="bottom" id="TODO" order="6" sideWeight="0.49946696" weight="0.32936078" />
<window_info anchor="bottom" id="Version Control" order="7" sideWeight="0.4989059" weight="0.32932165" /> <window_info anchor="bottom" id="Version Control" order="7" sideWeight="0.4989059" weight="0.32827735" />
<window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" /> <window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
<window_info anchor="bottom" id="Statistic" order="9" sideWeight="0.49946696" weight="0.32936078" /> <window_info anchor="bottom" id="Statistic" order="9" sideWeight="0.49946696" weight="0.32936078" />
<window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.4989059" weight="0.32932165" /> <window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.4989059" weight="0.32827735" />
<window_info anchor="bottom" id="Event Log" order="11" sideWeight="0.24945295" side_tool="true" weight="0.47811815" /> <window_info anchor="bottom" id="Event Log" order="11" sideWeight="0.24945295" side_tool="true" weight="0.47811815" />
<window_info anchor="bottom" id="Messages" order="12" sideWeight="0.49840087" weight="0.33152762" /> <window_info active="true" anchor="bottom" id="Messages" order="12" sideWeight="0.49840087" visible="true" weight="0.32827735" />
<window_info anchor="bottom" id="Docker" order="13" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="13" show_stripe_button="false" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" /> <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
@ -406,7 +424,8 @@
<MESSAGE value="Hopefully fixes issues #1 and #2&#10;&#10;File collision handling similar to windows" /> <MESSAGE value="Hopefully fixes issues #1 and #2&#10;&#10;File collision handling similar to windows" />
<MESSAGE value="Adds hardsubbing of subtitles with same name as video file&#10;&#10;Better file collision detection&#10;Adds debug mode to only render part of the video" /> <MESSAGE value="Adds hardsubbing of subtitles with same name as video file&#10;&#10;Better file collision detection&#10;Adds debug mode to only render part of the video" />
<MESSAGE value="Adds surround to stereo" /> <MESSAGE value="Adds surround to stereo" />
<option name="LAST_COMMIT_MESSAGE" value="Adds surround to stereo" /> <MESSAGE value="Improves reading of input" />
<option name="LAST_COMMIT_MESSAGE" value="Improves reading of input" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/misc.xml" /> <entry file="file://$PROJECT_DIR$/misc.xml" />
@ -425,20 +444,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2907">
<caret line="178" column="13" selection-start-line="178" selection-start-column="13" selection-end-line="178" selection-end-column="13" />
<folding>
<element signature="e#12992#12993#0" expanded="true" />
<element signature="e#13075#13076#0" expanded="true" />
<element signature="e#13124#13125#0" expanded="true" />
<element signature="e#13187#13188#0" expanded="true" />
<element signature="method#concatenate#0;class#Converter#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/AudioConverter.java"> <entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/AudioConverter.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34"> <state relative-caret-position="34">
@ -449,22 +454,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272">
<caret line="25" column="10" selection-start-line="25" selection-start-column="10" selection-end-line="25" selection-end-column="10" />
<folding>
<element signature="method#testArgumentValue#0;class#converterArgument#0;class#Main#0" />
<element signature="method#tokenizer#0;class#Main#0" />
<element signature="method#animeConverter#0;class#Main#0" />
<element signature="method#getList#0;class#Main#0" />
<element signature="method#readInput#0;class#Main#0" />
<element signature="method#getChoice#0;class#Main#0" />
<element signature="method#getChoice#1;class#Main#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/VideoConverter.java"> <entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/VideoConverter.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="731"> <state relative-caret-position="731">
@ -477,12 +466,35 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java"> <entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/Converter.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="65"> <state relative-caret-position="187">
<caret line="14" column="59" selection-start-line="14" selection-start-column="59" selection-end-line="14" selection-end-column="59" /> <caret line="320" column="66" selection-start-line="320" selection-start-column="66" selection-end-line="320" selection-end-column="66" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="method#concatenate#0;class#Converter#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/converter/AnimeConverter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="249">
<caret line="116" column="57" selection-start-line="116" selection-start-column="57" selection-end-line="116" selection-end-column="57" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ffmpegconverter/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="231">
<caret line="149" column="31" lean-forward="true" selection-start-line="149" selection-start-column="31" selection-end-line="149" selection-end-column="31" />
<folding>
<element signature="imports" expanded="true" />
<element signature="method#testArgumentValue#0;class#converterArgument#0;class#Main#0" />
<element signature="method#getList#0;class#Main#0" />
</folding> </folding>
</state> </state>
</provider> </provider>

View File

@ -15,9 +15,9 @@ import java.util.function.Predicate;
* Converts a files or files in a folder to a web playable mp4. * Converts a files or files in a folder to a web playable mp4.
*/ */
public class Main { public class Main {
private static final String FFPROBE_PATH = "C:\\Users\\Kristian\\Downloads\\ffmpeg-20190427-8019395-win64-static\\bin\\ffprobe.exe"; //Can be just ffprobe if it's in the path private static final String FFPROBE_PATH = "ffprobe"; //Can be just ffprobe if it's in the path
private static final String FFMPEG_PATH = "C:\\Users\\Kristian\\Downloads\\ffmpeg-20190427-8019395-win64-static\\bin\\ffmpeg.exe"; //Can be just ffmpeg if it's in the path private static final String FFMPEG_PATH = "ffmpeg"; //Can be just ffmpeg if it's in the path
private static Scanner in = new Scanner(System.in); private static Scanner in = new Scanner(System.in, "UTF-8");
private static Converter con = null; private static Converter con = null;
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
@ -68,8 +68,10 @@ public class Main {
} else { } else {
System.out.println("No valid files found in folder."); System.out.println("No valid files found in folder.");
} }
} else { } else if (folder.exists()) {
con.convert(folder); con.convert(folder);
} else {
System.out.println("Path " + folder.getAbsolutePath() + " does not point to any file or folder.");
} }
} }
@ -142,7 +144,7 @@ public class Main {
private static List<String> tokenizer(String input) { private static List<String> tokenizer(String input) {
List<String> tokens = new ArrayList<>(); List<String> tokens = new ArrayList<>();
Boolean startedQuote = false; boolean startedQuote = false;
StringBuilder currentToken = new StringBuilder(); StringBuilder currentToken = new StringBuilder();
for (int i = 0; i < input.length(); i++) { for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i); char c = input.charAt(i);
@ -179,7 +181,7 @@ public class Main {
} }
private static void animeConverter() { private static void animeConverter() {
System.out.println("[Audio languages jap,eng,ger,fre] [Subtitle languages eng,ger,fre] [Convert to stereo if necessary true/false] [Prevent signs&songs subtitles true/false]\nYour input: "); System.out.println("[Audio languages jpn,eng,ger,fre] [Subtitle languages eng,ger,fre] [Convert to stereo if necessary true/false] [Prevent signs&songs subtitles true/false]\nYour input: ");
List<String> input = readInput(4); List<String> input = readInput(4);
String[] audioLang = new String[]{"jpn"}; String[] audioLang = new String[]{"jpn"};
String[] subtitleLang = new String[]{"eng"}; String[] subtitleLang = new String[]{"eng"};
@ -213,20 +215,12 @@ public class Main {
} }
private static List<String> readInput(int max) { private static List<String> readInput(int max) {
List<String> input = new ArrayList<>(); List<String> tokens = tokenizer(in.nextLine());
String rx = "[^\"\\s]+|\"(\\\\.|[^\\\\\"])*\""; if (max < tokens.size()) {
for (int i = 0; i < max; i++) { throw new IllegalArgumentException("Input contains " + tokens.size() +
String line = in.findInLine(rx); " arguments, but the input only supports " + max + " arguments.");
if (line != null) {
if (line.startsWith("\"") && line.endsWith("\"")) {
input.add(line.substring(1, line.length() - 1));
} else {
input.add(line);
} }
} return tokens;
}
in.nextLine();
return input;
} }
private static String getChoice(String prompt) { private static String getChoice(String prompt) {

View File

@ -96,8 +96,8 @@ public class AnimeConverter extends Converter {
subtitleStreams = listSubtitlesRelative(streams); subtitleStreams = listSubtitlesRelative(streams);
subtitleStreamsAbsolute = listSubtitles(streams); subtitleStreamsAbsolute = listSubtitles(streams);
} else if (preventSignsAndSongs) { } else if (preventSignsAndSongs) {
subtitleStreams = listSubtitlesRelative(streams, lang, new String[]{"title=Signs"}); subtitleStreams = listSubtitlesRelative(streams, lang, new String[]{"title=Signs", "Signs/Songs"});
subtitleStreamsAbsolute = listSubtitles(streams, lang, new String[]{"title=Signs"}); subtitleStreamsAbsolute = listSubtitles(streams, lang, new String[]{"title=Signs", "Signs/Songs"});
} else { } else {
subtitleStreams = listSubtitlesRelative(streams, lang); subtitleStreams = listSubtitlesRelative(streams, lang);
subtitleStreamsAbsolute = listSubtitles(streams, lang); subtitleStreamsAbsolute = listSubtitles(streams, lang);

View File

@ -120,6 +120,8 @@ public abstract class Converter {
command.add("" + length); command.add("" + length);
} }
//TODO: Create a new object for subtitle containing language, relative index, absolute index and codec. Also signs & songs.
/** /**
* Checks for the occurrence of otf attachments signifying the existence of image based subtitles. * Checks for the occurrence of otf attachments signifying the existence of image based subtitles.
* *
@ -316,7 +318,7 @@ public abstract class Converter {
} }
int endPos = string.indexOf(end, startPos); int endPos = string.indexOf(end, startPos);
String outString = string.substring(startPos, endPos).trim(); String outString = string.substring(startPos, endPos).trim();
String nextString = string.substring(endPos + end.length(), string.length()); String nextString = string.substring(endPos + end.length());
return concatenate(new String[]{outString}, stringBetween(nextString, start, end)); return concatenate(new String[]{outString}, stringBetween(nextString, start, end));
} }