BSS Soundweb London include file
Bigsquatch
Posts: 216
Is there anyone out there who has successfully used this include file that would be willing to help me figure out what I'm doing wrong?
My feedback arrays get 4 extended ASCII characters in the 1st 4 positions of each subscribed slot.
Here's what I have in my main source
My feedback arrays get 4 extended ASCII characters in the 1st 4 positions of each subscribed slot.
Here's what I have in my main source
DEFINE_CONSTANT CHAR IO_CARD1[] = {$0F,$DE,$03,$00,$00,$01};// I/O CARD SLOT A IS ALWAYS OBJECT ID $00,$00,$01 CHAR IO_CARD2[] = {$0F,$DE,$03,$00,$00,$02};// I/O CARD SLOT B IS ALWAYS OBJECT ID $00,$00,$02 CHAR IO_CARD3[] = {$0F,$DE,$03,$00,$00,$03};// I/O CARD SLOT C IS ALWAYS OBJECT ID $00,$00,$03 CHAR IO_CARD4[] = {$0F,$DE,$03,$00,$00,$04};// I/O CARD SLOT D IS ALWAYS OBJECT ID $00,$00,$04 INTEGER TL1 =1 // TIMELINE FOR FEEDBACK CHAR CHAPEL_GAIN[] = {$70,$97,$03,$00,$01,$15} // Chapel room GAIN N-INPUT dsp5FIRE CHAR MULTI_GAIN[] = {$0F,$DE,$03,$00,$01,$3B} // Multi purpose room GAIN N-INPUT dsp3FIRE INTEGER GAIN_STEP_PER = 1 // GAIN STEP IF USING SET_GAIN_PERCENT INTEGER MAX_RAMPGAIN_PER = 100 // THESE ARE VALUES USING SUBSCRIBE% INTEGER MIN_RAMPGAIN_PER = 0 DEFINE_VARIABLE VOLATILE CHAR FB_PREV[4][12] LONG REPEAT_TIME[1] = 500 // BSS - 500ms TO UPDATE FEEDBACK INCLUDE 'BSS_Soundweb_London.axi' DEFINE_FUNCTION SUBSCRIBE_ALL() { CALL 'SUBSCRIBE%'(CHAPEL_GAIN,N_GAIN,0,1,GAIN) // FB[1][10] SUBSCRIBE %'S ALWAYS HELD IN COLUMN 10 CALL 'SUBSCRIBE' (CHAPEL_GAIN,N_GAIN,0,1,MUTE) // FB[2] CALL 'SUBSCRIBE%'(MULTI_GAIN,N_GAIN,0,1,GAIN) // FB[3][10] SUBSCRIBE %'S ALWAYS HELD IN COLUMN 10 CALL 'SUBSCRIBE' (MULTI_GAIN,N_GAIN,0,1,MUTE) // FB[4] } DEFINE_START TIMELINE_CREATE(TL1, REPEAT_TIME, 1, TIMELINE_ABSOLUTE,TIMELINE_REPEAT) // BSS FEEDBACK TIMELINE TIMELINE_EVENT[TL1] // BSS AUDIO GAIN FEEDBACK { // L O C A L G A I N // Compare value to previously stored value - only send if changed IF(MID_STRING(FB[1],10,1) <> MID_STRING(FB_PREV[1],10,1)) { STACK_VAR INTEGER lvl // Convert level to integer value lvl = ATOI(MID_STRING(FB[1],10,1)) // Send to chapel & mpr panels SEND_LEVEL dvTP_Chapel_P3, 1, lvl SEND_LEVEL dvTP_MultiPurpose_P3, 1, lvl // Store the new level to compare next time around FB_PREV[1][10] = FB[1][10] } // S A N C T U A R Y G A I N // Compare value to previously stored value - only send if changed IF(MID_STRING(FB[3],10,1) <> MID_STRING(FB_PREV[3],10,1)) { STACK_VAR INTEGER lvl // Convert level to integer value lvl = ATOI(MID_STRING(FB[3],10,1)) // Send to chapel & mpr panels SEND_LEVEL dvTP_Chapel_P3, 2, lvl SEND_LEVEL dvTP_MultiPurpose_P3, 2, lvl // Store the new level to compare next time around FB_PREV[3][10] = FB[3][10] } } DATA_EVENT [dvSOUNDWEB] { ONLINE: { STARTUP = 1; //BEGIN LOGGING FEEDBACK VARIABLES: THESE ARE THE ONLY VARIABLES //THAT WILL BE COMPARED TO RECEIVED STRINGS FOR TRUE FEEDBACK T = 0; //initialization SUBSCRIBE_ALL(); STARTUP = 0; //END LOGGING FEEDBACK VARIABLES } }
0
Comments
Is the feedback you're looking for not in index 10 of the array? That would explain why you're not seeing what you expect in the first four indices?
As an aside, the BSS provided code for the Londons is terrible. They're a nice product but the protocol is difficult to work with and the BSS code exacerbates the situation.
If you get stuck send me a PM and I'll have a look for you.
I've never seen anything in column 10 so far (in debug). And I'm getting an error when I call ATOI(FB[1][10])