BSS Soundweb London BLU-800
RicardoSiqueira
Posts: 373
I wonder if anybody out there have succesfully integrated AMX and BSS Soundweb London BLU-800. I've spent a whole day trying to use the AMX sample projects and the one downloaded from the BSS site and no luck. I just need to switch inputs (1 to 8) to a fixed output (output 1) and control the Main Volume Output. I am using the the HiQNet Node Adddress of the unit I am testing and still no luck. This is driving me nuts. Any suggestions? Any sample code? Thanks,
Ricardo
Ricardo
0
Comments
If you have the DSP file and can look at it in Architect that will be helpful, otherwise you will need the HiQNet addresses of the DSP blocks that you want to control from whomever programmed the device. You don't need the address of the BLU-800 itself.
Define the blocks that you will be using in DEFINE_CONSTANTS
You can then subscribe to levels on the objects
On the unit I worked with the DSP programmer had set up presets for switcing inputs which helped make things easier for me
Volume was handled by using the SET_GAIN% function to set the gain to the value of variables in the project
IMPOTRANT: I'm 99% sure that there are problems with the code that I posted.
I eventually got it all working and if I remember correctly it all came down to making sure that the BSS defined constants that I was passing to the functions were the right ones. The help file shows many many different possibilities but does not explain which ones go with which DSP blocks. (Plus the DSP guy had change a bunch of the programming and neglected to tell me until I had him come back out to the job site to help troubleshoot!!!)
Hope that helps.
CHAR IO_CARD1[] = {$05,$f1,$03,$00,$00,$01};// I/O CARD SLOT A IS ALWAYS OBJECT ID $00,$00,$01
CHAR IO_CARD2[] = {$05,$f1,$03,$00,$00,$02};// I/O CARD SLOT B IS ALWAYS OBJECT ID $00,$00,$02
CHAR IO_CARD3[] = {$05,$f1,$03,$00,$00,$03};// I/O CARD SLOT C IS ALWAYS OBJECT ID $00,$00,$03
CHAR IO_CARD4[] = {$05,$f1,$03,$00,$00,$04};// I/O CARD SLOT D IS ALWAYS OBJECT ID $00,$00,$04
CHAR HALL_A[] = {$05,$f1,$03,$00,$01,$00};//ROOM_COMBINE PROCESSING OBJECT
CHAR CHAP_AUTO[] = {$05,$f1,$03,$00,$01,$01}; //AUTOMIXER DEVICE IN LONDON ARCHITECTURE
CHAR BR_MIC_MIXER[] = {$05,$f1,$03,$00,$01,$06}; //MIXER
CHAR MR_MIC_MIXER[] = {$05,$f1,$03,$00,$01,$07};//MIXER
CHAR VIDEO_SERVER[] = {$05,$f1,$03,$00,$01,$08};//ROUTER
CHAR MICS[] = {$05,$f1,$03,$00,$01,$02};//MATRIX MIXER
CHAR WC_GAIN[] = {$05,$f1,$03,$00,$01,$04}; //GAIN OBJECT
CHAR RED_ROOMGAIN[] = {$05,$f1,$03,$00,$01,$09}; //N-GAIN OBJECT
CHAR SYSTEM_MATRIX[] ={$05,$f1,$03,$00,$01,$0A}; //SOURCE_MATRIX
CHAR BRIEFING_ROOM[] ={$05,$f1,$03,$00,$10,$0C}; //SOURCE_SELECTOR -' THIS IS THE ROOM'
How do I calculate or apply the HiQnet ID (0x100C) from my unit to the above constants? Is there another location in the Soundweb Architect Software that I can find the correct HEX values? Thanks!
I commented out pretty much all of the DSP blocks in the include file and defined just the ones I needed. In the subscribe_all function I also got rid of everything and only put my blocks in there.
This is one reason why it took so long to sort things out. The include file is built to utilize every possible type of block and function. It took forever just commenting out code, paring it down to the bare minimum and then making sure it still compiled.
What it really needs to be is a proper module, not just an include file. There's no reason it couldn't be similar to the Biamp module in the way it works when it comes to adding components and blocks to look at.
I'd go as far as to say that whatever they produce needs to be written by a real AMX programmer, not somebody from BSS who cobbled something together for a trade show.
The control protocol is comprehensive but complex, so it doesn't help that their sample code's horrendous. I've been providing feedback on this via our local distributor for a while. It took me about a week to make sense of their code and get it straightened out.
I just stumbled across this post and actually published an open source BSS Soundweb API back in April because the BSS example was so frustrating to use. It’s an alpha version and still has features that need to be developed, but the include file can be dropped into a project and things like set% can be used with a simple function call that accepts a HiQnet address.
An overview of the API can be found in the header comments of amx-lib-bss.axi. It is also important to be familiar with the London DI Kit (link to file included in comments), as I tried to adhere to the Soundweb concepts and terminology as much as possible when creating the API so that using it feels like using a BSS product.
One important thing to note is that I ran into big problems when trying to use the NetLinx log10_value() function to decode Soundweb levels. It’s a long story. I’ve been migrating towards Duet anyway, so I’m considering redoing this API as a native Duet API with a NetLinx wrapper so that it works on both platforms. The current website has intentionally been neglected because of this.
I have successfully used the alpha version of the API on real projects, so it is functional.
So far control is working great.
Do you have a function to convert incoming messages back to Address+StateVariable and value? Maybe I'm missing it.
edit: this works (for discretes). not finished and disorganized, but it's a start