Add Drumset checkbox to the Mixer

• Aug 31, 2014 - 21:34
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Comments

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&)'
part->instr()->setUseDrumset(val);
^
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:-
https://github.com/ChurchOrganist/MuseScore/commit/8997bd5cecccad9cf517…

Maybe someone can sort the variable mismatch?