No help so far.
Is there anyone else who can help me get this going?
A few pointers.
- remove all the thread related code, seriously
- the way you add parameters to tprocess seems very wrong to me (I could not get that to work).
- why do you pass along 4 filenames to mkvmerge ? (should be one for result/output, one for original movie, one for subtitle)
- if you run mkvmerge in quiet mode then mkvmerge will be ... well quiet (no textual feedback unless an actual error occurs). Therefor your percentage update implementation will happen only one time
- even if you omit the quiet mode option there will not be much feedback
- you can get more feedback by adding the option --gui-mode which returns percentages but adding a srt to file will happen very quick and not many feedback is provided (only a couple of percentage feedback lines are returned depending on the lenght of your video)
- I am confused by the tproces running loop and the corresponding percentage calculations
that are the all to the tprocess related issues I was able to locate on quick notice.
Other than that a few questions/suggestions:
- Are you aware that it is possible to change the extention of a filename with ChangeFileExt ?
- Are you aware that you can use FindAllFiles to find all files that match a certain pattern (returned in a stringlist) ?
edit:: sorry forgot to add link :
https://wiki.freepascal.org/Executing_External_Programs#Reading_large_output