Page 2 of 2

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 21 Aug 2012 07:53
by SBPBK
Hey fader8,

Great to meet a fellow Logic/Lemur user! The more I am on this forum, the more I see how amazing the Lemur community is and I feel fortunate (as should every other Lemur user) to have access to such a wealth of knowledge and help from experienced users.

In regards to my issue, I just want to clarify a couple things - As far as MIDI-IN is concerned, I am currently mapping everything with my Controller Assignments window rather than using the environment. The MIDI going back out to the Lemur sends through the environment, but I do NOT have MIDI going back out for all of my templates for 2 reasons… The first and primary reason being that (as I'm sure you're aware) some softsynths have more than 127 parameters which results in multiple synth parameters outputting an identical CC1 (controller) value, so I therefore can not have the bi-directional control in these cases, unless there is some work around that I just have yet to come by… In addition, I wouldn't be able to map these synths utilizing the environment (as far as I'm aware) because mapping within the Controller Assignments window gives the advantage of its mapping translation being on a 'CC to parameter name' basis, rather than a 'CC to CC' basis. My other reason for not utilizing the bi-directional control, is simply that it is sometimes not necessary.

The presets I am trying to "bang" out are presets that I am loading as AUPresets.... Even if I were to map my templates through the environment, the newly loaded AUPreset values on the GUI would not be physically represented by any objects within the environment.
fader8 wrote:Assuming you have fader objects in Logic providing the conversion from cc to fader messages, as opposed to transformers, you can bang those faders with a button loaded with meta message 99 set up for increment without rollover. Another button to decrement without rollover.
Do these meta 99 messages ever end up needing to get transformed to an 'absolute' CC2 value at any point or do they simply function as relative messages? When they get converted to CC information, the CC2 data it passes along will just be a relative message? Or do you mean using the meta message to bang the values of the fader objects within the environment out to my Lemur? I am not familiar with this type of message at all, but am really curious to try this out so any further insight you could provide would really be appreciated! Thanks so much for taking the time to respond about this, this is really something I am hopeful to figure out because it will make my Lemur/Logic setup absolutely seamless!

Also, you mentioning the clicks and ports section has made me curious. Thus far, I have not included it in my workflow but not for any particular reason… Is there something I might be missing out on?! Also, what do you mean about a 'fanout'? Always looking for cool new techniques! :mrgreen:

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 21 Aug 2012 17:40
by fader8
SBPBK wrote:In regards to my issue, I just want to clarify a couple things - As far as MIDI-IN is concerned, I am currently mapping everything with my Controller Assignments window rather than using the environment.
You're brave!
SBPBK wrote:The MIDI going back out to the Lemur sends through the environment, but I do NOT have MIDI going back out for all of my templates for 2 reasons… The first and primary reason being that (as I'm sure you're aware) some softsynths have more than 127 parameters which results in multiple synth parameters outputting an identical CC1 (controller) value, so I therefore can not have the bi-directional control in these cases, unless there is some work around that I just have yet to come by…
Yup, eg Ultrabeat. No workarounds for that.
SBPBK wrote:The presets I am trying to "bang" out are presets that I am loading as AUPresets.... Even if I were to map my templates through the environment, the newly loaded AUPreset values on the GUI would not be physically represented by any objects within the environment.
Thats a problem. If you want the values reflected in Lemur, you will have to map back each control. Minus the ones that you can't do to the aforementioned issue. As for using the controller assignments, you lose a lot of control because you can't process that data beyond just what's available to you in the CA window. Hard wiring converter faders/transformers in the environment is the best way to achieve what you want.
fader8 wrote:Assuming you have fader objects in Logic providing the conversion from cc to fader messages, as opposed to transformers, you can bang those faders with a button loaded with meta message 99 set up for increment without rollover. Another button to decrement without rollover.
SBPBK wrote:Do these meta 99 messages ever end up needing to get transformed to an 'absolute' CC2 value at any point or do they simply function as relative messages? When they get converted to CC information, the CC2 data it passes along will just be a relative message? Or do you mean using the meta message to bang the values of the fader objects within the environment out to my Lemur? I am not familiar with this type of message at all, but am really curious to try this out so any further insight you could provide would really be appreciated! Thanks so much for taking the time to respond about this, this is really something I am hopeful to figure out because it will make my Lemur/Logic setup absolutely seamless!
You don't transform meta messages. They are system messages and are strictly for controlling elements within Logic. You can sequence them on a track too. In fact, thats probably best for you. Hit play, the increment then decrement bang gets sent to all your incoming fader converters, causing the plugin to spit out fader messages to your outgoing fader converters, thus updating Lemur.
SBPBK wrote:Also, you mentioning the clicks and ports section has made me curious. Thus far, I have not included it in my workflow but not for any particular reason… Is there something I might be missing out on?! Also, what do you mean about a 'fanout'? Always looking for cool new techniques! :mrgreen:
When you bring MIDI into the environment for real time control like this, you want to reroute the inputting port away from the sequencer object. You can do that at the Physical Input object by cabling the desired port to something else, like a channel splitter for example. You can ask more about this at logicprohelp.com. Lots of folks can help you with this Logic stuff there. I moderate that forum with David Nahmani so I'll see it if you post.

