]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merge in branch that adds new features to MeetMeAdmin. See application documentation...
authorJoshua Colp <jcolp@digium.com>
Thu, 25 May 2006 21:30:40 +0000 (21:30 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 25 May 2006 21:30:40 +0000 (21:30 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30427 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_meetme.c

index 6cd7faee7dddad4ed8b2592875abea04c700c01b..e8a664a5375aef7a1ba8b8ba1e0c4d5a8f07ebe3 100644 (file)
@@ -254,6 +254,16 @@ static const char *descrip3 =
 "      'M' -- Mute conference\n"
 "      'n' -- Unmute entire conference (except admin)\n"
 "      'N' -- Mute entire conference (except admin)\n"
+"      'r' -- Reset one user's volume settings\n"
+"      'R' -- Reset all users volume settings\n"
+"      's' -- Lower entire conference speaking volume\n"
+"      'S' -- Raise entire conference speaking volume\n"
+"      't' -- Lower one user's talk volume\n"
+"      'T' -- Lower all users talk volume\n"
+"      'u' -- Lower one user's listen volume\n"
+"      'U' -- Lower all users listen volume\n"
+"      'v' -- Lower entire conference listening volume\n"
+"      'V' -- Raise entire conference listening volume\n"
 "";
 
 struct ast_conference {
@@ -2276,9 +2286,8 @@ static int admin_exec(struct ast_channel *chan, void *data) {
                        case 77: /* M: Mute */ 
                                if (user) {
                                        user->adminflags |= ADMINFLAG_MUTED;
-                               } else {
+                               } else
                                        ast_log(LOG_NOTICE, "Specified User not found!\n");
-                               }
                                break;
                        case 78: /* N: Mute all (non-admin) users */
                                AST_LIST_TRAVERSE(&cnf->userlist, user, list) {
@@ -2289,9 +2298,8 @@ static int admin_exec(struct ast_channel *chan, void *data) {
                        case 109: /* m: Unmute */ 
                                if (user) {
                                        user->adminflags &= ~ADMINFLAG_MUTED;
-                               } else {
+                               } else
                                        ast_log(LOG_NOTICE, "Specified User not found!\n");
-                               }
                                break;
                        case 110: /* n: Unmute all users */
                                AST_LIST_TRAVERSE(&cnf->userlist, user, list)
@@ -2303,6 +2311,56 @@ static int admin_exec(struct ast_channel *chan, void *data) {
                                else
                                        ast_log(LOG_NOTICE, "Specified User not found!");
                                break;
+                       case 118: /* v: Lower all users listen volume */
+                               AST_LIST_TRAVERSE(&cnf->userlist, user, list)
+                                       tweak_listen_volume(user, VOL_DOWN);
+                               break;
+                       case 86: /* V: Raise all users listen volume */
+                               AST_LIST_TRAVERSE(&cnf->userlist, user, list)
+                                       tweak_listen_volume(user, VOL_UP);
+                               break;
+                       case 115: /* s: Lower all users speaking volume */
+                               AST_LIST_TRAVERSE(&cnf->userlist, user, list)
+                                       tweak_talk_volume(user, VOL_DOWN);
+                               break;
+                       case 83: /* S: Raise all users speaking volume */
+                               AST_LIST_TRAVERSE(&cnf->userlist, user, list)
+                                       tweak_talk_volume(user, VOL_UP);
+                               break;
+                       case 82: /* R: Reset all volume levels */
+                               AST_LIST_TRAVERSE(&cnf->userlist, user, list)
+                                       reset_volumes(user);
+                               break;
+                       case 114: /* r: Reset user's volume level */
+                               if (user)
+                                       reset_volumes(user);
+                               else
+                                       ast_log(LOG_NOTICE, "Specified User not found!");
+                               break;
+                       case 85: /* U: Raise user's listen volume */
+                               if (user)
+                                       tweak_listen_volume(user, VOL_UP);
+                               else
+                                       ast_log(LOG_NOTICE, "Specified User not found!");
+                               break;
+                       case 117: /* u: Lower user's listen volume */
+                               if (user)
+                                       tweak_listen_volume(user, VOL_DOWN);
+                               else
+                                       ast_log(LOG_NOTICE, "Specified User not found!");
+                               break;
+                       case 84: /* T: Raise user's talk volume */
+                               if (user)
+                                       tweak_talk_volume(user, VOL_UP);
+                               else
+                                       ast_log(LOG_NOTICE, "Specified User not found!");
+                               break;
+                       case 116: /* t: Lower user's talk volume */
+                               if (user) 
+                                       tweak_talk_volume(user, VOL_DOWN);
+                               else 
+                                       ast_log(LOG_NOTICE, "Specified User not found!");
+                               break;
                        }
                } else {
                        ast_log(LOG_NOTICE, "Conference Number not found\n");