Bank MP Question - SOLVED! ... But Why???

Official support for: meldaproduction.com
RELATED
PRODUCTS

Post

I want to do something with a bank type MP. I want all but one of the bank choices to use pre-programmed values (as per normal behavior). But I would like one of the bank selections to have the target parameter use the value set in another MP.

Think of the real-life situation as follows. On a Hammond B3, there's an octave of black-natural keys which are presets. Most of them call up a specific draw-bar pattern (the drawbars don't actually move). One of the keys says to use the pattern from the actual drawbars.

I'd like to do something similar in MSF but I don't believe it's possible. Below is a trivial preset that sets up the problem. The preset is actually for MXXX (don't know ... maybe just habit :D ). There's a three-item bank MP and one conventional MP. The labels should make it clear what's being attempted.

If anyone can solve this, I nominate them for Melda Preset Designer of the Year Award.

Code: Select all

$eNqdVU1z4jgQvedXdHX2GIJtzFeV7alAyAxVIaFwdsjuTbEbcEVIRJJDyGF++5aFcQzZ1E6tT61Wq-X8Xncr+Pa25vBKSmdShOheOggkEplmYhlibhaNHn6LzoLJ4+OjJmMysdRwHqKLMJTCKMk5KT0S7IlTGqKDMFRSa-lKaiJTCtHz00FTJqa28bDbUIhXgnG5RBjmSpEwU0WazPg6xAfSBmKTLxa-Bkw8axiuGOcklgT7IIRrtZuTuVosKDF6LDa5+c4yYVF9-3McZ+-khei23e5Ft9OpfCOmd4Xf7XoXbc9DuM3Es8V8O4s3PDOGVBHnFjG9T24vRK+HMGFvtzf3Ay6T58IbYstDmAyOIN3npo5pknOTTZliazKk9FByzja65Ovngftur+f3HIyCiqiCot07KYjXUpqVIK1DdC6dNsI8E6nc7pn8wYTAKJgqWmTckMrEMgqmMhMGbjhb6kGIru8ivBX6thzX8fr9frvTweZXYf5pWPMkuZIJaS2VA5X0LsJNxrk14pXcDiWX6ifjOWnre1hliWW7WTvvwv0rKZWlZMO-DvR+N7D1u4H+fwQ2P8kQnQVPTKROWf--WggxcUoMpVOeLwv1nQuvkMau9MGAm5zzO7amEO91knHOjFTgIpz6EB5tjfwV4kea+LgNz28UveQkkl2I3mWvphucz8nYgun2u26n47X6ruN9AfxOGhqLlN5C7HYwCuIV2xDED6PpdDaKRw8lK5Px9XhWNKEtiiM8laMyCpdlrBggxz0QnTgcuKYFy7mxFVOAbvd6tnNHaWZkOUzupFozvm9otqaZ3Fp6jjf3JJbTCa6gAZYhkewQ4g0d2u5wT6u090kGO1hkShvYHJAVvB9sK9yMiSWF6FsiqzS+3-W7vud1+kUPVSf2YAZMpOBCA+pyH4CRRfaBx++6LafXbzvtlq3DE6JOmXOhmJJDmQsTYgvtqrjVsT9T0fCx4YboeQ78eP9weSH6-t51IsMnCeJtZpIVqS9EsBO7Vsj1XzwhvyL8iYlnEGxNR1SP3sysHB3HrI+FIbWRnJk9wP-PNUZ-NMqv9d540fP86u-rxXzanjI5HbzI-rYRNKv0n6RwP3l0dBZcJSZ7pf1LBfXFfjRIVRv-LkLBbWFEwZAZWkq1Gxtaj8VCNqOgfBtLOm011DMWt6kNzCwTHjaLNiu7a56lZjWJgljmKrEPZzW+D-PtENIsz5wFzdorr6OzfwBGSZuZ
Last edited by dmbaer on Mon Dec 10, 2018 11:24 pm, edited 1 time in total.

Post

After a bit of trial and error:

Image

I used 3 MPs (6-8). MP6 enables / disables the other two and set the values for MP8. MP7 controls the full Frequency range and MP8 sets it (from the values set by MP6). Also, MP8 is set to Not Visible.

Code: Select all

