Forum Replies Created

  • Marcus Rosentrater

    September 16, 2016 at 1:05 am in reply to: Menu motion stops after first loop

    I had the same issue. DVD menu would get to the end of a loop and then it would just die. Black screen or it would play something at random.

    I removed all override commands and it all was resolved.

  • I’m just here to post my solution for someone else’s benefit.

    The problem I was having is described by Fransisco:

    The error message pointed at a certain timecode, so go check on the subtitle on the corresponding timecode and there should be some block that sticks to next block. Just separate those blocks (even by 1 frame will fix it). The problem is if you have multiple errors like this, the next time u try to build the DVD it’ll show a similar error with a different timecode, so again u’ll have to go and separate the 2 subtitle block.

    After getting frustrated spending 3-4 hours fixing each block and only getting about 30 minutes of an 80 min feature, I decided to fall back on my programming experience.

    I wrote a script that would create a new subtitle .txt file, based off the original, but with altered timecode so that between each line of subtitle is 1 frame gap.

    The code completed, new subtitle file imported, and in that nail biting build… finished without any errors.

    I wrote the code in Ruby because I was most familiar with it. You’ll have to look up how to run the code, either inside of some coding software, or as an executable on your machine. I was able to cheat and run it in my text editor (TextMate). Mac or Linux users could turn it into an executable (adding “#!/usr/bin/env ruby” as the first line) and running it through Terminal. I have no idea how to do things on Windows. I’m sorry!

    Link to code on github.

    Here is the code:
    new_file_path = "path/to/subtitle_fixed_file.txt"
    File.truncate(new_file_path, 0)
    new_file = File.open(new_file_path, "w")
    file = File.open("path/to/subtitle_file.txt", "r").readlines.each do |line|

    reg = /;(\d{2}) \d{2};/
    match = line.match(reg)

    if match.class == MatchData
    m = match[1]
    frame_number = m.to_i
    if frame_number < 23
    frame_number += 1
    end

    new_frame = frame_number.to_s.rjust(2, "0")
    new_line = line.gsub(/(;)(#{m})(\s\d{2})/, "\\1#{new_frame}\\3")

    else
    new_line = line
    end

    new_file.puts new_line

    end

    new_file.close

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy