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

Scrolling waveform using SceneGraph in QML #13470

Draft
wants to merge 70 commits into
base: main
Choose a base branch
from

Conversation

acolombier
Copy link
Member

@acolombier acolombier commented Jul 14, 2024

This PR is a rebase of @m0dB's qml_scrolling_waveform on the latest main

The waveform rendering approach should provided better result in the long run and should integrate with the new allshader approach.

Currently, the waveform rendering logic which happen in QmlWaveformDisplay::updatePaintNode is duplicated (or rather strongly inspired) from the RGB allshader rendering. A "definition of ready" for this PR would be to have some kind of compatibility layer/integration to reuse the rendering logic define in allshader and should support at least one waveform type logic (e.g RGB)

Depends on #13599

@acolombier acolombier changed the title scrolling qml waveformdisplay working Scrolling waveform using SceneGraph in QML Jul 14, 2024
Copy link

This PR is marked as stale because it has been open 90 days with no activity.

@github-actions github-actions bot added stale Stale issues that haven't been updated for a long time. and removed stale Stale issues that haven't been updated for a long time. labels Oct 13, 2024
@acolombier
Copy link
Member Author

Note that this is still being actively worked on with @m0dB and myself!

m0dB and others added 21 commits October 19, 2024 04:17
…and material for mixxx and rendergraph examples
@acolombier acolombier force-pushed the feat/qml-scrolling-waveform-with-sg branch 2 times, most recently from d16b1dc to 23f331f Compare October 22, 2024 22:49
@acolombier acolombier force-pushed the feat/qml-scrolling-waveform-with-sg branch 2 times, most recently from fe570b1 to 3d9deed Compare November 9, 2024 20:50
@acolombier acolombier force-pushed the feat/qml-scrolling-waveform-with-sg branch 4 times, most recently from 317256a to 8c71da3 Compare November 23, 2024 01:14
@Holzhaus
Copy link
Member

I see this when trying to build it:

CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


endoftrack.frag -> endoftrack.frag.qsb exposed as :/shaders/rendergraph/endoftrack.frag.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


endoftrack.vert -> endoftrack.vert.qsb exposed as :/shaders/rendergraph/endoftrack.vert.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


pattern.frag -> pattern.frag.qsb exposed as :/shaders/rendergraph/pattern.frag.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


pattern.vert -> pattern.vert.qsb exposed as :/shaders/rendergraph/pattern.vert.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


rgb.frag -> rgb.frag.qsb exposed as :/shaders/rendergraph/rgb.frag.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


rgb.vert -> rgb.vert.qsb exposed as :/shaders/rendergraph/rgb.vert.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


rgba.frag -> rgba.frag.qsb exposed as :/shaders/rendergraph/rgba.frag.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


rgba.vert -> rgba.vert.qsb exposed as :/shaders/rendergraph/rgba.vert.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


texture.frag -> texture.frag.qsb exposed as :/shaders/rendergraph/texture.frag.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


texture.vert -> texture.vert.qsb exposed as :/shaders/rendergraph/texture.vert.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


unicolor.frag -> unicolor.frag.qsb exposed as :/shaders/rendergraph/unicolor.frag.qsb
CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2138 (get_target_property):
  get_target_property() called with non-existent target "rendergraph_sg".
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:103 (_qt_internal_expose_source_file_to_ide)
  /usr/lib/cmake/Qt6ShaderToolsTools/Qt6ShaderToolsMacros.cmake:354 (_qt_internal_add_shaders_impl)
  res/shaders/rendergraph/CMakeLists.txt:16 (qt6_add_shaders)


unicolor.vert -> unicolor.vert.qsb exposed as :/shaders/rendergraph/unicolor.vert.qsb
endoftrack.frag -> endoftrack.frag.qsb exposed as :/shaders/rendergraph/endoftrack.frag.qsb
endoftrack.vert -> endoftrack.vert.qsb exposed as :/shaders/rendergraph/endoftrack.vert.qsb
pattern.frag -> pattern.frag.qsb exposed as :/shaders/rendergraph/pattern.frag.qsb
pattern.vert -> pattern.vert.qsb exposed as :/shaders/rendergraph/pattern.vert.qsb
rgb.frag -> rgb.frag.qsb exposed as :/shaders/rendergraph/rgb.frag.qsb
rgb.vert -> rgb.vert.qsb exposed as :/shaders/rendergraph/rgb.vert.qsb
rgba.frag -> rgba.frag.qsb exposed as :/shaders/rendergraph/rgba.frag.qsb
rgba.vert -> rgba.vert.qsb exposed as :/shaders/rendergraph/rgba.vert.qsb
texture.frag -> texture.frag.qsb exposed as :/shaders/rendergraph/texture.frag.qsb
texture.vert -> texture.vert.qsb exposed as :/shaders/rendergraph/texture.vert.qsb
unicolor.frag -> unicolor.frag.qsb exposed as :/shaders/rendergraph/unicolor.frag.qsb
unicolor.vert -> unicolor.vert.qsb exposed as :/shaders/rendergraph/unicolor.vert.qsb
-- Adding gl shaders to rendergraph_gl
-- Configuring incomplete, errors occurred!
make: *** [Makefile:25705: cmake_check_build_system] Error 1

@acolombier acolombier force-pushed the feat/qml-scrolling-waveform-with-sg branch from 8c71da3 to a59fe88 Compare December 1, 2024 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants