Before updating my Montage from OS 1.6 to OS 2.00.3 I did a complete Backup, and when I load the backup into the newly updated machine, the link between Songs and Performances is broken. In other words, when I try to load Song&Perf the Montage loads only the Song without the associated Performance.
Compounding the problem, if I then find the right Performance, got back to the Song page, Store Song & Perf Settings, sometimes the link is created and sometimes not. Said another way, after going through this exercise, on some songs Load Song&Perf works as expected (both items load), and on other songs only the Song loads.
Anyone experiencing this same issue or have insight into where I going wrong?
I don't know for sure what's going on, but I can see the potential for carnage (and the bugs that are attracted to this) in V2.0 given the MIDI address mapping (MSB/LSB) of the Preset/User/Library areas have all changed.
Heres's the facts from http://www.moessieurs.com//download/n2/MSB_LSB_PC_Montage_OS2.pdf
GM Mapping is same as previous, following has changed:
V2.0 Mapping:
63/00-63/31 == Single-Part Preset 1-32
63/32-63/36 == Single-Part User 1-5
63/40-63/79 == Single-Part Library 1-40
64/00-64/31 == Multi-Part Preset 1-32
64/32-64/36 == Multi-Part User 1-5
64/40-64/79 == Multi-Part Library 1-40
Previous to V2.0 Mapping:
63/00-63/15 == Single-Part Preset 1-16 (half the size as V2.0)
63/16-63/20 == Single-Part User 1-5 (nothing matches, single-part user are presets in V2.0)
63/24-63/63 == Single-Part Library 1-40
63/64-63/79 == Multi-Part Preset 1-16
63/80-63/84 == Multi-Part User 1-5 (User performances in old firmware point to reserved space in V2.0)
63/88-63/127 == Multi-Part Library 1-40
Here's my theory - which is speculation:
I believe when Montage V2.0 loads your backup file - which contains song data - it takes those songs and places them in memory without converting the Song&Perf "tag" contained within. BM mentioned that when you associate a Performance with a Song, it places the information in a "tag" in the song data. I am inferring that this "tag" is the MSB+LSB+PC of the Performance. If the Performance you are associating a song to is a user song, then in previous firmware this would receive an MSB/LSB of 63/80 through 63/84. (PC can be ignored for this theory since we're broken further up the chain from PC). If Montage didn't modify this "tag" then it would stay in the range of MSB=63/LSB=80 through LSB=84. ... and, if this were the case, then version 2.0 sees this as "no man's land" since this range is undefined or reserved in V2.0.
That's my theory at least. If this is true - it wouldn't be difficult to fix with a small program to convert two bytes.
Another user has reported that his user program numbers have changed from his previous firmware to V2.0 -- so possibly 3 bytes -- I do not know how, however, the program number can be calculated if it indeed does change through the V2.0 upgrade.
We'll see how Yamaha weighs in since they can see behind the curtains.
From an architecture standpoint, I would have left the previous mapping alone and extended the Single/Multi preset area by adding 16 "pages" in MSB=64/LSB=00-15 (for single part) and LSB=16-31 (for multi part). Leave all the previous MSB/LSB assignments to performances the same (no changes for legacy) and add new performances to the few slots in the MSB=63 area that were left and the rest in the MSB=64 area. And keep this method through all firmware changes so MSB/LSB do not swizzle around every release. The original v1.0 firmware had some "jumbled" areas of Performances. Not sure why order matters over and above other problems that happen when mucking with the MSB/LSB every firmware release.
Last paragraph is probably useless detail for most.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Has this been brought to the attention of Yamaha? I hope they read these forums. I refuse to update until this is fixed. Don't they test out the updates before rolling them out?
Thanks for closing the loop on this one. Probably need to audit everything that points to the performance MSB/LSB+PC if these slots are going to continue to remain in flux.
There may (or may not) be other issues which have a common root-cause.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
So there is an issue with the bank select and performance links.... This supports the issues Im having with MSB LSB numbers. I now need v1.6 installer to downgrade.
Hi it's for internal bank select number inside Montage, MSB/LSB inside Montage have change to implemend the new 16 preset bank performances, not for external, your kurzweil bank select have not change.
I can get the bank select to work now by swapping the LSB and MSB values over, however all of my performances have the incorrect sounds in them. Does anyone have an old copy of v1.6 they can upload somewhere to I can download it, worst case I have an old v1.51 file I can re-install if the OS lets me downgrade but would prefer 1.6 if possible. Because the MSB and LSB values have change to implement the new banks now my performances are calling the wrong sounds. You think Yamaha would have put the new performances on new MSB LSB bank numbers??
@Scott:
No. Unless you've been reporting your (first, "swapping") issue completely incorrectly in the other thread - these two issues are not the same.
If you had the issue in this thread, swapping MSB and LSB would be a completely wrong fix.
V2.0 Mapping:
63/00-63/31 == Single-Part Preset 1-32
63/32-63/36 == Single-Part User 1-5
63/40-63/79 == Single-Part Library 1-40
64/00-64/31 == Multi-Part Preset 1-32
64/32-64/36 == Multi-Part User 1-5
64/40-64/79 == Multi-Part Library 1-40Previous to V2.0 Mapping:
63/00-63/15 == Single-Part Preset 1-16 (half the size as V2.0)
63/16-63/20 == Single-Part User 1-5 (nothing matches, single-part user are presets in V2.0)
63/24-63/63 == Single-Part Library 1-40
63/64-63/79 == Multi-Part Preset 1-16
63/80-63/84 == Multi-Part User 1-5 (User performances in old firmware point to reserved space in V2.0)
63/88-63/127 == Multi-Part Library 1-40
For 2.0 to adjust save-data from previous 2.0 firmware:
Any old references to single-PART presets would stay the same.
For user area (Single-PART), you would have to ADD 16 to the LSB (no swapping).
For Library area (Single-PART), you would have to ADD 16 to the LSB (no swapping).
For the presets (Multi-PART), you would have to ADD 1 to the MSB and SUBTRACT 64 from the LSB (no swapping)
For the user area (Multi-PART), you would have to ADD 1 to the MSB and SUBTRACT 48 from the LSB (no swapping)
For the library area (Multi-PART), you would have to ADD 1 to the MSB and subtract 48 from the LSB (no swapping)
What you've communicated is that you did the equivalent of "writing down" your old (previous to v2.0 settings) MSB, LSB, and PC values you used in the Zone Master setup of performances in order to control external MIDI devices. Then, after the upgrade, using those same written-down values the observation is that your external hardware no longer responds. And your fix was to swap MSB and LSB. It happens that one of the two values is "zero" in this scenario. And furthermore your observation was that a MIDI monitor was not showing MSB being transmitted at all. Personally, I would use a tool like MIDI-OX to verify - but only because I have experience seeing that MSB and LSB have been previously correctly reported (along with all other MIDI messages) using that tool.
Your second issue about broken links may be related. This one would not require swapping but would require the adjustments I mentioned above (adding and subtracting depending on the target bank).
Curious - did you restore your previous performances using an X7A (backup file) or X7L/X7U (library and user files)? What version did you come from? These two would be required to reproduce your environment and give others something to test against to see if the converter did not work for that particular combination.
As mentioned - I'm not surprised if there is an issue ...
I don't know for sure what's going on, but I can see the potential for carnage (and the bugs that are attracted to this) in V2.0 given the MIDI address mapping (MSB/LSB) of the Preset/User/Library areas have all changed.
"Pulling the rug out" from addressing is generally a bad idea unless you cover all the corner cases (which was proven as not done - at least in the song+performance tags).
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Jaon, you wrote:
Any old references to single-PART presets would stay the same.
For user area (Single-PART), you would have to ADD 16 to the LSB (no swapping).
For Library area (Single-PART), you would have to ADD 16 to the LSB (no swapping).
For the presets (Multi-PART), you would have to ADD 1 to the MSB and SUBTRACT 64 from the LSB (no swapping)
For the user area (Multi-PART), you would have to ADD 1 to the MSB and SUBTRACT 48 from the LSB (no swapping)
For the library area (Multi-PART), you would have to ADD 1 to the MSB and subtract 48 from the LSB (no swapping)
since I don´t even really know what MSb and LSB mean, can you be more specific on where exactly in the Monatge I can change these numbers on the montage to find the parts in my performances that are wrong after the update.
Since I do not go 'Under The Hood' Too much on the Montage. Most of the Above is Gibberish to me.
I do understand programming. But no one can understand a 'Function'. Without seeing the code or using it so much. They can see how it works.
Jason. You must have a Near photographic memory. You are always pretty amazing at Retention. And Abstract Reasoning.
Now I am very happy. That I do not store Songs on the Montage. Since I am a Writer. I keep my songs in the DAW.
Cause I would be Very upset with this.
I see this as a big problem for People that play live.
It really needs a Flash/Urgent OS update to fix. And Not wait for a Regular OS update.
OS confusion at this level. Is a very urgent matter.
My 0.02 cents
@Gabi:
MSB, LSB, and PC are the three numbers that provide an "address" for each performance. The data list maps out these addresses for old and new firmware. They point to each User Performance, each Preset Performance, each Performance in each Library slot, and even each individual PART within performances of each bank (bank = user, preset, library). There's a way to see what the MSB/LSB+PC is for each performance by touching the performance name and then press (on the left side) "Property".
You cannot directly edit the MSB/LSB+PC on Montage for Live Set. The interface doesn't give you this level of editing. You have to edit these items using a hex editor or perhaps some other tool (maybe JM tools, maybe other software).
I'm not sure you can directly edit MSB/LSB+PC for various "tags" (indexes, pointers) that are inside the data stores of Montage.
Yamaha could release a utility that converts X7L, X7U, and X7A files to "clean up" the pointers. Or they could release a new firmware release that pays attention to MSB/LSB+PC changing and convert the pointers for you by paying attention to the firmware which was used to save each of those files. That is, if the files have information on the firmware used to save the file (or some other versioning).
More than anything, this demonstrates that changing addressing of legacy information is a bad idea. It's always better to add new content to different addresses and leave the old schemes alone. A bit late now - and there are other "textbook" examples of this mistake done in history by various manufacturers.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R