This document was generated from CDN thread Created by: Scott Stanley on 14-10-2010 10:29:17 PM I am writing an AMX module for C40. I have written similar for virtual screen control on MXP and other codecs. The C40 has a limited command set.I need to provide some basic layout control on a touch panel. The layout button on the C40 seems to have three modes of operation:1. When no sites are connected a. Wallpaper and selfview b. Full screen selfview 2. When one site is connected a. Speaker participant b. Full Screen participant 3. When multi-site is connected a. Equal participant b. Speaker participant c. Full Screen participant I need to implement each of these modes on a touch panel. I have been unable to find a reference that tells me how to call each of these views. Can you help or get me to someone who can?Subject: RE: Unable to find C40 API Layout commands Replied by: Viggo Fredriksen on 15-10-2010 01:27:12 PMHi Jay, the OSD menu uses a combination of:1xcommand Video PictureLayoutSet
2 LayoutFamily(r): <auto/equal/fullscreen/presentationlargespeaker/presentationsmallspeaker>
and1xConfiguration Video Selfview: <Off/On>
to control this.The choices available in the menu is a little more involved than your listing and depends on the following:- Number of participants
- Presentation state
- Screen configuration
- Selfview state
Alongside the next TC release we'll be giving out a new tool which will help visualize this a little better.Regards, ViggoSubject: RE: Unable to find C40 API Layout commands Replied by: Scott Stanley on 19-10-2010 07:45:49 PMDo you have any feel for time frame of the next release?I hear you saying:Store the status of every combination of these:Number of participants (0,1,2,3)Presentation state (ON/OFF)Screen configuration (dual/single)Selfview state (OFF/ON)Develop a table that cross reference every combination of these states and lookup a corresponding combination of xcommand Video PictureLayoutSet (Auto/Equal/Fullscreen/PresentationLargeSpeaker/PresentationSmallSpeaker)ANDxConfiguration Video Selfview: <Off/On>that matches the three popups I described.Is this what you are saying?Subject: RE: Unable to find C40 API Layout commands Replied by: Scott Stanley on 26-10-2010 10:21:29 PMThe only way I could find without help from someone knowing the inner workings of the API was to use keys statement. I track the number of calls and selfview statusI then do a lookupLAYOUT_ARRAY[ONE_CALL_NO_SELFVIEW][EQUAL_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[ONE_CALL_NO_SELFVIEW][SPEAKER_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[ONE_CALL_NO_SELFVIEW][FULLSCREEN_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0,0"LAYOUT_ARRAY[ONE_CALL_NO_SELFVIEW]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[ONE_CALL_W_SELFVIEW][EQUAL_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[ONE_CALL_W_SELFVIEW][SPEAKER_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0,0"LAYOUT_ARRAY[ONE_CALL_W_SELFVIEW][FULLSCREEN_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0"LAYOUT_ARRAY[ONE_CALL_W_SELFVIEW]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_NO_SELFVIEW][EQUAL_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_NO_SELFVIEW][SPEAKER_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_NO_SELFVIEW][FULLSCREEN_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_NO_SELFVIEW]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_W_SELFVIEW][EQUAL_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_W_SELFVIEW][SPEAKER_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_W_SELFVIEW][FULLSCREEN_PARTICIPANT]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0"LAYOUT_ARRAY[MULTI_CALL_W_SELFVIEW]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_NO_SELFVIEW][EQUAL_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_NO_SELFVIEW][SPEAKER_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_NO_SELFVIEW][FULLSCREEN_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_NO_SELFVIEW]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_NO_SELFVIEW][FULLSCREEN_SELFVIEW]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_W_SELFVIEW][EQUAL_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_W_SELFVIEW][SPEAKER_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_W_SELFVIEW][FULLSCREEN_PARTICIPANT]="0,0,0,0,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_W_SELFVIEW]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0,0"LAYOUT_ARRAY[NO_CALL_W_SELFVIEW][FULLSCREEN_SELFVIEW]="TANDBERG_KEY_LEFT,TANDBERG_KEY_LAYOUT,TANDBERG_KEY_DOWN,TANDBERG_KEY_DOWN,TANDBERG_KEY_OK,0,0,0,0,0"The constants in the 3D array represent text names for each keystroke. Arrays staring with zero are not valid combinations.I clock out the appropriate xCommand Key Click Key: based on the current state. The keys statement basically drives the user interface.This approach is very nasty...kind of like driving a TIVO from a Touch panel. It could be broken with one small API/GUI change from Tandberg.This could be so easy if appropriate API documentation was available from Tandberg.ScottSubject: RE: Unable to find C40 API Layout commands Replied by: Viggo Fredriksen on 27-10-2010 10:25:29 AMHi Jay, I tried to send you an email earlier, but I guess it didn't get through. I've attached asnapshot containing the default layout families selected in each state. Also attachedis two images containing the layout families which are by default shown in themenu for each state.I hope this helps clear it up. viggoSubject: RE: Unable to find C40 API Layout commands Replied by: Scott Stanley on 27-10-2010 05:19:49 PMViggoMy impression was that the Compsitor does not work with the C40??ScottSubject: RE: Unable to find C40 API Layout commands Replied by: Viggo Fredriksen on 29-10-2010 01:12:42 PMThat is correct, with Codec C40 you can only configure the default layouts(currently known as AutoMode in the API) for the different states. WithCodec C90 and C60 it's possible to change the layout definitions as well.