News:

CWP2Song, public beta.
My  DAW is Reaper
YouTube channel

Main Menu

SysEx messages all mapping to ctrl 85

Started by Linzmeister, July 21, 2016, 05:34:27 PM

Previous topic - Next topic

Linzmeister

I'm sorry to hear about your friend.  There's no need to apologize about being human.  On the internet and as men in general we tend to compartmentalize our thoughts and the portrayal of ourselves (I'm a programmer/dad/gardener/cook/etc) when we are all of those things wrapped into one.

Quote from: azslow3 on September 06, 2016, 05:20:00 PM
Logical bug in the new code (more precise, I forgot to add one check which has to re-trigger monitor in such situation). Note that Default->Auto is warring, I could not reproduce the bug with that combination and so there is no fix for that. Please check one more time either Default<->Auto can leave indication inconsistent. Please install b341.
That all looks good now.

Quote from: azslow3 on September 06, 2016, 05:20:00 PM
Quote
I also noticed that pressing RTN 1&2 SOLO to play also changed bank -/+ .
Missing statements in configuration, should be fixed in v15
also fixed. 
I see what you did with the Mode==Default and  'Last action:Failed' - Ignore Select -> Yes
Much cleaner than my clumsy approach.. one "statement" instead of 4.

Would it be advisable to look at adding the recent changes you have made (V13, 14 & 15) into the v13 I created, before the versions become so different that I have to map all the controls again?  I added a lot of hardware control mapping - still not complete, but possibly 90% of the controls desired.  My v13 has SysEx msgs for Pan, EQ incl On/Off, Dynamics incl On/Off, 6 aux sends, and all useful Metering Requests, channels 17-24 (ACT ??).   I attach v13b.  I cleaned up the unattached controls and deleted some other messes I made.

azslow3

I had a quick look at your version, but I have not done anything yet.

In any case, while I have mentioned that before, I want try to explain you my view on Y01 preset again, with more details and the explanation why I see it like that.

Y01 is a digital mixer, with own channels and tons of other internal parameters. Its controls are not thought to be use just for sending some MIDI, they are controlling these internal parameters. And so they try to optimize the procedure of changing these parameters, not bothering to inform outside world what the user is physically doing at the moment. F.e. in case you change EQ band you physically see on Y01, nothing is transfered at all. Note, that in "Local OFF" mode Y01 "think" that Sonar IS another Y01, with all Y01 parameters (and only them).

Obvious strait forward approach is to emulate Y01 parameters on Sonar side and support the whole set of controlling messages for them. Your mapping tend to go this way. But there are several contra to this method:
1) the number of parameters is HUGE, while the number of physical controls is limited. Since Y01 does not inform us when it changes the mode (f.e. AUX1 is pressed), to organize correct feedback and operations (f.e. encoders on Y01 do not send normal for DAW controller "turned right"/"turned left" messages, instead they are just changing some parameter (absolute value) and then changed value is transfered), we will have to keep ALL parameter synced with Sonar. But:
1.a) Sonar ACT API is not really optimized for that, parameter monitoring is "polling", ACT does not support "event driven" approach for that (AZ Controller gives an user a feel it works like that, but it is not). Some numbers: currently we have 16*3=48 parameters to monitor (when we change AZ Controller modes, so switching to Arm or Automation, the number of monitored parameters is NOT changed. Even in case we add another 100 modes, the number of monitored parameters will not change! To support Y01 parameters, we will need to control at least 24*100=2400 parameters, ALL parameters of ALL EQs, compressors, FXes and AUXes for ALL channeles!
1.b) even if Sonar can deal with that (not tested so far), if you let say change the "bank" or initially during startup, all these parameters have to be transfered back to Y01. With real Y01s, I guess that is done with special "scene change" bulk SysEx transfers. I am almost sure Y01 will stuck in case we try to transfer all parameters the way we do now. MIDI is very slow and since Y01 is relatively old, I guess it does not has big buffers (if at all). We will have to "slow down" SysEx transfers, unknown way, by trial.
2) all that does not significantly change the number of physical controls we can use. Effectively, to support just one buttons (f.e. AUX1), we should define at least 24 additional controls/parameters/monitors. At the same time, additional "mode combination" (our ON buttons), while defining 24x3 additional parameters, does not require any extra monitors/controls.
3) many Y01 parameters do not make sense for Sonar, some Sonar parameters have no equivalents in Y01. F.e. we control 12+2 Sonar channels per time only, so all other Pans,EQs,etc. have no meaning (and in fact can not be engaged since we "force select" strip, I mean not all "SEL" buttons really select Y01 channels). Transport, Arm, Dynamic ACT doest not "fit" into Y01 schema nicely.

So far, we have worked with 1-1 Y01 schema only. I mean One hardware Control - One Y01 parameter. Later definitions are no longer so, but because of explained reason, I prefer to use as less Y01 parameter as possible. So, no AUX, etc. modes. In such roadmap:
1) I think one "alternative" strip mapping is a good thing, and "channels 17-24" is a good compromise. "Fader modes", if I understand correctly, are not switching buttons. 17-24 redefines 8 strips only, so not perfect either, but switch all controls (including select). We can use SEL in that mode for momentary operations without feedback (f.e. navigating focused FX), SOLO as operation mode (for this "page" only) (ACT Dynamic Mapping / Sends and banks for dynamic mapping)  and ON+Faders as parameter controls
2) Pan+EQ/Comp encoders I will configure as such. But for one strip only (since I know which one is "selected", in Sonar and on Y01 side, I will need only one set of monitors for all EQ/Comp parameters).

I have not checked levels yet.

That is the plan.

azslow3

I have started defining 17-24, and so far the idea is:
SOLO 17-20 : Mapping Modes with indication, FX, ProChan, Synth, Send
SOLO 21-24 : Mapping Bank with indication (1-4)
SEL 17-23: Focusing corresponding plug-in, without indication
SEL 24: toggle AZ Display, which will show the mapping

