macOS performance

arh sorry, it’s ossia-score on linux but score on mac indeed. Could you paste the error about the Library it does ?

Ah ok.
The std output is pasted 4 posts earlier.
This is the library it does not find, if I understand correctly.

Edit: All the libraries seem to end up in build/plugins.
otool -L score gives me this:

build % otool -L score
score:
        @rpath/libscore_lib_base.dylib (compatibility version 0.0.0, current version 0.0.0)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1853.0.0)
        /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1853.0.0)
        /usr/local/opt/fftw/lib/libfftw3_threads.3.dylib (compatibility version 10.0.0, current version 10.10.0)
        @rpath/libossia.dylib (compatibility version 0.0.0, current version 0.0.0)
        /usr/local/opt/qt@5/lib/QtQml.framework/Versions/5/QtQml (compatibility version 5.15.0, current version 5.15.3)
        /usr/local/opt/qt@5/lib/QtWebSockets.framework/Versions/5/QtWebSockets (compatibility version 5.15.0, current version 5.15.3)
        /usr/local/opt/qt@5/lib/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.15.0, current version 5.15.3)
        /usr/local/opt/qt@5/lib/QtSerialPort.framework/Versions/5/QtSerialPort (compatibility version 5.15.0, current version 5.15.3)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)
        /usr/local/opt/portaudio/lib/libportaudio.2.dylib (compatibility version 3.0.0, current version 3.0.0)
        /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib (compatibility version 23.0.0, current version 23.0.0)
        /usr/local/opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.15.0, current version 5.15.3)
        /usr/local/opt/qt@5/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.15.0, current version 5.15.3)
        /usr/local/opt/qt@5/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.15.0, current version 5.15.3)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1200.3.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

hmm, this is weird, cmake should add the “build/plugins” folder to the rpath. Doing a clean build on my mac to check now that I’m home…

1 Like

Okay, it seems that KFR does not set the correct rpath - will fix this in the build but in the meantime:

$ cp ./3rdparty/libossia/src/kfr_build/libkfr_dft.dylib .
$ ./score

^ it runs.

but this makes me remember why I originally put qt and not qt5 in the brew build: the qt5 package on homebrew does not have qtshadertools (afaik) which is the module that is used for the graphics rendering side of things. -_-

I don’t know what’s easier for you: remove qt5 and build against qt6 or use our own Qt 5 build (which has all the necessary features enabled: Release sdk25 · ossia/sdk · GitHub )

It has to be put in /opt/ossia-sdk-x86_64/ (will give you folders such as /opt/ossia-sdk-x86_64/ffmpeg, etc ) and then the build has to be run with -DOSSIA_SDK=/opt/ossia-sdk-x86_64 ; sorry for the many builds :frowning:

1 Like

Thanks for looking into this. I will try my luck tomorrow.

Really happy
I have built against qt6 this morning by setting the default qt version to qt6 6.2 in the CMakeLists.txt
Then I recreated and built the project. When it was done, I copied the libkfr_dft.dylib and I got a little bit further this time.
I got this far:

I have libsuil installed, but what I saw in main.cpp is that is only linked for linux? Or do I get this wrong?

Thanks again for all your patience so far, I am learning a lot here.

Edit: I also tried to build against the sdk. It fails, presumably because I do not have the macOS 12 sdk.

This is the full stdout if I try to run score built against qt6

build % ./score 
qt.qml.typeregistration: Invalid QML element name "Type"; value type names should begin with a lowercase letter
qt.qml.typeregistration: Invalid QML element name "Access"; value type names should begin with a lowercase letter
qt.qml.typeregistration: Invalid QML element name "Bounding"; value type names should begin with a lowercase letter
qt.qml.typeregistration: Invalid QML element name "Repetitions"; value type names should begin with a lowercase letter
qt.qml.typeregistration: Invalid QML element name "Duration"; value type names should begin with a lowercase letter
Warning: plugin "/Users/account1/Documents/Development/ossia/score/build/plugins/libscore_lib_base.dylib" is not a correct score plugin.
Warning: plugin "/Users/account1/Documents/Development/ossia/score/build/plugins/libscore_lib_device.dylib" is not a correct score plugin.
Warning: plugin "/Users/account1/Documents/Development/ossia/score/build/plugins/libscore_lib_inspector.dylib" is not a correct score plugin.
Warning: plugin "/Users/account1/Documents/Development/ossia/score/build/plugins/libscore_lib_localtree.dylib" is not a correct score plugin.
Warning: plugin "/Users/account1/Documents/Development/ossia/score/build/plugins/libscore_lib_state.dylib" is not a correct score plugin.
pd 0.52.2
bonk version 1.5
fiddle version 1.1 TEST4
pd~ version 0.54
pique 0.1 for PD version 23
sigmund~ version 0.07
qt.qpa.fonts: Populating font family aliases took 463 ms. Replace uses of missing font family "Ubuntu" with one that exists to avoid this cost. 
zsh: segmentation fault  ./score

I do also get a crashlog, would it help if I send it by email?

I just tried 3.0.9, whatever you did, video works better now :+1:

Hi !
Yes a crashlog would be great.

Very interesting that it works better in 3.0.9 - there have been some changes in the video pipeline but nothing that should affect performance… puzzling !

1 Like