02-05-2021, 11:55 AM
Why not send on 13 from the host but set the MobileSheets MIDI channel to 12 then? You can send on any channel you want, but the receive is set up to filter out messages on other channels.
As for what happened in that scenario you described, the MIDI listen dialog is not filtering out MIDI messages based on channel - it will receive on all channels. It will state that it received the message on channel 13, but that is not actually true. Whatever MIDI channel is listed under Settings->MIDI Settings is the channel it's going to put into there. If you want to verify this, change the MobileSheets MIDI Channel to 6, send the message from the Host, and you will see it state that the message was received on channel 6. That is my guess at least based on what you've described. I probably should change this behavior so that messages are filtered out in the listen dialog if the channel doesn't match what MobileSheets is receiving on. So I will add code to fix that.
I'm definitely confused about the mismatch you are seeing with the channels though. Looking at the MobileSheets configuration, it may internally save channels 0-15, but all of the UIs display 1-16 to the user. So in theory whatever you select in MobileSheets should match what you are selecting in Cantabile. I don't have a good explanation at the moment for what you are seeing. I don't have cantabile to test with, but I've certainly set up tests with virtual ports and other applications on my PC and don't recall having problems with channel mismatches. I can run through some more tests to verify this though.
Did you enable MIDI echo under Settings->MIDI Settings? If so, I would definitely recommend disabling that. The only time I've ever heard of users encountering a loop like what you described is if they have their library set up in such a way that loading Song A triggers a MIDI message which triggers their MIDI device to send back a message that loads Song B, which then sends a message to the MIDI device which sends back a message that causes song A to load. This loop would continue indefinitely and make it appear like the application is basically locked up. So definitely make sure you don't have this kind of a loop set up with your songs.
Thanks,
Mike
As for what happened in that scenario you described, the MIDI listen dialog is not filtering out MIDI messages based on channel - it will receive on all channels. It will state that it received the message on channel 13, but that is not actually true. Whatever MIDI channel is listed under Settings->MIDI Settings is the channel it's going to put into there. If you want to verify this, change the MobileSheets MIDI Channel to 6, send the message from the Host, and you will see it state that the message was received on channel 6. That is my guess at least based on what you've described. I probably should change this behavior so that messages are filtered out in the listen dialog if the channel doesn't match what MobileSheets is receiving on. So I will add code to fix that.
I'm definitely confused about the mismatch you are seeing with the channels though. Looking at the MobileSheets configuration, it may internally save channels 0-15, but all of the UIs display 1-16 to the user. So in theory whatever you select in MobileSheets should match what you are selecting in Cantabile. I don't have a good explanation at the moment for what you are seeing. I don't have cantabile to test with, but I've certainly set up tests with virtual ports and other applications on my PC and don't recall having problems with channel mismatches. I can run through some more tests to verify this though.
Did you enable MIDI echo under Settings->MIDI Settings? If so, I would definitely recommend disabling that. The only time I've ever heard of users encountering a loop like what you described is if they have their library set up in such a way that loading Song A triggers a MIDI message which triggers their MIDI device to send back a message that loads Song B, which then sends a message to the MIDI device which sends back a message that causes song A to load. This loop would continue indefinitely and make it appear like the application is basically locked up. So definitely make sure you don't have this kind of a loop set up with your songs.
Thanks,
Mike