ON 17-24 + Faders 17-24 : mapped (ACT Dynamic) parameters, so using 4 banks it will be able to control 4x8 continuous parameters + 4x8 switches per plug-in.

I am writing because there will be some limitations:
a) only 7 plug-ins inside one FX BIN / ProChannel / Rack are going to be directly accessible. If you use more, I have to define some +- buttons (f.e. first 5 are direct, 6 and 7 are +-)
b) in Send mode I can either define 8 sends with volume and on/off or 4 sends with volume/pan/on/post. Also all sends are going to be for one (current) strip. If you normally change sends in parallel, we will define at least one AUX fader mode (with switchable send number, not by AUX1-AUX4 modes...) in addition or instead of that mode on 17-24.

Linzmeister

Hi,
You're absolutely right, I was on a very different thought path.  My idea was to make Sonar feel like an 01V, using the natural layout and workflow of the surface to control the same paramters in Sonar.  Because I use this desk to mix and record live shows, I know the layout and can operate it very quickly.. 

I appreciate the concern and difficulty of the large control count and associated configuration and data throughput, but was thinking that if the desk can do it live (in linked/cascade mode), the hardware was up to the challenge.. Not having any previous exposure to control surface integration, I thought that was normal...

Having read your previous posts a number of times I can see where you are going..  Some thoughts in response..  Not all completely finalised..  I am still trying to see the implications of some decisions.

1).  I have seen enough in AZC now to know that 1 channel of EQ and Compression controls and some config commands will multiply out to lots of channels.  When in Eq/compression screens, touching Select on any channel can update the sonar focussed channel, but then AZC can set the 01V back to Select maybe channel 15/16 so EQ/dynamics midi messages received in AZC/sonar are recognisable...  The reason for choosing 15/16 is that I can access bus 2 EQ/Comp by changing WAI to busses, but if we chose Ch 1 eq controls to EQ all channels, I have no way of Selecting ch 1 for EQ..  Without pressing Home, Sel 1, EQ ...Maybe..??

2).  I would still like to use the EQ Page # to assign the Pan control to HPF and LPF.

3).   Wrt to Aux/Fx sends I was planning to use page # to modify from 6 to 12 sends on channels 1 - 15/16, but, using 17-24 and banking, I can access 32, which is far beyond what I would need ...  The difference is that I can only adjust sends on 1 channel at a time, whereas the 01V native way allows me to adjust the sends for current fader mode for the current bank of channels..  It is a mental adjustment and also requires more select and banking button pushing..  I don't do much if any send automation (just static levels), but I can see the extra work in monitoring and feedback required to make it operate in native mode. 

I also wanted to use the Aux Screen/Page msg to modify Ch Pan to control the Send Pan and the Ch On to control Send On.  The reason behind this is that if Sonar mixer track 1, only has a send to reverb, and track 2, only has a send to Delay, they will both be controlled by send 1.  Whereas the 01V native way is all channel's send 1 is reverb, all channel's send 2 is delay, so my sonar template always includes all controllable sends.. Just turned off if not currently being used.

As far as pre/post goes I was hoping to use solo button in Aux/FX mode.

If we think about mackie control or VS700C, they both have a rotary control per channel and a rotary mode button which modifies the midi msg in some way...  How is that different to the 01V??  Sure, the rotary is actually a motorised fader, but sonar/AZC still have to track the parameter values in the computer and send them to the CS.  The 01V is just a little smarter.  If AZC sends a value change while 01V is not in that controller mode, it still updates the memory address for that control, so that when the control mode is activated, the values are pulled from local 01V memory, not AZC - or have I missed a critical step in my thinking?

4). I don't use softsynths at all, but i guess it is only one button assignment for completeness should anyone else want to use the preset.

5). I rarely use more than 4 plugins per channel - let alone per bin, so the limitation of 7 is no problem.  I buss all reverbs, delays and other FX and only plug in EQ and Dynamics, which ProChan takes care of by default now... The live PA approach - most of the time. 

Could your proposed bin selection buttons modify the single channel of EQ and Dynamics controls from ProChan to FX bin just in case I want to use Sonitus/Waves/Slate instead of the ProChan EQ/comp? 

Are the ACT bank and mix bank widths going to cause a logical conflict with previous answer?

6). Labelling the desk is getting trickier, with on and solo doing many different things.  There is not much space to label the buttons even with neatly printed spreadsheet cells.  I get that AZ Display helps, but hand eye co-ordination when looking from computer monitor to control surface takes time.  I prefer to have static labels as close to the physical control as possible.  I already have 2 labelling strips - 1 above and 1 below the Ch buttons

7). To change ACT selected channel, will I have to go to home screen (1-15/16), Select desired Ch, and then return to Opt IO mode (17-24) ??  I guess if

8). There's another thought that I am struggling to get into sharp focus - about the bin selection and banking buttons and using more than 8 faders and switches per bank.  Maybe utulising "Edit" mode spare buttons instead of 17-24.  I haven't done any layout thinking yet.  I will respond again later if I can clarify the thought over the next couple of days.

In summary: I can see your approach to Dynamic ACT mapping being comfortable to use for EQ, comp, gating, FX plugin parameters etc, but I would like to use the Aux/FX sends in native 01V mode if possible..  This means I am happy to lose all the EQ and Aux/Fx controls on 17-24, and the EQ and comp controls from channels 1-13/14 if we can keep the 6 x Aux/Fx controls on channels 1-15/16 with Screen/Page modifiers.

Is that a more manageable scenario?  I am beginning to understand AZC config more and can do the bulk of the copy, paste and tweak a couple of offset values for the Aux config.

azslow3

Quote from: Linzmeister on September 09, 2016, 04:35:56 AM
Hi,
You're absolutely right, I was on a very different thought path.  My idea was to make Sonar feel like an 01V, using the natural layout and workflow of the surface to control the same paramters in Sonar.  Because I use this desk to mix and record live shows, I know the layout and can operate it very quickly.. 
I understand your point, but Y01 with Sonar put some restrictions on that since Y01 does not has good "DAW mode" (IF Y01 could just send each hardware button/fader/encoder operation to Sonar, without any smartness, THEN I could make it control Sonar very close to the way it controls build-in mixer... that is why DAW Controller exists, then can "mimic" anything, but Y01 is not one of them).

