Add Drumset checkbox to the Mixer

• Aug 31, 2014 - 21:34
S4 - Minor


Please add to that problems with MIDI file import.

MuseScore currently assumesTrack 10 is percussion which is not always the case as in the attached SMF which has a synth on Track 10.

Without control over whether a channel is assigned as a drumset it is impossible to reassign Track 10 to it's proper sound, and also impossible to assign the real drum track (#9) as a drumset track.

Unfortunately the checkbox involved has actually been removed rather than just disabled, so it's not quite such a simple matter to rectify.

Attachment Size
boney_m-daddy_cool.mid 80.31 KB
Status (old) patch (code needs review) active

Well it seems it won't compile.

Obviously something has changed since the code was altered resulting in a variable mismatch.

This is the compiler Error Log

[ 84%] Building CXX object mscore/CMakeFiles/mscore.dir/mixer.cpp.obj
C:\GitHub\MuseScore\mscore\mixer.cpp: In member function 'void Ms::PartEdit::drumsetToggled(bool)':
C:\GitHub\MuseScore\mscore\mixer.cpp:325:39: error: no matching function for call to 'Ms::Instrument::setUseDrumset(bool&)'
C:\GitHub\MuseScore\mscore\mixer.cpp:325:39: note: candidate is:
In file included from C:/GitHub/MuseScore/libmscore/part.h:17:0,
from C:\GitHub\MuseScore\mscore\mixer.cpp:23:
C:/GitHub/MuseScore/libmscore/instrument.h:153:12: note: void Ms::Instrument::setUseDrumset(Ms::DrumsetKind)
void setUseDrumset(DrumsetKind val);
C:/GitHub/MuseScore/libmscore/instrument.h:153:12: note: no known conversion for argument 1 from 'bool' to 'Ms::DrumsetKind'
mscore\CMakeFiles\mscore.dir\build.make:4440: recipe for target 'mscore/CMakeFiles/mscore.dir/mixer.cpp.obj' failed
mingw32-make[3]: *** [mscore/CMakeFiles/mscore.dir/mixer.cpp.obj] Error 1
mingw32-make[3]: Leaving directory 'C:/GitHub/MuseScore/build.release'
CMakeFiles\Makefile2:266: recipe for target 'mscore/CMakeFiles/mscore.dir/all' failed
mingw32-make[2]: *** [mscore/CMakeFiles/mscore.dir/all] Error 2
mingw32-make[2]: Leaving directory 'C:/GitHub/MuseScore/build.release'
Makefile:125: recipe for target 'all' failed
mingw32-make[1]: *** [all] Error 2
mingw32-make[1]: Leaving directory 'C:/GitHub/MuseScore/build.release'
Makefile.mingw:27: recipe for target 'release' failed
mingw32-make: *** [release] Error 2

Trouble is my knowledge of C++ data structures is pretty sketchy.

The details of the reversals made in May 2013 are available from my AddBackDrumset branch from my GitHub repository:-…

Maybe someone can sort the variable mismatch?