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

Qt6 #1398

Merged
merged 172 commits into from Mar 15, 2023
Merged

Qt6 #1398

merged 172 commits into from Mar 15, 2023

Conversation

ddennedy
Copy link
Member

@ddennedy ddennedy commented Jan 14, 2023

Making this a pull request to make it easier to view diff on the web and track issues outside GitHub Issues system:

  • WebP via Qt (qwebp.dll) is not working on Windows.
  • Settings > Display Method > DirectX not working and no longer supported. Really, this sub-menu should be removed with migrations to Direct3D on Windows and Metal on Mac since that is the overall direction of Qt 6. That is a big project because GLWidget uses OpenGL to draw the video under the QuickWidget. This needs to be refactored into a base class with sub-classes with different tech implementations along with porting the shader code. The SPIRV-Cross toolkit can facilitate that, but first the existing GLSL shaders need to be converted into Vulkan GLSL: https://vulkan-tutorial.com/. That also makes it compatible with Vulkan, which is a good option to have on Linux. But it is not clear if the Linux version should be Vulkan only - uncertain about the state of it on older Linux systems. See also Qt's Shader Tools for this.
  • macOS has something weird going on with the Filters panel. It shows wrong colors in Fusion theme.
  • on macOS some Quick dialogs appear on a new, separate window titled "Offscreen."
  • Glaxnimate/Linux's python not working.
  • Time Remap UI is blank on macOS.
  • On Windows seeing the video colors flicker to incorrect values during playback. These anomalies are not observed in the vector scope.
  • On Windows as was macOS, the colors in the Filters panel is weird. This happens when the chosen Shotcut color theme does not match with the OS color them dark or light. For example, you might have a light OS color theme and the default Shotcut theme Fusion Dark resulting in something like this:
    image
    Qt Quick Controls 6 is not honoring the custom app palette, and I tried various things to get it to work. What I did for macOS was to remove Themes from Settings and make it automatic light or dark Fusion based on the OS color. However, now the Shotcut color will change on many people, and they will complain.
  • On Windows, there are no native font and color dialogs from QML. The docs say:

A native platform font dialog is currently available on the following platforms:

  • macOS
  • Linux (when running with the GTK+ platform theme)

So, it will affect some Linux desktops notably KDE and LXQt. That is weak. Instead a Quick implementation appears. Here is how it looks:
image
image

  • QML MessageBox is not a native dialog on any desktop OS and needs to be changed to Window with flags: Qt.Dialog or add custom QMessageDialog-backed.
  • If Filters panel is floated, after restart it fails to show the QML.
  • There is a version compatibility problem on Linux. Older versions of Linux (Ubuntu 18.04) do not have a recent enough libstdc++. This is due to needing to install a much new version of gcc (10) on the ubuntu18.04 builder in order to compile Qt6 and Glaxnimate's modern C++.

Caveats

  • Using Qt-provided Qt binaries raises the minimum OS requirement to Ubuntu 20.04/glibc 2.31. The Qt build system is different for v6 being based on CMake and more modular. Well, I guess we can try: see their configuration docs.
  • The minimum Windows version is now Windows 10. I do not yet know if that is a hard minimum or a "support" thing.
  • Qt/Windows no longer provides the Windows Extras modules; so we lose the ability to show export progress on the taskbar icon.

ddennedy and others added 21 commits March 2, 2023 20:42
This prevents turning on GPU effects in new versions from turning it on
in old versions.
* Add new speed filters

Forward, Forward/Reverse and Slow.

Add a metadata parameter for filters that will seek backwards to
prompt for conversion if required. Currently only
 * Speed (Forward/Reverse)
 * Time Remap

* Resolve speed review comments

* Add minimumVersion
* Remove slow motion filter
* Improve naming
This is just temporary. I think the full solution is transport sync from
Glaxnimate to Shotcut and using the displayed frame from VideoWidget ala
the video scopes. Then, one can hide tracks temporarily if needed.
This is reproduced by toggling mute while it is recording (whether to
listen to the clip with headphones or to record what Shotcut is
playing). After stopping recording, the sound can be silent and toggling
mute does not fix it!
@ddennedy ddennedy merged commit a6d6fe4 into master Mar 15, 2023
1 check passed
@ddennedy ddennedy deleted the qt6 branch March 15, 2023 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants