소스 검색

Adds an interface configuration object.

j8
fo 11 년 전
부모
커밋
3b8af470ca
5개의 변경된 파일54개의 추가작업 그리고 47개의 파일을 삭제
  1. 19
    22
      audio_levels.js
  2. 4
    3
      index.html
  3. 9
    0
      interface_config.js
  4. 14
    15
      toolbar_toggler.js
  5. 8
    7
      videolayout.js

+ 19
- 22
audio_levels.js 파일 보기

@@ -2,9 +2,6 @@
2 2
  * The audio Levels plugin.
3 3
  */
4 4
 var AudioLevels = (function(my) {
5
-    var CANVAS_EXTRA = 104;
6
-    var CANVAS_RADIUS = 7;
7
-    var SHADOW_COLOR = '#00ccff';
8 5
     var audioLevelCanvasCache = {};
9 6
 
10 7
     my.LOCAL_LEVEL = 'local';
@@ -47,8 +44,8 @@ var AudioLevels = (function(my) {
47 44
 
48 45
             audioLevelCanvas = document.createElement('canvas');
49 46
             audioLevelCanvas.className = "audiolevel";
50
-            audioLevelCanvas.style.bottom = "-" + CANVAS_EXTRA/2 + "px";
51
-            audioLevelCanvas.style.left = "-" + CANVAS_EXTRA/2 + "px";
47
+            audioLevelCanvas.style.bottom = "-" + interfaceConfig.CANVAS_EXTRA/2 + "px";
48
+            audioLevelCanvas.style.left = "-" + interfaceConfig.CANVAS_EXTRA/2 + "px";
52 49
             resizeAudioLevelCanvas( audioLevelCanvas,
53 50
                     thumbnailWidth,
54 51
                     thumbnailHeight);
@@ -95,8 +92,8 @@ var AudioLevels = (function(my) {
95 92
     function resizeAudioLevelCanvas(audioLevelCanvas,
96 93
                                     thumbnailWidth,
97 94
                                     thumbnailHeight) {
98
-        audioLevelCanvas.width = thumbnailWidth + CANVAS_EXTRA;
99
-        audioLevelCanvas.height = thumbnailHeight + CANVAS_EXTRA;
95
+        audioLevelCanvas.width = thumbnailWidth + interfaceConfig.CANVAS_EXTRA;
96
+        audioLevelCanvas.height = thumbnailHeight + interfaceConfig.CANVAS_EXTRA;
100 97
     };
101 98
 
102 99
     /**
@@ -140,12 +137,12 @@ var AudioLevels = (function(my) {
140 137
         if (shadowLevel > 0)
141 138
             // drawContext, x, y, w, h, r, shadowColor, shadowLevel
142 139
             CanvasUtil.drawRoundRectGlow(   drawContext,
143
-                                            CANVAS_EXTRA/2, CANVAS_EXTRA/2,
144
-                                            canvas.width - CANVAS_EXTRA,
145
-                                            canvas.height - CANVAS_EXTRA,
146
-                                            CANVAS_RADIUS,
147
-                                            SHADOW_COLOR,
148
-                                            shadowLevel);
140
+                interfaceConfig.CANVAS_EXTRA/2, interfaceConfig.CANVAS_EXTRA/2,
141
+                canvas.width - interfaceConfig.CANVAS_EXTRA,
142
+                canvas.height - interfaceConfig.CANVAS_EXTRA,
143
+                interfaceConfig.CANVAS_RADIUS,
144
+                interfaceConfig.SHADOW_COLOR,
145
+                shadowLevel);
149 146
     };
150 147
 
151 148
     /**
@@ -158,13 +155,13 @@ var AudioLevels = (function(my) {
158 155
         var shadowLevel = 0;
159 156
 
160 157
         if (audioLevel <= 0.3) {
161
-            shadowLevel = Math.round(CANVAS_EXTRA/2*(audioLevel/0.3));
158
+            shadowLevel = Math.round(interfaceConfig.CANVAS_EXTRA/2*(audioLevel/0.3));
162 159
         }
163 160
         else if (audioLevel <= 0.6) {
164
-            shadowLevel = Math.round(CANVAS_EXTRA/2*((audioLevel - 0.3) / 0.3));
161
+            shadowLevel = Math.round(interfaceConfig.CANVAS_EXTRA/2*((audioLevel - 0.3) / 0.3));
165 162
         }
166 163
         else {
167
-            shadowLevel = Math.round(CANVAS_EXTRA/2*((audioLevel - 0.6) / 0.4));
164
+            shadowLevel = Math.round(interfaceConfig.CANVAS_EXTRA/2*((audioLevel - 0.6) / 0.4));
168 165
         }
169 166
         return shadowLevel;
170 167
     };
@@ -192,13 +189,13 @@ var AudioLevels = (function(my) {
192 189
         var resized = false;
193 190
         $('#remoteVideos>span>canvas').each(function() {
194 191
             var canvas = $(this).get(0);
195
-            if (canvas.width !== width + CANVAS_EXTRA) {
196
-                canvas.width = width + CANVAS_EXTRA;
192
+            if (canvas.width !== width + interfaceConfig.CANVAS_EXTRA) {
193
+                canvas.width = width + interfaceConfig.CANVAS_EXTRA;
197 194
                 resized = true;
198 195
             }
199 196
 
200
-            if (canvas.heigh !== height + CANVAS_EXTRA) {
201
-                canvas.height = height + CANVAS_EXTRA;
197
+            if (canvas.heigh !== height + interfaceConfig.CANVAS_EXTRA) {
198
+                canvas.height = height + interfaceConfig.CANVAS_EXTRA;
202 199
                 resized = true;
203 200
             }
204 201
         });
@@ -206,9 +203,9 @@ var AudioLevels = (function(my) {
206 203
         if (resized)
207 204
             Object.keys(audioLevelCanvasCache).forEach(function (resourceJid) {
208 205
                 audioLevelCanvasCache[resourceJid].width
209
-                    = width + CANVAS_EXTRA;
206
+                    = width + interfaceConfig.CANVAS_EXTRA;
210 207
                 audioLevelCanvasCache[resourceJid].height
211
-                    = height + CANVAS_EXTRA;
208
+                    = height + interfaceConfig.CANVAS_EXTRA;
212 209
             });
213 210
     });
214 211
 

+ 4
- 3
index.html 파일 보기

@@ -26,6 +26,7 @@
26 26
     <script src="libs/tooltip.js?v=1"></script><!-- bootstrap tooltip lib -->
27 27
     <script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
28 28
     <script src="config.js?v=5"></script><!-- adapt to your needs, i.e. set hosts and bosh path -->
29
+    <script src="interface_config.js?v=1"></script>
29 30
     <script src="brand.js?v=1"></script>
30 31
     <script src="muc.js?v=14"></script><!-- simple MUC library -->
31 32
     <script src="estos_log.js?v=2"></script><!-- simple stanza logger -->
@@ -44,11 +45,11 @@
44 45
     <script src="analytics.js?v=1"></script><!-- google analytics plugin -->
45 46
     <script src="rtp_sts.js?v=1"></script><!-- RTP stats processing -->
46 47
     <script src="local_sts.js?v=1"></script><!-- Local stats processing -->
47
-    <script src="videolayout.js?v=9"></script><!-- video ui -->
48
+    <script src="videolayout.js?v=10"></script><!-- video ui -->
48 49
     <script src="toolbar.js?v=6"></script><!-- toolbar ui -->
49
-    <script src="toolbar_toggler.js?v=1"></script>
50
+    <script src="toolbar_toggler.js?v=2"></script>
50 51
     <script src="canvas_util.js?v=1"></script><!-- canvas drawing utils -->
51
-    <script src="audio_levels.js?v=1"></script><!-- audio levels plugin -->
52
+    <script src="audio_levels.js?v=2"></script><!-- audio levels plugin -->
52 53
     <script src="media_stream.js?v=1"></script><!-- media stream -->
53 54
     <script src="bottom_toolbar.js?v=2"></script><!-- media stream -->
54 55
     <script src="roomname_generator.js?v=1"></script><!-- generator for random room names -->

+ 9
- 0
interface_config.js 파일 보기

@@ -0,0 +1,9 @@
1
+var interfaceConfig = {
2
+    CANVAS_EXTRA: 104,
3
+    CANVAS_RADIUS: 7,
4
+    SHADOW_COLOR: '#00ccff',
5
+    INITIAL_TOOLBAR_TIMEOUT: 20000,
6
+    TOOLBAR_TIMEOUT: 4000,
7
+    DEFAULT_REMOTE_DISPLAY_NAME: "Fellow Jitster",
8
+    DEFAULT_DOMINANT_SPEAKER_DISPLAY_NAME: "Speaker"
9
+};

+ 14
- 15
toolbar_toggler.js 파일 보기

@@ -1,7 +1,6 @@
1 1
 var ToolbarToggler = (function(my) {
2
-    var INITIAL_TOOLBAR_TIMEOUT = 20000;
3
-    var TOOLBAR_TIMEOUT = INITIAL_TOOLBAR_TIMEOUT;
4
-    var toolbarTimeout;
2
+    var toolbarTimeoutObject,
3
+        toolbarTimeout = interfaceConfig.INITIAL_TOOLBAR_TIMEOUT;
5 4
 
6 5
     /**
7 6
      * Shows the main toolbar.
@@ -16,12 +15,12 @@ var ToolbarToggler = (function(my) {
16 15
                 bottomToolbar.show("slide", {direction: "right",duration: 300});
17 16
             }
18 17
 
19
-            if (toolbarTimeout) {
20
-                clearTimeout(toolbarTimeout);
21
-                toolbarTimeout = null;
18
+            if (toolbarTimeoutObject) {
19
+                clearTimeout(toolbarTimeoutObject);
20
+                toolbarTimeoutObject = null;
22 21
             }
23
-            toolbarTimeout = setTimeout(hideToolbar, TOOLBAR_TIMEOUT);
24
-            TOOLBAR_TIMEOUT = 4000;
22
+            toolbarTimeoutObject = setTimeout(hideToolbar, toolbarTimeout);
23
+            toolbarTimeout = interfaceConfig.TOOLBAR_TIMEOUT;
25 24
         }
26 25
 
27 26
         if (focus != null)
@@ -51,8 +50,8 @@ var ToolbarToggler = (function(my) {
51 50
                 isToolbarHover = true;
52 51
         }
53 52
 
54
-        clearTimeout(toolbarTimeout);
55
-        toolbarTimeout = null;
53
+        clearTimeout(toolbarTimeoutObject);
54
+        toolbarTimeoutObject = null;
56 55
 
57 56
         if (!isToolbarHover) {
58 57
             header.hide("slide", { direction: "up", duration: 300});
@@ -62,7 +61,7 @@ var ToolbarToggler = (function(my) {
62 61
             }
63 62
         }
64 63
         else {
65
-            toolbarTimeout = setTimeout(hideToolbar, TOOLBAR_TIMEOUT);
64
+            toolbarTimeoutObject = setTimeout(hideToolbar, toolbarTimeout);
66 65
         }
67 66
     };
68 67
 
@@ -80,9 +79,9 @@ var ToolbarToggler = (function(my) {
80 79
             }
81 80
 
82 81
             // Then clear the time out, to dock the toolbar.
83
-            if (toolbarTimeout) {
84
-                clearTimeout(toolbarTimeout);
85
-                toolbarTimeout = null;
82
+            if (toolbarTimeoutObject) {
83
+                clearTimeout(toolbarTimeoutObject);
84
+                toolbarTimeoutObject = null;
86 85
             }
87 86
         }
88 87
         else {
@@ -90,7 +89,7 @@ var ToolbarToggler = (function(my) {
90 89
                 ToolbarToggler.showToolbar();
91 90
             }
92 91
             else {
93
-                toolbarTimeout = setTimeout(hideToolbar, TOOLBAR_TIMEOUT);
92
+                toolbarTimeoutObject = setTimeout(hideToolbar, toolbarTimeout);
94 93
             }
95 94
         }
96 95
     };

+ 8
- 7
videolayout.js 파일 보기

@@ -1,8 +1,6 @@
1 1
 var VideoLayout = (function (my) {
2 2
     var preMuted = false;
3 3
     var currentDominantSpeaker = null;
4
-    var defaultRemoteDisplayName = "Fellow Jitster";
5
-    var defaultDominantSpeakerDisplayName = "Speaker";
6 4
     var lastNCount = config.channelLastN;
7 5
     var lastNEndpointsCache = [];
8 6
     var largeVideoNewSrc = '';
@@ -529,7 +527,7 @@ var VideoLayout = (function (my) {
529 527
                 if (displayName && displayName.length > 0)
530 528
                     $('#' + videoSpanId + '_name').text(displayName);
531 529
                 else
532
-                    $('#' + videoSpanId + '_name').text(defaultRemoteDisplayName);
530
+                    $('#' + videoSpanId + '_name').text(interfaceConfig.DEFAULT_REMOTE_DISPLAY_NAME);
533 531
             }
534 532
         } else {
535 533
             var editButton = null;
@@ -543,7 +541,7 @@ var VideoLayout = (function (my) {
543 541
                 nameSpan.innerText = defaultLocalDisplayName;
544 542
             }
545 543
             else {
546
-                nameSpan.innerText = defaultRemoteDisplayName;
544
+                nameSpan.innerText = interfaceConfig.DEFAULT_REMOTE_DISPLAY_NAME;
547 545
             }
548 546
 
549 547
             if (displayName && displayName.length > 0) {
@@ -1200,11 +1198,14 @@ var VideoLayout = (function (my) {
1200 1198
         if (resourceJid !== currentDominantSpeaker) {
1201 1199
             var oldSpeakerVideoSpanId = "participant_" + currentDominantSpeaker,
1202 1200
                 newSpeakerVideoSpanId = "participant_" + resourceJid;
1203
-            if($("#" + oldSpeakerVideoSpanId + ">span.displayname").text() === defaultDominantSpeakerDisplayName) {
1201
+            if($("#" + oldSpeakerVideoSpanId + ">span.displayname").text() ===
1202
+                interfaceConfig.DEFAULT_DOMINANT_SPEAKER_DISPLAY_NAME) {
1204 1203
                 setDisplayName(oldSpeakerVideoSpanId, null);
1205 1204
             }
1206
-            if($("#" + newSpeakerVideoSpanId + ">span.displayname").text() === defaultRemoteDisplayName) {
1207
-                setDisplayName(newSpeakerVideoSpanId, defaultDominantSpeakerDisplayName);
1205
+            if($("#" + newSpeakerVideoSpanId + ">span.displayname").text() ===
1206
+                interfaceConfig.DEFAULT_REMOTE_DISPLAY_NAME) {
1207
+                setDisplayName(newSpeakerVideoSpanId,
1208
+                    interfaceConfig.DEFAULT_DOMINANT_SPEAKER_DISPLAY_NAME);
1208 1209
             }
1209 1210
             currentDominantSpeaker = resourceJid;
1210 1211
         } else {

Loading…
취소
저장