Jump to content

Event List Insert Patch Changes Do Not Work


Recommended Posts

Not all of us only use VST's, and would like to use outboard synthesizers via MIDI.

Because of that, patch changes need to be made easy to do and there isn't a .ins available for the tone generator I'm using.

Because of that, I have to insert my patch changes manually.

Unfortunately, this feature doesn't work in Cakewalk.

I'll try to describe what is going on.

I'm trying to switch to Bank 1024, Patch 5 via a program change insert. So when I go to the Event List (Alt+8) and insert a new event and choose Patch Change as the kind, I then double-click under the "Data" column, and a dialog called "Bank/Patch Change" comes up, allowing me to type in the Bank and Patch number. So I put in 1024 for the Bank and 5 for the patch and click "OK". Unfortunately, the Patch is saved but the Bank number is not. It shows "---" instead of "1024" like it should. I should be able to insert whatever Bank number I want. However, what I CAN do is click where the "---" is, I can click on that and drag my mouse up and it will begin to slowly scroll up the numbers. This is the only way I can actually choose the bank number I want. The problem is that it is bank 1024. It would take a very long time to scroll all the way up to that number. I should be able to type the number in the dialog that pops up and it should stick. 

This problem has been with Cakewalk since at least Sonar X2.

Edited by Craig Reeves
Link to comment
Share on other sites

I used the event list in Cakewalk with external gear before soft synths.  It worked then and I just assumed it still worked.   I have *.ins files for my gear.  It seems to work with them.

image.png.e688492137381bd3bcb15f8c34d168a2.png image.png.939251a418a706590907f38732700245.png

If I can figure out how, I will try doing this without an *.ins file. I will try to understand your list of steps. 

Interesting:  I used a *.midi file and the synth wasn't even selected as an output.  Yet, the *.ins file was there!!!  I didn't expect that.  I will have to enable the synth so I can unlink the *.ins.

OK:  I enabled a device for Output 2 and changed it to "Default."  Evidently, since there are no banks defined, we are unable to choose banks.  As you did, I also tried 1024 and Cakewalk didn't accept that.

image.png.0307f6af995e5bc6e679a306482e41f5.png

I tried the dragging method--but only went to 131--too crazy to try for 1024 that way!  Sure enough the 131 replaced the --.

Personally, I like having *.ins files with banks and patches defined.  You have my curiosity, now. I will try this under SONAR X1 on my XPSP3 PC. 

After XP SP3 SONAR X1 test: It seems to work the same for me.  If the instrument assigned to the port & channel doesn't have banks, -- does the same thing as above.  However, when I assign an instrument that banks, I can select them.  I don't current have my E-Mu *.ins files installed in my SONAR X1 path, so I used a generic Roland bank to test. 

Hope this helps.

 

Edited by User 905133
(3) "the" -> "to"; (2) to add results from SONAR X1; (1) to add my results
Link to comment
Share on other sites

Yes, I am aware that it works when you have a .ins file, but I do not have a .ins file for the synthesizer that I'm using. It seems that the only bank numbers that are accepted in the Event List's patch change settings are ones "known" by the instrument definition. But Cakewalk should not assume everyone has an INS file for their instrument, especially with newer gear.  This needs to be fixed. INS files are very difficult to come by these days for newer gear as the overwhelming majority of producers these days are using virtual instruments exclusively and so there just simply isn't much of a demand for INS files.

Typing in any bank number works fine in the Track View.  Each MIDI track in the Track View seems to accept any bank number typed in. This imposes a limitation, however, as program changes mid-song cannot be done via this method. The Event List needs to operate in a manner where no matter the bank number entered, it is always accepted. We know what we're doing...we don't need Cakewalk slapping our hand. Strangely enough, as said earlier, clicking where the "---" is and dragging the mouse upward will get you whatever bank number you wish, but that takes an eternity, especially for bank numbers in the 1000's. It's just a bug that has been overlooked because, as I mentioned, everybody's using exclusively VST's now so it's been overlooked for a long time.

Edited by Craig Reeves
Link to comment
Share on other sites

I don't remember the details already but long time back in my MIDI era I had been using MSB/LSB bank control change messages to freely set any bank I want anywhere in the event list. I took typically 2 or 3 consecutive cc messages plus pc at the end to get me there. Similar like with the RPN/NRPN bank plus data changes by making series of cc events.

Link to comment
Share on other sites

1 hour ago, Craig Reeves said:

But Cakewalk should not assume everyone has an INS file for their instrument, especially with newer gear.  This needs to be fixed. INS files are very difficult to come by these days for newer gear as the overwhelming majority of producers these days are using virtual instruments exclusively and so there just simply isn't much of a demand for INS files.

