Improved sound selection in Mixer
So I have been using Musescore for quite a few years now, and I'll be honest, it is a beautiful piece of software. The fact that I can obtain a free and open source program, with a massive community and great support is truly epic in the fullest sense of the word. However, Musescore does have it's fair share of weird issues which do make the process of throwing together a track rather tedious sometimes.
The main thing that has annoyed me the most is the sound selection in the mixer. This elongated listbox from hell has been one of the primary sources of pain for me for the past year or so, especially as I have extended out to more complex soundfont usage.
To begin with, this listbox is huge! it takes up the entire screen when selected, and then even has 2 measly arrows situated at each end to allow you to scroll though this behemoth, and all from a tiny little textbox. Say for instance, you wanted to pick a piano. That would be fine, as given pianos are ordered rather low on a midi list, you can easily select one from the first few options. Say instead you wanted a sitar. Well that would be a little harder, as depending on your screen size, you might have to scroll down a little to find it, not too much of a hassle. Say you wanted a goblin synth. Well that is near the bottom of most default soundfonts, and so you would have to scroll through around 100 other sounds to find it. say you wanted a drumkit from your 5th loaded soundfont. Well now you need to scroll through over 4 other soundfonts just to get to what you need.
The issue here is that if you add more soundfonts to the synthesizer, selecting them using the mixer becomes a massive chore. This worsens if you use a laptop without a scroll function, because now you have to use the arrows, in which the scroll speed is extremely slow.
There is a sort of bodge solution in place, a rudimentary single character search, in which you can press a letter and it will one by one go though each sound with that letter, which is all good... until you have a synth soundfont which uses that same prefix for each sound, forcing you to go through each one manually anyways. And this only helps if you can remember the first letter in the sound's name. Maybe you just remember it by ear only, and then have to go through every sound trying to find it.
To say the sound menu is inefficient is an understatement. Maybe with only the default sound it's usable, but with extra soundfonts with 200 or so sounds each, it become a nightmare to use. However, rather than just rambling on about how the current option is ineffective, I thought instead I could propose an alternative system. Now to just clear this up before I show the alternative, I am not a designer, I am a high school student who can barely throw themselves around paint.net and kinda make something that doesn't look garbage.
So to begin with, I have "stolen" the layout from the instruments tab and utilized it here. To begin with, each soundfont is placed in it's own section. This deals with the issue of having to scroll through each soundfont to get to the desired sounds. This menu could also allow for the option of "All Soundfonts", allowing for the browsing of all of the soundfonts as a group.
The next section situated below this is the category section, which specifies the instrument categories, such as brass, woodwind, keyboards, percussion, synth etc. As I couldn't get the font to match properly, I just used the common options from the instruments panel as a placeholder. I believe soundfonts can specify categories themselves, but in the case that they don't specify categories, this menu could be grayed out, and all the sounds shown in the next menu. Again also, this section could have a "All Categories" option.
This next menu is the sounds menu, which shows individual sounds that can be selected. An important note is that this section now features a fully fledged scrollbar, which allows for quick and efficient scrolling, even on a laptop with a touchpad. as can be seen, only one item would be able to be selected at a time.
The most important part of this new design has to be the search option, which would allow for complete text search of sample names through every soundfont present (or possibly sorted just to the selected soundfont). As may arise, some soundfonts could possibly have duplicate names with other soundfonts, and so if that occured, as subheading in brackets would be present, such as "Grand Piano (GeneralUser GS v1.471)". This would allow for much faster finding of that one desired sound, without having to mash the p key every time you wanted that specific piano sound.
Finally, the "cancel" and "ok" buttons. Pretty simple. The ok button would be grayed out if no sound was selected i.e if the user changed the soundfont or category, destroying the child selection(s). if the user closed the menu or pressed "cancel", the widget would close and the previously selected sound would be restored. If the user selected "ok" with a new sound selected, the new chosen sound would overwrite the old one in the sound option box.
The current sound selection system is inadequate for the current state of Musescore. It's slow and annoying to use, becomes even worse to use without a mouse, and overall just needs a facelift from the generic listbox look. I hope my suggestion was of value and that we can get this corner of the mixer some due love and care. Thanks for reading :)