$eNrFV01z4jgQvedXdClz2yHY4stU2Z7iM0NVSLxAJtm9KXZDvBESkeQAOexv37IxxDiTzGR2q9YnqdUtN6-7PTful82SwxMqHUvhEfvMIoAilFEsFh5JzLzikC-+iTu+vb3VaEwsFhpOPWIT6ElhlOQclR4Idscx8ohFoKek1vIJ1VhG6BFaj7pVGZrCwWy7Qo90BONyQaCXKIXCBAo1mlHfIzPUBqYmmc--7jLxoKF3zzhHsUDYORHoq+0Nms58jqHRI7FKzDmLRZbV+fVoGj8j9YjdoO3PrXrzYBswvaUecRr0c73dJHARi4cs5YvJdMVjY1ClbrZHbNuxy2bqEdomMGabi+FVl8vwIbV6pEYJjLtHGV0lppjSOOEmDphiSzSodE9yzlY6h+vbHvqW49Qdi-juAacUoe0zKpgupTT3ArX2iHVmNQjcxCKS6x2QX5kQxHcDhfOYG1SxWPhuIGNhYMjZQnc9YtdtApu0vDXLtmi73W40m6T6llu97FYtXa5kiFpLZcGh8jaBYcx5tpjey3VPcqm+MZ6gzmyz+zjM0K4W4m3I3KhHrI5DqTMcErh6QqXiCLOTt0PpIdShjm11PhBa+-XQeiFhOnDoj0Orr8rpn7h3TERWTqPvNtQUOYYGo4Ani7SLrM80LXG20-sFDBPOL9kSPXKlw5hzZqQCm0DZRuA267U-PPJyzfSYzadDhY8JinCbtknbrh3qD6c3aLLGa7VbdrNJa23bom8kfikNjkSEG4+0msR3p-dshTCdDYJgMpgOZjkq41F-NEm5nDXXUT4Hw2GRmjLEUh065pJfMjQglYyeTITxSI1kuxQNyyPdLQjcGHgQ8u7lwPYIpRZ8fYZ5vMHo5YB6pF4vHvRxzhJuspbO0Dy-Hg2i2Mhc6LrxYqc0bIkTuc5c8pNUxQpVgQPUBKYr3AtBfvGZ3aL5Lg-fwh0TDyDYEtPq7X8rDDZmkrMr7YQJEwv0SJ3AwWX3yhJmUNk5QAsqe-6+vJ74nzr54-Sdzvcet3q47KfSGQmDaiU5MzvgfjI9Z7-KbrfTfsuS-G6u9X7lUd8knT-785ugETAZdB9le135aK4fyO096F6e-jpY55ugU-mfoHsbt06n-2PcqiWSlVnXLJPjrOE4GRlyTRwOLcuyUrEskeZSqiXje6Lsd7sfl88X0IHKDxhDrXqZMfNYaQOrfYZHvHm34l0mIrChAkVJPc7gAGP1FTTNMjSt19DUmkVoaLs7fBea1FwYr0oKc349+hbr+I5jQXCOcXwfu8a-wW5Pyeyi-xjKVhlKp6jt9EjbdxJ+pOo78X4P1TeFuoTS7ixAFaIw+pcU+CNI+J+aaqgW57-X7L9+m9HH-po9BmGw9rz3OOm8smj-xO2EJn7C3dQMxc1uvpCqMIvaBFKg0oXv9pjBhVTbkcHlSMxl1XfzOT1vqqxgxRvTt6kVTDKloqSafqvzT-RNHJn7se9OZaLCbIg-zJL70u9dqnnMiVst-OPQ-sk-SdQPZw==
DarkStar, ... Interesting, if true
Inspired by ...

Post

Thanks, DS. I an quite looking forward to bringing this up in MXXX to see how you did it.

Post

Melda Preset Designer of the Year Award goes to DarkStar! :love:
These special situations are sometimes rather tricky to handle indeed...
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

Unfortunately,this solution only just "almost works". Notice the frequency when position one in the bank is returned to. It is not the value in Control A. As soon as Control A has a value change (almost instantaneously in the video), the frequency gets reset to the value in Control A. However, just before that, it is set to whatever the value in the bank MP for slot 1 has recorded. This is the exact barrier I could not find a way around.

I think I read here at one point that the Enabled status of MPs only affect the display/modifiable characteristics. Disabled does not actually suppress the function of the MP. Assuming I am remembering correctly, playing around with enabled/disabled for these MPs might be good from a UI perspective, but it will have no bearing on the operation.

In the absence of a slicker solution (some simple script capability in the MPs), it would be nice to have an MP ping function: a way of telling an MP that it should pretend its value has changed even if it had not. If we could just tell Control A to assume it just had been adjusted, even when it had not, it would send an update to the target and things would be well ... or at least I think that would make this work.

Post

