I am using MSP for Windows 10 and trying to load a song in my Library (or Set List if the process is different) from an external source (Cantabile Host). I can send a Patch Change from MSP to Cantabile (using "Patch Change" & "Send on Song Load") and load the correct song in Cantabile. I can not find the steps in MSP (that work) to send program data from Cantabile to load a song in my MSP Library. I've tried every step (for hours) that I thought was logical and still can not load a song using MIDI. I thought "Song Select" would work, but the "Load Song on Receive" is grayed out. I'm sure there is a simple solution, but I always manage to choose the most difficult method first.
02-03-2021, 06:34 PM (This post was last modified: 02-03-2021, 06:36 PM by Rey_a.)
Hi Doug,
A while back, I used to do this with my Tyros keyboard.
As far as I can remember I used the "Patch select" in both cases (send MIDI from MSP to keyboard to set keyboard up and send MIDI from keyboard to MSP to load sheet in MSP)
In the first case "Send on song load" was on, in the other case "Load song on receive" was.
Rudy
_____________________________________________________
MSI Cubi 5 mini pc with IIyama prolite 24" touchscreen-Windows 11, HP Slate 17-Android 4.4.4, iPad Pro 12.9 gen2-iPadOs16
Yamaha Genos 1, Roland PK-6, Yamaha PSR SX900
In theory, the process should be as simple as editing your song, going to the MIDI tab, adding a MIDI command that you will be sending from Cantabile, setting "Load on Receive" To true and saving the changes. Then just send that MIDI command from Cantabile and the song should be loaded. If you tap the bottom icon to the right of the MIDI list in the song editor, you can bring up the MIDI listen dialog. Send the command from Cantabile and see if it shows up in this window. That will identify if a) you are connected correctly to Cantabile, and b) you are receiving the message you are expecting to receive. What type of MIDI command are you sending from Cantabile?
Mike,
I can send just about anything from Cantabile.
I tried:
" Program Change" (MS MIDI Monitor picked it up and I tapped the "+" to add it and verified that the "Load on Receive" was checked. Song Won't load
"Program Change (Banked) - Same as above
"Song Select" - MS MIDI Monitor did not see the message come in from Cantible.
These seem like normal methods to use, but I can not get a Song to Load. Possibly, would I use the "Song ID", or should it load the song depending on message received to load a song?
Your screenshot shows that you are receiving on channel 13, but you've set the command up for channel 14. If you go to Settings->MIDI Settings->MIDI Channel, do you have that set to 13 or 14? Based on your screenshot, I would assume you would want channel 13 as that is what MobileSheets is receiving on.
02-04-2021, 12:51 PM (This post was last modified: 02-04-2021, 01:01 PM by dhsherbert.)
Mike,
Well, I got it to work, but I'm certain it's not correct.
Note: Cantabile is on the "1" Numbering System (why I asked the other day if it were an option in MS to select "0" or "1" Numbering System. I've been using "1" for years to match the Library numbers with the Program numbers. I had to use Controller changes because neither Program Change nor Program Change/Banked work for me.
I send (from Cantabile) a Control Change "0.0" for the first song in MS (Song ID #1) to MS on MIDI Channel 13. The MIDI Monitor in MS reflects those numbers. I check the box, select the "+" sign and save the created "Batch" file. Then, I have to go back to Cantabile and change the MIDI Channel to 14 (sending Control 0.0, Channel 13 to MS).
So, from what I'm seeing, MS MIDI Monitor shows Control 0.1 on MIDI Channel 13. The numbers that bring up the correct song are Control 0.0 on MIDI Channel 13, I have to send Control 0.0, MIDI Channel 14 from Cantabile to MS to load the correct song. It looks like MS is reporting correctly what Cantabile is sending, but I need to change the MIDI channel in order for MS to respond with the correct song.
Bottom line: I need to send "Control Change 0.1 on Channel 14" to load a song that has "Control 0.0 on Channel 13" on its MIDI Info Form in MS.
02-05-2021, 01:23 AM (This post was last modified: 02-05-2021, 01:29 AM by dhsherbert.)
Mike,
I stated that at the onset (Host on "1" numbering system & MS on "0").
I, assume (bad, I know), that you built the MIDI Page "Signal" icon as a "learn" process and the MIDI Receive on that song should trigger it to load, Correct?
So, from the Host, I send Control 0.0 on Channel 13 (I'm using Ch. 14 to trigger a Song Load on the Host, so I don't want to use Ch. 14 for this process).
MS sees Control 0.0 Channel 13 in the "Learn" window.
I select (check) that message, click "+", and save. (When I edit the Batch Message, it shows Control 0.0 and Channel 13).
If I then send the same message from the Host (Control 0.0, Ch. 13), the song does not load in MS.
If Iand change to Ch. 14 in the Host (keeping the Control 0.0) and the song will load in MS.
I still can not use Patch, Program or Program (Banked) from the Host to load a song in MS. It somehow goes into a loop and the Host will become unresponsive and MS will usually shut down.
I have verified what I am sending from the Host with a MIDI Monitor there, MIDI OX in Mid-stream and the Learn Process in MS the MIDI Data is the same at all points.
End result: MS sees what the Host is sending (in "Learn") as Control 0.0 on Ch. 13. I have to send the Data from the Host on Ch. 14 to load a song in MS.
I guess I'll have to keep a "Sticky Note" close by when I program all of my songs to be triggered from my Host.
BTW - I do this same process into my Roland "Integra-7" (sound module) and it will load a sound patch exactly as the Host has sent it.
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.