I am not sure what Cakewalk assumes regarding *.ins files.  I thought the original ones were created by users of the gear, but I really don't know that; it was an assumption based on the "Contributed by . . . " comments in the original Master.ins files.  From those, I made my own.  Also, I have seen patch editors that will create *.ins files, but that is only because the software developer put that in there.

3 hours ago, Craig Reeves said:

Not all of us only use VST's, and would like to use outboard synthesizers via MIDI.

This threw me off. It seemed like you were saying there was a problem using external/hardware gear.  I see now that your issue is that evidently no one has spent the time to create an *.ins file for your piece of gear.  

3 hours ago, Craig Reeves said:

This problem has been with Cakewalk since at least Sonar X2.

Now I am really curious about this "bug."  I think the earliest Windows Version I currently have installed on a PC is either SONAR 3 or SONAR 5.  

Edited by User 905133
Link to comment
Share on other sites

18 minutes ago, chris.r said:

I don't remember the details already but long time back in my MIDI era I had been using MSB/LSB bank control change messages to freely set any bank I want anywhere in the event list. I took typically 2 or 3 consecutive cc messages plus pc at the end to get me there. Similar like with the RPN/NRPN bank plus data changes by making series of cc events.

Bank Switching CCs: CC0 and CC32 + Program change, IIRC.

Edited by User 905133
Link to comment
Share on other sites

25 minutes ago, User 905133 said:
43 minutes ago, chris.r said:

I don't remember the details already but long time back in my MIDI era I had been using MSB/LSB bank control change messages to freely set any bank I want anywhere in the event list. I took typically 2 or 3 consecutive cc messages plus pc at the end to get me there. Similar like with the RPN/NRPN bank plus data changes by making series of cc events.

Bank Switching CCs: CC0 and CC32 + Program change, IIRC.

make it appear in the event list one after another and it should work as expected, refer to your synth's midi implementation manual what numbers exactly to use

please correct me if I'm wrong but:

CC0 data 0 and CC32 data 0-127 are bank 0-127

CC0 data 1 and CC32 data 0-127 are bank 128-255

and so on...

Edited by chris.r
Link to comment
Share on other sites

14 hours ago, chris.r said:

CC0 data 0 and CC32 data 0-127 are bank 0-127

CC0 data 1 and CC32 data 0-127 are bank 128-255

Yeah, that's the way bank switching on my gear works. For example,   

[Advanced Orchestra ROM]
Patch[8448]=Proteus 2000 Siedlaczek 0
Patch[8449]=Proteus 2000 Siedlaczek 1

8449 / 128 = 66 with a remainder of 1, so CC0 = 66 and CC32 = 1

https://www.cakewalk.com/Documentation?product=Cakewalk&language=3&help=Instrument_Defs.07.html#1117553

ADDENDUM [2020-06-21]:   Just to be clear, a program change with bank switching works on my gear if CC0 and CC32 are inserted before the program change.

image.png.e904824ffd79196b66ff629caad36ddc.png

Edited by User 905133
(2) the add the results of using CC0+CC32+Program Change (1) to fix transposition typo
Link to comment
Share on other sites

2 hours ago, Craig Reeves said:

Typing in any bank number works fine in the Track View.  Each MIDI track in the Track View seems to accept any bank number typed in. This imposes a limitation, however, as program changes mid-song cannot be done via this method. The Event List needs to operate in a manner where no matter the bank number entered, it is always accepted. 

I would agree that this is one of several improvements that could be made to the Event List. If we can do this at the start of the song (in either the track pane or the inspector), why not in the middle via the Event List?   The name isn't correct because its not in the *.ins file, but you are right--we know what we are doing. 

image.png.0db079fe16f40179fdf495ea9aa78e5b.png  image.png.c4622ffda00eee706036f8646f3aee9b.png

Link to comment
Share on other sites

  • 1 month later...
On 6/20/2020 at 6:25 PM, User 905133 said:

Yeah, that's the way bank switching on my gear works. For example,   

[Advanced Orchestra ROM]
Patch[8448]=Proteus 2000 Siedlaczek 0
Patch[8449]=Proteus 2000 Siedlaczek 1

8449 / 128 = 66 with a remainder of 1, so CC0 = 66 and CC32 = 1

https://www.cakewalk.com/Documentation?product=Cakewalk&language=3&help=Instrument_Defs.07.html#1117553

ADDENDUM [2020-06-21]:   Just to be clear, a program change with bank switching works on my gear if CC0 and CC32 are inserted before the program change.

image.png.e904824ffd79196b66ff629caad36ddc.png

Same here. That's how I am doing program changes now and that works fine, but there's no reason why the Program Change method shouldn't work, and there's no reason why I shouldn't be able to type the value in.

Link to comment
Share on other sites

  • 2 years later...
On 6/20/2020 at 5:25 PM, User 905133 said:

