JamesBRey Posted June 3, 2021 Share Posted June 3, 2021 HI Group. I have a little conundrum I am trying to figure out in the Logic environment trying to unpack NRPN's to make control objects for a Novation A-Station. From the Novation spec here is an example of how they have packed controller #71: CC / NRPN 71 - OSC 1,2,3 OCTAVE / OSC 1>2 SYNC (see packed parameter 4): bits 0-1 2-bit osc1 octave -1,0,1,2 bits 2-3 2-bit osc2 octave -1,0,1,2 bits 4-5 2-bit osc3 octave -1,0,1,2 bit 6 osc1>2 sync 1=on Is there a way to address these bits separately with an environment object without the data affecting the other bits when used. I have tried a lot of different things using CC and SYSEX faders and while I can get the parameters to respond, I cannot figure a way without affecting the other bits / parameters. Any ideas? TIA! - jr Quote Link to comment Share on other sites More sharing options...
JamesBRey Posted June 5, 2021 Author Share Posted June 5, 2021 bump. Anyone? Quote Link to comment Share on other sites More sharing options...
ValliSoftware Posted June 5, 2021 Share Posted June 5, 2021 HI Group. I have a little conundrum I am trying to figure out in the Logic environment trying to unpack NRPN's to make control objects for a Novation A-Station. From the Novation spec here is an example of how they have packed controller #71: CC / NRPN 71 - OSC 1,2,3 OCTAVE / OSC 1>2 SYNC (see packed parameter 4): bits 0-1 2-bit osc1 octave -1,0,1,2 bits 2-3 2-bit osc2 octave -1,0,1,2 bits 4-5 2-bit osc3 octave -1,0,1,2 bit 6 osc1>2 sync 1=on Is there a way to address these bits separately with an environment object without the data affecting the other bits when used. I have tried a lot of different things using CC and SYSEX faders and while I can get the parameters to respond, I cannot figure a way without affecting the other bits / parameters. Any ideas? TIA! - jr I tried looking at that but it doesn't appear that would be easy if not possible to do in The Environment. But in Scripter you can do that because it supports Bitwise operations. This shows a value of 62 coming in but I show the breakdown of your 4 bit ranges. I shift to the original 2 bit values as well. Quote Link to comment Share on other sites More sharing options...
JamesBRey Posted June 5, 2021 Author Share Posted June 5, 2021 V, Thank you so much for the reply and clever response. I am trying to keep this to Logic environment only though since that is in my wheelhouse and I'm not a coder enough to wrap my head around all that .... I had a thought though about how I might accomplish it there in the environment. If I embed the NRPN / CC command within a SYSEX message - I can gain control over an individual byte of the message that way. Does anyone know if this is possible? I believe if I put the CC message after the SYSEX header, the control might work the same. Any thoughts? TIA! - jr Quote Link to comment Share on other sites More sharing options...
ValliSoftware Posted June 6, 2021 Share Posted June 6, 2021 okay it is possible but using transformers in a unique way to accomplish bitwise operations. This is a start, I'll look at maybe optimizing this further, but this does work. Quote Link to comment Share on other sites More sharing options...
ValliSoftware Posted June 6, 2021 Share Posted June 6, 2021 Okay, I optimized this. Quote Link to comment Share on other sites More sharing options...
JamesBRey Posted June 6, 2021 Author Share Posted June 6, 2021 V, That is incredible work, man! Pure genius. I'll need to study up on this a bit to get my head around it, but thank you very much for the effort and sharing your insights! Amazing work! - jr Quote Link to comment Share on other sites More sharing options...
ValliSoftware Posted June 6, 2021 Share Posted June 6, 2021 I made one more update and that's to change the final midi channel. I set it to channel 1 but once you see how to set that, you can change it to any channel that you want, including channel 10. Here's a video where I show each Transformer setting. Pause at will. Quote Link to comment Share on other sites More sharing options...
JamesBRey Posted June 8, 2021 Author Share Posted June 8, 2021 Hey V, thanks a ton for posting that - it is really interesting and complex how you figured all that out. It inspired me to try some ideas with the transformers and I was able to come up with a very sleek "binary calculator" that achieves the same thing and works well for this purpose - although I also had some guidance from Len Sasso's environment book from the 90's where he discusses it. If you are interested, I can post a pic here for you to check out. It is essentially 7 inline transformers and a few more fader objects. Thanks again! -jr Quote Link to comment Share on other sites More sharing options...
ValliSoftware Posted June 9, 2021 Share Posted June 9, 2021 Hey V, thanks a ton for posting that - it is really interesting and complex how you figured all that out. It inspired me to try some ideas with the transformers and I was able to come up with a very sleek "binary calculator" that achieves the same thing and works well for this purpose - although I also had some guidance from Len Sasso's environment book from the 90's where he discusses it. If you are interested, I can post a pic here for you to check out. It is essentially 7 inline transformers and a few more fader objects. Thanks again! -jr Please do. Quote Link to comment Share on other sites More sharing options...
JamesBRey Posted June 9, 2021 Author Share Posted June 9, 2021 I will, but give me a few days to get it together as I am still developing in Logic 4 and don't have INET access on my old OS9 machine. I'll post a pic ASAP. - jr Quote Link to comment Share on other sites More sharing options...
Optimisitc Posted November 15, 2022 Share Posted November 15, 2022 @JamesBRey Just joined the forum to come looking for the exact same method of controlling NRPN directly in Logic's environment. How difficult did you find this to setup in the end? Was it as simple as packing one of these (rather complex looking) set of components into a macro and modifying a more high level set of ranges or did each parameter require a bit more modifying than that? Would love to see your solution if you ever got around to finishing it. Quote Link to comment Share on other sites More sharing options...
JamesBRey Posted November 16, 2022 Author Share Posted November 16, 2022 I did mange it in the end - but not through the use of NRPN's. I built a "binary calculator" in the environment which was able to address the various bytes in a string individually. It was not simple and took a lot of figuring but it does work well in the end. It does not involve macros - just transformers, fader objects and a lot of cabling. Sorry I can't help with the NRPN's. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.