ntscqt icon indicating copy to clipboard operation
ntscqt copied to clipboard

Code and UI cleanups + new "noise seed" feature

Open valadaptive opened this issue 2 years ago • 9 comments

  • Clean up the ntsc.py code
    • This includes various typing fixes, cleanup of imports, and removal of unused code like XorWowRandom.
    • The LowpassFilter class and lowpassFilters function have been replaced with a single lowpassFilter function. As far as I can tell, the lowpassFilters function just created the same lowpass filter 3 times.
  • UI cleanups and improvements
    • Some UI elements have been moved to the sections they're logically related to. Namely, the "Pro mode" checkbox has been moved above the controls section, since it enables more controls; and the "Live preview" checkbox has been moved down onto the row of render settings.
    • The slider settings on the left are now connected to SpinBoxes. It looks like someone attempted to implement this before, but DoubleSlider was returning the wrong value. That's been fixed, so now we can use SpinBoxes!
    • The slider settings are now laid out in a QFormLayout, which makes things much tidier. In addition, they now scroll if there are too many on screen at once.
    • The "Color bleed before" checkbox has been moved so it no longer overlaps with the "Cut 2% black line" checkbox.
    • The random-preset seed generator thing now requires you to press a button to override your current settings.
    • The file picker now filters by only the files that the program actually supports. There's an "All files" option still, if for any reason the user wants to view all the files in the picker (e.g. to see if the file they wanted to load is in the right place, but is just not supported).
    • The "VHS emulating" checkbox is now grouped up with all of the options it enables. This makes it clearer which options have no effect when "VHS emulating" is disabled.
  • I've added a new "noise seed" setting, which allows you to set a seed for all video effects that use random number generation (e.g. video noise, edge wave). This means that a given frame should always render identically given the same input settings.
  • I've implemented the "VHS speed" control, so users can now edit the setting themselves.
  • A couple bugfixes:
    • "Cut 2% black line" used to overwrite the input image, meaning it couldn't be removed. That's now fixed.
    • The VHS head switching effect now depends only on the frame number, meaning it should render more consistently.

valadaptive avatar Aug 19 '23 01:08 valadaptive

Oh hi, i'm the creator of the ntscQT fork, ntscQT+.

I did look at this commit, and this is a really great commit, optimizing the code. Do you think i should push into the fork? Because the fork was made on a separate repo, for some reasons.

And good luck for this commit to come to the original ntscQT.

rgm89git avatar Oct 08 '23 13:10 rgm89git

Yeah, although you might need to clean up some merge conflicts depending on how much your fork diverges from the original.

valadaptive avatar Oct 08 '23 14:10 valadaptive

Yeah, although you might need to clean up some merge conflicts depending on how much your fork diverges from the original.

Yeah, i know. I'm changing the code to adapt for the fork, but i will add the credits for you. Also, your UI looks great and well organized.

rgm89git avatar Oct 08 '23 15:10 rgm89git

what is it' a new version? how can i download/update it? i need more speed

marine025 avatar Dec 03 '23 19:12 marine025

I'm not sure if it's any faster. I made my own version of this, ntsc-rs, which should be a lot faster if that's what you need.

valadaptive avatar Dec 03 '23 19:12 valadaptive

how can i download the new version?

marine025 avatar Dec 04 '23 14:12 marine025

tried it and its even more slow

marine025 avatar Dec 13 '23 18:12 marine025

i will try again your new version

marine025 avatar Aug 03 '24 19:08 marine025

oh my god that was what i needed !!!!!!! thaaaaaaaaaanks Captura de pantalla (215)

marine025 avatar Aug 04 '24 23:08 marine025