Quote
I appreciate the concern and difficulty of the large control count and associated configuration and data throughput, but was thinking that if the desk can do it live (in linked/cascade mode), the hardware was up to the challenge.. Not having any previous exposure to control surface integration, I thought that was normal...
In live, either there is a "total recall" or a small subset of parameter changes. Also they have optimized communications, tested that everything is working and they had access to internal documentation (which is as your could see is still not public). Also they had a team of developers, with devices, with close cooperation with hardware designers.

We are 2 volunteers, without documentation, one of us without the device. And we try to use it not the way it was thought. F.e. I guess you can not "insert" a channel between existing or modify the topology on the fly in general. In Sonar you can.

Quote
Having read your previous posts a number of times I can see where you are going..  Some thoughts in response..  Not all completely finalised..  I am still trying to see the implications of some decisions.

1).  I have seen enough in AZC now to know that 1 channel of EQ and Compression controls and some config commands will multiply out to lots of channels.  When in Eq/compression screens, touching Select on any channel can update the sonar focussed channel, but then AZC can set the 01V back to Select maybe channel 15/16 so EQ/dynamics midi messages received in AZC/sonar are recognisable...  The reason for choosing 15/16 is that I can access bus 2 EQ/Comp by changing WAI to busses, but if we chose Ch 1 eq controls to EQ all channels, I have no way of Selecting ch 1 for EQ..  Without pressing Home, Sel 1, EQ ...Maybe..??
First of all, Y01 EQ/Comp section will work with PC EQ/Comp independent from other modes. For 17-24, you will need to switch between Home and 17-24 to change the channel

Quote
2).  I would still like to use the EQ Page # to assign the Pan control to HPF and LPF.
If you mean these 3 encoders, as I have just mentioned, I am going to support them INDEPENDENT from 17-24.

Quote
3).   Wrt to Aux/Fx sends I was planning to use page # to modify from 6 to 12 sends on channels 1 - 15/16, but, using 17-24 and banking, I can access 32, which is far beyond what I would need ...  The difference is that I can only adjust sends on 1 channel at a time, whereas the 01V native way allows me to adjust the sends for current fader mode for the current bank of channels..  It is a mental adjustment and also requires more select and banking button pushing..  I don't do much if any send automation (just static levels), but I can see the extra work in monitoring and feedback required to make it operate in native mode. 

I also wanted to use the Aux Screen/Page msg to modify Ch Pan to control the Send Pan and the Ch On to control Send On.  The reason behind this is that if Sonar mixer track 1, only has a send to reverb, and track 2, only has a send to Delay, they will both be controlled by send 1.  Whereas the 01V native way is all channel's send 1 is reverb, all channel's send 2 is delay, so my sonar template always includes all controllable sends.. Just turned off if not currently being used.

As far as pre/post goes I was hoping to use solo button in Aux/FX mode.

If we think about mackie control or VS700C, they both have a rotary control per channel and a rotary mode button which modifies the midi msg in some way...  How is that different to the 01V??  Sure, the rotary is actually a motorised fader, but sonar/AZC still have to track the parameter values in the computer and send them to the CS.  The 01V is just a little smarter.  If AZC sends a value change while 01V is not in that controller mode, it still updates the memory address for that control, so that when the control mode is activated, the values are pulled from local 01V memory, not AZC - or have I missed a critical step in my thinking?
I guess you still do not understand the major difference between between Y01 and a DAW controller like Mackie of VS700: DAW controller do NOT know encoder parameters, what you see as "a ring", is completely INDEPENDENT from the encoder control and has no "parameter" behind (the same for buttons LEDs). So, these devices are dumb, but for DAW controlling that is good.

We currently dealing with close to the following situation. Let say your control ProTools with Mackie. And then you want control Sonar from it, but you only see ProTools, so you see what Mackie is DOING WITH PROTOOLS, not what user is doing with Mackie, in which mode it is, etc. In our situation, we see what Y01 surface is doing with Y01 digital mixer part, but not what user is doing with the surface.

Back to the configuration, I see that you want control sends for channels in parallel. Point taken. But we will not do this using several "Y01 pages", we should find another way... As I wrote, that problem is not to let faders control sends. I just do not want monitor ALL sends on ALL channels just because you can occasionally press "AUX3" and Y01 does not inform anyone that you have done that.

Quote
5). I rarely use more than 4 plugins per channel - let alone per bin, so the limitation of 7 is no problem.  I buss all reverbs, delays and other FX and only plug in EQ and Dynamics, which ProChan takes care of by default now... The live PA approach - most of the time. 

Could your proposed bin selection buttons modify the single channel of EQ and Dynamics controls from ProChan to FX bin just in case I want to use Sonitus/Waves/Slate instead of the ProChan EQ/comp?
While control surface can insert plug-ins, it can not "modify" them. Also there is no information that some plug-in "is EQ", except for ProChannel (which get it from older Sonar's "filters"). But in proposed 17-24, you can control any plug-in, selected by type ("SOLO" buttons) and by number ("SEL" buttons). Including ProChannel EQ/Comp (which you will be able to control separately by encoders).

It is possible to add SPECIFIC plug-ins into configuration, as I will do with PC EQ/Comp. But that will be "hardcoded". ACT Dynamic mapping does not requires that.

Quote
Are the ACT bank and mix bank widths going to cause a logical conflict with previous answer?
These "banks" are completely independent.

Quote
6). Labelling the desk is getting trickier, with on and solo doing many different things.  There is not much space to label the buttons even with neatly printed spreadsheet cells.  I get that AZ Display helps, but hand eye co-ordination when looking from computer monitor to control surface takes time.  I prefer to have static labels as close to the physical control as possible.  I already have 2 labelling strips - 1 above and 1 below the Ch buttons
When you start to work with plug-ins, the only solution is AZ Display. Note that you can make it in appear in any size/font/color. In case you are going to use different EQs only, you can map let say HPF in each of them to the same fader. But for arbitrary FX, that is not going to work.

