--- asterisk-1.2.7.1/apps/app_meetme.c 2006-04-06 18:15:20.000000000 -0400 +++ asterisk-1.2.7.1-mod/apps/app_meetme.c 2006-05-10 12:31:36.000000000 -0400 @@ -121,6 +121,16 @@ " 'M' -- Mute conference\n" " 'n' -- Unmute entire conference (except admin)\n" " 'N' -- Mute entire conference (except admin)\n" +" 'S' -- Raise entire conference speaking volume\n" +" 's' -- Lower entire conference speaking volume\n" +" 'V' -- Raise entire conference listening volume\n" +" 'v' -- Lower entire conference listening volume\n" +" 'T' -- Raise one user's talk volume\n" +" 't' -- Lower one user's talk volume\n" +" 'U' -- Raise one user's listen volume\n" +" 'u' -- Lower one user's listen volume\n" +" 'R' -- Reset all user's volume settings\n" +" 'r' -- Reset one user's volume settings\n" ""; #define CONFIG_FILE_NAME "meetme.conf" @@ -2068,13 +2078,12 @@ break; case 75: /* K: kick all users*/ user = cnf->firstuser; - while(user) { + while (user) { user->adminflags |= ADMINFLAG_KICKME; - if (user->nextuser) { + if (user->nextuser) user = user->nextuser; - } else { + else break; - } } break; case 101: /* e: Eject last user*/ @@ -2086,51 +2095,125 @@ ast_log(LOG_NOTICE, "Not kicking last user, is an Admin!\n"); break; case 77: /* M: Mute */ - if (user) { + if (user) user->adminflags |= ADMINFLAG_MUTED; - } else { + else ast_log(LOG_NOTICE, "Specified User not found!\n"); - } break; case 78: /* N: Mute all users */ user = cnf->firstuser; - while(user) { + while (user) { if (user && !(user->userflags & CONFFLAG_ADMIN)) user->adminflags |= ADMINFLAG_MUTED; - if (user->nextuser) { + if (user->nextuser) user = user->nextuser; - } else { + else break; - } } break; case 109: /* m: Unmute */ - if (user && (user->adminflags & ADMINFLAG_MUTED)) { + if (user && (user->adminflags & ADMINFLAG_MUTED)) user->adminflags ^= ADMINFLAG_MUTED; - } else { + else ast_log(LOG_NOTICE, "Specified User not found or he muted himself!"); - } break; case 110: /* n: Unmute all users */ user = cnf->firstuser; - while(user) { - if (user && (user-> adminflags & ADMINFLAG_MUTED)) { + while (user) { + if (user && (user-> adminflags & ADMINFLAG_MUTED)) user->adminflags ^= ADMINFLAG_MUTED; - } - if (user->nextuser) { + if (user->nextuser) user = user->nextuser; - } else { + else break; - } } break; case 107: /* k: Kick user */ - if (user) { + if (user) user->adminflags |= ADMINFLAG_KICKME; - } else { + else ast_log(LOG_NOTICE, "Specified User not found!"); + break; + case 118: /* v: Lower all users listen volume */ + user = cnf->firstuser; + while(user) { + tweak_listen_volume(user, VOL_DOWN); + if (user->nextuser) + user = user->nextuser; + else + break; + } + break; + case 86: /* V: Raise all users listen volume */ + user = cnf->firstuser; + while (user) { + tweak_listen_volume(user, VOL_UP); + if (user->nextuser) + user = user->nextuser; + else + break; } break; + case 115: /* s: Lower all users speaking volume */ + user = cnf->firstuser; + while (user) { + tweak_talk_volume(user, VOL_DOWN); + if (user->nextuser) + user = user->nextuser; + else + break; + } + break; + case 83: /* S: Raise all users speaking volume */ + user = cnf->firstuser; + while (user) { + tweak_talk_volume(user, VOL_UP); + if (user->nextuser) + user = user->nextuser; + else + break; + } + break; + case 82: /* R: Reset all volume levels */ + user = cnf->firstuser; + while (user) { + reset_volumes(user); + if (user->nextuser) + user = user->nextuser; + else + break; + } + 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");