I have just completed a large Logic project for on stage performance use. Each performer has control of their monitor cue mix from their iphones and 2 ipads control performance sequencing and main mix. Its nice to wander around in the audience and tweak! Any change from within Logic or from an iDevice, updates all devices. I use Osculator for the OSC-MIDI-OSC conversions, which has been fantastic. Lemur's been rock solid for this application.

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 21 Aug 2012 18:56
by Phil999
fader8, can you explain why Logic's OSC implementation is restricted to TouchOSC? Isn't it a bit odd to use Osculator instead of directly addressing Logic? Is it true that Reaper is the only DAW that has true and open OSC support?

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 21 Aug 2012 21:57
by fader8
Phil999 wrote:fader8, can you explain why Logic's OSC implementation is restricted to TouchOSC?
Well, it's a start! Conveerting all Logics environment objects and its sequencer to support OSC is a big job. We can only hope that someone at Apple is already making progress on it.
Isn't it a bit odd to use Osculator instead of directly addressing Logic?
Not at the moment, considering the state of everything. It actually works quite well. I'm using it until I get a solid Max patch built up to do everything I need. I have Bluetooth and other control devices so even if Logic does get OSC support, I'll still have to have something running as an interface to it.
Is it true that Reaper is the only DAW that has true and open OSC support?
Max For Live , if you also own Max/MSP, is probably the only other. I don't think it's high on anyone's priority list. I can't go out and buy an 88 key controller that outputs OSC to UDP Ethernet, or USB, or Bluetooth yet, either.

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 21 Aug 2012 22:49
by Phil999
thanks for your answers, and I agree on what you say.

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 22 Aug 2012 02:48
by SBPBK
fader8 wrote:You're brave!
Man, bizarre that you say that. After doing a bunch of new mappings last night, I arrive to the studio today to open Logic and find my Controller Assignment Preferences totally blank. Didn't back them up and now I'm out all that work… Between this happening and you saying that, I think it's a sign that this has got to go.
fader8 wrote:Assuming you have fader objects in Logic providing the conversion from cc to fader messages, as opposed to transformers, you can bang those faders with a button loaded with meta message 99 set up for increment without rollover. Another button to decrement without rollover.
fader8 wrote:You don't transform meta messages. They are system messages and are strictly for controlling elements within Logic. You can sequence them on a track too. In fact, thats probably best for you. Hit play, the increment then decrement bang gets sent to all your incoming fader converters, causing the plugin to spit out fader messages to your outgoing fader converters, thus updating Lemur.
So, just so I'm sure I understand what you mean as this is a new concept to me… Firstly, to cover mapping Lemur to the plugins using the environment… The way I would map my Lemur to my plugins via the environment would be a series of faders within the environment (1 for each parameter I want to map) whose incoming message type would be set to receive CC and send Fader info, forgoing a need for a transformer to convert the message from CC to Fader. Since my Lemur objects (for the most part) already reflect the CC1s of their corresponding plug-in parameters, I wouldn't really need to do much CC1 information conversion. I then would set up this bang message to send prior to the fader objects, which then would get directed to the various parameters I wanted to bang out (via the CC to Fader conversion the environment's fader objects provide) bypassing the fader object's values and just sending a relative+1/-1 message to the plugin, thus causing the values the knobs are set to within the GUI (as loaded by the AU-Preset) to bang back out to the Lemur? Or would the values that would be banged out be the values that the fader objects in the environment are set to? I would have to trigger this message every time I load a new AU-Preset but that is a small price to pay to be able to have my Lemur reflect the AU Preset's values for immediate tweaking.
fader8 wrote:Thats a problem. If you want the values reflected in Lemur, you will have to map back each control. Minus the ones that you can't do to the aforementioned issue.
If I were to map to my plugins via the environment instead, would I still need to map back out each control in order for it to bang out to the Lemur or is that only an issue I would run into if mapping through the Controller Assignments Window?
fader8 wrote:When you bring MIDI into the environment for real time control like this, you want to reroute the inputting port away from the sequencer object. You can do that at the Physical Input object by cabling the desired port to something else, like a channel splitter for example. You can ask more about this at logicprohelp.com. Lots of folks can help you with this Logic stuff there. I moderate that forum with David Nahmani so I'll see it if you post.
That's awesome, I love LogicProHelp - you guys rule!!! I thought I recognized your screenname, I knew I saw it somewhere else before! Thank you guys so much for being so awesome to every Logic user, I've certainly been on your forum a ton. I've actually been meaning to post AU Presets for Sylenth1, Gladiator, Nexus2, Circle (and I think a few other things that I made over the past few months) on your 3rd Party AU Presets page. Definitely a few synths that aren't currently up there. I am all about the way AU Presets impact my workflow, that's why I'm hopeful that I'll be able to get this to work to bang out newly loaded AU Presets to my Lemur for quick tweaking.
fader8 wrote:I have just completed a large Logic project for on stage performance use. Each performer has control of their monitor cue mix from their iphones and 2 ipads control performance sequencing and main mix. Its nice to wander around in the audience and tweak! Any change from within Logic or from an iDevice, updates all devices. I use Osculator for the OSC-MIDI-OSC conversions, which has been fantastic. Lemur's been rock solid for this application
That sounds insane! I would love to see that in action. If you guys ever post any videos online (or ever better, play in NYC!) you should definitely post it up on LogicProHelp, I would be really interested in checking that out.

Thanks again for responding to me and thank you sharing your expertise! I have done a lot of research on this and came up empty handed, you are the first person and first resource I've had in regards to figuring this out and I really appreciate your help and you taking the time to share information about this with me. :mrgreen:

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 23 Aug 2012 14:12
by fader8
Hey SBPBK,
Thanks! I've got a big show to get ready for tomorrow, but I'll post a detailed response this weekend.

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 23 Aug 2012 20:35
by SBPBK
Have a great show, thanks for the heads up! :mrgreen:

Re: theory to "BANG" out a preset setting/bi-directional con

Posted: 28 Aug 2012 15:47
by fader8
SB,
First, start simple. Pick one simple plugin that you want to control and load it on a channel strip in Logic.

In the clicks and ports environment layer, cable the incoming port from Lemur to a channel splitter.

Create a new env layer and move your channel strip to it. Create an ornament, name it, check its icon box.

Back at the channel splitter, route a channel to that ornament you just created.

Cable a monitor object to the output of the channel strip.

Move the parameter you want to control. The fader message number will show up.

Cable the output of the ornament to a text fader object. Convert the input cc to output fader messages to match the parameter. Remember that the channel # of the message changes depending on which slot the insert is in.

Cable the output of the channel strip to another text fader and use it to convert the fader message back to the same cc you have controlling the input side.

Cable that fader to an instrument whose port is set to your Lemur output port.

That's what you'll need to get reliable bidirectional control with any parameter.

fader8