• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to Load Song in MSP (Windows 10) from External Source
#1
Hello!

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. Blush

Can anyone help?

Thanks,
Doug
Reply
#2
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
Reply
#3
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
Reply
#4
Thanks, Rey!

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?

Thanks,

Doug
Reply
#5
Mike,

Included are two screen shots:

Screenshot (3) is what MS received from Cantabile
Screenshot (5) is the Batch File that MS ignores (song doesn't load)

Doug


Attached Files Thumbnail(s)
       
Reply
#6
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.

Mike
Reply
#7
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.

I think I'll go read for awhile.  Confused 

Doug
Reply
#8
That makes sense as MobileSheets uses channels 0-15 while Cantabile uses 1-16, so you'd have to send messages on a channel one higher in Cantabile.

Mike
Reply
#9
Mike,

I stated that at the onset (Host on "1" numbering system & MS on "0").  Wink

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.

Thanks for responding,

Doug
Reply
#10
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
Reply




Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2024 MyBB Group.