Quote
7). To change ACT selected channel, will I have to go to home screen (1-15/16), Select desired Ch, and then return to Opt IO mode (17-24) ??  I guess if
Yes.

Quote
8). There's another thought that I am struggling to get into sharp focus - about the bin selection and banking buttons and using more than 8 faders and switches per bank.  Maybe utulising "Edit" mode spare buttons instead of 17-24.  I haven't done any layout thinking yet.  I will respond again later if I can clarify the thought over the next couple of days.
Using "Edit" (or more!) modes for FX/ACT/Send is even simpler then defining 17-24. But our whole problem that there is no more "switches" which send something, like do "ON"/"SEL"/"SOLO". And so, we I forced to utilize some "pages". But please, not ALL of them, that will be nightmare!

Quote
In summary: I can see your approach to Dynamic ACT mapping being comfortable to use for EQ, comp, gating, FX plugin parameters etc, but I would like to use the Aux/FX sends in native 01V mode if possible..  This means I am happy to lose all the EQ and Aux/Fx controls on 17-24, and the EQ and comp controls from channels 1-13/14 if we can keep the 6 x Aux/Fx controls on channels 1-15/16 with Screen/Page modifiers.
Sorry, but that is exactly what we should avoid... There are some limits in what is desired with some peace of hardware.
Try think about it different way: in case you can find a place (and ~$60) for X-Touch Mini near your Y01, we can add Sends "pages" in no time and close to no effort. If we try to implement what you propose, we will spend days/weeks without any warranty on success and possible glitches/crashes during operations. With X-Touch mini you also get 8 real encoders with rings in addition.

The man who has developed old Y01 plug-in was smart, that is why he has not tried to go above an "easy" level. I think we have already gone a bit future, but we should not detouch ourself from the reality  :)

Linzmeister

#65
Quote from: azslow3 on September 09, 2016, 03:35:57 PM
As I wrote, that problem is not to let faders control sends. I just do not want monitor ALL sends on ALL channels just because you can occasionally press "AUX3" and Y01 does not inform anyone that you have done that.

Ahh, if the main problem is that the 01V does not inform us when Fader mode is changed, rest easy...  It does notify when the fader mode/page is changed. 

In the 23 01 xx yy zz messages that I have been discussing recently.. the yy is the Fader Mode or Screen.

ID No.           01000011 43 Manufacturer's ID No.(YAMAHA)
SUB STATUS 0001nnnn 1n parameter change n=0-15(Device Channel No.1-16)
GROUP ID     00111110 3e MODEL ID
MODEL ID     00000100 04 Device code (01V)
PARAM TYPE  01000011 03 controller (type)   somebody screwed something up here Sent as 23
DATA            00000001 01 control No.(LCD-Fader mode)
                   0ddddddd dd channel select(0-30)
                   0ddddddd dd LCD select No.(0-17) also means fader mode
                   0000dddd dd PAGE No.(0-4)
EOX              11110111 F7 End Of Exclusive

In some screens, the fader mode doesn't change:
First 8 Screens including EQ and Dynamics - the faders control Ch 1-15/16 level
With the next 8 Screens Fader mode does change - the faders control FX1-2, Ch 17-24, user config data, Aux 1-4 and different data is sent

The zz is the page number.  every time a SELect key is presed,Every time a fader mode key is pressed, it sends 23 01 xx yy zz

see the left table of midi messages attached here 
http://www.azslow.com/index.php/topic,322.msg1711.html#msg1711
Each screen/Fader Mode/yy has a unique value we can read.

Re-interpreting the "SEL 1-24" msgs to also read the yy and the zz values and save them into software states Screen and Page will give us the information we require... yes?

If it helps, maybe update a Software State "FaderMode" as a combination of Screens with pages which change FaderMode and Screens which don't - leaving faders controlling Ch 1-15/16 volume ie the first 8 screens so that we can check whether faders are Aux1 or Aux 7, Ch1-15/16 or 17-24??

Does that change anything?

Are you concerned about:
A)  monitoring a large number of controls in total or
B)  monitoring a large number of controls simultaneously for processing time?

If it is only a matter of timing, and you have a way to de-activate the unseen controls, sure, only monitor the controls for the current screen/fader mode as per the 23 01 xx yy zz msg.

Linzmeister

ok,

I have found a way to extract the Screen #,  Fader Mode and Page # from the 23 01 xx yy zz data.  I am sure there is going to be a more elegant method using a function call instead of duplicating this mess into all Select SysEx, but this updates the engine state (only when channel 1 is selected) for all menu options except Option IO (which usually selects Ch 17) and Remote (which usually selects Bus 1)

Yamaha 01V (Local Off) MOD LM13C export @ 10/09/2016 5:39:06 PM
==============================================

(SysEx:<43> 10 3e 4 23 1 0 ) Sel 1 :
- _Ch -> 1
- 7bit value from SysEx position 0
- '_Val' from MIDI value
'_Val:0' - _Screen -> Utility, set engine state
'_Val:1' - _Screen -> MIDI, set engine state
'_Val:2' - _Screen -> Setup, set engine state
'_Val:3' - _Screen -> View, set engine state
'_Val:4' - _Screen -> Dynamics, set engine state
'_Val:5' - _Screen -> EQ, set engine state
'_Val:6' - _Screen -> Phase/Delay, set engine state
'_Val:7' - _Screen -> Pan&Routing, set engine state
'_Val:8' - _Screen -> FX 1, set engine state
'_Val:9' - _Screen -> FX 2, set engine state
'_Val:10' - _Screen -> Option I/O, set engine state
'_Val:11' - _Screen -> Remote, set engine state
'_Val:12' - _Screen -> AUX 1, set engine state
'_Val:13' - _Screen -> AUX 2, set engine state
'_Val:14' - _Screen -> AUX 3, set engine state
'_Val:15' - _Screen -> AUX 4, set engine state
'_Val:16' - _Screen -> Home, set engine state
'_Val:17' - _Screen -> Memory, set engine state
- _Val <= 7
'Last action:OK' - _FaderMode -> Ch 1-15/16, set engine state
- _Val == 8
'Last action:OK' - _FaderMode -> FX 1, set engine state
- _Val == 9
'Last action:OK' - _FaderMode -> FX 2, set engine state
- _Val == 10
'Last action:OK' - _FaderMode -> ACT, set engine state
- _Val == 11
'Last action:OK' - _FaderMode -> Busses, set engine state
- _Val == 12
'Last action:OK' - _FaderMode -> Aux 1, set engine state
- _Val == 13
'Last action:OK' - _FaderMode -> Aux 2, set engine state
- _Val == 14
'Last action:OK' - _FaderMode -> Aux 3, set engine state
- _Val == 15
'Last action:OK' - _FaderMode -> Aux 4, set engine state
- _Val >= 16
'Last action:OK' - _FaderMode -> Ch 1-15/16, set engine state
- 7bit value from SysEx position 1
- '_Val' from MIDI value
'_Val:0' - _LCDPage -> 1, set engine state
'_Val:1' - _LCDPage -> 2, set engine state
'_Val:2' - _LCDPage -> 3, set engine state
'_Val:3' - _LCDPage -> 4, set engine state
'_Val:4' - _LCDPage -> 5, set engine state
'Last action:Failed' - Undefined *
- Call ((None)) _Sel Select(_Ch) :
- Parameter Value Monitor
- Parameter Name Monitor
- Call ((None)) _Sel 1-12 Set(_Ch) :

azslow3

Quote from: Linzmeister on September 10, 2016, 12:57:29 AM
Quote from: azslow3 on September 09, 2016, 03:35:57 PM
As I wrote, that problem is not to let faders control sends. I just do not want monitor ALL sends on ALL channels just because you can occasionally press "AUX3" and Y01 does not inform anyone that you have done that.
Quote

Ahh, if the main problem is that the 01V does not inform us when Fader mode is changed, rest easy...  It does notify when the fader mode/page is changed. 
...
The zz is the page number.  every time a SELect key is presed,Every time a fader mode key is pressed, it sends 23 01 xx yy zz
I have not understood before that the message is sent on PAGE/SCREEN changes, I have thought the information is included, but only wehn SEL buttons are used. That is the "game changer"!

Quote
Does that change anything?
Everything, you can forget my concerns  ;)

Quote
Are you concerned about:
A)  monitoring a large number of controls in total or
B)  monitoring a large number of controls simultaneously for processing time?

If it is only a matter of timing, and you have a way to de-activate the unseen controls, sure, only monitor the controls for the current screen/fader mode as per the 23 01 xx yy zz msg.
(B) and exactly what you write, if we know current fader mode/screen, there will be exactly one monitor per hardware fader (so the number of monitors will not change, I will just have to select correct parameter (currently Volume) depending from known mode, send feedback on mode change to correct Y01 "parameter" (since aggregated, that is just 4 SysExes for all faders) and assign all incoming MIDI related to faders to the same logical controls (the number of such messages is not a problem, also I can optimize that).

The only problem left is time.... I am in transfer, then I will have no Internet at home till the end of the month. So please be patient.

Linzmeister

Excellent!!  :D :D :D

Sorry it took so long to express it clearly.

Anytime I select a channel, it tells me which channel, screen and page,
Anytime I select a fader mode, it tells me which channel, screen and page
Anytime I change a page it tells me which channel, screen and page.

Time I can cope with.  Hope all goes well with the move.

azslow3

Hi,

I have moved, at least I do not have keys for old flat. But I am still try to organize my new room/studio, I have to put all my music instruments and working computer at one place (everything was spread over several rooms before). Other family members obviously take all the time (lite, kitchen, furniture, etc.). And so the only my "toys"  which work are DP (was easy to connect) and acoustic guitar (no connection needed  ;) ) . No computer, no Internet.

I had a look at your mapping at mod, and I have some questions to understand the whole picture.
1. I forgot how you switch to channels 17/24, also either that produce any message
2. I see "Bus 1 ... 4", "Aux 1..4" and "Fx 1..2" controls. Which buttons are sending these messages?
3. I see "Aux" and "FX" Fader Mode buttons (on Y01 picture). But I do not see Bus buttons...
4. I see "Sel Aux/FX/Bus", does that mean Sel buttons send different messages in Aux/FX/Bus mode? And what the meaning let say "Sel 3" button has in FX mode? Also does SOLO/ON buttons still send the same messages in all Fader modes?

I probably could find the answers looking in docs, but I guess for you that is not too complicated to answer since you work with the device all the time  ;)

Linzmeister

#70
Hi Alexey,

All that reorganizing takes time and effort.  I hope life begins to settle back into normal patterns for you.

Addressing your numbered points:

