On 5/29/2014 12:23 PM, igevorse wrote:
> I've talked with daeavelwyn and he gave me an example of problem that he
> have.
> Imagine if you have a score with staff1 = flute, staff2 = piano and staff3 =
> piano. MuseScore makes it: channel1 = flute, channel2 = piano.
> Now you decided to add clarinet. Clarinet staff would be between flute and
> piano, so we will get channel1 = flute, channel2 = clarinet and channel3 =
> piano.
> But... you use an external VSTi, and without changing settings in qmidiroute
> clarinet is playing like piano!
> So, every time you writing a new score you need to re-route qmidiroute.
In this instance the new clarinet staff should be assigned channel 3
rather than reordering all the channel numbers. This would require
saving the channel number to the MuseScore file as you mention in
solution 1 below.

> 2 possible solutions:
>
> 1. We need to route signals once and change staff's channel in MuseScore!
> We should have an ability to change channels in mixer window.
> But not all users use JACK MIDI, right? So, We need to hide this feature
> from regular users, and show only if Preferences->I/O->"Use JACK MIDI"
> checkbox is checked.
>
> It would be like that: [4]
> Also, we need to slightly change MuseScore file format to have an ability to
> save our staff->channels links.
>
> Recap: We need to change mixer GUI and file format.
> We get an ability to set channels to staffs.

This is the traditional method. Keep in mind that MIDI is limited to 16
channels per bank/port. So you would also need to save a bank number in
the file and display it in the UI in order to allow more than sixteen
instrument per score. (See "Finale instrument list.PNG" for a sample
screenshot)


> 2. One port per each staff
>
> There is another approach, we wouldn't change GUI, and fileformat, and every
> staff would have an own port. Port names can be generated from staff name +
> number if name repeats.
> You can see an example here: [5]
>
> Which option is better?
> Thank you.

This seems pretty clean. I don't have enough experience working with
external synths to know the disadvantages of option 2. Would all
synthesizers/samplers support this method? Are there limits to the
number of ports synthesizers/samplers might support?

If the user changed the staff name in the score would that trigger a new
automatic naming of the port and break the Jack audio connection for
that staff? If so, that would be unexpected (and undesirable) for the user.

David


------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to