static void conference_loop_fn_energy_up(conference_member_t *member, caller_control_action_t *action)
{
- char msg[512];
+ char msg[512], str[30] = "";
switch_event_t *event;
+ char *p;
if (member == NULL)
return;
lock_member(member);
member->energy_level += 200;
- if (member->energy_level > 3000) {
- member->energy_level = 3000;
+ if (member->energy_level > 1800) {
+ member->energy_level = 1800;
}
if (test_eflag(member->conference, EFLAG_ENERGY_LEVEL) &&
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
+ //conference_member_say(member, msg, 0);
+
+ switch_snprintf(str, sizeof(str), "%d", abs(member->energy_level) / 200);
+ for (p = str; p && *p; p++) {
+ switch_snprintf(msg, sizeof(msg), "digits/%c.wav", *p);
+ conference_member_play_file(member, msg, 0);
+ }
+
+
+
+
}
static void conference_loop_fn_energy_equ_conf(conference_member_t *member, caller_control_action_t *action)
{
- char msg[512];
+ char msg[512], str[30] = "", *p;
switch_event_t *event;
if (member == NULL)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
+ //conference_member_say(member, msg, 0);
+
+ switch_snprintf(str, sizeof(str), "%d", abs(member->energy_level) / 200);
+ for (p = str; p && *p; p++) {
+ switch_snprintf(msg, sizeof(msg), "digits/%c.wav", *p);
+ conference_member_play_file(member, msg, 0);
+ }
+
}
static void conference_loop_fn_energy_dn(conference_member_t *member, caller_control_action_t *action)
{
- char msg[512];
+ char msg[512], str[30] = "", *p;
switch_event_t *event;
if (member == NULL)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Energy level %d", member->energy_level);
+ //conference_member_say(member, msg, 0);
+
+ switch_snprintf(str, sizeof(str), "%d", abs(member->energy_level) / 200);
+ for (p = str; p && *p; p++) {
+ switch_snprintf(msg, sizeof(msg), "digits/%c.wav", *p);
+ conference_member_play_file(member, msg, 0);
+ }
+
}
static void conference_loop_fn_volume_talk_up(conference_member_t *member, caller_control_action_t *action)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
+ //conference_member_say(member, msg, 0);
+
+ switch_snprintf(msg, sizeof(msg), "digits/%d.wav", member->volume_out_level);
+ conference_member_play_file(member, msg, 0);
+
}
static void conference_loop_fn_volume_talk_zero(conference_member_t *member, caller_control_action_t *action)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
+ //conference_member_say(member, msg, 0);
+
+ if (member->volume_out_level < 0) {
+ switch_snprintf(msg, sizeof(msg), "currency/negative.wav", member->volume_out_level);
+ conference_member_play_file(member, msg, 0);
+ }
+
+ switch_snprintf(msg, sizeof(msg), "digits/%d.wav", abs(member->volume_out_level));
+ conference_member_play_file(member, msg, 0);
}
static void conference_loop_fn_volume_talk_dn(conference_member_t *member, caller_control_action_t *action)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level);
+ //conference_member_say(member, msg, 0);
+
+ if (member->volume_out_level < 0) {
+ switch_snprintf(msg, sizeof(msg), "currency/negative.wav", member->volume_out_level);
+ conference_member_play_file(member, msg, 0);
+ }
+
+ switch_snprintf(msg, sizeof(msg), "digits/%d.wav", abs(member->volume_out_level));
+ conference_member_play_file(member, msg, 0);
}
static void conference_loop_fn_volume_listen_up(conference_member_t *member, caller_control_action_t *action)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
+ //conference_member_say(member, msg, 0);
+
+ if (member->volume_in_level < 0) {
+ switch_snprintf(msg, sizeof(msg), "currency/negative.wav", member->volume_in_level);
+ conference_member_play_file(member, msg, 0);
+ }
+
+ switch_snprintf(msg, sizeof(msg), "digits/%d.wav", abs(member->volume_in_level));
+ conference_member_play_file(member, msg, 0);
+
}
static void conference_loop_fn_volume_listen_zero(conference_member_t *member, caller_control_action_t *action)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
+ //conference_member_say(member, msg, 0);
+
+ if (member->volume_in_level < 0) {
+ switch_snprintf(msg, sizeof(msg), "currency/negative.wav", member->volume_in_level);
+ conference_member_play_file(member, msg, 0);
+ }
+
+ switch_snprintf(msg, sizeof(msg), "digits/%d.wav", abs(member->volume_in_level));
+ conference_member_play_file(member, msg, 0);
+
}
static void conference_loop_fn_volume_listen_dn(conference_member_t *member, caller_control_action_t *action)
}
unlock_member(member);
- switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
- conference_member_say(member, msg, 0);
+ //switch_snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level);
+ //conference_member_say(member, msg, 0);
+
+ if (member->volume_in_level < 0) {
+ switch_snprintf(msg, sizeof(msg), "currency/negative.wav", member->volume_in_level);
+ conference_member_play_file(member, msg, 0);
+ }
+
+ switch_snprintf(msg, sizeof(msg), "digits/%d.wav", abs(member->volume_in_level));
+ conference_member_play_file(member, msg, 0);
}
static void conference_loop_fn_event(conference_member_t *member, caller_control_action_t *action)
count++;
}
- stream->write_function(stream, "%s%d%s%d%s%d\n", delim, member->agc_volume_in_level ?
- member->agc_volume_in_level : member->volume_in_level, delim, member->volume_out_level, delim, member->energy_level);
+ stream->write_function(stream, "%s%d%s%d%s%d%s%d\n", delim,
+ member->volume_in_level,
+ delim,
+ member->agc_volume_in_level,
+ delim, member->volume_out_level, delim, member->energy_level);
}
switch_mutex_unlock(conference->member_mutex);
switch_snprintf(tmp, sizeof(tmp), "%d", member->agc_volume_in_level ? member->agc_volume_in_level : member->volume_in_level);
x_tag = add_x_tag(x_member, "input-volume", tmp, toff++);
- if (member->agc_volume_in_level) {
- switch_xml_set_attr_d(x_tag, "auto", "true");
- }
+ switch_snprintf(tmp, sizeof(tmp), "%d", member->agc_volume_in_level);
+ x_tag = add_x_tag(x_member, "auto-adjusted-input-volume", tmp, toff++);
}