I don’t know if there is really a way to do that. I haven’t checked out your preset, but if it’s similar to the organ you shared before there might be an ugly solution. Copy everything you did in the generator in a “modular” module. Then when you switch to one of the presets bypass everything in the generator except the “modular”. Then set the modular to whatever sounds you like and then when you want to go back to using the drawbars, bypass the modular and unbypass everything else. Its ugly, but I believe it will work how you’d like(if I understand correctly).

Post

Ok, so, to make a MP update the value just attach some control of it (even not used, like Param 1 range, in interval mode, hence not used) and when changing it, it wouldn't do anything, but let the MP "process".
Would it help if disabling the MP would prevent it from actually working? Shouldn't be a problem.
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

Chandlerhimself wrote: Thu Nov 29, 2018 1:54 am I don’t know if there is really a way to do that. I haven’t checked out your preset, but if it’s similar to the organ you shared before there might be an ugly solution. Copy everything you did in the generator in a “modular” module. Then when you switch to one of the presets bypass everything in the generator except the “modular”. Then set the modular to whatever sounds you like and then when you want to go back to using the drawbars, bypass the modular and unbypass everything else. Its ugly, but I believe it will work how you’d like(if I understand correctly).
I'll take a closer look at this possibility. Last time I looked, however, modules in the Generator section could not be bypassed the way they can in the FX section. Otherwise, this has some definite possibilities. I realize what I'm trying to do here is specific to a drawbar organ with preset keys. It's probably not that universally applicable, so a solution that's elaborate would not be unacceptable (as long as efficiency doesn't suffer as a result).

Post

MeldaProduction wrote: Thu Nov 29, 2018 11:02 am Ok, so, to make a MP update the value just attach some control of it (even not used, like Param 1 range, in interval mode, hence not used) and when changing it, it wouldn't do anything, but let the MP "process".

I think we have the same problem, just in a different order. If two MPs control the same target, the last one that "fires" wins. Is that not the way things work?
MeldaProduction wrote: Thu Nov 29, 2018 11:02 am Would it help if disabling the MP would prevent it from actually working? Shouldn't be a problem.
If this can be done without compromising backward compatibility, I would respond with a resounding YES! First of all, this is the way most people would assume things work to begin with. I know I certainly did. Secondly, it opens up a new dimension of control possibilities.

Assuming that control updates fire in a predictable fashion (hopefully in the same order in which the MP targets are declared), I believe we could do some things that cannot be done right now with some creative use of MP enabling/disabling.

Post

dmbaer wrote: Thu Nov 29, 2018 9:41 pm
Chandlerhimself wrote: Thu Nov 29, 2018 1:54 am I don’t know if there is really a way to do that. I haven’t checked out your preset, but if it’s similar to the organ you shared before there might be an ugly solution. Copy everything you did in the generator in a “modular” module. Then when you switch to one of the presets bypass everything in the generator except the “modular”. Then set the modular to whatever sounds you like and then when you want to go back to using the drawbars, bypass the modular and unbypass everything else. Its ugly, but I believe it will work how you’d like(if I understand correctly).
I'll take a closer look at this possibility. Last time I looked, however, modules in the Generator section could not be bypassed the way they can in the FX section. Otherwise, this has some definite possibilities. I realize what I'm trying to do here is specific to a drawbar organ with preset keys. It's probably not that universally applicable, so a solution that's elaborate would not be unacceptable (as long as efficiency doesn't suffer as a result).
In the latest update they added the button for bypass, so I assumed that they added the parameter back as well. It should work, but I haven’t tested it yet. I really hope it does because it opens up a lot of possibilities for things we can do.

Post

I think the disable -> disable MP should work without problems. I'll add it to todo list.
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

MeldaProduction wrote: Fri Nov 30, 2018 7:11 pm I think the disable -> disable MP should work without problems. I'll add it to todo list.
:tu: :tu: :tu: :tu: :tu: :tu: :tu: :tu:

Post

Chandlerhimself wrote: Thu Nov 29, 2018 10:52 pm In the latest update they added the button for bypass, so I assumed that they added the parameter back as well. It should work, but I haven’t tested it yet. I really hope it does because it opens up a lot of possibilities for things we can do.
Also in terms of efficiency, a bypass module ability in the generator section could be even more important than the same thing in the FX section since we have, of course, one instance of each module running for each active voice. But, yes, it also opens up some potential new possibilities, so it's good all around.

Post

I got this to work just the way I wanted using the new feature where disabled MPs are not just greyed and not modifiable, but actually do not trigger a value change in their target.

However, there is a major mystery as to how one gets it to work. The easy screen shot shows four controls. The bottom one is present only to make the results visible from the easy screen. The next one up is a preset bank, the first entry of which says to use Control A. Above that is a normally not-visible control used to allow Control A to stay not disabled (otherwise it would not be needed at all).

OK, this now works as desired. However, it only works because the bank MP duplicates the final parameter assignment. Unclick either of the last two (of the four) assignments, and it stops working. What we get instead is the bank's slot 1 value assigned to the final control when selecting slot 1 after having selected slot 2 or 3. I discovered this because I couldn't get anything else to work and just tried a "hail Mary" tweak.

So, it works ... YEAH!!! But because the technique has some unexplained weirdness, it's hardly something I can rely on to work in the future.

Below is the MXXX preset:

Code: Select all

$eNq9Vltz2joQfs+v2FHOW0uwjQEzY9Ph2tCGhsHkcs6bghfwREhUkpOQh-72M5aNAw7pmZ5mCi-Wanf17ae9yP-0tGbwgFLFggfEPrMIIJ+LKObLgCR6UfHIp-aJP769vVWodcyXCk4DYhPoCa6lYAylGnB6xzAKiEWgJ4VS4gHlWEQYEMeNulUx13sbs+0GA9LhlIklgV4iJXI9kahQj-oBmaHSEOpksfjRpfxeQW9FGUO+RMiUwCHQl9sb1J3FAudajfgm0Z9pzA2uz1ejMH5GJyB2vWZ9bLbcQjagausExLNqmfgi5vcG9MU03LBYa5Spmh0Q2-bsstgJSM0iMKZPF8PLLhPz+1QakJpDYNw9QHSZ6H1I44TpeEIlXaNGqXqCMbpROWH7uhXHJXC9u42m5zVrDdL2C+pS0rbPKCFcC6FXHJUKiHVm1QncxDwSjxm355Rz0vYnEhcx0yhjvmz7ExFzDUNGl6obENu1CTylN16zbMtptVr1RoNU31Jzy2rVknMp5qiUkBYUyWATGMaMmY9wJR57ggl5TVmCyshmq3hu6K-u2dtg1JyAWB3PcbzhkMDlA0oZR2h23jZ1ClPP8Wyr8wumtf9v6u4Bdgae89+m1VfX2T7x7yiPrLyyjmZYiAznGqMJS5Zpqlgf7fSKzUrtPmCYMPaNrjEgl2oeM0a1kGATKMsI3Jrk+zs9cGcdHhb46VDi9wT5fBuQ2lndrRf3D6c3qI39MahtP1zRDUI4G0wm00E4mOWBj0f90TStYJM-B0cWguIjFRlS0u5zWD-tksCCPi5owrRJrrQgGjWr5bSa9Vqjbop-EMVa5B3pm5BryrKeQNc4FY9ZJAebGV95i4MOgXCDeb0WhzRdL19ltt0tLGKpNGx2wFJmd9-maqaULzEgLoFCnp1kllB78W4SpRRmOW7nN0LLVmwL53EUIYfx5A-F2CSQa1hnlvvTgJ1ywC6kE6EnEq4DUiNmlfq2AnKlEIrrypy+7JuGbsH584soLXXvUNRb4fz+iKqR7+mXSM8KMy2po7SbGbZjPRtg6hjVZZrvKL8HTtd4QPDgSU-z9nnI9YhrlBvBqM6cvcV9cVz7r07x63UGa2v58OVuMql7XdrsuasPg4pfLZy8B4RSEUMF8qSHym5mHIXn9b3Osd8fhPfi3c6S9wAoPoXJ9MOwseq3msOv9XP39vvVpLnEFepp8sX9ZR7fHdim-4Gu-zH-TQHsawlYqfbccu01fqPZzKhcooZrRtOqfJ3779pmupRHYEMF9icgVKCYZj-tOY1XEtU+8TtzHT9g-vxMScjGZo9qXAq5HWlcj-hCVNt+-pzNAzcH7BunvuQGpiYJHVJNh1s+027iSK-GbT8UiZybt27xvtpB3alUc5sTv7r3MFftk38BbIfL0g==
You do not have the required permissions to view the files attached to this post.

Post

Simple: only MPs that are actually moved do "their thing". By selecting Bank 1 you didn't really move parameter 3, did you? So the parameter 3 would start working from that moment, but not AT the moment you chose Bank 1. But by assigning it to the "Presets" (even if you'd change a range of a parameter that isn't even there) you forced it to do its job, so it updates the value immediately.
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post Reply

Return to “MeldaProduction”