Assigning MIDI channels and Midi Machine Control features are implemented!
Here're good news about MuseScore!
I finished implementation of two features:
This is a part of my work in Google Summer of Code 2015.
"Assigning MIDI channels to instruments" allows to assign any MIDI port/channel to an instrument in Mixer.
New opportunities unlocked:
- Assign each instrument to a different MIDI port and connect MuseScore to external synthesizers, effects processor and VST instruments via JACK with minimum additional software (JACK + MuseScore + QJackCtl/any patchbay).
- Export MIDI mapping to MusicXML and MIDI files to make futher editing/processing simpler.
- Better control of MuseScore output for research/related projects (MuseScoreSSMN, etc).
MIDI Machine Control (MMC) is a feature that helps to control playback of MuseScore via MIDI by sending special MIDI messages.
New opportunities unlocked:
- Synchronize MuseScore with software that doesn't support JACK Transport.
- Control playback of MuseScore even without JACK.
Supported events:
- System realtime messages:
- Start (0xFA)
- Stop (0XFC)
- Continue (0xFB)
- Song Position Pointer (SPP) (0xF2)
- System exclusive (SysEx) messages: (0xF0 0x7F [deviceID] 0x06 [command] 0xF7)
- Stop (command: 1)
- Pause (9)
- Play (2)
- Deferred play (3)
- Rewind (5)
- Goto/Locate (0xF0 0x7F [deviceID] 0x06 0x44 0x06 0x01 [hr] [mn] [sc] [fr] [ff] 0xF7)
These features are not merged, so welcome for testing!
I'll start to work on "MIDI Actions" feature in a few days.
With this feature we will be able to change parameters/settings of external VST's via MIDI, it will be possible to create scores with more dynamic sound: musicians will be able to change chorus and pan dynamically, add portamento, sostenuto effects, and also use special MIDI events for changing parameters of external synthesizers/VSTs on the fly!
You can find me on IRC #musescore as igevorse.
Feel free to write me about implementing some JACK-related features in MuseScore that you need and want.