muse-sequencer / muse

MusE is a digital audio workstation with support for both Audio and MIDI
https://muse-sequencer.github.io/
Other
644 stars 69 forks source link

rtaudio 6 compatibility #1233

Closed dvzrv closed 1 year ago

dvzrv commented 1 year ago

Describe the bug Hi! I'm currently attempting a rebuild of muse against rtaudio 6 for Arch Linux. Unfortunately there seem to be compatibility issues.

To Reproduce

Build muse (see PKGBUILD):

[ 67%] Building CXX object synti/simpledrums2/CMakeFiles/simpledrums.dir/simpledrums.cpp.o
cd /build/muse/src/build/synti/simpledrums2 && /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -Dsimpledrums_EXPORTS -I/build/muse/src/build/synti/simpledrums2 -I/build/muse/src/muse-4.1.0/src/synti/simpledrums2 -I/build/muse/src/muse-4.1.0/src/. -I/bui
ld/muse/src/muse-4.1.0/src -I/build/muse/src/muse-4.1.0/src/libs/evdata -I/build/muse/src/muse-4.1.0/src/libs/memory -I/build/muse/src/muse-4.1.0/src/libs/midi_controller -I/build/muse/src/muse-4.1.0/src/libs/midnam -I/build/muse/src/muse-4.1.0/src/libs/mpevent -I/build/muse/src/muse-4.1.0/src/libs/plugin -I/build/mus
e/src/muse-4.1.0/src/libs/string -I/build/muse/src/muse-4.1.0/src/libs/sysex_helper -I/build/muse/src/muse-4.1.0/src/libs/time_stretch -I/build/muse/src/muse-4.1.0/src/libs/wave -I/build/muse/src/muse-4.1.0/src/libs/xml -I/build/muse/src/muse-4.1.0/src/muse -I/build/muse/src/muse-4.1.0/src/muse/function_dialogs -I/bui
ld/muse/src/muse-4.1.0/src/muse/widgets -I/build/muse/src/muse-4.1.0/src/muse/components -I/build/muse/src/muse-4.1.0/src/muse/instruments -I/build/muse/src/build -I/build/muse/src/build/muse -I/build/muse/src/build/muse/function_dialogs -I/build/muse/src/build/muse/widgets -I/build/muse/src/build/muse/components -I/b
uild/muse/src/build/muse/instruments -I/build/muse/src/build/muse/ctrl -I/build/muse/src/muse-4.1.0/src/vestige -I/usr/include/opus -I/usr/include/raptor2 -I/usr/include/rtaudio -I/usr/include/lilv-0 -I/usr/include/serd-0 -I/usr/include/sord-0 -I/usr/include/sratom-0 -I/build/muse/src/muse-4.1.0/src/muse/lv2Support -I
/usr/include/libinstpatch-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/build/muse/src/muse-4.1.0/src/synti/. -I/build/muse/src/muse-4.1.0/src/synti -I/build/muse/src/build/synti/libsimpleplugin -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtG
ui -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtUiTools -isystem /usr/include/qt/QtXml -isystem /usr/include/qt/QtSvg -Werror=format-security -Wextra -Winvalid-pch -fexceptions -Wall -fPIC -std=c++17 -fPIC -fvisibility=hidden -fPIC -MD -MT synti/simpledrums2/CMakeFi
les/simpledrums.dir/simpledrums.cpp.o -MF CMakeFiles/simpledrums.dir/simpledrums.cpp.o.d -o CMakeFiles/simpledrums.dir/simpledrums.cpp.o -c /build/muse/src/muse-4.1.0/src/synti/simpledrums2/simpledrums.cpp
[ 67%] Building CXX object muse/components/CMakeFiles/components.dir/moc_songpos_toolbar.cpp.o
cd /build/muse/src/build/muse/components && /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -Dcomponents_EXPORTS -I/build/muse/src/build/muse/components -I/build/muse/src/muse-4.1.0/src/muse/components -I/build/muse/src/muse-4.1.0/src/. -I/build/muse/sr
c/muse-4.1.0/src -I/build/muse/src/muse-4.1.0/src/libs/evdata -I/build/muse/src/muse-4.1.0/src/libs/memory -I/build/muse/src/muse-4.1.0/src/libs/midi_controller -I/build/muse/src/muse-4.1.0/src/libs/midnam -I/build/muse/src/muse-4.1.0/src/libs/mpevent -I/build/muse/src/muse-4.1.0/src/libs/plugin -I/build/muse/src/muse
-4.1.0/src/libs/string -I/build/muse/src/muse-4.1.0/src/libs/sysex_helper -I/build/muse/src/muse-4.1.0/src/libs/time_stretch -I/build/muse/src/muse-4.1.0/src/libs/wave -I/build/muse/src/muse-4.1.0/src/libs/xml -I/build/muse/src/muse-4.1.0/src/muse -I/build/muse/src/muse-4.1.0/src/muse/function_dialogs -I/build/muse/sr
c/muse-4.1.0/src/muse/widgets -I/build/muse/src/muse-4.1.0/src/muse/instruments -I/build/muse/src/build -I/build/muse/src/build/muse -I/build/muse/src/build/muse/function_dialogs -I/build/muse/src/build/muse/widgets -I/build/muse/src/build/muse/instruments -I/build/muse/src/build/muse/ctrl -I/build/muse/src/muse-4.1.0
/src/vestige -I/usr/include/opus -I/usr/include/raptor2 -I/usr/include/rtaudio -I/usr/include/lilv-0 -I/usr/include/serd-0 -I/usr/include/sord-0 -I/usr/include/sratom-0 -I/build/muse/src/muse-4.1.0/src/muse/lv2Support -I/usr/include/libinstpatch-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysp
rof-4 -I/build/muse/src/muse-4.1.0/src/muse/arranger -I/build/muse/src/muse-4.1.0/src/muse/cliplist -I/build/muse/src/muse-4.1.0/src/muse/driver -I/build/muse/src/muse-4.1.0/src/muse/liste -I/build/muse/src/muse-4.1.0/src/muse/midiedit -I/build/muse/src/muse-4.1.0/src/muse/mixer -I/build/muse/src/muse-4.1.0/src/muse/m
plugins -I/build/muse/src/muse-4.1.0/src/muse/remote -I/build/muse/src/muse-4.1.0/src/muse/waveedit -I/build/muse/src/build/muse/arranger -I/build/muse/src/build/muse/cliplist -I/build/muse/src/build/muse/driver -I/build/muse/src/build/muse/liste -I/build/muse/src/build/muse/midiedit -I/build/muse/src/build/muse/mixer
 -I/build/muse/src/build/muse/mplugins -I/build/muse/src/build/muse/remote -I/build/muse/src/build/muse/waveedit -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtUiTools -isystem
