Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code and UI cleanups + new "noise seed" feature #94

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

valadaptive
Copy link

@valadaptive valadaptive commented Aug 19, 2023

  • 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 valadaptive force-pushed the cleanups branch 2 times, most recently from 1ca0e4c to 09081fd Compare August 19, 2023 13:40
This makes it clearer that these controls don't do anything if "VHS
emulating" is unchecked.
@rgm89git
Copy link
Contributor

rgm89git commented Oct 8, 2023

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.

@valadaptive
Copy link
Author

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

@rgm89git
Copy link
Contributor

rgm89git commented Oct 8, 2023

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 added a commit to rgm89git/ntscQTplus that referenced this pull request Oct 8, 2023
… overall code cleanups

This commit changes the overall code and UI. Most of the changes based on the pull request
on the original ntscQT by valadaptive. This includes:

- New feature: Noise seed (which allows you to set a seed for all video effects)
- New feature: VHS recording speed switch (SP, LP and EP)
- A better UI, overall
- Code cleanups

You can find more about these changes on his original pull request:
JargeZ/ntscqt#94

Other change, this time outside of the pull, is the logo which is now in
the topleft corner of the UI.

- Logo on topleft UI

Thanks to valadaptive for the changes.
@marine025
Copy link

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

@valadaptive
Copy link
Author

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.

@marine025
Copy link

how can i download the new version?

@marine025
Copy link

tried it and its even more slow

@marine025
Copy link

i will try again your new version

@marine025
Copy link

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

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.

3 participants