diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index 90fd4b5b07..d923dc7bde 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -56,64 +56,73 @@ "type": "checkbox", "label": "Dynamic Jitter Buffers", "help": "Dynamically buffer client audio based on perceived jitter in packet receipt timing", - "default": false + "default": false, + "advanced": true }, { "name": "static-desired-jitter-buffer-frames", "label": "Static Desired Jitter Buffer Frames", "help": "If dynamic jitter buffers is disabled, this determines the target number of frames maintained by the AudioMixer's jitter buffers", "placeholder": "1", - "default": "1" + "default": "1", + "advanced": true }, { "name": "max-frames-over-desired", "label": "Max Frames Over Desired", "help": "The highest number of frames an AudioMixer's ringbuffer can exceed the desired jitter buffer frames by", "placeholder": "10", - "default": "10" + "default": "10", + "advanced": true }, { "name": "use-stdev-for-desired-calc", "type": "checkbox", "label": "Use Stdev for Desired Jitter Frames Calc:", "help": "If checked, Philip's method (stdev of timegaps) is used to calculate desired jitter frames. Otherwise, Fred's method (max timegap) is used", - "default": false + "default": false, + "advanced": true }, { "name": "window-starve-threshold", "label": "Window Starve Threshold", "help": "If this many starves occur in an N-second window (N is the number in the next field), then the desired jitter frames will be re-evaluated using Window A.", "placeholder": "3", - "default": "3" + "default": "3", + "advanced": true }, { "name": "window-seconds-for-desired-calc-on-too-many-starves", "label": "Timegaps Window (A) Seconds:", "help": "Window A contains a history of timegaps. Its max timegap is used to re-evaluate the desired jitter frames when too many starves occur within it.", "placeholder": "50", - "default": "50" + "default": "50", + "advanced": true }, { "name": "window-seconds-for-desired-reduction", "label": "Timegaps Window (B) Seconds:", "help": "Window B contains a history of timegaps. Its max timegap is used as a ceiling for the desired jitter frames value.", "placeholder": "10", - "default": "10" + "default": "10", + "advanced": true }, { "name": "repetition-with-fade", "type": "checkbox", "label": "Repetition with Fade:", "help": "If enabled, dropped frames and mixing during starves will repeat the last frame, eventually fading to silence", - "default": false + "default": false, + "advanced": true }, { "name": "I-print-stream-stats", "type": "checkbox", "label": "Print Stream Stats:", "help": "If enabled, audio upstream and downstream stats of each agent will be printed each second to stdout", - "default": false - } + "default": false, + "advanced": true + } ] } ] \ No newline at end of file diff --git a/domain-server/resources/web/js/settings.js b/domain-server/resources/web/js/settings.js index 970d4ce919..18bc6ecca7 100644 --- a/domain-server/resources/web/js/settings.js +++ b/domain-server/resources/web/js/settings.js @@ -1,5 +1,34 @@ var Settings = {}; +var viewHelpers = { + getFormGroup: function(groupName, setting, values){ + setting_id = groupName + "." + setting.name + + var form_group = "
" + + + if (setting.type === 'checkbox') { + checked_box = _.has(values, groupName) ? values[groupName][setting.name] : setting.default + + form_group += "" + form_group += "
" + form_group += ""; + form_group += "
" + } else { + form_group += ""; + form_group += "" + form_group += "" + setting.help + "" + } + + + form_group += "
" + return form_group + } +} + $(document).ready(function(){ /* * Clamped-width. @@ -22,28 +51,30 @@ $(document).ready(function(){ }); - var panelsSource = $('#panels-template').html(); - Settings.panelsTemplate = _.template(panelsSource); + var panelsSource = $('#panels-template').html() + Settings.panelsTemplate = _.template(panelsSource) - var sidebarTemplate = $('#list-group-template').html(); - Settings.sidebarTemplate = _.template(sidebarTemplate); + var sidebarTemplate = $('#list-group-template').html() + Settings.sidebarTemplate = _.template(sidebarTemplate) - $('body').scrollspy({ target: '#setup-sidebar', offset: 60 }); + $('body').scrollspy({ target: '#setup-sidebar', offset: 60 }) - reloadSettings(); + reloadSettings() }); function reloadSettings() { $.getJSON('/settings.json', function(data){ + _.extend(data, viewHelpers) + $('.nav-stacked').html(Settings.sidebarTemplate(data)) - $('#panels').html(Settings.panelsTemplate(data)); + $('#panels').html(Settings.panelsTemplate(data)) $('.nav-stacked li').each(function(){ - $(this).removeClass('active'); + $(this).removeClass('active') }); $('.nav-stacked li:first-child').addClass('active'); - $('body').scrollspy('refresh'); + $('body').scrollspy('refresh') }); } diff --git a/domain-server/resources/web/settings/index.shtml b/domain-server/resources/web/settings/index.shtml index e7fa294e6d..12058b78b0 100644 --- a/domain-server/resources/web/settings/index.shtml +++ b/domain-server/resources/web/settings/index.shtml @@ -25,7 +25,7 @@
-
+ - \ No newline at end of file