overte/domain-server/resources/describe-settings.json
2014-10-20 16:29:19 -07:00

266 lines
No EOL
8.7 KiB
JSON

[
{
"name": "metaverse",
"label": "Metaverse Registration",
"settings": [
{
"name": "access_token",
"label": "Access Token",
"help": "This is an access token generated on the <a href='https://data.highfidelity.io/user/security' target='_blank'>My Security</a> page of your High Fidelity account.<br/>Generate a token with the 'domains' scope and paste it here.<br/>This is required to associate this domain-server with a domain in your account."
},
{
"name": "id",
"label": "Domain ID",
"help": "This is your High Fidelity domain ID. If you do not want your domain to be registered in the High Fidelity metaverse you can leave this blank."
},
{
"name": "automatic_networking",
"label": "Automatic Networking",
"help": "This defines how other nodes in the High Fidelity metaverse will be able to reach your domain-server.<br/>If you don't want to deal with any network settings, use full automatic networking.",
"default": "disabled",
"type": "select",
"options": [
{
"value": "full",
"label": "Full: update both the IP address and port to reach my server"
},
{
"value": "ip",
"label": "IP Only: update just my IP address, I will open the port manually"
},
{
"value": "disabled",
"label": "None: use the network information I have entered for this domain at data.highfidelity.io"
}
]
},
{
"name": "local_port",
"label": "Local UDP Port",
"help": "This is the local port your domain-server binds to for UDP connections.<br/>Depending on your router, this may need to be changed to run multiple full automatic networking domain-servers in the same network.",
"default": "40102",
"type": "int",
"advanced": true
}
]
},
{
"name": "security",
"label": "Security",
"settings": [
{
"name": "http_username",
"label": "HTTP Username",
"help": "Username used for basic HTTP authentication."
},
{
"name": "http_password",
"label": "HTTP Password",
"type": "password",
"help": "Password used for basic HTTP authentication. Leave this blank if you do not want to change it.",
"value-hidden": true
},
{
"name": "allowed_users",
"type": "table",
"label": "Allowed Users",
"help": "List the High Fidelity names for people you want to be able to connect to this domain.<br/>An empty list means everyone.<br/>You can always connect from the domain-server machine.",
"numbered": false,
"columns": [
{
"name": "username",
"label": "Username",
"can_set": true
}
]
}
]
},
{
"name": "audio_env",
"label": "Audio Environment",
"assignment-types": [0],
"settings": [
{
"name": "attenuation_per_doubling_in_distance",
"label": "Default Domain Attenuation",
"help": "Factor between 0 and 1.0 (0: No attenuation, 1.0: extreme attenuation)",
"placeholder": "0.18",
"default": "0.18",
"advanced": false
},
{
"name": "enable_filter",
"type": "checkbox",
"help": "positional audio stream uses lowpass filter",
"default": true
},
{
"name": "zones",
"type": "table",
"label": "Zones",
"help": "In this table you can define a set of zones in which you can specify various audio properties.",
"numbered": false,
"key": {
"name": "name",
"label": "Name",
"placeholder": "Zone_Name"
},
"columns": [
{
"name": "x_range",
"label": "X range",
"can_set": true,
"placeholder": "0-16384"
},
{
"name": "y_range",
"label": "Y range",
"can_set": true,
"placeholder": "0-16384"
},
{
"name": "z_range",
"label": "Z range",
"can_set": true,
"placeholder": "0-16384"
}
]
},
{
"name": "attenuation_coefficients",
"type": "table",
"label": "Attenuation Coefficients",
"help": "In this table you can set custom attenuation coefficients between audio zones",
"numbered": true,
"can_order": true,
"columns": [
{
"name": "source",
"label": "Source",
"can_set": true,
"placeholder": "Zone_A"
},
{
"name": "listener",
"label": "Listener",
"can_set": true,
"placeholder": "Zone_B"
},
{
"name": "coefficient",
"label": "Attenuation coefficient",
"can_set": true,
"placeholder": "0.18"
}
]
},
{
"name": "reverb",
"type": "table",
"label": "Reverb Settings",
"help": "In this table you can set custom reverb values for each audio zones",
"numbered": true,
"columns": [
{
"name": "zone",
"label": "Zone",
"can_set": true,
"placeholder": "Audio_Zone"
},
{
"name": "reverb_time",
"label": "Reverb Decay Time",
"can_set": true,
"placeholder": "(in sec)"
},
{
"name": "wet_level",
"label": "Wet Level",
"can_set": true,
"placeholder": "(in db)"
}
]
}
]
},
{
"name": "audio_buffer",
"label": "Audio Buffers",
"assignment-types": [0],
"settings": [
{
"name": "dynamic_jitter_buffer",
"type": "checkbox",
"label": "Dynamic Jitter Buffers",
"help": "dynamically buffer client audio based on perceived jitter in packet receipt timing",
"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",
"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",
"advanced": true
},
{
"name": "use_stdev_for_desired_calc",
"type": "checkbox",
"label": "Use Stdev for Desired Jitter Frames Calc:",
"help": "use Philip's method (stdev of timegaps) to calculate desired jitter frames (otherwise Fred's max timegap method is used)",
"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",
"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",
"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",
"advanced": true
},
{
"name": "repetition_with_fade",
"type": "checkbox",
"label": "Repetition with Fade:",
"help": "dropped frames and mixing during starves repeat the last frame, eventually fading to silence",
"default": false,
"advanced": true
},
{
"name": "print_stream_stats",
"type": "checkbox",
"label": "Print Stream Stats:",
"help": "audio upstream and downstream stats of each agent printed to audio-mixer stdout",
"default": false,
"advanced": true
}
]
}
]