cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
93
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11
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 PM
Hi Jay,

  the OSD menu uses a combination of:

1xcommand Video PictureLayoutSet
2    LayoutFamily(r): <auto/equal/fullscreen/presentationlargespeaker/presentationsmallspeaker>

and
1xConfiguration 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,
   Viggo

Subject: RE: Unable to find C40 API Layout commands
Replied by: Scott Stanley on 19-10-2010 07:45:49 PM
Do 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)

AND

xConfiguration 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 PM
The 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 status

I then do a lookup

LAYOUT_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.
Scott

Subject: RE: Unable to find C40 API Layout commands
Replied by: Viggo Fredriksen on 27-10-2010 10:25:29 AM
Hi Jay,

  I tried to send you an email earlier, but I guess it didn't get through. I've attached a
snapshot containing the default layout families selected in each state. Also attached
is two images containing the layout families which are by default shown in the
menu for each state.

I hope this helps clear it up.


  viggo

Subject: RE: Unable to find C40 API Layout commands
Replied by: Scott Stanley on 27-10-2010 05:19:49 PM
Viggo

My impression was that the Compsitor does not work with the C40??

Scott

Subject: RE: Unable to find C40 API Layout commands
Replied by: Viggo Fredriksen on 29-10-2010 01:12:42 PM
That is correct, with Codec C40 you can only configure the default layouts
(currently known as AutoMode in the API) for the different states. With
Codec C90 and C60 it's possible to change the layout definitions as well.
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links