FreeBSD port of MuseScore
Hi!
Just wanted to report that I have working FreeBSD port of MuseScore.
Here's a little patch to the build system which reorders includes a bit and which may be useful for other systems.
http://people.freebsd.org/~amdmi3/musescore.patch
it solves build problem when portaudio18 is installed as well. At least on FreeBSD its portaudio.h is installed into root include directory, so with original include ordering, resulting paths
-I/usr/local/include (from ALSA) -I/usr/local/include/portaudio2 (portaudio)
make wrong portaudio.h included.
I'm not really into music, so I can't test all features, but the application seem to work. The main problem is sound output - ALSA is not native to FreeBSD, and though there's some kind of ALSA implementation, I couldn't get it to work:
ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
init ALSA driver failed
init audio driver failed
sequencer init failed
not sure why it's looking for /dev/snd/seq while "Use internal synthesizer" is enabled in preferences->I/O and as far as I understand it should only require raw PCM output. Portaudio doesn't work as well (Api: and Device: list are just empty, no relevant messages in the stderr).
Anyway, JACK output works (with internal synthesizer) and actually plays sound. A little bug I've noticed - when MuseScore is closed with Ctrl+Q while audio is playing, it (as it seems) won't clearly shutdown JACK connection and looped buffer will play infinitely after the program quits.
The port is almost complete and I think of committing it to the official FreeBSD ports tree after some tweaks. The things I don't really like are that script bindings conflict with qtscriptgenerator. (shouldn't MuseScore depend on the former instead? or at least install its binding to some local directory; or those are compatible and I can disable BUILD_SCRIPTGEN, install qtscriptgenerator and it will work?) and that system CXXFLAGS are overridden all over CMakeLists, e.g.:
set(CMAKE_CXX_FLAGS "-g -Wall -Wextra -Winvalid-pch -DQT_STATICPLUGIN")
I suggest to turn that into
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Winvalid-pch -DQT_STATICPLUGIN")
and move -g into CMAKE_CXX_FLAGS_DEBUG where it really belongs. Can make a patch if needed.
Thanks for the great software!