/usr/include/qt/QtXml -isystem /usr/include/qt/QtSvg -Werror=format-security -Wextra -Winvalid-pch -fexceptions -Wall -fPIC -std=c++17 -fPIC   -I../ -I/build/muse/src/muse-4.1.0/src/synti -fPIC -MD -MT muse/components/CMakeFiles/components.dir/moc_songpos_toolbar.cpp.o -MF CMakeFiles/components.dir/moc_songpos_toolbar
.cpp.o.d -o CMakeFiles/components.dir/moc_songpos_toolbar.cpp.o -c /build/muse/src/build/muse/components/moc_songpos_toolbar.cpp
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp: In member function ‘virtual bool MusECore::RtAudioDevice::start(int)’:
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp:225:13: error: ‘struct RtAudio::DeviceInfo’ has no member named ‘probed’
  225 |   if(!in_di.probed || !out_di.probed)
      |             ^~~~~~
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp:225:31: error: ‘struct RtAudio::DeviceInfo’ has no member named ‘probed’
  225 |   if(!in_di.probed || !out_di.probed)
      |                               ^~~~~~
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp:326:13: error: ‘RtAudioError’ does not name a type; did you mean ‘RtAudioErrorType’?
  326 |   } catch ( RtAudioError& e ) {
      |             ^~~~~~~~~~~~
      |             RtAudioErrorType
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp:328:5: error: ‘e’ was not declared in this scope
  328 |     e.printMessage();
      |     ^
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp: In member function ‘virtual void MusECore::RtAudioDevice::stop()’:
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp:347:12: error: ‘RtAudioError’ does not name a type; did you mean ‘RtAudioErrorType’?
  347 |   } catch (RtAudioError& e) {
      |            ^~~~~~~~~~~~
      |            RtAudioErrorType
/build/muse/src/muse-4.1.0/src/muse/driver/rtaudio.cpp:349:5: error: ‘e’ was not declared in this scope
  349 |     e.printMessage();
      |     ^

Expected behavior Muse supports rtaudio >= 6.0.1 (soname change introduced only in 6.0.1).

Screenshots n/a

Desktop (please complete the following information):

Additional context Full build log: muse-4.1.0-4-x86_64-build.log

terminator356 commented 1 year ago

Hi. I have added the necessary code changes locally on my machine. But version >= 6 is giving me linking troubles. I have asked for help at rtaudio. Please standby, hopefully this can be resolved.

terminator356 commented 1 year ago

Fixes have now been added to master branch. Tested OK with RtAudio 6.0.1

Try it. Let me know if any trouble. Thanks.

spamatica commented 1 year ago

Indications are that this worked. Closing as fixed.

dvzrv commented 1 year ago

The patch in https://github.com/muse-sequencer/muse/commit/5fd1323ea63eb2c5b04e9dc3d49eeb82f02097b3 unfortunately does not apply cleanly on top of 4.1.0. Are you planning to do a release soon?

terminator356 commented 1 year ago

Hi. @spamatica (who handles the releases) contacted me about releasing. I said to go ahead and release for sure.

I hope he got my reply, I've not heard back yet. Otherwise, hang in there, hopefully any day now we'll see something...

spamatica commented 1 year ago

Yeah, sorry, didn't get to replying... I'm making a release candidate. Just some paperwork and it will be out. Hopefully there are no biggies so we can move to the final release shortly.