Skip to content

Conversation

@Zorgodon
Copy link

@Zorgodon Zorgodon commented Oct 1, 2022

The frame number returned by frames = w.getnframes() / (w.getframerate()/75) is a float ending in .0, but the code only proceeds if it is an int. Presumably older versions of python didn't see a difference between 1.0 and 1, so the incorrect test went unnoticed.
In modern python versions, the elif is false and so we skip to the else and set the length as 00:00:00 for all tracks, leading to the "Track time calculation resulted in a negative value" error.

We could turn the float into an int, but I think this is just a waste of CPU cycles as divmod happily handles the float and returns the same TOC as the py2 version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant