Matrix Volume levels on Modero TP
RicardoSiqueira
Junior Member
Is there a way to tie up the Matrix audio volume levels to the Modero Bargraphs? So, when the volume is changed on the Matrix it updates the Modero TP bargraph and vice-versa. I am trying to accomplish the same volume controls like the old AS16 and the new Autopatch levels. Usually on my house audio page I display all the room bargraphs so the end user can see the volume feedback for all zones, as well as adjust any single zone volume he/she wants. I want to do the same with the Matrix Audio. Any ideas? Thanks,
Ricardo
Ricardo
Comments
-
First thing I would do is create two arrays or structures to hold matrix volume values. First array/structure would be to hold received volume levels and the second would be for comparison of sent values. Make bar graphs for each zone with level function set to "display only". Let's assume 16 zones so level codes will be 1-16.
DEFINE_PROGRAM // or FeedBack TmeLine if (AP_SentValue[1].Volume != AP_Value[1].Volume)// one for each zone { send_level dvTP_Matrix,Zone1_Display,AP_Value[1].Volume ; AP_SentValue[1].Volume = AP_Value[1].Volume ; } if (SentValue[2].Volume!= AP_Value[2].Volume)// one for each zone { send_level dvTP_Matrix,2,AP_AP_Value[2].Volume ; AP_SentValue[2].Volume = AP_Value[2].Volume ; } //continued or "for" loop for (i == 1 ; i <= MAX_AP_ZONES ; i ++) { if (SentValue[1].Volume!= AP_Value[i].Volume) { send_level dvTP_Matrix,AP_DisplayLVL[i],AP_AP_Value[i].Volume ; AP_SentValue[i].Volume = AP_Value[i].Volume ; } }Add additional values for bass, treble, balance. That should take care of your bar graph display of current levels.
Next create duplicate bar graphs for each display bar graph and set level function to "active" and make the button transparent and place on top of its counter part. Make these bar graphs level codes 17-32.
Create a var array or individual vars to hold values of each "active bar graph" and do a CREATE_LEVEL in define_start to tie each bar graph to its corresponding variable.create_level dvTP_Matrix,AP_ActiveLVL[1],nAP_Vol_Lvl[1] ; // device TP , level code , variable
Then do a Level_Event to handle pushes on the bar graph.level_event [dvTP_Matrix,AP_ActiveLVL[1]] {//No idea what the syntax would be. send_string dvAP,"'SetVol,Zone_1,',itoa(nAP_Vol_Lvl[1]),13" } level_event [dvTP_Matrix,AP_ActiveLVL[2]] {//No idea what the syntax would be. send_string dvAP,"'SetVol,Zone_2,',itoa(nAP_Vol_Lvl[2]),13" }
You could also try using LEVEL.VALUE instead of using created level variable. I like creating them.
I haven't done this in a while so this could be completely wrong but I think it's reasonably accurate. -
Thanks Vining. I like your approach. By comparing the values, you make sure that a new value is sent only if it differs from the stored one. I will try your approach when I get the Matrix next month.
Ricardo -
There is no need (and I imagine it?s less efficient) to check for old value vs. new value before a SEND_LEVEL. Netlinx is smart enough to know not to generate traffic if the value hasn?t changed or if the TP isn?t ONLINE. So you could have the following:
DEFINE_PROGRAM
SEND_LEVEL dvTP,1,nLevelVal
Monitor the Notifications window and you?ll see that the only time a level output is generated to the TP is when the value of nLevelVal changes.
Just food for thought? -
So what your saying is that Netlinx tracks level values in the same manner that it tracks channels states. Hmmm. What about VT button text, does it track that as well? Does Netlinx keep a structure of every button value, Channel State, Level State and VT Text? Basically doing internally what I've been doing externally and therefore doing twice the work.Joe Hebert wrote:
There is no need (and I imagine it?s less efficient) to check for old value vs. new value before a SEND_LEVEL. Netlinx is smart enough to know not to generate traffic if the value hasn?t changed or if the TP isn?t ONLINE. So you could have the following: -
Nope, not variable text. We have to take care of that ourselves, usually with the ONLINE event of the TP if we want to keep things in sync.vining wrote:What about VT button text, does it track that as well? -
volume status
I am new to the Matrix world. Does the Matrix automatically send you the volume level or do you wan to send volume level status. -
volume level
I mean volume level status command -
Origanally you had to constantly poll in order to track volume levels of zones with AMX but If I recall correctly they updated the firmware so that Matrix will now send a string when any source or volume levels are changed via keypads or front panel entries.
-
volume status
thank you for your quick response. does it do the same with AMX sending the RS232 codes. -
it's quite possible that is just sends a string when ever the they change regardless. I haven't had a chance to play with one since the original so I don't know.
Leave a Comment
Categories
- All Categories
- 2.5K AMX General Discussion
- 922 AMX Technical Discussion
- 514 AMX Hardware
- 502 AMX Control Products
- 3 AMX Video Distribution Products
- 9 AMX Networked AV (SVSI) Products
- AMX Workspace & Collaboration Products
- 3.4K AMX Software
- 151 AMX Resource Management Suite Software
- 386 AMX Design Tools
- 2.4K NetLinx Studio
- 135 Duet/Cafe Duet
- 248 NetLinx Modules & Duet Modules
- 57 AMX RPM Forum
- 228 MODPEDIA - The Public Repository of Modules for Everyone
- 943 AMX Specialty Forums
- 2.6K AMXForums Archive
- 2.6K AMXForums Archive Threads
- 1.5K AMX Hardware
- 432 AMX Applications and Solutions
- 249 Residential Forum
- 182 Tips and Tricks
- 146 AMX Website/Forums
