Igevorse Otonnoleare

Assigning channels to instruments: save and restore

27 July 2014 | 06:14 pm

Overview of work this week

In short:

  • Implementing automatic control over JACK ports number.
  • Implemented import and export of ports/channels in midi and mscx/z files.
  • Fixed bugs with selecting audio system and sending "program change" midi message.

This week I was implementing automatic control of JACK MIDI Out port number. Before we had a spin box in Preferences->I/O that helps to specify number of ports, but we didn't have an ability to select ports for each instruments. All instruments were mapped to port 1. Now we can assign channels and ports to instruments and now we do not need a special controls for specifying port number - MuseScore already knows it! If you assigned 4 ports for your instruments, you'll immediately get 4 JACK MIDI Out ports.

Assigning channels is good, but saving them is better. You can save channels in MuseScore native formats (mscx, mscz) and MIDI format (mid, midi). Next week I would make import/export of ports/channels for other supported formats.

There is one unimplemented, but very important feature in JACK MIDI Out: it doesn't send "program change" MIDI message and if you play via external synthesizer, all your staves would sound as grand piano. It is fixed now: changing "sound" in your mixer changes program/patch in the external synthesizer. Of course, if you have the same soundfonts.

Also I've fixed the bug with selecting default sound system on linux. If you run "mscore -F" without pulseaudio installed, no audio system would be checked by default and you'll get a crash in some cases. Now it is fixed.

Key tasks that stalled

It's ok.

Upcoming tasks this week

Finish implementing import/export port/channel information to MusicXML, gtp*, bww, ove and other supported file types.

Begin work on JACK MIDI In.

As usual, you can find me on IRC #musescore as igevorse.

Feel free to write me about implementing some JACK-related features that you need and want.

« Assigning channels to instruments:… · Assigning channels to instruments: save and restore · Let's improve Instrument Change and… »

Leave your response!

Style `onWall HashCode` by Lited & Sayori
Get your own blog immediately for free with Lited!