Revision: 4248
Author: seba.wagner
Date: Sat Sep 17 08:15:38 2011
Log: Fix moderator mute functionality from user-list icon /Part of
Issue 1481 and Issue 1512
Mute from within video box as well as other roomtypes are still todo.
http://code.google.com/p/openmeetings/source/detail?r=4248
Modified:
/trunk/singlewebapp/WebContent/openmeetings/base/components/turnoverlistpaged/listPagedContent.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/components/turnoverlistpaged/turnOverListPaged.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/mainAttributes.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/mainMethods.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/remote/baseVideoStreamDevice.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/moderationMiniIcons.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/moderationMiniIconsEventUserList.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/activitylist/activityList.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/_participents.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/library.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/participents.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/moderationMiniIconRestricted.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserListInner.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserListItem.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/baseVideoObject.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/library.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/videoObjectBroadcast.lzx
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/fileExplorer.lzx
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/components/turnoverlistpaged/listPagedContent.lzx
Sat Apr 10 04:43:25 2010
+++
/trunk/singlewebapp/WebContent/openmeetings/base/components/turnoverlistpaged/listPagedContent.lzx
Sat Sep 17 08:15:38 2011
@@ -42,7 +42,7 @@
</method>
<handler name="ony" args="y">
- parent.parent.onMoveList.sendEvent(item);
+ parent.parent.onMoveList.sendEvent(y);
</handler>
<method name="initItemsBySubItemNo"
args="itemName,noSubItems,subItemClassName">
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/components/turnoverlistpaged/turnOverListPaged.lzx
Wed Oct 20 13:58:45 2010
+++
/trunk/singlewebapp/WebContent/openmeetings/base/components/turnoverlistpaged/turnOverListPaged.lzx
Sat Sep 17 08:15:38 2011
@@ -45,18 +45,19 @@
<attribute name="showHScrollbar" value="visible" type="string"/>
<handler name="oninit">
- //this inits the items
- this._innerlist._inn.initItems(this.listItemName);
-
- if (this["_menu"]) {
- this._menu._pre1.setAttribute('isEnabled',false);
- this._menu._next2.setAttribute('isEnabled',false);
- this._menu._next1.setAttribute('isEnabled',false);
- this._menu._pre2.setAttribute('isEnabled',false);
-
- this._menu._step.updateItemsListNumber.sendEvent();
- }
-
+ <![CDATA[
+ //this inits the items
+ this._innerlist._inn.initItems(this.listItemName);
+
+ if (this["_menu"] && this["_menu"]["_pre1"]) {
+ this._menu._pre1.setAttribute('isEnabled',false);
+ this._menu._next2.setAttribute('isEnabled',false);
+ this._menu._next1.setAttribute('isEnabled',false);
+ this._menu._pre2.setAttribute('isEnabled',false);
+
+ this._menu._step.updateItemsListNumber.sendEvent();
+ }
+ ]]>
</handler>
<handler name="onclickedItem" args="obj" >
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
Sat Sep 17 08:15:38 2011
@@ -1229,6 +1229,7 @@
<netparam><method name="getValue">return
parent.publicSID;</method></netparam>
</netRemoteCallHib>
+<!--
<netRemoteCallHib name="receiveExclusiveAudioFlag"
funcname="receiveExclusiveAudioFlag">
<netparam><method name="getValue">return
null;</method></netparam>
<handler name="ondata" args="value">
@@ -1254,12 +1255,21 @@
]]>
</handler>
</netRemoteCallHib>
+ -->
<netRemoteCallHib name="switchMicMuted" funcname="switchMicMuted">
- <attribute name="publicSID" value="0" type="string" />
+ <attribute name="publicSID" value="" type="string" />
+ <attribute name="mute" value="false" type="boolean" />
+ <method name="setMute" args="tPublicSID,tMute">
+ this.publicSID = tPublicSID;
+ this.mute = tMute;
+ this.doCall();
+ </method>
<netparam><method name="getValue">return
parent.publicSID;</method></netparam>
+ <netparam><method name="getValue">return
parent.mute;</method></netparam>
</netRemoteCallHib>
+ <!--
<netRemoteCallHib name="receiveMicMuteSwitched"
funcname="receiveMicMuteSwitched">
<netparam><method name="getValue">return
null;</method></netparam>
<handler name="ondata" args="value">
@@ -1274,7 +1284,8 @@
}
]]>
</handler>
- </netRemoteCallHib>
+ </netRemoteCallHib>
+ -->
<netRemoteCallHib name="newRed5ScreenCursor"
funcname="newRed5ScreenCursor">
<netparam><method name="getValue">return
null;</method></netparam>
@@ -1638,8 +1649,11 @@
//Debug.write("syncinitLoader
sendVarsToMessageWithClient: ",value.message[2]);
//if (value.client.streamid!=canvas.streamid)
canvas._drawarea.remoteSyncLoader();
}
+ } else if (value.message[0]=='updateMuteStatus'){
+ canvas.setMuteStatus(value.message[1]);
} else if (value.message[0]=='updateDrawStatus'){
canvas.setDrawAllowStatus(value.message[1]);
+ //Notify all Listeners for change of the item
canvas.setAttribute("drawAllowStatus",value.message[1]);
} else if (value.message[0]=='applyForModeration'){
//if (canvas.ismoderator) {
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/base/mainAttributes.lzx Mon
Sep 12 11:03:36 2011
+++ /trunk/singlewebapp/WebContent/openmeetings/base/mainAttributes.lzx Sat
Sep 17 08:15:38 2011
@@ -108,6 +108,17 @@
-->
<attribute name="isAllowedToDraw" value="false" type="boolean" />
+<!--
+ this attribute holds an object of type RoomClient
+ the LAST RoomClient Object that has been changed the mute-status
+ -->
+<attribute name="micMutedStatusChangedItem" value="null" />
+
+<!--
+ this value indicates if this user is currently muted
+ -->
+<attribute name="micMuted" value="false" type="boolean" />
+
<!--- URL/IP to use for the Server -->
<attribute name="rtmphost" value="" type="string" />
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/base/mainMethods.lzx Mon
Sep 12 11:03:36 2011
+++ /trunk/singlewebapp/WebContent/openmeetings/base/mainMethods.lzx Sat
Sep 17 08:15:38 2011
@@ -761,17 +761,32 @@
}
</method>
-<method name="setDrawAllowStatus" args="drawObj">
+<method name="setDrawAllowStatus" args="roomClientObj">
<![CDATA[
if ($debug) Debug.write("drawAllowStatus changes ###### ");
- if (drawObj.publicSID==canvas.publicSID) {
- canvas.setAttribute("isAllowedToDraw",drawObj.canDraw);
- canvas.setAttribute("isAllowedToScreenShare",drawObj.canShare);
-
canvas.setAttribute("isAllowedToRemoteControl",drawObj.canRemote);
+ if (roomClientObj.publicSID==canvas.publicSID) {
+ canvas.setAttribute("isAllowedToDraw",roomClientObj.canDraw);
+
canvas.setAttribute("isAllowedToScreenShare",roomClientObj.canShare);
+
canvas.setAttribute("isAllowedToRemoteControl",roomClientObj.canRemote);
}
]]>
</method>
+<method name="setMuteStatus" args="roomClientObj">
+ <![CDATA[
+ if ($debug) Debug.write("setMuteStatus changes
###### ",roomClientObj.micMuted);
+ //Check for self status
+ if (roomClientObj.publicSID==canvas.publicSID) {
+ canvas.setAttribute("micMuted",roomClientObj.micMuted);
+ }
+
+ canvas._videocontainer.updateMuteStatusVideoView(roomClientObj);
+
+ //Notify all Listeners for change of the item
+ canvas.setAttribute("micMutedStatusChangedItem",roomClientObj);
+ ]]>
+</method>
+
<method name="addFolderSequence" args="foldername">
<![CDATA[
this.uploadmoduleimgfolder = '/';
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/remote/baseVideoStreamDevice.lzx
Thu Jan 14 09:15:56 2010
+++
/trunk/singlewebapp/WebContent/openmeetings/base/remote/baseVideoStreamDevice.lzx
Sat Sep 17 08:15:38 2011
@@ -101,9 +101,9 @@
if (!this.doSendNotification){
return;
}
-
+
//this.parent.parent.parent._loudness.loudness.setAttribute('text',this.level);
- if (this.level>canvas.loudnessAcitviation) {
+ if (this.level>5) {
if (!this.isgreater) {
this.isgreater = true;
this.sendNotification();
@@ -114,8 +114,10 @@
this.sendNotification();
}
}
+
]]>
- </handler>
+ </handler>
+
<method name="sendNotification">
//if ($debug) Debug.write("Level sendNotification
",this.isgreater);
this.objMessage = new Array ();
@@ -124,10 +126,11 @@
this.objMessage[2] = parent.parent.publicSID;
this.sendMessage.doCall();
</method>
+
<netRemoteCallHib name="sendMessage" funcname="sendMessage"
remotecontext="$once{ canvas.thishib }" showLoading="false" >
<netparam><method name="getValue"> return parent.parent.objMessage;
</method></netparam>
- </netRemoteCallHib>
+ </netRemoteCallHib>
</class>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/moderationMiniIcons.lzx
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/moderationMiniIcons.lzx
Sat Sep 17 08:15:38 2011
@@ -128,7 +128,7 @@
<labelTooltip name="_text" labelid="676" />
</miniIcons>
- <miniIcons name="_canDraw" x="20" width="16"
resource="participents_isDrawing_rsc"
+ <miniIcons name="_canDraw" x="20" width="16"
resource="participents_allow_drawing_rsc"
height="16" showhandcursor="false" >
<attribute name="isActive" value="true" type="boolean" />
<handler name="onclick">
@@ -150,7 +150,7 @@
</miniIcons>
<miniIcons name="_canDrawModerator" x="20" width="16" opacity="0.5"
- resource="participents_isDrawing_rsc" height="16"
showhandcursor="true">
+ resource="participents_allow_drawing_rsc" height="16"
showhandcursor="true">
<handler name="onclick">
//Do it
if (canvas.ismoderator) {
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/moderationMiniIconsEventUserList.lzx
Sun Jul 31 09:55:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/moderationMiniIconsEventUserList.lzx
Sat Sep 17 08:15:38 2011
@@ -99,7 +99,7 @@
<labelTooltip name="_text" labelid="685" />
</miniIcons>
- <miniIcons name="_canDraw" x="20" width="16"
resource="participents_isDrawing_rsc"
+ <miniIcons name="_canDraw" x="20" width="16"
resource="participents_allow_drawing_rsc"
height="16" showhandcursor="false" >
<attribute name="isActive" value="true" type="boolean" />
<handler name="onclick">
@@ -111,7 +111,7 @@
</miniIcons>
<miniIcons name="_canDrawModerator" x="20" width="16" opacity="0.5"
- resource="participents_isDrawing_rsc" height="16"
showhandcursor="true">
+ resource="participents_allow_drawing_rsc" height="16"
showhandcursor="true">
<handler name="onclick">
//Ask for Right to Draw on Whiteboard
var tDate = new Date();
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/activitylist/activityList.lzx
Sun Jul 31 09:55:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/activitylist/activityList.lzx
Sat Sep 17 08:15:38 2011
@@ -156,7 +156,7 @@
this.sendClearMessage(true);
</method>
- <view resource="participents_isDrawing_rsc" x="2" y="2" />
+ <view resource="participents_allow_drawing_rsc" x="2" y="2" />
<labelText text="$once{ parent.message }" multiline="true" x="20"
width="$once{ parent.width - 40 }" font="Helvetica"/>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
Sun Sep 4 09:12:20 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/roomSidebar/restrictedRoomSidebar.lzx
Sat Sep 17 08:15:38 2011
@@ -97,7 +97,7 @@
height="${ parent.height-216 }" visibility="hidden" />
<restrictedUserList name="_videocontainer" y="36"
- userNewVideoContainer="true" width="$once{
parent.width-10 }"
+ width="$once{ parent.width-10 }"
height="${ parent.height-236 }" />
<view y="${ parent.height - 201 }" width="$once{ parent.width-10 }"
height="2"
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/_participents.lzx
Wed Aug 24 01:01:53 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/_participents.lzx
Sat Sep 17 08:15:38 2011
@@ -79,7 +79,7 @@
<view width="1" height="$once{ parent.parent.height }" x="20"
bgcolor="$once{ canvas.basebgcolorizer }" />
- <view name="_icon_draw" x="22" y="3"
resource="participents_isDrawing_rsc" onclick="" showhandcursor="false">
+ <view name="_icon_draw" x="22" y="3"
resource="participents_allow_drawing_rsc" onclick="" showhandcursor="false">
<labelTooltip labelid="609" />
</view>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/library.lzx
Mon Oct 12 03:58:23 2009
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/library.lzx
Sat Sep 17 08:15:38 2011
@@ -4,7 +4,8 @@
<resource name="participents_isactive" src="resources/button_ok.png" />
<resource name="participents_isMod_rsc" src="resources/kdmconfig.png"
/>
- <resource name="participents_isDrawing_rsc"
src="resources/color_line.png" />
+ <resource name="participents_allow_drawing_rsc"
src="resources/color_line.png" />
+ <resource name="participents_deny_drawing_rsc"
src="resources/color_line_dis.png" />
<include href="participents.lzx" />
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/participents.lzx
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/participents.lzx
Sat Sep 17 08:15:38 2011
@@ -122,7 +122,7 @@
<view width="1" height="${ parent.parent.height }" x="20"
bgcolor="$once{ canvas.basebgcolorizer }" />
- <view name="_icon_draw" x="22" y="3"
resource="participents_isDrawing_rsc" onclick="" showhandcursor="false">
+ <view name="_icon_draw" x="22" y="3"
resource="participents_allow_drawing_rsc" onclick="" showhandcursor="false">
<labelTooltip labelid="609" />
</view>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/moderationMiniIconRestricted.lzx
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/moderationMiniIconRestricted.lzx
Sat Sep 17 08:15:38 2011
@@ -83,6 +83,17 @@
this._allowDevice.setAttribute("visibility","visible");
this._denyDevice.setAttribute("visibility","hidden");
}
+
+ if ($debug) Debug.write("Set micMuted ",parent.parent.micMuted);
+
+ if (parent.parent.micMuted) {
+ this._muteDevice.setAttribute("visibility","hidden");
+ this._unMuteDevice.setAttribute("visibility","visible");
+ } else {
+ this._muteDevice.setAttribute("visibility","visible");
+ this._unMuteDevice.setAttribute("visibility","hidden");
+ }
+
</handler>
<miniIcons name="_isMod" x="0" width="16" showhandcursor="true"
@@ -133,7 +144,7 @@
<labelTooltip name="_text" labelid="676" />
</miniIcons>
- <miniIcons name="_canDraw" x="20" width="16"
resource="participents_isDrawing_rsc"
+ <miniIcons name="_canDraw" x="20" width="16"
resource="participents_allow_drawing_rsc"
height="16" showhandcursor="false" >
<attribute name="isActive" value="true" type="boolean" />
<handler name="onclick">
@@ -155,7 +166,7 @@
</miniIcons>
<miniIcons name="_canDrawModerator" x="20" width="16" opacity="0.5"
- resource="participents_isDrawing_rsc" height="16"
showhandcursor="true">
+ resource="participents_allow_drawing_rsc" height="16"
showhandcursor="true">
<handler name="onclick">
//Do it
if (canvas.ismoderator) {
@@ -185,7 +196,7 @@
<labelTooltip name="_text" labelid="1068" />
</miniIcons>
- <miniIcons name="_denyScreen" x="40" width="16" height="16"
opacity="0.5"
+ <miniIcons name="_denyScreen" x="40" width="16" height="16"
resource="screen_allow_rsc" showhandcursor="true">
<handler name="onclick">
if ($debug) Debug.write("Allow
Screen: ",parent.parent.parent.refObj.publicSID);
@@ -214,7 +225,7 @@
<labelTooltip name="_text" labelid="1079" />
</miniIcons>
- <miniIcons name="_denyRemote" x="60" width="16" height="16"
opacity="0.5"
+ <miniIcons name="_denyRemote" x="60" width="16" height="16"
resource="remote_allow_rsc" showhandcursor="true">
<handler name="onclick">
if ($debug) Debug.write("Allow
Screen: ",parent.parent.parent.refObj.publicSID);
@@ -227,7 +238,7 @@
<labelTooltip labelid="1078" />
</miniIcons>
- <miniIcons name="_allowDevice" x="80" width="40" height="16"
opacity="0.5"
+ <miniIcons name="_allowDevice" x="80" width="40" height="16"
resource="av_allow_rsc" showhandcursor="true">
<handler name="onclick">
if ($debug)
Debug.write("ALLOW: ",parent.parent.parent.refObj.publicSID);
@@ -242,8 +253,7 @@
<labelTooltip labelid="683" />
</miniIcons>
- <miniIcons name="_denyDevice" x="80" width="40" height="16"
- resource="av_allow_rsc" showhandcursor="true">
+ <miniIcons name="_denyDevice" x="80" width="40" height="16"
resource="av_deny_rsc" showhandcursor="true">
<handler name="onclick">
if ($debug)
Debug.write("ALLOW: ",parent.parent.parent.refObj.publicSID);
//var myvideocontainer =
canvas._videocontainer.getNewVideoObject(parent.parent.refObj.publicSID);
@@ -256,7 +266,32 @@
<labelTooltip labelid="684" />
</miniIcons>
- <miniIcons name="_kickUser" x="120" width="16" height="16"
+ <miniIcons name="_muteDevice" x="120" width="16" height="16"
resource="mute_btn_rsc" showhandcursor="true">
+ <handler name="onclick">
+ if ($debug)
Debug.write("mute: ",parent.parent.parent.refObj.publicSID);
+ //canvas.thishib.giveExclusiveAudio.publicSID =
parent.parent.parent.refObj.publicSID;
+ //canvas.thishib.giveExclusiveAudio.doCall();
+
+
canvas.thishib.switchMicMuted.setMute(parent.parent.parent.refObj.publicSID,true);
+
+ </handler>
+ <labelTooltip labelid="1384" />
+ </miniIcons>
+
+ <miniIcons name="_unMuteDevice" x="120" width="16" height="16"
resource="unmute_btn_rsc"
+ showhandcursor="true" visibility="hidden">
+ <handler name="onclick">
+ if ($debug)
Debug.write("unmute: ",parent.parent.parent.refObj.publicSID);
+ //canvas.thishib.giveExclusiveAudio.publicSID =
parent.parent.parent.refObj.publicSID;
+ //canvas.thishib.giveExclusiveAudio.doCall();
+
+
canvas.thishib.switchMicMuted.setMute(parent.parent.parent.refObj.publicSID,false);
+
+ </handler>
+ <labelTooltip labelid="1385" />
+ </miniIcons>
+
+ <miniIcons name="_kickUser" x="136" width="16" height="16"
resource="kick_user_rsc" showhandcursor="true">
<handler name="onclick">
@@ -298,15 +333,6 @@
<labelTooltip labelid="1213" />
</miniIcons>
- <miniIcons name="_giveExclusiveAudio" x="136" width="16" height="16"
- resource="mic_rsc" showhandcursor="true">
- <handler name="onclick">
- if ($debug) Debug.write("give
giveExclusiveAudio: ",parent.parent.parent.refObj.publicSID);
- canvas.thishib.giveExclusiveAudio.publicSID =
parent.parent.parent.refObj.publicSID;
- canvas.thishib.giveExclusiveAudio.doCall();
- </handler>
- <labelTooltip labelid="1386" />
- </miniIcons>
</class>
</library>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx
Wed Aug 24 01:01:53 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx
Sat Sep 17 08:15:38 2011
@@ -8,11 +8,6 @@
<!--- holds a references to the videoview which is broadcasting -->
<attribute name="broadCastViewRef" value="null" />
- <!--
- This is a variable to make it backwards compatible to the old room
layout
- -->
- <attribute name="userNewVideoContainer" value="false" type="boolean"/>
-
<!--- colors for each user -->
<attribute name="colorArray" value="null" />
@@ -197,10 +192,7 @@
<![CDATA[
//if ($debug) Debug.write("getVideoObjectByPublicSid
SEARCH: ",publicSID);
- var videoContainer = this._videoviewcontent;
- if (this.userNewVideoContainer) {
- videoContainer = parent.parent._videoviewcontent;
- }
+ var videoContainer = parent.parent._videoviewcontent;
//for (var i=0;i<this._videoviewcontent.subviews.length;i++){
// if ($debug) Debug.write("getVideoObjectByBroadCastId6
broadcastId: ",this._videoviewcontent.subviews[i].broadcastId);
@@ -387,10 +379,7 @@
if (obj!=null){
this.broadCastViewRef = obj;
} else {
- var videoContainer = this._videoviewcontent;
- if (this.userNewVideoContainer) {
- videoContainer = parent.parent._videoviewcontent;
- }
+ var videoContainer = parent.parent._videoviewcontent;
//Get a Free VideoView Slot
var freePos = videoContainer.getVideoObjectFreePos(40,
100, 100);
@@ -419,10 +408,7 @@
return obj;
}
- var videoContainer = this._videoviewcontent;
- if (this.userNewVideoContainer) {
- videoContainer = parent.parent._videoviewcontent;
- }
+ var videoContainer = parent.parent._videoviewcontent;
//Get a Free VideoView Slot
var freePos = videoContainer.getVideoObjectFreePos(40, 100,
100);
@@ -495,19 +481,24 @@
</method>
<method name="resetAllValues">
- var videoContainer = this._videoviewcontent;
- if (this.userNewVideoContainer) {
- videoContainer = parent.parent._videoviewcontent;
- }
+ var videoContainer = parent.parent._videoviewcontent;
+
for (var eg in videoContainer.subviews){
videoContainer.subviews[eg].resetValues();
}
</method>
+
+ <method name="updateMuteStatusVideoView" args="roomClient">
+ <![CDATA[
+ var videoContainer = parent.parent._videoviewcontent;
+ for (var i=0;i<videoContainer.subviews.length;i++){
+ videoContainer.subviews[i].muteMicrophone(roomClient);
+ }
+ ]]>
+ </method>
<restrictedUserListInner name="_participents" />
- <commonVideoViewContent name="_videoviewcontent" />
-
</class>
</library>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserListInner.lzx
Tue Sep 6 11:06:13 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserListInner.lzx
Sat Sep 17 08:15:38 2011
@@ -307,6 +307,7 @@
list.subviews[i].setAttribute("canDraw",records[i].canDraw);
list.subviews[i].setAttribute("canShare",records[i].canShare);
list.subviews[i].setAttribute("canRemote",records[i].canRemote);
+
list.subviews[i].setAttribute("micMuted",records[i].micMuted);
list.subviews[i].setAttribute("isMod",records[i].isMod);
list.subviews[i].isBroadcasting =
records[i].isBroadcasting;
list.subviews[i].setAttribute("selfItem",records[i].selfItem);
@@ -332,6 +333,7 @@
list.subviews[i].setAttribute("canDraw",false);
list.subviews[i].setAttribute("canShare",false);
list.subviews[i].setAttribute("canRemote",false);
+ list.subviews[i].setAttribute("micMuted",false);
list.subviews[i].setAttribute("isMod",false);
list.subviews[i].isBroadcasting = false;
list.subviews[i].setAttribute("selfItem",false);
@@ -393,6 +395,7 @@
item.setAttribute("canDraw",this.renderList[item.itemId].canDraw);
item.setAttribute("canShare",this.renderList[item.itemId].canShare);
item.setAttribute("canRemote",this.renderList[item.itemId].canRemote);
+
item.setAttribute("micMuted",this.renderList[item.itemId].micMuted);
item.isBroadcasting =
this.renderList[item.itemId].isBroadcasting;
item.setAttribute("isMod",this.renderList[item.itemId].isMod);
item.setAttribute("selfItem",this.renderList[item.itemId].selfItem);
@@ -426,6 +429,7 @@
item.setAttribute("canDraw",false);
item.setAttribute("canShare",false);
item.setAttribute("canRemote",false);
+ item.setAttribute("micMuted",false);
item.setAttribute("isMod",false);
item.isBroadcasting = false;
item.setAttribute("selfItem",false);
@@ -455,6 +459,37 @@
]]>
</handler>
+ <handler name="onmicMutedStatusChangedItem" reference="canvas"
args="roomClientObj">
+ <![CDATA[
+
+ if ($debug) Debug.write(" ::
onmicMutedStatusChangedItem :: ",roomClientObj.micMuted);
+
+ //search for the user and update its drawStatusIcon
+ var vList = parent._table._innerlist._inn._inn.subviews;
+ for (var i=0;i<vList.length;i++) {
+ //vList[i].updateIconByMod();
+ if (vList[i].refObj.publicSID ==
roomClientObj.publicSID) {
+ vList[i].refObj.micMuted = roomClientObj.micMuted;
+ vList[i].micMuted = roomClientObj.micMuted;
+ vList[i].updateModeratorIcons();
+ break;
+ }
+ }
+
+ var vList = parent._table.renderList;
+ for (var i=0;i<vList.length;i++) {
+ //vList[i].updateIconByMod();
+ if (vList[i].publicSID == roomClientObj.publicSID) {
+ parent._table.renderList[i].micMuted =
roomClientObj.micMuted;
+ break;
+ }
+ }
+
+ parent._applyAndStatusIcons.updateIcons();
+
+ ]]>
+ </handler>
+
<handler name="ondrawAllowStatus" reference="canvas"
args="drawObject">
<![CDATA[
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserListItem.lzx
Thu Jul 15 06:41:16 2010
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserListItem.lzx
Sat Sep 17 08:15:38 2011
@@ -11,6 +11,7 @@
<attribute name="canShare" value="false" type="boolean" />
<attribute name="canRemote" value="false" type="boolean" />
<attribute name="isBroadcasting" value="false" type="boolean" />
+ <attribute name="micMuted" value="false" type="boolean" />
<attribute name="streamid" value="" type="string" />
<attribute name="username" value="" type="string" />
@@ -29,13 +30,15 @@
<attribute name="selfItem" value="false" type="boolean"/>
<handler name="onisMod">
- if (this.isMod) {
- this._content.userStatus.setAttribute("frame",3);
- } else if (this.refObj.canDraw) {
- this._content.userStatus.setAttribute("frame",2);
- } else {
- this._content.userStatus.setAttribute("frame",1);
- }
+ <![CDATA[
+ if (this.isMod) {
+ this._content.userStatus.setAttribute("frame",3);
+ } else if (this.refObj != null && this.refObj.canDraw) {
+ this._content.userStatus.setAttribute("frame",2);
+ } else {
+ this._content.userStatus.setAttribute("frame",1);
+ }
+ ]]>
</handler>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/baseVideoObject.lzx
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/baseVideoObject.lzx
Sat Sep 17 08:15:38 2011
@@ -21,6 +21,9 @@
<!--- publicSID is a hash-value to identify a user -->
<attribute name="publicSID" value="" type="string" />
+ <!--- publicSID is a hash-value to identify a user -->
+ <attribute name="micMuted" value="false" type="boolean" />
+
<!--- @keywords private -->
<attribute name="isremote" value="true" type="boolean" />
@@ -95,34 +98,13 @@
}
this._micView.bringToFront();
if (this.isInterview) {
- this.isShowMicMute = false;
- } else if (canvas.ismoderator) {
- this.isShowMicMute = true;
- } else if (canvas.publicSID == this.publicSID) {
- this.isShowMicMute = true;
- } else {
this.isShowMicMute = false;
}
- if (this.isShowMicMute) {
- this._micView.setAttribute("visibility", "visible");
- } else {
- this._micView.setAttribute("visibility", "hidden");
- }
- this.getHasAudioByPublicSID.doCall();
+
]]>
</handler>
- <netRemoteCallHib name="getMicMutedByPublicSID"
funcname="getMicMutedByPublicSID" remotecontext="${ canvas.thishib }">
- <netparam><method name="getValue">return
parent.parent.publicSID;</method></netparam>
- <handler name="ondata" args="value">
- <![CDATA[
- //The onResult-Handler will be called be the rtmpconnection
- parent.setMicMuted(value);
- ]]>
- </handler>
- </netRemoteCallHib>
-
<handler name="ony">
<![CDATA[
@@ -397,7 +379,7 @@
</view>
</view>
- <view name="_micView" x="21" y="${parent.height - 20}">
+ <view name="_micView" x="21" y="${parent.height - 18}">
<miniIcons name="_micButton" width="14" height="14"
resource="mute_micro_btn_rsc">
<handler name="onclick">
<![CDATA[
@@ -536,21 +518,74 @@
}
]]>
</handler>
-
- <method name="muteMicrophone" args="mute">
+
+ <!--
+ This will mute the Microphone only to the person that is speaking
+ if the gain is set to zero NOBODY will hear 'em
+ -->
+ <method name="muteMicrophone" args="roomClientObj">
+ <![CDATA[
+
+ if ($debug) Debug.write("############
muteMicrophone ",roomClientObj.micMuted);
+
+ if (this.publicSID == canvas.publicSID) {
+ if (roomClientObj.micMuted) {
+ if ($debug) Debug.write("############ SET GAIN 0");
+ this._chatvideoinner._videostream.micro.setGain(0);
+ } else {
+ if ($debug) Debug.write("############ SET GAIN 50");
+ this._chatvideoinner._videostream.micro.setGain(50);
+ }
+ }
+ this.isMutedByModerator = roomClientObj.micMuted;
+ this.setMicMuted(roomClientObj.micMuted);
+ ]]>
+ </method>
+
+ <!--
+ This will mute it only locally, that means on other screens
+ the user might be still online and loud
+ -->
+ <method name="silenceMicrophone" args="mute">
<![CDATA[
- var gain = this._chatvideoinner._videostream.micro.gain;
- if (mute) {
- this._chatvideoinner._videostream.micro.setGain(0);
+
+ if (this.isMutedByModerator) {
+ //errorlabelid
+ //FIXME: That is not true, you could restart audio/video ...
+ new lz.labelerrorPopup(canvas,{error:"This user is/You are muted
by the moderator, you cannot mute or unmute it/yourself."});
+ return;
+ }
+ if (this.publicSID == canvas.publicSID) {
+ //self sound turned off
+ if (mute) {
+ new lz.confirmationSingle(canvas.main_content._content.inner,{
+
labelid:904,labeliderror:905,
+
refObj:this,showCheckBox:false});
+ } else {
+ this._chatvideoinner._videostream.micro.setGain(50);
+ }
} else {
- this._chatvideoinner._videostream.micro.setGain(50);
- }
+ if (mute) {
+ this._chatvideoinner._videostream.setVolume(0);
+ } else {
+ this._chatvideoinner._videostream.setVolume(100);
+ }
+ }
+
this.setMicMuted(mute);
]]>
</method>
+
+ <method name="sendConfirmation" args="bool" >
+ if ($debug) Debug.write("sendConfirmation :: ",bool);
+ if (bool) {
+ this._chatvideoinner._videostream.micro.setGain(0);
+ }
+ </method>
<method name="setMicMuted" args="micMuted">
<![CDATA[
+ this.micMuted = micMuted;
if (micMuted) {
this._micView._micButton._tip.setAttribute("labelid","1385");
this._micView._micButton.setAttribute('frame',2);
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx
Mon Sep 12 11:03:36 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx
Sat Sep 17 08:15:38 2011
@@ -120,6 +120,8 @@
this.myvideocontainer.setAttribute('isremote',false);
var _micro = Microphone.get(valMic);
+ //always to default gain to 50 because the Flash Plugin will remember
the last time you've set the value
+ _micro.setGain(50);
var _camera = Camera.get(valCam);
if ($debug)
Debug.write("_camera.setMode: ",videoview.width,videoview.height,canvas.framesPerSecond,true);
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/library.lzx
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/library.lzx
Sat Sep 17 08:15:38 2011
@@ -17,6 +17,9 @@
<frame src="resources/micro_off.png" />
</resource>
+ <resource name="mute_btn_rsc" src="resources/micro_on.png" />
+ <resource name="unmute_btn_rsc" src="resources/micro_off.png" />
+
<resource name="lz_recorder_play" src="resources/webstart_play.png" />
<include href="videoUserProfilePic.lzx" />
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/videoObjectBroadcast.lzx
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/videoObjectBroadcast.lzx
Sat Sep 17 08:15:38 2011
@@ -26,13 +26,31 @@
width="$once{parent.width}"
height="$once{parent.height}" />
<handler name="oninit">
this.r.setAttribute('frame',5);
- this._videostream.micro.setGain(50);
</handler>
<baseVideoStreamDevice name="_videostream" mode="broadcast"
- width="${parent.width}"
height="${parent.height}" bgcolor="black" />
+ width="${parent.width}"
height="${parent.height}" bgcolor="black">
+ <handler name="onlevel">
+ <![CDATA[
+ if (this.level > 0) {
+ parent._activityLevel.bringToFront();
+
//parent._activityLevel.setAttribute("visibility","visible");
+ }
+ var fullLength = parent._activityLevel.height-2;
+
parent._activityLevel._activity.setAttribute("height",this.level*(fullLength/100));
+ ]]>
+ </handler>
+ </baseVideoStreamDevice>
+
+ <view name="_activityLevel" width="8" x="2" y="2" opacity="0.7"
+ height="${ parent.height - 40 }" bcolor="0xFFFFFF">
+ <view name="_activity" x="1" width="6" bgcolor="0x00FF00"
height="0">
+
+ </view>
+ </view>
</view>
+
</class>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/fileExplorer.lzx
Sun Sep 4 07:44:47 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/fileExplorer.lzx
Sat Sep 17 08:15:38 2011
@@ -130,16 +130,18 @@
<method name="loadFiles">
<![CDATA[
- //this.getFileExplorerByRoom.doCall();
- var downloadurl
= 'http://'+canvas.rtmphostlocal+':'+canvas.red5httpport
-
+canvas.httpRootKey+'services/FileService/getFileExplorerByRoomSelfInternal?'
- +'SID='+canvas.sessionId
- +'&roomId='+hib.currentroomid;
-
- this.getFileExplorerByRoomSelf.setAttribute("src",downloadurl);
- if ($debug) Debug.write("getFileExplorerByRoomSelf doRequest
1 ",downloadurl);
- if ($debug) Debug.write("getFileExplorerByRoomSelf doRequest
2 ",downloadurl.src);
- this.getFileExplorerByRoomSelf.doRequest();
+ if (this["getFileExplorerByRoomSelf"]) {
+ //this.getFileExplorerByRoom.doCall();
+ var downloadurl
= 'http://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+
+canvas.httpRootKey+'services/FileService/getFileExplorerByRoomSelfInternal?'
+ +'SID='+canvas.sessionId
+ +'&roomId='+hib.currentroomid;
+
+
this.getFileExplorerByRoomSelf.setAttribute("src",downloadurl);
+ if ($debug) Debug.write("getFileExplorerByRoomSelf
doRequest 1 ",downloadurl);
+ if ($debug) Debug.write("getFileExplorerByRoomSelf
doRequest 2 ",downloadurl.src);
+ this.getFileExplorerByRoomSelf.doRequest();
+ }
]]>
</method>
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
Thu Sep 15 21:42:15 2011
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
Sat Sep 17 08:15:38 2011
@@ -1276,22 +1276,16 @@
for (Set<IConnection> conset : conCollection) {
for (IConnection conn : conset) {
if (conn != null) {
- RoomClient rcl =
this.clientListManager
-
.getClientByStreamId(conn.getClient().getId());
+ RoomClient rcl =
this.clientListManager.getClientByStreamId(conn.getClient().getId());
if (rcl == null) {
// continue;
- } else if
(rcl.getIsScreenClient() != null
- &&
rcl.getIsScreenClient()) {
+ } else if (rcl.getIsScreenClient() != null &&
rcl.getIsScreenClient()) {
// continue;
} else {
- log.debug("Send Flag to
Client: "
- +
rcl.getUsername());
+ log.debug("Send Flag to
Client: " + rcl.getUsername());
if (conn instanceof
IServiceCapableConnection) {
-
((IServiceCapableConnection) conn).invoke(
-
"setNewBroadCastingFlag",
-
new Object[] { currentClient }, this);
- log.debug("sending
setNewBroadCastingFlag to "
-
+ conn);
+ ((IServiceCapableConnection)
conn).invoke( "setNewBroadCastingFlag", new Object[] { currentClient },
this);
+ log.debug("sending
setNewBroadCastingFlag to " + conn);
}
}
}
@@ -1353,68 +1347,28 @@
return -1L;
}
- public synchronized Long switchMicMuted(String publicSID) {
+ public synchronized Long switchMicMuted(String publicSID, boolean
mute) {
try {
log.debug("*..*switchMicMuted publicSID: " + publicSID);
- IConnection current = Red5.getConnectionLocal();
RoomClient currentClient =
this.clientListManager.getClientByPublicSID(publicSID);
if (currentClient == null) {
return -1L;
}
- //reverse micMuted flag for this client
- Boolean micMuted = currentClient.getMicMuted();
- log.debug("*..*switchMicMuted micMuted: " + micMuted);
- if (null == micMuted) {
- micMuted = false;
- }
- currentClient.setMicMuted(!micMuted);
+ currentClient.setMicMuted(mute);
this.clientListManager.updateClientByStreamId(currentClient.getStreamid(),
currentClient);
- Collection<Set<IConnection>> conCollection =
current.getScope().getConnections();
- for (Set<IConnection> conset : conCollection) {
- for (IConnection conn : conset) {
- if (conn != null) {
- RoomClient rcl =
this.clientListManager.getClientByStreamId(conn.getClient().getId());
- if (rcl == null) {
- //continue;
- } else if (rcl.getIsScreenClient() != null &&
rcl.getIsScreenClient()) {
- //continue;
- } else {
- log.debug("Send mic switched
to Client: "+rcl.getUsername());
- if (conn instanceof
IServiceCapableConnection) {
- ((IServiceCapableConnection)
conn).invoke("receiveMicMuteSwitched",new Object[] { currentClient }, this);
- log.debug("sending
receiveMicMuteSwitched to " + conn);
- }
- }
- }
- }
- }
-
+ HashMap<Integer, Object> newMessage = new HashMap<Integer,
Object>();
+ newMessage.put(0, "updateMuteStatus");
+ newMessage.put(1, currentClient);
+ this.sendMessageWithClient(newMessage);
+
} catch (Exception err) {
log.error("[switchMicMuted]",err);
}
return 0L;
}
-
- public synchronized Boolean getMicMutedByPublicSID(String publicSID) {
- try {
- log.debug("*..*getMicMutedByPublicSID publicSID: " +
publicSID);
-
- RoomClient currentClient =
this.clientListManager.getClientByPublicSID(publicSID);
- if (currentClient != null) {
- //Put micMuted for this client
- Boolean micMuted = currentClient.getMicMuted();
- log.debug("*..*getMicMutedByPublicSID micMuted: " +
micMuted);
-
- return micMuted == null ? false : true;
- }
- } catch (Exception err) {
- log.error("[getMicMutedByPublicSID]",err);
- }
- return false;
- }
/**
* Invoked by a User whenever he want to become moderator this is
needed,
--
You received this message because you are subscribed to the Google Groups
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/openmeetings-dev?hl=en.