1.  Channels 17-24 are accessed via the Option IO fader mode button.  Pressing Opt IO will send 23 01 [CH#17 - 1E] 0A (page 00 ~ 04)    If last time before I exited Opt IO mode; I had selected Ch 18 and was viewing page 3, it will go to Ch 18 and page 3 upon returning to Option IO mode.

2.  Bus 1-4, Aux 1-4, Fx 1-2 are faders not buttons (there are Aux and Bus ON buttons, but I forgot to map them..).   
There are 2 ways to access the Aux, FX and Bus faders:

Busses 1-4 can be accessed from:
    Pan & Routing Page 3, 23 01 XX 07 02 via on screen virtual faders operated by moving the cursor to select a virtual fader and using the data wheel to change level. 
    Remote Page 1 23 01 xx 0B 00 - faders 1-4 control busses 1-4  (default programming.. can be changed)

Aux1-4 or FX1-2 can also be accessed by 2 methods:
    Remote Page 1 - faders 5-8 control Aux 1-4  (default programming.. can be changed)
                               faders 9-10 control FX 1-2  (default programming.. can be changed)

When Aux1-4 or FX1-2 Fader Mode is pressed and lit, the RED master fader becomes the Aux x Master or FX x Master and transmits a different SysEx message.  Think of an analog sound desk which has Aux master level knob/fader to adjust the level going to a foldback amp.

Pressing Aux1-4 or FX 1-2 Fader Mode buttons send:

FX   1    23 01 XX 08 [00 - 02]     Master Fader sends different SysEx msg
FX   2    23 01 XX 09 [00 - 02]     Master Fader sends different SysEx msg

AUX 1   23 01 XX 0C [00 - 01]     Master Fader sends different SysEx msg
AUX 2   23 01 XX 0D [00 - 01]     Master Fader sends different SysEx msg
AUX 3   23 01 XX 0E [00 - 01]     Master Fader sends different SysEx msg
AUX 4   23 01 XX 0F [00 - 01]     Master Fader sends different SysEx msg

XX is CH#. This stays on the same value that was transmitted on previous channel select button

3.   There is no dedicated Bus fader Mode.  Bus levels are changed as stated above by pan& routing page 3 (on screen virtual fader) and Remote page 1 physical faders 1-4

4.   Ahh, yes, we can probably delete "Sel Aux/FX/Bus"..   I got carried away..  They would be the Stereo Master Select button (Out of WAI indicator).  Normally... when in Aux/Fx fader mode, pressing the master Select button allows me to access the EQ and Dynamics for the Aux/Fx sends, but..
a)  I forgot about the out of WAI indication,
b)  in Remote Fader Mode there is no EQ or Dynamics accessible on the desk so it wouldn't work the way I was originally thinking anyway..  I thought I could have WAI width of 14 Tracks and 14 Busses with EQ and Dynamics on all of them by using the Remote Fader Mode Page 1.   Now with clearer thoughts I can have 14 tracks with EQ and Dynamics, but the 14 busses would be fader level and mute (maybe one other button) only, until I changed from Tracks to Busses with the transport mode buttons already programmed to change WAI to 14 Busses only and control the busses with Home fader mode strips 1-14 - which is already working.

The only reason for wanting WAI width of 28 is less keystrokes..  faster operation, less thinking about which Mode I am in Edit, Automation, Mute/Solo, Transport... to find the Track/Busses buttons.. If I can just tap a dedicated control on the surface to do quick bus mixing/level automation.  Detailed work would require going to transport mode and selecting WAI Bus mode of course.

Select buttons 1-14 will still transmit the same 23 01 XX message in Aux/Fx fader mode, but the fader mode and page number (YY ZZ) will match the current values for those parameters as documented above and in the table at http://www.azslow.com/index.php/topic,322.msg1711.html#msg1711.

Solo and ON buttons 1-14 still transmit the same messages when in Aux/Fx mode...  I would however like them to do different things in Sonar.. ie Send x On/Off... send x Pre/Post..   the 23 01 xx YY ZZ will be the key to that decision.... later..

In Option IO mode they send different messages - CH 17-24 On/Solo Which I have highlighted in the preset with *** around the function name.  Because turning ON a new SOLO button also sends the SELect msg, at the moment the desk changes to the home fader Mode, because the Select msg being echoed by AZC has the YY and ZZ values for the Home Screen and Page 1 (00)..

The default programming of Remote Fader Mode, Page 1, Bank 1, strips 1-10 is:
    the Select buttons send the same message 23 01 [00-0D] 10 00
    the ON buttons send different SysEx messages as programmed by screen selection..  defaulting to Bus 1-4 ON, Aux 1-4 ON, FX 1-2 On
    the SOLO buttons are disabled.. no function
    the faders are bus1-4, Aux 1-4, FX 1-2
The last 4 channel strips are unassigned by default..  I can programme any 01V parameter I like (eg: FX 1 reverb time) in there and use it for Busses 11-14 in AZC.

I don't intend to use page 2
The default programming of Remote Fader Mode, Page 2: 
    the first 6 Select buttons are MMC Locate commands
    the Solo buttons are disabled
    the first 6 ON buttons are MMC Transport commands
    the faders are disabled - No function

The default programming of Remote Fader Mode, Page 3:
    the Select buttons transmit the same messages 23 01 xx 0B 02.
    the faders transmit CC messages and the Solo and On switches transmit Note On/Off messages.

It may be better to use Page 3 for the bus and Aux/FX masters as it has a fader and 2 buttons instead of a fader and 1 button provided by page 1..

I hope that answers more questions than it raises.

Linzmeister

Aaaaaarrrrrggggghhhhh!!!!  Now I get it!  Light bulb moment right here.

Ok, my apologies. 

I have just realised, I don't need WAI width of 28, with 14 tracks and 14 busses.... Because when I touch remote page 1 or 3 (whichever we decide to use) yamy will send a message identifying selected channel, REMOTE screen and page#, which then allows us to change from tracks to busses, the same way the button on the transport mode does.

I am slowly getting my head around the AZC way of thinking.

azslow3

Quote from: Linzmeister on September 27, 2016, 12:28:26 AM
Aaaaaarrrrrggggghhhhh!!!!  Now I get it!  Light bulb moment right here.

Ok, my apologies. 

I have just realised, I don't need WAI width of 28, with 14 tracks and 14 busses.... Because when I touch remote page 1 or 3 (whichever we decide to use) yamy will send a message identifying selected channel, REMOTE screen and page#, which then allows us to change from tracks to busses, the same way the button on the transport mode does.

I am slowly getting my head around the AZC way of thinking.
:)
Now I see that you have understood the concept!
We just need all these "mode" buttons to set some Software States, and then use these states in ONE Logical control per physical control of Y01 (fader, on/solo/sel, EQ/Pan) to select what it does (easy part) and react on/send correct SysEx (challenging part since the number of messages per control is huge, also include "group sending" for several controls and updates after mode change).

I am progressing with my "studio room" setup, my gear is already functional. The Internet had to be connected today, but that has not happened... So I hope to have time for the preset in a couple of days.

Linzmeister

#73
This is getting scary...  Another light bulb moment...