Yeah, that's the way bank switching on my gear works. For example,   

[Advanced Orchestra ROM]
Patch[8448]=Proteus 2000 Siedlaczek 0
Patch[8449]=Proteus 2000 Siedlaczek 1

8449 / 128 = 66 with a remainder of 1, so CC0 = 66 and CC32 = 1

https://www.cakewalk.com/Documentation?product=Cakewalk&language=3&help=Instrument_Defs.07.html#1117553

ADDENDUM [2020-06-21]:   Just to be clear, a program change with bank switching works on my gear if CC0 and CC32 are inserted before the program change.

image.png.e904824ffd79196b66ff629caad36ddc.png

Why are you only using program change at 1:00, and using 2 CC messages and a program change at 2:20?

Link to comment
Share on other sites

3 hours ago, Louis said:

Why are you only using program change at 1:00, and using 2 CC messages and a program change at 2:20?

1:03:00 has a single patch change command.

2:01:00 has a bank switch command followed a patch command.  Different gear use different bank switching methods.  Some, like the one here uses two bytes--an LSB (Least Significant Byte) and an MSB (Most Significant Byte).

The patch change at 1:03:00 uses the current bank, so only the patch change is needed.  

The patch change at 2:01:00 is in a different bank, so the bank has to be switched using a value sent using CC 00 and CC 32.

The Bank Switch [aka Bank Select] command needs the following Program Change command to actually switch the patch / preset.

Hope this helps. Thanks for asking.  

Link to comment
Share on other sites

Event list is still extremely useful at times, I don't personally feel it needs any changes.

But as far as the Ins file. It is worth making your own if you have to. I would suggest finding a synth close to yours that can make the changes but may not have the correct names.

For one thing there is a patch browser that allows you to search for sounds by name that is very handy if you have an Ins for your device. Ins is a great feature for external gear & it is worth putting the time in. Everything will move easier & smoother when you can just select from the list.

Link to comment
Share on other sites

10 hours ago, Cactus Music said:

The Event list is sort of an abandoned feature of Cakewalk. Not sure how many people actually use it anymore so that’s probably why the developers have not given it any upgrades in possibly 15 year or more.
I spent my first decade of midi with using the event list which at the time was the only option for editing. 
Simple improvements like the ones in this topic would be much appreciated by power midi users. 
 

One thing I’d love to see is the sidebar track selection like PVR has.  
 

For now for this issue I simply create a midi track for each instrument in a song and enter the bank and patch in the track header. I do believe that this is for Cakewalks current design is best practices.  

Just to be clear, an on-topic question was asked about a prior post that included a screen shot of the Event List showing Program Change and Bank Switch commands. I chose to answer it directly.

Over the past year or two there have been other threads that touched on the use of the Event List.  Some people use it for specific tasks; other see no need for it.

There are a number of reasons why someone would put multiple Program Change Commands in a single track, not just at the beginning.

Edited by User 905133
edits
Link to comment
Share on other sites

4 hours ago, User 905133 said:

1:03:00 has a single patch change command.

2:01:00 has a bank switch command followed a patch command.  Different gear use different bank switching methods.  Some, like the one here uses two bytes--an LSB (Least Significant Byte) and an MSB (Most Significant Byte).

The patch change at 1:03:00 uses the current bank, so only the patch change is needed.  

The patch change at 2:01:00 is in a different bank, so the bank has to be switched using a value sent using CC 00 and CC 32.

The Bank Switch [aka Bank Select] command needs the following Program Change command to actually switch the patch / preset.

Hope this helps. Thanks for asking.  

Thanks for the quick response.

Is there a place that explains this from a beginners perspective?  For instance what does HMSF and MBT stand for and how are they used.  I'm new to MIDI but I understand programming and Hex fairly well.

Link to comment
Share on other sites

12 minutes ago, Louis said:

Is there a place that explains this from a beginners perspective?  For instance what does HMSF and MBT stand for and how are they used.  I'm new to MIDI but I understand programming and Hex fairly well.

Resources for Cakewalk include the Cakewalk Reference Guide which you can download / view as a searchable PDF.  There's also online documentation--such as the link to instrument definitions quoted above. 

https://www.cakewalk.com/Documentation?product=Cakewalk&language=3&help=toc.html goes to the online Table of Contents.

https://www.cakewalk.com/Documentation?product=Cakewalk&language=3&help=ix.html goes to the Index. 

HMSF [Hours Minutes Seconds Frames] and MBT [Measure Beat Tick] are listed in the Index.

As for the basic of MIDI there's a ton of info on the web.  You don't need to know programming and hex, but to me MIDI data structures make more sense in hex than decimal.  

For learning Cakewalk as a beginner, there are a number of videos.   

Edited by User 905133
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...