• Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Reintegrate projectM Visualizer

    Scheduled Pinned Locked Moved
    Development
    6
    91
    7.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jonasJ
      jonas @Gustavo L Conte
      last edited by jonas

      @Gustavo-L-Conte said in Reintegrate projectM Visualizer:

      QX11Application

      Did you clean the build directory, or at least delete CMakeCache.txt before you built with Qt 5, QX11Application is part of Qt 6.2 and newer, it shouldn't be included anywhere with Qt 5.
      Variables in CMake are cached, so it does not help to re-run cmake without deleting the cache first.
      Also, you should use: -DBUILD_WITH_QT5=ON to disable autodetecting Qt version, setting BUILD_WITH_QT6 to OFF won't do that.

      Gustavo L ConteG 1 Reply Last reply Reply Quote 0
      • Gustavo L ConteG
        Gustavo L Conte @jonas
        last edited by Gustavo L Conte

        @jonas yep I tried the same trhink you did, the override in paintGL, but with projectM4 and Qt6, for me only blank screen 😞

        and yes, I realized about the flags too. From certain point I was always doing a make clean, and I was able to successfully build with Qt5,
        with -DHAVE_X11_GLOBALSHORTCUTS=off

        (i think it was that flag) because it issued that error I pointed above; but thats not necessary now I see, if I remove the build dir. 😛 feeling pretty dumb.

        anyway, both ways for me, projectM4 or below, gives me only blank screen. I'm rebuilding right now with all combinations to test everything again 😛

        1 Reply Last reply Reply Quote 0
        • Gustavo L ConteG
          Gustavo L Conte @jonas
          last edited by Gustavo L Conte

          @jonas thanks!!!!! now visualization at least shows for me with Qt5 and projectM 3, as expected!

          Gonna try things I did before but now properly cleaning the builddir LoL

          Screenshot from 2024-06-29 11-09-50.png

          Screenshot from 2024-06-29 11-13-33.png

          1 Reply Last reply Reply Quote 0
          • Gustavo L ConteG
            Gustavo L Conte
            last edited by Gustavo L Conte

            about the v4, I think its some config missing. I'm going to double check after taking a break, all of these: (got from frontend-SDL2)

            projectm_set_preset_duration(projectMWrapper.ProjectM(), _displayDuration);
                        projectm_set_preset_locked(projectMWrapper.ProjectM(), !projectm_get_preset_locked(projectMWrapper.ProjectM()));
                            projectm_set_beat_sensitivity(_projectMWrapper.ProjectM(), beatSensitivity);
                    projectm_set_window_size(_projectMHandle, renderWidth, renderHeight);
                        projectm_set_aspect_correction(_projectMHandle, aspectCorrectionEnabled);
                    projectm_set_window_size(_projectM, canvasWidth, canvasHeight);
                    projectm_set_fps(_projectM, fps);
                    projectm_set_mesh_size(_projectM, _projectMConfigView->getInt("meshX", 48), _projectMConfigView->getInt("meshY", 32));
                    projectm_set_aspect_correction(_projectM, _projectMConfigView->getBool("aspectCorrectionEnabled", true));
                    projectm_set_preset_locked(_projectM, _projectMConfigView->getBool("presetLocked", false));
                    projectm_set_preset_duration(_projectM, _projectMConfigView->getDouble("displayDuration", 30.0));
                    projectm_set_soft_cut_duration(_projectM, _projectMConfigView->getDouble("transitionDuration", 3.0));
                    projectm_set_hard_cut_enabled(_projectM, _projectMConfigView->getBool("hardCutsEnabled", false));
                    projectm_set_hard_cut_duration(_projectM, _projectMConfigView->getDouble("hardCutDuration", 20.0));
                    projectm_set_hard_cut_sensitivity(_projectM, static_cast<float>(_projectMConfigView->getDouble("hardCutSensitivity", 1.0)));
                    projectm_set_beat_sensitivity(_projectM, static_cast<float>(_projectMConfigView->getDouble("beatSensitivity", 1.0)));
                        projectm_set_texture_search_paths(_projectM, texturePathList.data(), texturePaths.size());
                projectm_set_fps(_projectM, static_cast<uint32_t>(std::round(fps)));
                    projectm_set_mesh_size(_projectM, _projectMConfigView->getInt("meshX", 220), _projectMConfigView->getInt("meshY", 125));
                projectm_set_beat_sensitivity(_projectM, projectm_get_beat_sensitivity(_projectM) + value);
                    projectm_set_preset_locked(_projectM, _projectMConfigView->getBool("presetLocked", false));
                    projectm_set_aspect_correction(_projectM, _projectMConfigView->getBool("aspectCorrectionEnabled", true));
                    projectm_set_preset_duration(_projectM, _projectMConfigView->getDouble("displayDuration", 30.0));
                    projectm_set_soft_cut_duration(_projectM, _projectMConfigView->getDouble("transitionDuration", 3.0));
                    projectm_set_aspect_correction(_projectM, _projectMConfigView->getBool("hardCutsEnabled", false));
                    projectm_set_hard_cut_duration(_projectM, _projectMConfigView->getDouble("hardCutDuration", 20.0));
                    projectm_set_hard_cut_sensitivity(_projectM, static_cast<float>(_projectMConfigView->getDouble("hardCutSensitivity", 1.0)));
                    projectm_set_mesh_size(_projectM, _projectMConfigView->getUInt64("meshX", 48), _projectMConfigView->getUInt64("meshY", 32));
            
            jonasJ 1 Reply Last reply Reply Quote 0
            • jonasJ
              jonas @Gustavo L Conte
              last edited by

              @Gustavo-L-Conte

              If I add a call to projectm_playlist_play_next or projectm_playlist_set_position, it crashes on projectm_opengl_render_frame.

              jonasJ 1 Reply Last reply Reply Quote 1
              • jonasJ
                jonas @jonas
                last edited by

                Which makes me think it wasn't trying to render any visualization, because it wasn't set before.

                Gustavo L ConteG 1 Reply Last reply Reply Quote 1
                • Gustavo L ConteG
                  Gustavo L Conte @jonas
                  last edited by

                  @jonas exactly!!! makes total sense!

                  Im testing now Qt6 with lib v3, all presets are pretty good, did not see any bug at all!!!!!

                  Screenshot from 2024-06-29 11-59-19.png

                  PresetFactory] path is r/share//projectM/presets/Waveform/Wire Tangle/Fireball.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Waveform/Wire Tangle/Fireball.milk
                  [PresetFactory] path is r/share//projectM/presets/Dancer/Glowsticks/LuxXx - The Way God Is Rearranged ix.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Dancer/Glowsticks/LuxXx - The Way God Is Rearranged ix.milk
                  [PresetFactory] path is r/share//projectM/presets/Waveform/Spectrum/suksma - ed geining hateops - flx not caring is my favorite downer.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Waveform/Spectrum/suksma - ed geining hateops - flx not caring is my favorite downer.milk
                  [PresetFactory] path is r/share//projectM/presets/Waveform/Wire Flat Double/Geiss - Motion Blur 2 (Reverse Jelly V3).milk
                  [PresetFactory] url is /usr/share//projectM/presets/Waveform/Wire Flat Double/Geiss - Motion Blur 2 (Reverse Jelly V3).milk
                  [PresetFactory] path is r/share//projectM/presets/Waveform/Wire Tangle/Geiss - Cauldron - painterly 3.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Waveform/Wire Tangle/Geiss - Cauldron - painterly 3.milk
                  [PresetFactory] path is r/share//projectM/presets/Dancer/Glowsticks Mirror/261.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Dancer/Glowsticks Mirror/261.milk
                  [PresetFactory] path is r/share//projectM/presets/Geometric/Cathedral/xtramartin (95).milk
                  [PresetFactory] url is /usr/share//projectM/presets/Geometric/Cathedral/xtramartin (95).milk
                  [PresetFactory] path is r/share//projectM/presets/Waveform/Wire Tangle/suksma - i'm the unestimated (ngas) mash geek - eid (-sdi) nz+.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Waveform/Wire Tangle/suksma - i'm the unestimated (ngas) mash geek - eid (-sdi) nz+.milk
                  [PresetFactory] path is r/share//projectM/presets/Waveform/Wire Flower/cellular growth.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Waveform/Wire Flower/cellular growth.milk
                  [PresetFactory] path is r/share//projectM/presets/Fractal/Nested Spiral/Rovastar - Harlequin's Fractal Encounter - the lord's plan of sadness2.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Fractal/Nested Spiral/Rovastar - Harlequin's Fractal Encounter - the lord's plan of sadness2.milk
                  [PresetFactory] path is r/share//projectM/presets/Reaction/Liquid Windy/Isosceles mashup05.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Reaction/Liquid Windy/Isosceles mashup05.milk
                  [PresetFactory] path is r/share//projectM/presets/Fractal/Lattice Mirror/EoS - Phat - randombox - mantra 5 response lullquestent vlasphume love discipline chastity nz+.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Fractal/Lattice Mirror/EoS - Phat - randombox - mantra 5 response lullquestent vlasphume love discipline chastity nz+.milk
                  [PresetFactory] path is r/share//projectM/presets/Dancer/Whirl Mirror/Tripgnosis - Antiphotonic Dual.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Dancer/Whirl Mirror/Tripgnosis - Antiphotonic Dual.milk
                  [PresetFactory] path is r/share//projectM/presets/Drawing/Trails/Including Adam FX 2 flexi + fishbrain -  operation fatcap + Fishbrain and WitchCraft .milk
                  [PresetFactory] url is /usr/share//projectM/presets/Drawing/Trails/Including Adam FX 2 flexi + fishbrain -  operation fatcap + Fishbrain and WitchCraft .milk
                  [PresetFactory] path is r/share//projectM/presets/Fractal/Nested Circle/CantStop AdamFX 2 Stahlregen & Bmelgren + EoS + Geiss + Krash + Rocke + Rovastar - Glowstick Heart (MashUp 7) + Rovastar 3.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Fractal/Nested Circle/CantStop AdamFX 2 Stahlregen & Bmelgren + EoS + Geiss + Krash + Rocke + Rovastar - Glowstick Heart (MashUp 7) + Rovastar 3.milk
                  [PresetFactory] path is r/share//projectM/presets/Reaction/Liquid Ripples/Flexi + geiss - the deep diver's cognitive dissonance [cavity + pataoblivion3].milk
                  [PresetFactory] url is /usr/share//projectM/presets/Reaction/Liquid Ripples/Flexi + geiss - the deep diver's cognitive dissonance [cavity + pataoblivion3].milk
                  [PresetFactory] path is r/share//projectM/presets/Geometric/Stripes/one-stop step-by-step deviance cure 13th step devolution reprisal loss-through-finding inverse paradigm degenerating entropy gain.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Geometric/Stripes/one-stop step-by-step deviance cure 13th step devolution reprisal loss-through-finding inverse paradigm degenerating entropy gain.milk
                  [PresetFactory] path is r/share//projectM/presets/Fractal/Core Mirror/AdamFX 2 Geiss - Mash-Up - Angelic  Staine Glass Chapters 6.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Fractal/Core Mirror/AdamFX 2 Geiss - Mash-Up - Angelic  Staine Glass Chapters 6.milk
                  [PresetFactory] path is r/share//projectM/presets/Waveform/Wire Spirograph/Fumbling_Foo & Flexi, Martin, Orb - Star Forge v14d.milk
                  [PresetFactory] url is /usr/share//projectM/presets/Waveform/Wire Spirograph/Fumbling_Foo & Flexi, Martin, Orb - Star Forge v14d.milk
                  
                  Gustavo L ConteG 1 Reply Last reply Reply Quote 0
                  • Gustavo L ConteG
                    Gustavo L Conte @Gustavo L Conte
                    last edited by

                    oh noessss 😞
                    crashed

                    12:01:36.038 DEBUG CollectionModel:541              Container key for 7013 "Dave Dee, Dozy, Beaky, Mick, Tich - All I Want" was not changed, only updating song metadata.
                    12:01:36.064 DEBUG CollectionModel:627              Song metadata for 7013 "Dave Dee, Dozy, Beaky, Mick, Tich - All I Want" changed
                    free(): invalid pointer
                    Aborted (core dumped)
                    
                    jonasJ 1 Reply Last reply Reply Quote 0
                    • jonasJ
                      jonas @Gustavo L Conte
                      last edited by

                      This is the crash I'm seeing with the latest ProjectM code from git.:

                      [Thread 0x7fffdbe006c0 (LWP 125822) exited]
                      [Thread 0x7fffce0006c0 (LWP 125831) exited]
                      [Thread 0x7fffcd6006c0 (LWP 125832) exited]
                      [Thread 0x7fffccc006c0 (LWP 125833) exited]
                      [Thread 0x7fffc3e006c0 (LWP 125834) exited]
                      [Thread 0x7fffc34006c0 (LWP 125835) exited]
                      [Thread 0x7fffcf4006c0 (LWP 125829) exited]
                      [Thread 0x7fffcea006c0 (LWP 125830) exited]
                      [Thread 0x7fffe74006c0 (LWP 125817) exited]
                      double free or corruption (out)
                      
                      Thread 1 "strawberry" received signal SIGABRT, Aborted.
                      __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
                      44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
                      Missing separate debuginfos, use: zypper install libSvtAv1Enc2-debuginfo-2.1.1-1.1.x86_64 libavcodec58_134-debuginfo-4.4.4-10.1.x86_64 libavutil56_70-debuginfo-4.4.4-10.1.x86_64 libdrm2-debuginfo-2.4.122-1.1.x86_64 libgcc_s1-debuginfo-14.1.1+git10335-1.1.x86_64 libgomp1-debuginfo-14.1.1+git10335-1.1.x86_64 libgpg-error0-debuginfo-1.50-1.1.x86_64 libstdc++6-debuginfo-14.1.1+git10335-1.1.x86_64 libswresample3_9-debuginfo-4.4.4-10.1.x86_64 libvlc5-debuginfo-3.0.21-2.1.x86_64 libvlccore9-debuginfo-3.0.21-2.1.x86_64 libxvidcore4-debuginfo-1.3.7-3.3.x86_64 nvidia-gl-G06-debuginfo-550.90.07-23.1.x86_64
                      (gdb) bt
                      #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
                      #1  0x00007ffff3e94a63 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
                      #2  0x00007ffff3e41176 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
                      #3  0x00007ffff3e28917 in __GI_abort () at abort.c:79
                      #4  0x00007ffff3e297e8 in __libc_message_impl (fmt=fmt@entry=0x7ffff3fb3321 "%s\n") at ../sysdeps/posix/libc_fatal.c:132
                      #5  0x00007ffff3e9f3b7 in malloc_printerr (str=str@entry=0x7ffff3fb6518 "double free or corruption (out)") at malloc.c:5772
                      #6  0x00007ffff3ea1580 in _int_free_merge_chunk (av=av@entry=0x7ffff3fefac0 <main_arena>, p=0x2cc86c0, size=4294967296) at malloc.c:4676
                      #7  0x00007ffff3ea1889 in _int_free (av=0x7ffff3fefac0 <main_arena>, p=<optimized out>, have_lock=<optimized out>, have_lock@entry=0) at malloc.c:4646
                      #8  0x00007ffff3ea4133 in __GI___libc_free (mem=<optimized out>) at malloc.c:3398
                      #9  0x00007fffa97e8cb1 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #10 0x00007fffa95121c6 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #11 0x00007fffa989f944 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #12 0x00007fffa98aec30 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #13 0x00007fffa9538e78 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #14 0x00007fffa95a1ac5 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #15 0x00007fffa9524327 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #16 0x00007fffa9524ff5 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #17 0x00007fffa95250f0 in ??? () at /lib64/libnvidia-glcore.so.550.90.07
                      #18 0x00007ffff476c2ac in libprojectM::Renderer::Framebuffer::RemoveAttachment(int, unsigned int) () at /usr/local/lib64/libprojectM-4.so.4
                      #19 0x00007ffff476b945 in libprojectM::Renderer::Framebuffer::RemoveColorAttachment(int, int) () at /usr/local/lib64/libprojectM-4.so.4
                      #20 0x00007ffff47692ff in libprojectM::Renderer::CopyTexture::Draw(std::shared_ptr<libprojectM::Renderer::Texture> const&, libprojectM::Renderer::Framebuffer&, int, bool, bool) () at /usr/local/lib64/libprojectM-4.so.4
                      #21 0x00007ffff47175f0 in libprojectM::MilkdropPreset::MilkdropPreset::RenderFrame(libprojectM::Audio::FrameAudioData const&, libprojectM::Renderer::RenderContext const&) () at /usr/local/lib64/libprojectM-4.so.4
                      #22 0x00007ffff47d135b in libprojectM::ProjectM::RenderFrame(unsigned int) () at /usr/local/lib64/libprojectM-4.so.4
                      #23 0x00007ffff47d55cf in projectm_opengl_render_frame () at /usr/local/lib64/libprojectM-4.so.4
                      #24 0x0000000000d6e4b2 in ProjectMVisualization::drawBackground(QPainter*, QRectF const&) ()
                      #25 0x00007ffff6b78797 in QGraphicsView::drawBackground (this=<optimized out>, painter=0x7fffffffaf10, rect=...) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:3716
                      #26 0x00007ffff6b7bfea in operator() (__closure=__closure@entry=0x7fffffffaf40) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:3481
                      #27 0x00007ffff6b7f9c1 in QGraphicsView::paintEvent (this=0x355bbb0, event=<optimized out>) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:3570
                      #28 0x00007ffff67f5d22 in QWidget::event (this=this@entry=0x355bbb0, event=event@entry=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qwidget.cpp:9112
                      #29 0x00007ffff688abc6 in QFrame::event (this=this@entry=0x355bbb0, e=e@entry=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/widgets/qframe.cpp:521
                      #30 0x00007ffff6888430 in QAbstractScrollArea::viewportEvent (this=this@entry=0x355bbb0, e=e@entry=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/widgets/qabstractscrollarea.cpp:1064
                      #31 0x00007ffff6b7e885 in QGraphicsView::viewportEvent (this=0x355bbb0, event=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:2936
                      #32 0x00007ffff6888ba7 in QAbstractScrollAreaPrivate::viewportEvent (event=<optimized out>, this=<optimized out>) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/widgets/qabstractscrollarea_p.h:74
                      #33 QAbstractScrollAreaFilter::eventFilter (this=<optimized out>, o=<optimized out>, e=<optimized out>) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/widgets/qabstractscrollarea_p.h:85
                      #34 0x00007ffff53639ce in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x38559d0, event=event@entry=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1293
                      #35 0x00007ffff679a131 in QApplicationPrivate::notify_helper (this=this@entry=0x15863f0, receiver=receiver@entry=0x38559d0, e=e@entry=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:3288
                      #36 0x00007ffff679ff53 in QApplication::notify (this=0x7fffffffcba0, receiver=0x38559d0, e=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:3241
                      #37 0x00007ffff5363e07 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x38559d0, event=event@entry=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
                      #38 0x00007ffff5363f09 in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x38559d0, event=event@entry=0x7fffffffb400) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1612
                      #39 0x00007ffff67eddb1 in QWidgetPrivate::sendPaintEvent (this=this@entry=0x2e8c300, toBePainted=...) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qwidget.cpp:5655
                      #40 0x00007ffff680491d in QWidgetRepaintManager::paintAndFlush (this=this@entry=0x3c840f0) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp:826
                      #41 0x00007ffff68051cb in QWidgetRepaintManager::sync (this=0x3c840f0) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp:659
                      #42 0x00007ffff67ef182 in QWidgetPrivate::syncBackingStore (this=this@entry=0x2f6b560) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qwidget.cpp:1765
                      #43 0x00007ffff67f61d7 in QWidget::event (this=this@entry=0x355bbb0, event=event@entry=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qwidget.cpp:9276
                      #44 0x00007ffff688abc6 in QFrame::event (this=this@entry=0x355bbb0, e=e@entry=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/widgets/qframe.cpp:521
                      #45 0x00007ffff6888a17 in QAbstractScrollArea::event (this=this@entry=0x355bbb0, e=e@entry=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/widgets/qabstractscrollarea.cpp:1011
                      #46 0x00007ffff6b7e6e0 in QGraphicsView::event (this=0x355bbb0, event=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:2807
                      #47 0x00007ffff679a141 in QApplicationPrivate::notify_helper (this=this@entry=0x15863f0, receiver=receiver@entry=0x355bbb0, e=e@entry=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:3294
                      #48 0x00007ffff679ff53 in QApplication::notify (this=0x7fffffffcba0, receiver=0x355bbb0, e=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:3241
                      #49 0x00007ffff5363e07 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x355bbb0, event=event@entry=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
                      #50 0x00007ffff5363eab in QCoreApplication::sendEvent (receiver=receiver@entry=0x355bbb0, event=event@entry=0x7fffe0021d80) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1598
                      #51 0x00007ffff5365098 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x355bbb0, event_type=event_type@entry=77, data=0x15c3100) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1954
                      #52 0x00007ffff53652a6 in QCoreApplication::sendPostedEvents (receiver=0x355bbb0, event_type=event_type@entry=77) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1786
                      #53 0x00007ffff6b5479e in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=0x2f6b560) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsview_p.h:160
                      #54 0x00007ffff6b47989 in QGraphicsScenePrivate::_q_emitUpdated (this=<optimized out>) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsview.h:241
                      #55 0x00007ffff6b4cded in QGraphicsScene::qt_static_metacall (_o=0x381fda0, _c=<optimized out>, _id=13, _a=0x3f672a8) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsscene.h:244
                      #56 0x00007ffff53a89f8 in QMetaCallEvent::placeMetaCall (this=0x3f67260, object=0x381fda0) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qobject.cpp:622
                      #57 0x00007ffff53ac19d in QObject::event (this=this@entry=0x381fda0, e=e@entry=0x3f67260) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qobject.cpp:1419
                      #58 0x00007ffff6b54381 in QGraphicsScene::event (this=0x381fda0, event=0x3f67260) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp:3438
                      #59 0x00007ffff679a141 in QApplicationPrivate::notify_helper (this=this@entry=0x15863f0, receiver=receiver@entry=0x381fda0, e=e@entry=0x3f67260) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:3294
                      #60 0x00007ffff67a18a5 in QApplication::notify (this=0x7fffffffcba0, receiver=0x381fda0, e=0x3f67260) at /home/jonas/Projects/Qt/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:3245
                      #61 0x00007ffff5363e07 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x381fda0, event=event@entry=0x3f67260) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
                      #62 0x00007ffff5363eab in QCoreApplication::sendEvent (receiver=receiver@entry=0x381fda0, event=event@entry=0x3f67260) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1598
                      #63 0x00007ffff5365098 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x15c3100) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1954
                      #64 0x00007ffff53652a6 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1786
                      #65 0x00007ffff55e8ef2 in postEventSourceDispatch (s=0x16339a0) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:245
                      #66 0x00007ffff497f740 in g_main_dispatch (context=0x15d59f0) at ../glib/gmain.c:3344
                      --Type <RET> for more, q to quit, c to continue without paging--
                      #67 g_main_context_dispatch_unlocked (context=context@entry=0x15d59f0) at ../glib/gmain.c:4152
                      #68 0x00007ffff4981388 in g_main_context_iterate_unlocked (context=context@entry=0x15d59f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
                      #69 0x00007ffff4981a3c in g_main_context_iteration (context=0x15d59f0, may_block=1) at ../glib/gmain.c:4282
                      #70 0x00007ffff55e86f1 in QEventDispatcherGlib::processEvents (this=0x1630020, flags=...) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:395
                      #71 0x00007fffef986a84 in QXcbGlibEventDispatcher::processEvents (this=<optimized out>, flags=...) at /home/jonas/Projects/Qt/qtbase/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:96
                      #72 0x00007ffff536e2e8 in QEventLoop::processEvents (this=this@entry=0x7fffffffc430, flags=flags@entry=...) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/kernel/qeventloop.cpp:100
                      #73 0x00007ffff536eb2f in QEventLoop::exec (this=this@entry=0x7fffffffc430, flags=flags@entry=...) at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/global/qflags.h:34
                      #74 0x00007ffff5367691 in QCoreApplication::exec () at /home/jonas/Projects/Qt/qtbase/qtbase/src/corelib/global/qflags.h:74
                      #75 0x00000000004b4926 in main ()
                      (gdb)
                      
                      Gustavo L ConteG 1 Reply Last reply Reply Quote 0
                      • Gustavo L ConteG
                        Gustavo L Conte @jonas
                        last edited by

                        I just saw the visualisations2 branch, gonna take a look!!! 😄

                        @jonas for libprojectM v4, in ConsumeBuffer, I removed the static cast to short on samples_per_channel and stops segfaulting...

                        #ifdef HAVE_PROJECTM4
                          if (projectm_instance_) {
                            const unsigned int samples_per_channel = (map.size) / sizeof(short) / 2;
                            const short *data = reinterpret_cast<short*>(map.data);
                            projectm_pcm_add_int16(projectm_instance_, data, samples_per_channel, PROJECTM_STEREO);
                          }
                        
                        Gustavo L ConteG 1 Reply Last reply Reply Quote 0
                        • Gustavo L ConteG
                          Gustavo L Conte @Gustavo L Conte
                          last edited by

                          @Gustavo-L-Conte said in Reintegrate projectM Visualizer:

                          I just saw the visualisations2 branch, gonna take a look!!! 😄

                          @jonas for libprojectM v4, in ConsumeBuffer, I removed the static cast to short on samples_per_channel and stops segfaulting...

                          nice nice this visualization2 branch.... its cool to see we had the same ideas and its even better to see then implemented the right way LoL

                          Okey, compiled, and after removing static_cast<short> on (map.size) I could play a song without crashing... black screen and no overlay, but the selector menu works.
                          One of the things I did to test yesterday was to succesfully render an animated triangle inside the drawBackground, proving that OpenGL context is working.
                          I really think Its something with the preset loading like you said, I really think so. Yesterday, after debugging a LOT, including sending random data in ConsumeBuffer, with not a single pixel plot by render_frame, everything indicates that there is a gap between the PCM send and the render_frame; I believe your hypothesis of no preset loaded is the right track here. Even more true since the logo M does not even load.

                          jonasJ 1 Reply Last reply Reply Quote 0
                          • jonasJ
                            jonas @Gustavo L Conte
                            last edited by

                            @Gustavo-L-Conte
                            The crash I'm getting isn't related to projectm_pcm_add_int16, it's happens when calling projectm_opengl_render_frame, I suspect it's NVIDIA related. Problem is that all my computers have nvidia graphics.

                            jonasJ 1 Reply Last reply Reply Quote 1
                            • jonasJ
                              jonas @jonas
                              last edited by jonas

                              I suspect the reason why QGraphicsView and QGraphicsScene was used is because of some additional things like the play buttons overlay, using a QMainWindow with a QOpenGLWidget directly didn't change much for me, other than the play buttons no longer working. It was just an attempt to see if it would solve any issue.

                              jonasJ 1 Reply Last reply Reply Quote 1
                              • jonasJ
                                jonas @jonas
                                last edited by

                                ProjectMPresetModel should probably use projectm directly to present the presets, not hold it's own data. I'll work on that.

                                Gustavo L ConteG 2 Replies Last reply Reply Quote 1
                                • Gustavo L ConteG
                                  Gustavo L Conte @jonas
                                  last edited by Gustavo L Conte

                                  @jonas lol sry for bothering about that again, but:

                                  Instead of removing the typecast I'm now casting to unsigned short, it works too

                                  const unsigned int samples_per_channel = static_cast<unsigned short>(map.size) / sizeof(int16_t) / 2;
                                  

                                  Thats the only segfault I get. yep, Maybe yours is NVIDIA related, because I have INTEL onboard graphics
                                  Is there a way for you to activate software rendering and bypass the GPU, just to test?

                                  export QT_QUICK_BACKEND=software
                                  
                                  export LIBGL_ALWAYS_SOFTWARE=1
                                  
                                  jonasJ 1 Reply Last reply Reply Quote 0
                                  • Gustavo L ConteG
                                    Gustavo L Conte @jonas
                                    last edited by

                                    @jonas When i do this:

                                    int current_preset_ = projectm_playlist_get_position(projectm_playlist_instance_);
                                    qLog(Debug) << "Rendering frame for preset: " << current_preset_;
                                    projectm_set_window_size(projectm_instance_, static_cast<size_t>(width * pixel_ratio_), static_cast<size_t>(height * pixel_ratio_));
                                    projectm_opengl_render_frame(projectm_instance_);
                                    

                                    and then set lets say, 5 seconds interval, selecting all presets

                                    it DOES increment the index printed 😞

                                    16:22:06.329 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.346 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.362 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.380 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.396 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.413 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.429 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.446 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.463 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.480 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.496 DEBUG ProjectMVisualization:205        Rendering frame for preset:  4
                                    16:22:06.513 DEBUG ProjectMVisualization:205        Rendering frame for preset:  5
                                    16:22:06.530 DEBUG ProjectMVisualization:205        Rendering frame for preset:  5
                                    16:22:06.546 DEBUG ProjectMVisualization:205        Rendering frame for preset:  5
                                    16:22:06.563 DEBUG ProjectMVisualization:205        Rendering frame for preset:  5
                                    16:22:06.580 DEBUG ProjectMVisualization:205        Rendering frame for preset:  5
                                    16:22:06.596 DEBUG ProjectMVisualization:205        Rendering frame for preset:  5
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • jonasJ
                                      jonas @Gustavo L Conte
                                      last edited by

                                      @Gustavo-L-Conte said in Reintegrate projectM Visualizer:

                                      export QT_QUICK_BACKEND=software
                                      
                                      export LIBGL_ALWAYS_SOFTWARE=1
                                      

                                      Setting these variables didn't do anything, but I've managed to make it crash less often by reinstalling the nvidia driver.

                                      If you pull the latest changes from the visualisations branch I've fixed loading saved presets, the IndexOfPreset function was also broken with projectM 4.

                                      Gustavo L ConteG 2 Replies Last reply Reply Quote 1
                                      • Gustavo L ConteG
                                        Gustavo L Conte @jonas
                                        last edited by Gustavo L Conte

                                        @jonas said in Reintegrate projectM Visualizer:

                                        LIBGL_ALWAYS_SOFTWARE

                                        just finishing building 😄

                                        these are MEsa variables:

                                        https://docs.mesa3d.org/envvars.html

                                        1 Reply Last reply Reply Quote 0
                                        • Gustavo L ConteG
                                          Gustavo L Conte @jonas
                                          last edited by Gustavo L Conte

                                          @jonas I did not notice any difference running the app... except now it honours the selected presets. ( I think it "forgets" in previous versions, never understood what was going on)

                                          Still no output, but here's a thing I saw:

                                          [Visualizations]
                                          duration=30
                                          geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0%\0\0\x6P\0\0\x3\x39\0\0\0\0\0\0\0%\0\0\x6P\0\0\x3\x39\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0%\0\0\x6P\0\0\x3\x39)
                                          mode=1
                                          preset_paths=/usr/share//projectM/presets/Aderrasi - Agitator.milk, /usr/share//projectM/presets/Aderrasi - Aimless (Gravity Directive Mix).milk, /usr/share//projectM/presets/Aderrasi - Aimless (Spirogravity Mix).milk, /usr/share//projectM/presets/Aderrasi - Airhandler (Menagerie Mix).milk, /usr/share//projectM/presets/Aderrasi - Airs (Windy Mix).milk, /usr/share//projectM/presets/Aderrasi - Airs.milk, /usr/share//projectM/presets/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk, /usr/share//projectM/presets/Aderrasi - Anchorpulse (Verified Mix).milk, /usr/share//projectM/presets/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk, /usr/share//projectM/presets/Aderrasi - Antidote (Aqualung Mix).milk,
                                          

                                          This is my config file, is it supposed to be missing double quotes in the filenames?

                                          jonasJ 1 Reply Last reply Reply Quote 0
                                          • jonasJ
                                            jonas @Gustavo L Conte
                                            last edited by

                                            QOpenGLFunctions::glGetError() returns GL_INVALID_ENUM (0x0501)

                                            Gustavo L ConteG 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Powered by NodeBB | Contributors