Now I see why you only want 1 MIDI message per physical control.... and I can see a way to get there with both you and the yamy being happy..  For example: utilising the pages of the home fader mode, we can access 14 Sonar tracks, 14 channels of ACT with more buttons and rotaries per channel than my original thinking permitted and 14 Busses with full EQ control and less button pressing....  And banking that is the same width for all modes...  Much more uniform software control and fewer hardware controls..

There are options on the 01V Utility menu to automatically open the EQ and Pan&Routing screens when you move the appropriate control which would change the AZC controls mode.  I have always had these turned using the desk for a live mix...  I turned the AutoPan option off weeks ago to allow the Pan to work as AZC HPF/LPF/Send Pan, and last night I turned off the AutoEQ option to allow for more controls in ACT and Bus modes.  I rarely use HPF and LPF on busses, so it is no sacrifice.

EDIT:  Actually, if the Dynamics and EQ screens only update Pan Mode in AZC and leave Tracks/ACT/Busses mode alone, I can have more ACT rotaries and full Bus control./EDIT

Channels 17-24 and the Remote fader pages (previously busses in my thinking) are redundant, less functional and harder to integrate, because of the different MIDI messages and limited channel count per fader mode/bank and lower control count per strip.

I have succeeded in assigning the various pages of the aux/Fx Fader Modes to different software states for Sonar sends, and also mapped the Pan control to 18 different modes ...  Track Pan, 14 Send Pans, HPF, LPF and track Gain - which may require a third party plugin ??? ... With more possibilities remaining that I haven't found a need for yet.  The Pan control doesn't actually do anything yet, but the underlying logic is in place.

I have also expanded the select function I wrote to work with all channels using a call from each Sel function, which means that changing screens/fader modes is fully integrated with every channel select.  I am sure it could still do with some tidying up/shortening, but it actually works.. 

Linzmeister

#74
QuoteNow I see why you only want 1 MIDI message per physical control.... and I can see a way to get there with both you and the yamy being happy..

On further reflection... no I can't :( - I can only reduce the messages a physical fader sends to a count of 7 (channel level, and 6 Aux/Fx levels), but I can't make it 1 message per fader. 

On another note I have realized that I can set multiple Action (Pre)conditions per Action Configuration/Statement, which reduced the length of the Action List/Function and the text of the Last Control Actions list on the Overview Tab quite a lot..  This tells me that the Action Conditions are effectively an IF programming construct.  If X==A AND Y==B AND Z==C   Slowly putting the pieces together. :):):)   Those deceptive little drop down boxes can do so much more than I initially thought...  So I have modified my Screen page function as shown below.

I did try to get clever and delete the _PanMode Software State, thinking that the _FaderMode would tell me everything I needed to know, but then I realized that _PanMode needed 4 more states than _FaderMode (Gain, HPF, LPF, PAN).

With this configuration, I can control 14 sends on Ch 1, and 15 busses, all without changing WAI from 14  Tracks 0 busses 0 mains.  I don't have any feedback on the channel aux sends, or Bus Masters.

(SysEx:<43> 10 3e 4 23 1 0 ) Sel 1 :
- Call ((None)) _fScreenPage :
- _Ch -> 1
'Last action:Failed' - Undefined *
- Call ((None)) _Sel Select(_Ch) :
- Parameter Value Monitor
- Parameter Name Monitor
- Call ((None)) _Sel 1-12 Set(_Ch) :

((None)) _fScreenPage :
- 7bit value from SysEx position 0

- '_Val' from MIDI value
'_Val:0' - Screen -> Utility                       Doesn't currently do anything special   3 pages Available for Modes
'_Val:1' - Screen -> MIDI                        Doesn't currently do anything special   5 pages Available for Modes
'_Val:2' - Screen -> Setup                       Doesn't currently do anything special   5 pages Available for Modes
'_Val:3' - Screen -> View                         Doesn't currently do anything special   3 pages Available for Modes
'_Val:4' - Screen -> Dynamics
'_Val:5' - Screen -> EQ
'_Val:6' - Screen -> Phase/Delay            Doesn't currently do anything special    4 pages Available for Modes
'_Val:7' - Screen -> PanRouting                                                                           4 pages Available for Modes
'_Val:8' - Screen -> FX 1
'_Val:9' - Screen -> FX 2
'_Val:10' - Screen -> Option I/O
'_Val:11' - Screen -> Remote
'_Val:12' - Screen -> AUX 1
'_Val:13' - Screen -> AUX 2
'_Val:14' - Screen -> AUX 3
'_Val:15' - Screen -> AUX 4
'_Val:16' - Screen -> Home
'_Val:17' - Screen -> Memory                  Doesn't currently do anything special and probably never should.  I don't want to mess with my scenes :)
- 7bit value from SysEx position 1
- '_Val' from MIDI value
'_Val:0' - Page -> 1
'_Val:1' - Page -> 2
'_Val:2' - Page -> 3
'_Val:3' - Page -> 4
'_Val:4' - Page -> 5
'Screen:Dynamics' - _PanMode -> Gain, set engine state
'Page:1' 'Screen:EQ' - _PanMode -> HPF, set engine state *
'Page:2' 'Screen:EQ' - _PanMode -> LPF, set engine state *
'Screen:Pan&Routing' - _PanMode -> Pan, set engine state *

'Page:1' 'Screen:FX 1' - _FaderMode -> SFX 1, set engine state
'Page:1' 'Screen:FX 1' - _PanMode -> SFX 1 Pan, set engine state
'Page:2' 'Screen:FX 1' - _FaderMode -> SFX 2, set engine state
'Page:2' 'Screen:FX 1' - _PanMode -> SFX 2 Pan, set engine state
'Page:3' 'Screen:FX 1' - _FaderMode -> SFX 3, set engine state
'Page:3' 'Screen:FX 1' - _PanMode -> SFX 3 Pan, set engine state               3 Pages - 3 different effects Bus sends and masters
'Page:1' 'Screen:FX 2' - _FaderMode -> SFX 4, set engine state
'Page:1' 'Screen:FX 2' - _PanMode -> SFX 4 Pan, set engine state
'Page:2' 'Screen:FX 2' - _FaderMode -> SFX 5, set engine state
'Page:2' 'Screen:FX 2' - _PanMode -> SFX 5 Pan, set engine state
'Page:3' 'Screen:FX 2' - _FaderMode -> SFX 6, set engine state
                     *2
