Hi,
I just wanted to start by saying I really love your plugin! It has solved several problems for me with my control surfaces (Yamaha 01V96VCMv2 and Behringer BCR2000). They're both capable of bidirectional communication, but weren't able to do so without your plugin.
I've done a lot of reading on your plugin (all of the general forum posts and anything I could find re: BCR2000). I have a couple of issues I haven't found solutions for yet and thought that it may be quicker if someone here could point me in the right direction.
I'm using Sonar X3e (x64).
The main issues I'm having are regarding the 01V. I've been able to learn a lot from MarKo's BCR2000 plugin on how to use your AZslow plugin, but I haven't been able to figure it all out on my own and I'm here for help. I've done everything I can to learn it on my own, but I'm to the 'banging my head against the wall' phase of things and hoping somebody here can set me straight.
The 01V in 'Remote' mode uses Mackie HUI protocol (in several of it's remote configurations: Protools, Nuendo, Cubase, General DAW). The Mute & Solo buttons work great, and the 01V doesn't seem to output any commands other than these and the 8 user defined keys, so this is a good starting point for me as everything works great 'out of the box'.
The issue comes with the fact that the 01V outputs identically formatted information on channels 1-8 (using the 1st midi port) as it does on channels 9-16 (using the 2nd midi port). In the 01V configuration page, you have to choose a SET of 2 midi ports for the 'Remote' layer to use. When I setup the 01V as two separate instances of the azslow plugin, each with a HUI preset loaded, everything works just as I'd want with the exception of one thing - the WAI doesn't work right when I bank left/right. Only the first group of 8 faders banks left/right, chs 9-16 stay put and I believe all my user defined keys that I can program on the 01V output information to the first of the two chosen midi ports only, so I can't program separate buttons (or shift functions) to bank chs 9-16 at the same time as chs 1-8.
I understand this is solved by putting the two AZctrl plugins in 'cooperation mode', and I have done some experimenting in that way. The WAI bank left/right works great in this configuration, but the midi commands (volume/mute/solo) coming in on the 2nd midi port (slave controller) show up differently in azctrl in this configuration than they do in the 'dual HUI', non-cooperated mode.
I found workarounds to get the faders working in this (cooperation mode) configuration, but I have yet to understand how to program the buttons for mute/solo as they too output different values in this configuration than when operated separately (non-cooperated). From what I can tell, the Azctrl plugin in this configuration is modifying the incoming data from the 2nd (slave) controller because it matches the format identically to the master controller (midi port 1), as a way of avoiding conflict internally between master and slave. The 'Last MIDI' event data for channels 9-16 shows up differently than that for channels 1-8 when they're in cooperation mode, even though I'm quite certain what the 01V is outputting is identical parameter values (but on different midi ports). Somehow azslow is translating them. I can verify this by watching the parameter format on chs 9-16 when using them in non-cooperated 'Dual HUI' mode.
This is making programming the 9-16 mute/solo buttons very difficult as I don't understand SysEx enough and they seem to be using sysex values. If I could get the rest of the buttons working in this mode it'd be great, as I've figured out how to map chs 9-16 faders in a way they work by re-learning those faders on the hardware tab and then instead of outputting Ctrl-MIDI values to them like on chs 1-8, I had to output specific values on chs 9-16 to get those faders to respond bidirectionally. It didn't seem to work for the buttons though, but again, I'm at my programming limit of expertise when it comes to SysEx (and most of this in general - I just trial and error my way through most of it anyway).
I'm thinking there may be a way of having the two separate instances of AZCtrl bank together at the same time using the WAI Functionality that MarKo uses in his BCR2000 preset (version beta
, but I don't understand it well enough and his logic is quite deep in that plugin setup with multiple pages, multiple shift changes to parameters, timers, etc., so I haven't gotten very by analyzing what he's doing yet as I don't really understand it well enough to know if I could use this method. My logic is to setup the 2 banks as separate (non cooperating) HUI surfaces. On the 2nd surface, I could have it periodically check what channel is in focus in sonar, and them modify it's bank configuration appropriately. I especially like in MarKo's BCR2000 preset how it does this but still keeps the specific bank within the channel perfectly. For example, if the WAI is set to chs 1-8 in Sonar and I use the mouse to click on channel 14, the WAI for the whole surface goes to 9-16, but ch 14 is the one selected in Sonar's track inspector. My ideal solution would have WAI behave this way and control both HUI banks on the 01V. But how to do this is beyond me...
As another solution, I tried configuring the azctrl plugin as a synth in Sonar thinking maybe I could setup a bank button as a MIDI note and then use a midi track with input monitoring to pass the midi note from the 1st azctrl HUI to the 2nd azctrl HUI (not in cooperation mode) via midi in/out on the midi channel, so they banked at the same time. But Sonar doesn't support that 'configure as synth' option for ctrl surface plugins, only VSTs & synths. So, I struck out on this method, unless you know of another way to pass a specific midi note or CC from one instance of AZCtrl to a 2nd instance of AZCtrl without using cooperation mode.
So, I was thinking you (Alexey?) may have a way on your end to program functionality into the azctrl plugin to allow passing of specific midi parameters between 2 or more instances of your plugin without passing all midi data (like a pseudo cooperation mode). That way I could setup the bank command in the HUI #1 to be triggered by a MIDI note or CC (that I program in on the 01V in the user defined keys section which only outputs from the 1st of the 2 midi ports in 'Remote' mode), then that MIDI note or CC would get echoed to the 'pseudo-slave' controller(s) which are programmed to respond by moving their WAI bank when they receive that MIDI note/CC. Is this a crazy way of accomplishing my goal?
OK, all that being said, I've got the 01V working about 95% of the way I want. But I want 100%, so some more info that may help:
The 01V has 3 layers besides 'Remote' that I've been able to successfully use with AZctrl to program faders, panning and 3 other buttons (actually I'm using the Hi-Q/Hi-Mid Gain/Low Gain knobs as buttons by using them in step mode/accelerated/50%). The problem I run into using any of these 3 layers (which output data on a completely separate MIDI port than what is used in the 'Remote' configuration which takes it's own 2 midi ports) is that while I can get the faders to respond bidirectionally, they seem to 'fight' with Sonar. If I move them too quickly, the motorized fader fights me. I can control the faders onscreen though, and can move them with the mouse & have the 01V's motorized faders respond. So, I'm close with this method but I couldn't find any type of combination that worked flawlessly by changing from Direct to Catch, etc. From my understanding of the situation in this mode, the 01V doesn't communicate as quickly or smoothly in these 3 layer modes as it does in 'Remote' mode. Likely the internal hardware is optimized for using 'Remote' mode with a DAW and the other modes are more for the Digital Mixer itself, not really for control surface commands, even though I have forced it to output & respond to MIDI commands. It just doesn't seem as responsive in these 3 layers to bidirectional control messages, and I think it's because it's using one midi port for all 16 channels whereas the 'Remote' layer uses 2 midi ports for 16 channels. I think these 3 other layers have midi bottlenecks on the 01V and it's not really an AzCtrl issue. So, this makes me not want to use these layers for faders. Another drawback to using one of these 3 layers for faders/mute/solo instead of using the 'Remote' layer is that in this mode the 01V doesn't seem to output midi data from the solo buttons, which means it's much less intuitive than using the 'Remote' layer as HUIx2 for my workflow. As of right now I'm just using these 3 layers as additional controls - I plan on programming them for Record Enable, Phase Shift, Automation Write enable, possibly to control sends, etc. I'd really prefer to keep this option open and find a way to get the HUIx2 setup working properly using the 01V's 'Remote' layer.
So, to summarize, my options to get the fader/mute/solo controls working as smoothly as possible and keep all 16 channels bankable at the same time seem to be:
- 2 separate Azcontrol instances, both in HUI mode on 1st and 2nd midi ports (does everything I want but they don't bank together)
- 2 'cooperated' azcontrol instances (master/slave), but find a way to get mute/solo buttons working correctly (and I don't understand SysEx!). This configuration has the issue that channel 9-16's midi values seem to get translated by azctrl and I don't know how to workaround this.
I think the first option would be the easiest, but I don't know how to pass the WAI bank left/right message between the instances. Can this be done indirectly by using MarKo's BCR2000 WAI method? This seems ideal to me but I really don't get how he's doing it.
Anyway, I can send over a couple of presets I've made for you to experiment with if you want, but you may have an easy solution for me that I've somehow missed on the forums and without an 01V it may be easier to have me do the experimenting and someone here can provide me a couple of example presets for whatever you think is the sleekest method of solving this banking issue.
I'm also happy to share my presets with the forum once I get them finished (or at least functional), as I'm sure there are others with a Sonar X3e / Yamaha 01V96VCM configuration that would get some benefit from the hours I've put in.
Also, I have a rearranged & modified version of MarKo's BCR2000 plugin I'll post once I'm done with it as well.
A couple of other unrelated questions I had were regarding the ProChannel. Is there a command somewhere to expand the prochannel? I've been able to do it using MarKo's BCR200 plugin using the S/D feature (really it seems to output +/- values to Sonar which act as a toggle for whatever is highlighted with the mouse). It's the 'Show/Hide' ProChannel feature. I'd love to program that onto a button that opened/closed it on whatever track was selected.
In a similar way, I'd really like to know how to open the ProChannel QuadCurve EQ's 'Zoom' feature using AZCtrl. This is the >> (Open Zoom Window) feature of the ProChanel EQ. Can you let me know if AZCtrl has control over that parameter? What about the 'pin' feature that keeps this EQ Zoom Window open/on-top? Those 3 buttons would get a lot of use as I find myself opening/closing/pinning that window quite a bit, as well as show/hide of the ProChannel itself.
The final question I had was regarding changing from one ProChannel plugin to the next. Is there an easy way to 'select prev/next' on the ProChannel using two buttons for prev/next? MarKo's plugin already has a ProChannel mode, but in that mode, bank left/right just move the WAI left/right by one channel. In previous versions of his beta preset those buttons were supposed to move forward and back through ProChannel plugins, but I couldn't seem to figure out how that worked as it didn't seem to be doing anything. When I got to version 8 of his preset it just moves the WAI prev/next one channel, so maybe MarKo never fully got that feature working & bailed out on it? This feature would also be extremely helpful for me so I could put most of my ProChannel plugins on the BCR2000 by way of your ACT mapping, and move through the various plugins using prev/next. I have rearranged his ProChannel page to have a more inclusive mapping of the QuadCurve EQ (his didn't have lo/hi shelf enable) and to be on the opposite side of the BCR2000. I've also setup the Console Emulator Channel on this ProChannel page in my modified version of his preset, as well as a couple of sends/send-pans. This is a better solution for my workflow. All in all, I've managed to modify his beta-8 preset to do almost everything I want but I wanted those 4 extra features.
Quick summary of the features I'm still struggling with on the BCR2000:
- Show/Hide Prochannel
- ProChannel QuadCurve EQ 'Open Zoom Window'
- ProChannel QuadCurve EQ 'Open Zoom Window Pin'
- prev/next buttons for moving through which ProChannel module is selected.
Sorry for the long post - I wanted to be as thorough as I could so you'd know how to best respond, but also as a way of keeping track of my findings for other 01V and BCR2000 users.
Again, outstanding work on this plugin and thanks for keeping me with Cakewalk - I almost jumped ship to Steinberg a couple of times over lack of bidirectional support for control surfaces in Sonar, but you kept me onboard.
Best Regards,
Kris