thirdspace Posted July 18, 2022 Share Posted July 18, 2022 Hi all - I am attempting to assign a MIDI controller to control the Eventide OctaVox plugin, and am struggling with how to set up Logic to select a specific value from a parameter setting that has a range. OctaVox is a harmoniser and the parameter I am trying to control is 'Interval'. I can make it step through each interval in turn by assigning a switch on my MIDI foot pedal that sends CC73 value 127. However I also want to assign another switch on the MIDI foot pedal to reset the interval to 'Unison' from whatever it is currently set to. Clicking the plugin interface to set the interval sends MIDI messages (only when the footpedal is attached - not sure why this is) and the value that is sent when selecting Unison is 64. I have tried setting the footpedal to send CC 73 value 64 but this does not set the plugin interval to Unison. Has anyone got any experience with anything similar and can shed light on how best to make this work? Thanks in advance Quote Link to comment Share on other sites More sharing options...
des99 Posted July 18, 2022 Share Posted July 18, 2022 So in your assignment, you want to recognise the MIDI message of CC 73 with a value of 74, and in the value/format fields set to appropriate value Logic should set that parameter to on receipt of the message. I don't have that plugin to check how it responds, so you might need to do some fiddling if it's not working. Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 20, 2022 Author Share Posted July 20, 2022 Thanks @des99 Is there a way to see what value is being passed to the plugin? This way I could form a better understanding of what effect the fields in the Value section has on the incoming MIDI message. Quote Link to comment Share on other sites More sharing options...
David Nahmani Posted July 20, 2022 Share Posted July 20, 2022 On 7/18/2022 at 4:29 PM, thirdspace said: Clicking the plugin interface to set the interval sends MIDI messages (only when the footpedal is attached - not sure why this is) and the value that is sent when selecting Unison is 64. Is that a MIDI CC value? What MIDI CC # is that? What if you send that exact MIDI CC # and value from a Logic fader in the environment? Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 20, 2022 Author Share Posted July 20, 2022 (edited) Interestingly it can be any CC number - as long as a controller assignment has been created connecting that CC number to the parameter (in this case 'interval'). Connecting and pressing a Fader button in the environment to the audio channel with the plug-in inserted has no effect on the plug-in. (The Fader button is set up to send the correct CC number with value 127 just like the foot switch). Clicking the plug-in parameter to change it's value shows a series of messages if a Monitor object os connected to the audio channel in the Environment. Clicking through each interval in turn reveals a set of messages (including some that been with F?) as shown in the screenshot attached: Don't know if this sheds any light on anything - I'm sure confused by this! Edited July 20, 2022 by thirdspace Quote Link to comment Share on other sites More sharing options...
des99 Posted July 20, 2022 Share Posted July 20, 2022 (edited) On 7/18/2022 at 3:29 PM, thirdspace said: However I also want to assign another switch on the MIDI foot pedal to reset the interval to 'Unison' from whatever it is currently set to. Assuming you are sending a CC value between 0-127 (I'm using CC 84 on a slider in this example), set your assignment like this: This means, whatever CC value that comes in, it will just reset that parameter to the middle value, which in this case, is Unison. (This is for the "Interval1" parameter). This works fine here on the demo version I just installed - whatever the current value of Interval1 is, I can move the MIDI control (in my example) and it's instantly set to "Unison". You actually don't even need to Lo7 value here, because I don't even care about the CC value, just on receipt of CC 84 with any value, it will set that parameter to the middle of it's range - but obviously your implementation needs may vary. All this assignment is doing is "if I receive a CC 84 at all, set the Interval1 parameter, scaled according to the plugin value, to the middle position." Edited July 20, 2022 by des99 Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 21, 2022 Author Share Posted July 21, 2022 (edited) Thanks - that makes sense but doesn't work with my setup (I'm using CC 73). When I send a CC 73 any value but with your settings nothing happens in Octavox. With a bit of messing around I can get it to select Unison by sending CC 73 value 1 from the MIDI foot-switch with the following settings: So that 'works' but I'm a bit confused why your settings do not for me. And then if I want to have one switch doing the Unison thing, and another stepping the interval through its values I would need a second CC assigned to the same parameter? It looks like you can do this in Controller assignments but unfortunately it doesn't function. Edited July 21, 2022 by thirdspace Quote Link to comment Share on other sites More sharing options...
des99 Posted July 21, 2022 Share Posted July 21, 2022 (edited) 2 hours ago, thirdspace said: So that 'works' but I'm a bit confused why your settings do not for me. No idea, all I can say is I downloaded the demo of the current version and implemented this and it works fine. But if you have found a solution that works for you, that's fine too. Your settings are doing a broadly similar thing, just responding to a CC value of 1, and converting that value to a 64 "middle" setting for the parameter by multiplying that 1 by 64. Either way, the parameter is set to the middle value, which is your goal. 2 hours ago, thirdspace said: And then if I want to have one switch doing the Unison thing, and another stepping the interval through its values I would need a second CC assigned to the same parameter? Correct. 2 hours ago, thirdspace said: It looks like you can do this in Controller assignments but unfortunately it doesn't function. There's no reason I can think of why this wouldn't work, perhaps you haven't set up one or more of the assignments correctly..? Edited July 21, 2022 by des99 Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 21, 2022 Author Share Posted July 21, 2022 Thanks for your reply! 29 minutes ago, des99 said: No idea, all I can say is I downloaded the demo of the current version and implemented this and it works fine. But if you have found a solution that works for you, that's fine too. Your settings are doing a broadly similar thing, just responding to a CC value of 1, and converting that value to a 64 "middle" setting for the parameter by multiplying that 1 by 64. Either way, the parameter is set to the middle value, which is your goal. Agreed - but maybe you can see why this is frying my brain 🤯 - it should work but it doesn't... 30 minutes ago, des99 said: There's no reason I can think of why this wouldn't work, perhaps you haven't set up one or more of the assignments correctly..? Have you got this working? For me when I add the second assignment it auto adds the existing CC info to the new one in the Value change field like this: B0 49 01 B0 4D Lo7 So I have been deleting the last three numbers to give this: B0 49 01 But neither works. In fact when I add a second controller assignment the first one stops working, and doesn't start working again if delete the 2nd one, so I have to delete them both and start again to get a working one. Wonder if there's something odd about the messages being sent by the MIDI footpedal - although they look OK in MIDI monitoring software... Got to admit - I'm stumped at this point 🙃 Quote Link to comment Share on other sites More sharing options...
des99 Posted July 21, 2022 Share Posted July 21, 2022 26 minutes ago, thirdspace said: Have you got this working? I just rigged it up to get you the solution to your original problem. I haven't rigged up a second control, but I can do so. 27 minutes ago, thirdspace said: For me when I add the second assignment it auto adds the existing CC info to the new one in the Value change field like this: B0 49 01 B0 4D Lo7 So I have been deleting the last three numbers to give this: B0 49 01 But neither works Do you understand what the learned messages mean? What you are rigging up doesn't make sense, because you are making two assignments that respond to exactly the same midi message - they first assignment says: "When I receive a CC #73 value 1 message, do this..." and the second one says "When I receive a CC #73 value 1 message, do something else..." Which is the same exact incoming message... 29 minutes ago, thirdspace said: Wonder if there's something odd about the messages being sent by the MIDI footpedal - although they look OK in MIDI monitoring software... You don't have to "learn", you can just type the response string you need directly into the assignment. Learning is fine for many cases, but it's not always possible for Logic to determine what you are trying to do, and in these cases, you need to tell Logic explicitly what messages and ranges you want an assignment to react to. Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 21, 2022 Author Share Posted July 21, 2022 Apologies I'm not being very clear am I! Yes the second assignment is a different CC number. Quote Link to comment Share on other sites More sharing options...
des99 Posted July 21, 2022 Share Posted July 21, 2022 (edited) No worries - sorry it's sometimes difficult to know what someone has or hasn't done. Can you post screenshots of both of the assignments, and also tell me which buttons are triggering which and what MIDI messages they are sending? Edited July 21, 2022 by des99 Quote Link to comment Share on other sites More sharing options...
des99 Posted July 21, 2022 Share Posted July 21, 2022 (edited) Ok, I just rigged this up and it seems to work fine for me: Assignments I used (ymmv): Edited July 21, 2022 by des99 1 Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 24, 2022 Author Share Posted July 24, 2022 (edited) Thanks @des99 this all makes good sense. I have tried to replicate your setup, but so far success eludes me. In the gif that shows the environment - what is the Monitor object connected to? I’m assuming the channel object containing the Octavox plugin? If this is the case I’m assuming the next step is to open the Controller Assignments window to connect the virtual controllers you have create in the environment to the plugin parameter ‘interval’. What happens for me at this age is: Click Learn Mode Click the interval parameter on the plugin window Click the Fader>button object in the enviroment At this point I would hope that the Fader>button object is recognised in the Value change field - but for me this doesn’t happen, which leads me to conclude that something is not connected correctly, or my process is wrong. Any guidance with a step by step approach would be great so I can check my process. Thanks in advance Edited July 24, 2022 by thirdspace Quote Link to comment Share on other sites More sharing options...
des99 Posted July 24, 2022 Share Posted July 24, 2022 2 minutes ago, thirdspace said: In the gif that shows the environment - what is the Monitor object connected to? I’m assuming the channel object containing the Octavox plugin? I'm just using the environment objects to generate MIDI CC's to show you the setup, as I can't show my physical MIDI controller in the GIF. They are just sending MIDI CCs to the IAC bus and thus back into Logic, exactly as would be sent my a physical controller - my physical controller sends the same CC's and works exactly the same with those assignments. 4 minutes ago, thirdspace said: If this is the case I’m assuming the next step is to open the Controller Assignments window to connect the virtual controllers you have create in the environment to the plugin parameter ‘interval’. I'm not sure why you are involving the environment? I thought you wanted your physical controller to control this. You don't need to replicate a setup I just used to show you how I rigged it up and that it works. I'm just showing you what controls are sending what MIDI CC's, and what controller assignments are reacting them and what their settings are so you can see exactly what is goin on. Learn a message to the Interval parameter, any message, it doesn't matter. Edit the message values to match what CC's your controller sends. Duplicate that message as many times as you need and edit the messages accordingly. Everything you need, including all the controller assignments are shown in the gif above. I'm not sure what stumbling block you are having, but if you're getting confused, just do one thing at a time. Setup one assignment, parameters shown above, to match the "Reset" behaviour. Verify it works with your controller. Once that does, duplicate and edit it for the next behaviour you want. If you can't get the one single assignment working, post back with exactly what MIDI message your controller is sending for this control, and the assignment you have created for it, and we'll go through it one assignment at a time. Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 25, 2022 Author Share Posted July 25, 2022 19 hours ago, des99 said: They are just sending MIDI CCs to the IAC bus and thus back into Logic Thanks - would you be able to show how you have this connected? I just thought you could connect the fader object(s) to the Sequencer Input but that doesn't work for me so I'm keen to see your setup. Reason for my interest (and sorry it's a little off topic) is so I can edit and test setups without having to have a hardware controller connected (like if I'm on a train for example) With the hardware controller connected through trial and error I have some things working now - one area of confusion for me is that my hardware controller is a set of footswitches sending out a single value or alternating value each time they are pressed so not quiet the same as a continuous fader slider that sends out a range of values. Controller Assignments setup looks like this in case it's of interest: Quote Link to comment Share on other sites More sharing options...
des99 Posted July 25, 2022 Share Posted July 25, 2022 (edited) Sure. Create an Instrument object in the environment, and set it's MIDI Output to "IAC Bus". (If your IAC Bus is not active, turn it on in the Audio/MIDI Setup utility app.) Cable your switch/fader/button objects to this instrument, so all MIDI arriving at that instrument object gets sent to the MIDI IAC Bus. Logic will see it as external incoming MIDI events. (This object is off-screen in my above example, but it's what the monitor object is cabled to.) Note: it won't work cabling it to the sequencer object as that's already past the point controller assignments intercept the incoming MIDI stream (that point is actually pre-Environment). Edited July 25, 2022 by des99 Quote Link to comment Share on other sites More sharing options...
Atlas007 Posted July 25, 2022 Share Posted July 25, 2022 5 hours ago, thirdspace said: my hardware controller is a set of footswitches sending out a single value or alternating value each time they are pressed so not quiet the same as a continuous fader slider that sends out a range of values. I think that is addressed via the Mode: parameter (currently set as Relative in your screen capture). Quote Link to comment Share on other sites More sharing options...
thirdspace Posted July 26, 2022 Author Share Posted July 26, 2022 17 hours ago, des99 said: Sure. Create an Instrument object in the environment, and set it's MIDI Output to "IAC Bus". (If your IAC Bus is not active, turn it on in the Audio/MIDI Setup utility app.) Cable your switch/fader/button objects to this instrument, so all MIDI arriving at that instrument object gets sent to the MIDI IAC Bus. Logic will see it as external incoming MIDI events. (This object is off-screen in my above example, but it's what the monitor object is cabled to.) Note: it won't work cabling it to the sequencer object as that's already past the point controller assignments intercept the incoming MIDI stream (that point is actually pre-Environment) Very useful indeed - much appreciated! I have been scratching my head about this for a while - good to get it working - thanks 🙏 1 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.