'Page:3' 'Screen:FX 2' - _PanMode -> SFX 6 pan, set engine state
'Page:1' 'Screen:AUX 1' - _FaderMode -> Send 1, set engine state           2 Pages, 2 Different Bus Sends and Masters.
'Page:1' 'Screen:AUX 1' - _PanMode -> Send 1 Pan, set engine state       *4
'Page:2' 'Screen:AUX 1' - _FaderMode -> Send 2, set engine state
'Page:2' 'Screen:AUX 1' - _PanMode -> Send 2 Pan, set engine state
'Page:1' 'Screen:AUX 2' - _FaderMode -> Send 3, set engine state
'Page:1' 'Screen:AUX 2' - _PanMode -> Send 3 Pan, set engine state
'Page:2' 'Screen:AUX 2' - _FaderMode -> Send 4, set engine state
'Page:2' 'Screen:AUX 2' - _PanMode -> Send 4 Pan, set engine state
'Page:1' 'Screen:AUX 3' - _FaderMode -> Send 5, set engine state
'Page:1' 'Screen:AUX 3' - _PanMode -> Send 5 Pan, set engine state
'Page:2' 'Screen:AUX 3' - _FaderMode -> Send 6, set engine state
'Page:2' 'Screen:AUX 3' - _PanMode -> Send 6 Pan, set engine state
'Page:1' 'Screen:AUX 4' - _FaderMode -> Send 7, set engine state
'Page:1' 'Screen:AUX 4' - _PanMode -> Send 7 Pan, set engine state
'Page:2' 'Screen:AUX 4' - _FaderMode -> Send 8, set engine state
'Page:2' 'Screen:AUX 4' - _PanMode -> Send 8 Pan, set engine state       For a Total of 14 bus sends (8 mix busses, 6 FX busses )
'Screen:Home' - _PanMode -> Pan

(SysEx:<43> 10 3e 4 30 0 24 ) Ch Master :
- _Ch -> 15
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
- WAI Bus  Volume
- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

(SysEx:<43> 10 3e 4 30 0 1c ) Aux 1 :
- _Ch -> 15
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
'_FaderMode:Send 1' - WAI Bus +1 Volume
'_FaderMode:Send 2' - WAI Bus +2 Volume

- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

(SysEx:<43> 10 3e 4 30 0 1d ) Aux 2 :
- _Ch -> 15
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
'_FaderMode:Send 3' - WAI Bus +3 Volume
'_FaderMode:Send 4' - WAI Bus +4 Volume

- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

(SysEx:<43> 10 3e 4 30 0 1e ) Aux 3 :
- _Ch -> 15
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
'_FaderMode:Send 5' - WAI Bus +5 Volume
'_FaderMode:Send 6' - WAI Bus +6 Volume

- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

(SysEx:<43> 10 3e 4 30 0 1f ) Aux 4 :
- _Ch -> 15
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
'_FaderMode:Send 7' - WAI Bus +7 Volume
'_FaderMode:Send 8' - WAI Bus +8 Volume

- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

(SysEx:<43> 10 3e 4 30 0 25 ) Fx 1 :
- _Ch -> 15
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
'_FaderMode:SFX 1' - WAI Bus +9 Volume
'_FaderMode:SFX 2' - WAI Bus +10 Volume
'_FaderMode:SFX 3' - WAI Bus +11 Volume

- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

(SysEx:<43> 10 3e 4 30 0 26 ) Fx 2 :
- _Ch -> 15
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
'_FaderMode:SFX 4' - WAI Bus +12 Volume
'_FaderMode:SFX 5' - WAI Bus +13 Volume
'_FaderMode:SFX 6' - WAI Bus +14 Volume

- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

((None)) _fCh Select(_Ch) :
'_FaderMode:Ch 1-15/16' - WAI Strip +<_Ch> Volume *
'_FaderMode:Send 1' - Send (_Ch)+0 parameter Volume *
'_FaderMode:Send 2' - Send (_Ch)+1 parameter Volume *
'_FaderMode:Send 3' - Send (_Ch)+2 parameter Volume *
'_FaderMode:Send 4' - Send (_Ch)+3 parameter Volume *
'_FaderMode:Send 5' - Send (_Ch)+4 parameter Volume *
'_FaderMode:Send 6' - Send (_Ch)+5 parameter Volume *
'_FaderMode:Send 7' - Send (_Ch)+6 parameter Volume *
'_FaderMode:Send 8' - Send (_Ch)+7 parameter Volume *
'_FaderMode:SFX 1' - Send (_Ch)+8 parameter Volume *
'_FaderMode:SFX 2' - Send (_Ch)+9 parameter Volume *
'_FaderMode:SFX 3' - Send (_Ch)+10 parameter Volume *
'_FaderMode:SFX 4' - Send (_Ch)+11 parameter Volume *
'_FaderMode:SFX 5' - Send (_Ch)+12 parameter Volume *
'_FaderMode:SFX 6' - Send (_Ch)+13 parameter Volume *

(SysEx:<43> 10 3e 4 30 0 27 ) Aux 1 Ch 1 :                Just copy and pasted Ch 1 Fader
- _Ch -> 1
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
- Call ((None)) _fCh Select(_Ch) :
- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor

same same same

(SysEx:<43> 10 3e 4 30 0 63 ) FX 2 Ch 1 :             6th copy and paste of Ch 1 Fader
- _Ch -> 1
- _Pos -> 1, in own ctrl. only
- 7bit value from SysEx position 0 + <_Pos>
'Last action:Failed' - Undefined *
- Call ((None)) _fCh Select(_Ch) :
- Call ((None)) _fCh Set(_Ch) :
'Moved(_Ch):No' 'Motor:On' - Parameter Value Monitor
- Parameter Name Monitor