A few pointers.
- remove all the thread related code, seriously
#works fine without the thread code. Been running for years.
- the way you add parameters to tprocess seems very wrong to me (I could not get that to work).
#ok, but it works for me. There is probably no reason to break it down into sections, but its easier for me to read.
- why do you pass along 4 filenames to mkvmerge ? (should be one for result/output, one for original movie, one for subtitle)
# there are only 3 filenames, the tmpfile (output) and 2 input (mkv and srt).
- 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
# I use the v (verbose) instead of quiet when testing. it takes several minutes to run
- even if you omit the quiet mode option there will not be much feedback
# very true. But it does open a window that signifies that its running the process, and I can close it to end it early.
- 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)
#thanks. will add this when debugging.
- I am confused by the tproces running loop and the corresponding percentage calculations
#sorry, I am not surprised. It is a hack based on the size of the file divided by the number of sleeps that occurred in one test.
#not too concerned about this, I can make it better later
One variation of my program does work in a thread, but the current one fails on mythread.start. The only difference is the stringgrid section, I pass a static parameter instead.
I intend to use the clues given about on the working program so I can get something acceptable going, so help may be a bit easier.
Attached the error I get.