Sound operator stacks.txt/Portal 2: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created this page to be able to link operator stacks.)
 
(Added links via regexp to operators and import_stacks.)
 
Line 1: Line 1:
{{DISPLAYTITLE:<code>portal2\scripts\sound_operator_stacks.txt</code>}}
{{DISPLAYTITLE:<code>portal2\scripts\sound_operator_stacks.txt</code>}}
The following is the content of the file as seen in {{p2|4}} when it was last modified on 2020-08-10.
The following is the content of the file {{path|portal2\scripts\sound_operator_stacks|txt}} as seen in {{p2|4}} when it was last modified on 2020-08-10.
The syntax of the file has been simplified for this page, omitting some indentation.
The syntax of the file has been simplified for this page, omitting some indentation.


The intention of this page is to be able to reference predefined operator stacks from Portal 2 or to copy-paste (parts of) them without having to download the game and look up the file. The sections should make it easy to link to a specific one.
The purpose of this page is to have a reference to the predefined operator stacks from Portal 2, to be able to navigate between them and/or the operator documentation, or even to copy-paste (parts of) these stacks without having to download the game and look up the file. The sections should make it easy to link to a specific one. All occurrences of <code>"operator" "&lt;sound_operator&gt;"</code> and <code>"import_stack" "&lt;operator_stack&gt;"</code> link to the appropriate target.
 
{{tip|Wiki editors: Use the templates {{tl2|operator stack|<name>|portal2}} and {{tl2|sound operator|<name>}} to link to operator stacks and sound operators.}}


__TOC__
__TOC__
Line 15: Line 17:
"stop_entries"
"stop_entries"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
}
}


Line 22: Line 24:
"random_float"
"random_float"
{
{
"operator" "math_random"
"operator" "{{sound operator|math_random}}"
"input_min" "0.0"
"input_min" "0.0"
"input_max" "1.0"
"input_max" "1.0"
Line 33: Line 35:
// "get_elapsed"
// "get_elapsed"
// {
// {
// "operator" "get_entry_time"
// "operator" "{{sound operator|get_entry_time}}"
// }
// }


// "play_entry"
// "play_entry"
// {
// {
// "operator" "sys_start_entry"
// "operator" "{{sound operator|sys_start_entry}}"
// "input_start" "1"
// "input_start" "1"
// "entry_name" "xray.beep"
// "entry_name" "xray.beep"
Line 44: Line 46:
"stop_entries"
"stop_entries"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
}
}
"block_entries"
"block_entries"
{
{
"operator" "sys_block_entries"
"operator" "{{sound operator|sys_block_entries}}"
"input_active" "1.0"
"input_active" "1.0"
"input_duration" "2.0"
"input_duration" "2.0"
Line 59: Line 61:
"delay_output"
"delay_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "0.0"
"input_float" "0.0"
"output" "delay"
"output" "delay"
Line 68: Line 70:
"sys_time"
"sys_time"
{
{
"operator" "get_sys_time"
"operator" "{{sound operator|get_sys_time}}"
}
}
"bpm"
"bpm"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "60"
"input1" "60"
Line 79: Line 81:
"beats"
"beats"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@bpm.output"
"input1" "@bpm.output"
Line 86: Line 88:
"time_mod"
"time_mod"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mod"
"apply" "mod"
"input1" "@sys_time.output_client_time"
"input1" "@sys_time.output_client_time"
Line 93: Line 95:
"negative_delay"
"negative_delay"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@time_mod.output"
"input1" "@time_mod.output"
Line 100: Line 102:
"delay_output"
"delay_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@negative_delay.output"
"input_float" "@negative_delay.output"
"output" "delay"
"output" "delay"
Line 109: Line 111:
"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}
"duration_div"
"duration_div"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time.output_sound_duration"
"input1" "@elapsed_time.output_sound_duration"
Line 120: Line 122:
"time_mod"
"time_mod"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mod"
"apply" "mod"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 127: Line 129:
"div_mult"
"div_mult"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "0.0"
"input1" "0.0"
Line 134: Line 136:
"add_offset"
"add_offset"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "add"
"apply" "add"
"input1" "@time_mod.output"
"input1" "@time_mod.output"
Line 141: Line 143:
"negative_delay"
"negative_delay"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@add_offset.output"
"input1" "@add_offset.output"
Line 148: Line 150:
"delay_output"
"delay_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@negative_delay.output"
"input_float" "@negative_delay.output"
"output" "delay"
"output" "delay"
Line 155: Line 157:
=== start_delay_sync_to_entry ===
=== start_delay_sync_to_entry ===


"import_stack" "start_sync_to_entry"
"import_stack" "[[#start_sync_to_entry|''start_sync_to_entry'']]"
"negative_delay"
"negative_delay"
{
{
Line 169: Line 171:
"stop_footsteps"
"stop_footsteps"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"match_entity" "false"
"match_entity" "false"
Line 180: Line 182:
"stop_gun"
"stop_gun"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"match_entity" "false"
"match_entity" "false"
Line 192: Line 194:
"limit_sound"
"limit_sound"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"match_entity" "false"
"match_entity" "false"
Line 201: Line 203:
"limit_robot_sounds"
"limit_robot_sounds"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "23.000000" //A sound will not stop itself from playing.
"input_max_entries" "23.000000" //A sound will not stop itself from playing.
"match_entity" "false"
"match_entity" "false"
Line 213: Line 215:
"sys_get_platform" //should be for X360/PS3, only use PC for testing.
"sys_get_platform" //should be for X360/PS3, only use PC for testing.
{
{
"operator" "sys_platform"
"operator" "{{sound operator|sys_platform}}"
//"pc" "true" //IF THIS IS UNCOMMENTED CHANGE IT!!!  SERIOUSLY!!!
//"pc" "true" //IF THIS IS UNCOMMENTED CHANGE IT!!!  SERIOUSLY!!!
"x360" "true"
"x360" "true"
Line 221: Line 223:
"limit_robot_sounds_ps3"
"limit_robot_sounds_ps3"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_execute" "@sys_get_platform.output"
"input_execute" "@sys_get_platform.output"
"input_max_entries" "9.000000" //I hate myself.
"input_max_entries" "9.000000" //I hate myself.
Line 231: Line 233:
"ps3_num_voices_compare"
"ps3_num_voices_compare"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than_or_equal"
"apply" "greater_than_or_equal"
"input1" "@limit_robot_sounds_ps3.output_entries_matching" // This is the percentage chance to play a null
"input1" "@limit_robot_sounds_ps3.output_entries_matching" // This is the percentage chance to play a null
Line 239: Line 241:
"block_robot_entries_ps3"  //helps with disc I/O: Blocks sound requests of robots once a max number of robots exist
"block_robot_entries_ps3"  //helps with disc I/O: Blocks sound requests of robots once a max number of robots exist
{
{
"operator" "sys_block_entries"
"operator" "{{sound operator|sys_block_entries}}"
//"input_execute" "0.0"
//"input_execute" "0.0"
"input_execute" "@ps3_num_voices_compare.output"
"input_execute" "@ps3_num_voices_compare.output"
Line 252: Line 254:
"limit_sound_ps3"
"limit_sound_ps3"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_execute" "0.0"
"input_execute" "0.0"
//"input_execute" "@sys_get_platform.output"
//"input_execute" "@sys_get_platform.output"
Line 263: Line 265:
"block_entries_ps3"
"block_entries_ps3"
{
{
"operator" "sys_block_entries"
"operator" "{{sound operator|sys_block_entries}}"
"input_execute" "0.0"
"input_execute" "0.0"
//"input_execute" "@sys_get_platform.output"
//"input_execute" "@sys_get_platform.output"
Line 281: Line 283:
"get_random"
"get_random"
{
{
"operator" "math_random"
"operator" "{{sound operator|math_random}}"
"input_execute" "0.0"
"input_execute" "0.0"
"input_min" "0.0"
"input_min" "0.0"
Line 289: Line 291:
"block_entries"
"block_entries"
{
{
"operator" "sys_block_entries"
"operator" "{{sound operator|sys_block_entries}}"
"input_active" "1.0"
"input_active" "1.0"
"input_duration" "0.1" //in seconds, you can use "@get_random.output" for a random blocking period
"input_duration" "0.1" //in seconds, you can use "@get_random.output" for a random blocking period
Line 303: Line 305:
//Combines exclusion time and poly limiting
//Combines exclusion time and poly limiting


"import_stack" "P2_exclusion_time_blocker_start"
"import_stack" "[[#P2_exclusion_time_blocker_start|''P2_exclusion_time_blocker_start'']]"
"import_stack" "P2_poly_limiting_start"
"import_stack" "[[#P2_poly_limiting_start|''P2_poly_limiting_start'']]"




Line 312: Line 314:
"get_random_null"
"get_random_null"
{
{
"operator" "math_random"
"operator" "{{sound operator|math_random}}"
"input_execute" "0.0"
"input_execute" "0.0"
"input_min" "0.0"
"input_min" "0.0"
Line 320: Line 322:
"percent_null"
"percent_null"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "0.60" // This is the percentage chance to play a null
"input1" "0.60" // This is the percentage chance to play a null
Line 330: Line 332:
"input_execute" "1.0"
"input_execute" "1.0"
//"input_execute" "@percent_null.output"
//"input_execute" "@percent_null.output"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "block_start"
"output" "block_start"
Line 341: Line 343:
"play_entry"
"play_entry"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "1.0"
"input_execute" "1.0"
Line 351: Line 353:
{
{
"input_execute" "1.0"
"input_execute" "1.0"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "block_start"
"output" "block_start"
Line 370: Line 372:
"set_mixlayer_vol_wheatley"
"set_mixlayer_vol_wheatley"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "wheatleyVO"
"mixgroup" "wheatleyVO"
Line 378: Line 380:
"set_mixlayer_vol_announcer"
"set_mixlayer_vol_announcer"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "announcerVO"
"mixgroup" "announcerVO"
Line 386: Line 388:
"set_mixlayer_vol_cave"
"set_mixlayer_vol_cave"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "caveVO"
"mixgroup" "caveVO"
Line 398: Line 400:
"set_mixlayer_mute_wheatley"
"set_mixlayer_mute_wheatley"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "wheatleyVO"
"mixgroup" "wheatleyVO"
Line 406: Line 408:
"set_mixlayer_mute_announcer"
"set_mixlayer_mute_announcer"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "announcerVO"
"mixgroup" "announcerVO"
Line 414: Line 416:
"set_mixlayer_mute_cave"
"set_mixlayer_mute_cave"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "caveVO"
"mixgroup" "caveVO"
Line 426: Line 428:
"set_mixlayer_vol_glados"
"set_mixlayer_vol_glados"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "wheatleyVOLayer"
"mixlayer" "wheatleyVOLayer"
"mixgroup" "gladosVO"
"mixgroup" "gladosVO"
Line 434: Line 436:
"set_mixlayer_vol_announcer"
"set_mixlayer_vol_announcer"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "wheatleyVOLayer"
"mixlayer" "wheatleyVOLayer"
"mixgroup" "announcerVO"
"mixgroup" "announcerVO"
Line 446: Line 448:
"set_mixlayer_vol_glados"
"set_mixlayer_vol_glados"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "announcerVOLayer"
"mixlayer" "announcerVOLayer"
"mixgroup" "gladosVO"
"mixgroup" "gladosVO"
Line 454: Line 456:
"set_mixlayer_vol_wheatley"
"set_mixlayer_vol_wheatley"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "announcerVOLayer"
"mixlayer" "announcerVOLayer"
"mixgroup" "wheatleyVO"
"mixgroup" "wheatleyVO"
Line 485: Line 487:
"test1_value1"
"test1_value1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "add"
"apply" "add"
"input1" "8"
"input1" "8"
Line 492: Line 494:
"test1_value1"
"test1_value1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "0"
"input1" "0"
Line 499: Line 501:
"test1_value2"
"test1_value2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "add"
"apply" "add"
"input1" "@test1_value1.output"
"input1" "@test1_value1.output"
Line 509: Line 511:
"test2_value1"
"test2_value1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "8"
"input1" "8"
Line 522: Line 524:
"test2_value2"
"test2_value2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "add"
"apply" "add"
"input1" "@test2_value1.output"
"input1" "@test2_value1.output"
Line 530: Line 532:
=== update_test3 ===
=== update_test3 ===


"import_stack" "update_test1"
"import_stack" "[[#update_test1|''update_test1'']]"
"import_stack" "update_test2"
"import_stack" "[[#update_test2|''update_test2'']]"
"test2_value1"
"test2_value1"
{
{
Line 543: Line 545:
"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}
"duration_div"
"duration_div"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time.output_sound_duration"
"input1" "@elapsed_time.output_sound_duration"
Line 554: Line 556:
"time_div"
"time_div"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 561: Line 563:
"time_mod"
"time_mod"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mod"
"apply" "mod"
"input1" "@time_div.output"
"input1" "@time_div.output"
Line 568: Line 570:
"time_step"
"time_step"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "@time_div.output"
"input1" "@time_div.output"
Line 575: Line 577:
"step_delta"
"step_delta"
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@time_step.output"
"input" "@time_step.output"
}
}
"delta_trigger"
"delta_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@step_delta.output"
"input1" "@step_delta.output"
Line 588: Line 590:
"play_entry"
"play_entry"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"input_start" "@delta_trigger.output"
"input_start" "@delta_trigger.output"
"entry_name" "xray.beep"
"entry_name" "xray.beep"
Line 595: Line 597:
"speaker_volume"
"speaker_volume"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1"
"input1" "1"
Line 603: Line 605:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"left_front"  "1.0"
"left_front"  "1.0"
Line 617: Line 619:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 629: Line 631:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" ".7"
"input" ".7"
"input_min" "0"
"input_min" "0"
Line 639: Line 641:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" ".7"
"input" ".7"
"input_min" "1"
"input_min" "1"
Line 649: Line 651:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" ".7"
"input" ".7"
"input_min" "0"
"input_min" "0"
Line 659: Line 661:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" ".7"
"input" ".7"
"input_min" "1"
"input_min" "1"
Line 669: Line 671:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-1"
"input" "-1"
"input_min" "0"
"input_min" "0"
Line 679: Line 681:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "2"
"input" "2"
"input_min" "0"
"input_min" "0"
Line 689: Line 691:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-1"
"input" "-1"
"input_min" "0"
"input_min" "0"
Line 700: Line 702:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "2"
"input" "2"
"input_min" "0"
"input_min" "0"
Line 712: Line 714:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "1"
"input" "1"
"input_min" "1"
"input_min" "1"
Line 722: Line 724:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "1"
"input" "1"
"input_min" "1"
"input_min" "1"
Line 734: Line 736:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" ".5"
"input" ".5"
"input_min" "1"
"input_min" "1"
Line 744: Line 746:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "1.5"
"input" "1.5"
"input_min" "1"
"input_min" "1"
Line 754: Line 756:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "1.5"
"input" "1.5"
"input_min" "0"
"input_min" "0"
Line 764: Line 766:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "0.5"
"input" "0.5"
"input_min" "1.0"
"input_min" "1.0"
Line 775: Line 777:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" ".7"
"input" ".7"
"input_min" "1"
"input_min" "1"
Line 785: Line 787:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-1"
"input" "-1"
"input_min" "1"
"input_min" "1"
Line 795: Line 797:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "2"
"input" "2"
"input_min" "1"
"input_min" "1"
Line 805: Line 807:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-1"
"input" "-1"
"input_min" "1"
"input_min" "1"
Line 816: Line 818:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "2"
"input" "2"
"input_min" "1"
"input_min" "1"
Line 828: Line 830:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "70"
"input" "70"
"input_min" "0"
"input_min" "0"
Line 838: Line 840:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-1"
"input" "-1"
"input_min" "0"
"input_min" "0"
Line 848: Line 850:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "200"
"input" "200"
"input_min" "0"
"input_min" "0"
Line 858: Line 860:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-1"
"input" "-1"
"input_min" "0"
"input_min" "0"
Line 869: Line 871:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "200"
"input" "200"
"input_min" "0"
"input_min" "0"
Line 881: Line 883:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "150"
"input" "150"
"input_min" "0"
"input_min" "0"
Line 891: Line 893:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "50"
"input" "50"
"input_min" "100.0"
"input_min" "100.0"
Line 902: Line 904:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "70"
"input" "70"
"input_min" "100"
"input_min" "100"
Line 912: Line 914:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-100"
"input" "-100"
"input_min" "100"
"input_min" "100"
Line 922: Line 924:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "200"
"input" "200"
"input_min" "100"
"input_min" "100"
Line 932: Line 934:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "-100"
"input" "-100"
"input_min" "100"
"input_min" "100"
Line 943: Line 945:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "200"
"input" "200"
"input_min" "100"
"input_min" "100"
Line 962: Line 964:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 971: Line 973:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 977: Line 979:
"remap_distance"
"remap_distance"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@source_distance.output"
"input" "@source_distance.output"
"input_min" "300"
"input_min" "300"
Line 986: Line 988:
"invert_remap"
"invert_remap"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
"apply" "mult"
"apply" "mult"
Line 995: Line 997:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@remap_distance.output"
"input_float" "@remap_distance.output"
Line 1,006: Line 1,008:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "300"
"input_radius"  "300"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
Line 1,014: Line 1,016:
"speakers_volume"
"speakers_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 1,023: Line 1,025:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_volume.output"
"input_speakers" "@speakers_volume.output"
"output" "speakers"
"output" "speakers"
Line 1,034: Line 1,036:
"usat_elapsed_time"
"usat_elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"usat_stop_time"
"usat_stop_time"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@usat_elapsed_time.output_entry_elapsed"
"input1" "@usat_elapsed_time.output_entry_elapsed"
Line 1,047: Line 1,049:
{
{
"input_execute" "@usat_stop_time.output"
"input_execute" "@usat_stop_time.output"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"stop_this_entry" "true"
"stop_this_entry" "true"
}
}
Line 1,056: Line 1,058:
"utltt_elapsed_time"
"utltt_elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"utltt_trigger_time"
"utltt_trigger_time"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@utltt_elapsed_time.output_sound_elapsed"
"input1" "@utltt_elapsed_time.output_sound_elapsed"
Line 1,068: Line 1,070:
"utltt_output_mixlayer_trigger"
"utltt_output_mixlayer_trigger"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@utltt_trigger_time.output"
"input_float" "@utltt_trigger_time.output"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 1,080: Line 1,082:
"usad_stop_dist"
"usad_stop_dist"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "0.0"
"input1" "0.0"
Line 1,087: Line 1,089:
"usad_stop_entry"
"usad_stop_entry"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_execute" "@usad_stop_dist.output"
"input_execute" "@usad_stop_dist.output"
"stop_this_entry" "true"
"stop_this_entry" "true"
Line 1,102: Line 1,104:
"elapsed_time_div"
"elapsed_time_div"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}
"duration_div"
"duration_div"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time_div.output_sound_duration"
"input1" "@elapsed_time_div.output_sound_duration"
Line 1,113: Line 1,115:
"time_div"
"time_div"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time_div.output_sound_elapsed"
"input1" "@elapsed_time_div.output_sound_elapsed"
Line 1,120: Line 1,122:
"time_mod"
"time_mod"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mod"
"apply" "mod"
"input1" "@time_div.output"
"input1" "@time_div.output"
Line 1,127: Line 1,129:
"time_step"
"time_step"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "@time_div.output"
"input1" "@time_div.output"
Line 1,134: Line 1,136:
"step_delta"
"step_delta"
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@time_step.output"
"input" "@time_step.output"
}
}
"delta_trigger"
"delta_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@step_delta.output"
"input1" "@step_delta.output"
Line 1,147: Line 1,149:
"play_entry"
"play_entry"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"input_start" "@delta_trigger.output"
"input_start" "@delta_trigger.output"
"entry_name" "xray.beep"
"entry_name" "xray.beep"
Line 1,157: Line 1,159:
"elapsed_time_div"
"elapsed_time_div"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}
///////////// x1
///////////// x1
"duration_div_x1"
"duration_div_x1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time_div.output_sound_duration"
"input1" "@elapsed_time_div.output_sound_duration"
Line 1,169: Line 1,171:
"time_div_x1"
"time_div_x1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time_div.output_entry_elapsed"
"input1" "@elapsed_time_div.output_entry_elapsed"
Line 1,176: Line 1,178:
"time_mod_x1"
"time_mod_x1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mod"
"apply" "mod"
"input1" "@time_div_x1.output"
"input1" "@time_div_x1.output"
Line 1,183: Line 1,185:
"time_step_x1"
"time_step_x1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "@time_div_x1.output"
"input1" "@time_div_x1.output"
Line 1,190: Line 1,192:
"step_delta_x1"
"step_delta_x1"
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@time_step_x1.output"
"input" "@time_step_x1.output"
}
}
"delta_trigger_x1"
"delta_trigger_x1"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@step_delta_x1.output"
"input1" "@step_delta_x1.output"
Line 1,203: Line 1,205:
"play_entry_x1"
"play_entry_x1"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"input_start" "@delta_trigger_x1.output"
"input_start" "@delta_trigger_x1.output"
"entry_name" "xray.beep"
"entry_name" "xray.beep"
Line 1,211: Line 1,213:
"duration_div_x2"
"duration_div_x2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time_div.output_sound_duration"
"input1" "@elapsed_time_div.output_sound_duration"
Line 1,218: Line 1,220:
"time_div_x2"
"time_div_x2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@elapsed_time_div.output_entry_elapsed"
"input1" "@elapsed_time_div.output_entry_elapsed"
Line 1,225: Line 1,227:
"time_mod_x2"
"time_mod_x2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mod"
"apply" "mod"
"input1" "@time_div_x2.output"
"input1" "@time_div_x2.output"
Line 1,232: Line 1,234:
"time_step_x2"
"time_step_x2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "@time_div_x2.output"
"input1" "@time_div_x2.output"
Line 1,239: Line 1,241:
"step_delta_x2"
"step_delta_x2"
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@time_step_x2.output"
"input" "@time_step_x2.output"
}
}
"delta_trigger_x2"
"delta_trigger_x2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@step_delta_x2.output"
"input1" "@step_delta_x2.output"
Line 1,252: Line 1,254:
"play_entry_x2"
"play_entry_x2"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"input_start" "@delta_trigger_x2.output"
"input_start" "@delta_trigger_x2.output"
"entry_name" "xray.beep"
"entry_name" "xray.beep"
Line 1,268: Line 1,270:
"save_restore_output"
"save_restore_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"execute_once" "true"
"execute_once" "true"
"input_float" "1.0"
"input_float" "1.0"
Line 1,275: Line 1,277:
"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 1,285: Line 1,287:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "Music"
"mixgroup" "Music"
}
}
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
"snd_musicvolume_convar"
"snd_musicvolume_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_musicvolume"
"convar" "snd_musicvolume"
}
}
"dashboard"
"dashboard"
{
{
"operator" "get_dashboard"
"operator" "{{sound operator|get_dashboard}}"
}
}
"convar_total"
"convar_total"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_musicvolume_convar.output"
"input1" "@snd_musicvolume_convar.output"
Line 1,311: Line 1,313:
"dashboard_total"
"dashboard_total"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@convar_total.output"
"input1" "@convar_total.output"
Line 1,318: Line 1,320:
"volume_fade_in"
"volume_fade_in"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 1,329: Line 1,331:
{
{
"input_execute" "0"
"input_execute" "0"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 1,339: Line 1,341:
"volume_invert_initial"
"volume_invert_initial"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 1,346: Line 1,348:
"volume_lfo_time_scale"
"volume_lfo_time_scale"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 1,353: Line 1,355:
"volume_lfo"
"volume_lfo"
{
{
"operator" "math_func1"
"operator" "{{sound operator|math_func1}}"
"function" "cos"
"function" "cos"
"normalize_trig" "true"
"normalize_trig" "true"
Line 1,360: Line 1,362:
"volume_lfo_scale"
"volume_lfo_scale"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "invert_scale"
"apply" "invert_scale"
"input1" "@volume_lfo.output"
"input1" "@volume_lfo.output"
Line 1,368: Line 1,370:
"volume_fade_out"
"volume_fade_out"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_stop_elapsed"
"input" "@elapsed_time.output_stop_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 1,378: Line 1,380:
"volume_invert_fadeout"
"volume_invert_fadeout"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 1,385: Line 1,387:
"volume_apply_fade_in"
"volume_apply_fade_in"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_fade_in.output"
"input1" "@volume_fade_in.output"
Line 1,392: Line 1,394:
"volume_apply_fade_initial"
"volume_apply_fade_initial"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_invert_initial.output"
"input1" "@volume_invert_initial.output"
Line 1,399: Line 1,401:
"volume_apply_lfo"
"volume_apply_lfo"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_initial.output"
"input1" "@volume_apply_fade_initial.output"
Line 1,406: Line 1,408:
"volume_apply_fade_out"
"volume_apply_fade_out"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_lfo.output"
"input1" "@volume_apply_lfo.output"
Line 1,413: Line 1,415:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 1,420: Line 1,422:
"volume_apply_adjust"
"volume_apply_adjust"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 1,427: Line 1,429:
"speaker_volume"
"speaker_volume"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@source_info.output_volume"
"input1" "@source_info.output_volume"
Line 1,435: Line 1,437:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"left_front"  "1.0"
"left_front"  "1.0"
Line 1,449: Line 1,451:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 1,455: Line 1,457:
"output_mixlayer_trigger"
"output_mixlayer_trigger"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 1,461: Line 1,463:
"stoptime_elapsed_trigger"
"stoptime_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@volume_invert_fadeout.output"
"input1" "@volume_invert_fadeout.output"
Line 1,468: Line 1,470:
"stop_hold_output"
"stop_hold_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "stop_hold"
"output"  "stop_hold"
"input_float" "@stoptime_elapsed_trigger.output"
"input_float" "@stoptime_elapsed_trigger.output"
Line 1,478: Line 1,480:
"save_restore_output"
"save_restore_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"execute_once" "true"
"execute_once" "true"
"input_float" "1.0"
"input_float" "1.0"
Line 1,488: Line 1,490:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 1,495: Line 1,497:
"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"position_array"
"position_array"
{
{
"operator" "util_pos_vec8"
"operator" "{{sound operator|util_pos_vec8}}"


"input_entry_count" "1"
"input_entry_count" "1"
Line 1,511: Line 1,513:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@position_array.output_position"
"input_position"  "@position_array.output_position"
}
}
Line 1,519: Line 1,521:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "Music"
"mixgroup" "Music"
}
}
Line 1,526: Line 1,528:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position"  "@position_array.output_position"
"input_position"  "@position_array.output_position"
}
}
Line 1,532: Line 1,534:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
"snd_musicvolume_convar"
"snd_musicvolume_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_musicvolume"
"convar" "snd_musicvolume"
}
}
Line 1,548: Line 1,550:
"dashboard"
"dashboard"
{
{
"operator" "get_dashboard"
"operator" "{{sound operator|get_dashboard}}"
}
}


Line 1,555: Line 1,557:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 1,568: Line 1,570:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 1,575: Line 1,577:
"volume_fade_in"
"volume_fade_in"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 1,585: Line 1,587:
"volume_clamp_fade_in"
"volume_clamp_fade_in"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "@volume_fade_in.output"
"input1" "@volume_fade_in.output"
Line 1,593: Line 1,595:
{
{
"input_execute" "0"
"input_execute" "0"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 1,603: Line 1,605:
"volume_invert_initial"
"volume_invert_initial"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 1,610: Line 1,612:
"volume_apply_fade_initial"
"volume_apply_fade_initial"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_invert_initial.output"
"input1" "@volume_invert_initial.output"
Line 1,618: Line 1,620:
"volume_fade_out"
"volume_fade_out"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_stop_elapsed"
"input" "@elapsed_time.output_stop_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 1,628: Line 1,630:
"volume_invert_fadeout"
"volume_invert_fadeout"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 1,636: Line 1,638:
"volume_apply_fade_out"
"volume_apply_fade_out"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_initial.output"
"input1" "@volume_apply_fade_initial.output"
Line 1,644: Line 1,646:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_out.output"
"input1" "@volume_apply_fade_out.output"
Line 1,652: Line 1,654:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 1,660: Line 1,662:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 1,668: Line 1,670:
"volume_apply_musicvolume_convar"
"volume_apply_musicvolume_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_musicvolume_convar.output"
"input1" "@snd_musicvolume_convar.output"
Line 1,676: Line 1,678:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_musicvolume_convar.output"
"input1" "@volume_apply_musicvolume_convar.output"
Line 1,684: Line 1,686:
"volume_apply_dashboard"
"volume_apply_dashboard"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_occlusion.output"
"input1" "@volume_apply_occlusion.output"
Line 1,694: Line 1,696:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
// "input_float" "@dsp_apply_distant.output"
// "input_float" "@dsp_apply_distant.output"
"input_float" "0"
"input_float" "0"
Line 1,706: Line 1,708:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_rear_stereo_scale" "1.0"
"input_rear_stereo_scale" "1.0"
"input_radius"  "300"
"input_radius"  "300"
Line 1,715: Line 1,717:
"speakers_volume"
"speakers_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 1,723: Line 1,725:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"


Line 1,739: Line 1,741:
"speakers_multi_origin"
"speakers_multi_origin"
{
{
"operator"   "iterate_merge_speakers"
"operator" "{{sound operator|iterate_merge_speakers}}"


"input_max_iterations" "@position_array.output_max_index"
"input_max_iterations" "@position_array.output_max_index"
Line 1,754: Line 1,756:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_multi_origin.output"
"input_speakers" "@speakers_multi_origin.output"
"output" "speakers"
"output" "speakers"
Line 1,762: Line 1,764:
"stoptime_elapsed_trigger"
"stoptime_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@volume_invert_fadeout.output"
"input1" "@volume_invert_fadeout.output"
Line 1,769: Line 1,771:
"stop_hold_output"
"stop_hold_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "stop_hold"
"output"  "stop_hold"
"input_float" "@stoptime_elapsed_trigger.output"
"input_float" "@stoptime_elapsed_trigger.output"
Line 1,779: Line 1,781:
=== update_music_spatial_stop_dist ===
=== update_music_spatial_stop_dist ===


"import_stack" "update_music_spatial"
"import_stack" "[[#update_music_spatial|''update_music_spatial'']]"


"import_stack" "update_stop_at_distance"
"import_stack" "[[#update_stop_at_distance|''update_stop_at_distance'']]"
"usad_stop_dist"
"usad_stop_dist"
{
{
Line 1,791: Line 1,793:
=== update_music_spatial_looping_triggers ===
=== update_music_spatial_looping_triggers ===


"import_stack" "update_music_spatial"
"import_stack" "[[#update_music_spatial|''update_music_spatial'']]"
"import_stack" "update_looping_triggers"
"import_stack" "[[#update_looping_triggers|''update_looping_triggers'']]"




=== update_music_stereo_trigger ===
=== update_music_stereo_trigger ===


"import_stack" "update_music_stereo"
"import_stack" "[[#update_music_stereo|''update_music_stereo'']]"
"import_stack" "update_music_div_trigger"
"import_stack" "[[#update_music_div_trigger|''update_music_div_trigger'']]"




Line 1,806: Line 1,808:
"tb_mixer"
"tb_mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "testTBin"
"mixgroup" "testTBin"
}
}
// "print_tb_mixer"
// "print_tb_mixer"
// {
// {
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@tb_mixer.output_volume"
// "input" "@tb_mixer.output_volume"
// }
// }
"tb_delta"
"tb_delta"
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@tb_mixer.output_volume"
"input" "@tb_mixer.output_volume"
}
}
"tb_mixer_zero"
"tb_mixer_zero"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than_or_equal"
"apply" "less_than_or_equal"
"input1" "@tb_mixer.output_volume"
"input1" "@tb_mixer.output_volume"
Line 1,828: Line 1,830:
"tb_start_trigger"
"tb_start_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@tb_delta.output"
"input1" "@tb_delta.output"
Line 1,835: Line 1,837:
"tb_start_trigger_test"
"tb_start_trigger_test"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "@tb_start_trigger.output"
"input1" "@tb_start_trigger.output"
Line 1,842: Line 1,844:
// "print_tb_delta"
// "print_tb_delta"
// {
// {
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@tb_delta.output"
// "input" "@tb_delta.output"
// }
// }
Line 1,849: Line 1,851:
// {
// {
// "input_execute" "@tb_start_trigger.output"
// "input_execute" "@tb_start_trigger.output"
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@tb_start_trigger_test.output"
// "input" "@tb_start_trigger_test.output"
// }
// }
"tb_stop_trigger"
"tb_stop_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@tb_mixer.output_volume"
"input1" "@tb_mixer.output_volume"
Line 1,863: Line 1,865:
{
{
"execute_once" "false"
"execute_once" "false"
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"input_start" "1"
"input_start" "1"
"input_execute" "@tb_start_trigger_test.output"
"input_execute" "@tb_start_trigger_test.output"
Line 1,871: Line 1,873:
{
{
"input_execute" "@tb_stop_trigger.output"
"input_execute" "@tb_stop_trigger.output"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "0.000000"
"input_max_entries" "0.000000"
"match_entity" "false"
"match_entity" "false"
Line 1,884: Line 1,886:
"gel_elapsed_time"
"gel_elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"bounce_view_info"
"bounce_view_info"
{
{
"operator" "game_view_info"
"operator" "{{sound operator|game_view_info}}"
}
}
"gel_mixer"
"gel_mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "testGelBounce"
"mixgroup" "testGelBounce"
}
}
"gel_delta"
"gel_delta"
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@gel_mixer.output_volume"
"input" "@gel_mixer.output_volume"
}
}
// "gel_delta_test"
// "gel_delta_test"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "less_than"
// "apply" "less_than"
// "input1" "@gel_delta.output"
// "input1" "@gel_delta.output"
Line 1,911: Line 1,913:
// {
// {
// "input_execute" "@gel_delta_test.output"
// "input_execute" "@gel_delta_test.output"
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@gel_delta.output"
// "input" "@gel_delta.output"
// }
// }
"gel_mixer_zero"
"gel_mixer_zero"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than_or_equal"
"apply" "less_than_or_equal"
"input1" "@gel_mixer.output_volume"
"input1" "@gel_mixer.output_volume"
Line 1,923: Line 1,925:
"gel_start_trigger"
"gel_start_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@gel_delta.output"
"input1" "@gel_delta.output"
Line 1,930: Line 1,932:
"gel_start_trigger_test"
"gel_start_trigger_test"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "@gel_start_trigger.output"
"input1" "@gel_start_trigger.output"
Line 1,938: Line 1,940:
// "gel_start_trigger"
// "gel_start_trigger"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "less_than"
// "apply" "less_than"
// "input1" "@gel_delta.output"
// "input1" "@gel_delta.output"
Line 1,945: Line 1,947:
"gel_stop_trigger"
"gel_stop_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@bounce_view_info.output_velocity_vector_z"
"input1" "@bounce_view_info.output_velocity_vector_z"
Line 1,952: Line 1,954:
"gel_test_stopped"
"gel_test_stopped"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@gel_elapsed_time.output_stop_elapsed"
"input1" "@gel_elapsed_time.output_stop_elapsed"
Line 1,960: Line 1,962:
// {
// {
// "input_execute" "@gel_delta_test.output"
// "input_execute" "@gel_delta_test.output"
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@gel_test_stopped.output"
// "input" "@gel_test_stopped.output"
// }
// }
Line 1,966: Line 1,968:
// {
// {
// "input_execute" "@gel_delta_test.output"
// "input_execute" "@gel_delta_test.output"
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@gel_start_trigger.output"
// "input" "@gel_start_trigger.output"
// }
// }
Line 1,972: Line 1,974:
// {
// {
// "input_execute" "@gel_delta_test.output"
// "input_execute" "@gel_delta_test.output"
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@gel_stop_trigger.output"
// "input" "@gel_stop_trigger.output"
// }
// }
Line 1,978: Line 1,980:
{
{
"execute_once" "false"
"execute_once" "false"
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"input_start" "@gel_test_stopped.output"
"input_start" "@gel_test_stopped.output"
"input_execute" "@gel_start_trigger_test.output"
"input_execute" "@gel_start_trigger_test.output"
Line 1,986: Line 1,988:
{
{
"input_execute" "@gel_stop_trigger.output"
"input_execute" "@gel_stop_trigger.output"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "0.000000"
"input_max_entries" "0.000000"
"match_entity" "false"
"match_entity" "false"
Line 1,999: Line 2,001:
"speed_view_info"
"speed_view_info"
{
{
"operator" "game_view_info"
"operator" "{{sound operator|game_view_info}}"
}
}


"speed_velocity_fabs_xy"
"speed_velocity_fabs_xy"
{
{
"operator" "math_func1"
"operator" "{{sound operator|math_func1}}"
"function" "fabs"
"function" "fabs"
"input1" "@speed_view_info.output_velocity_xy"
"input1" "@speed_view_info.output_velocity_xy"
Line 2,011: Line 2,013:
"speed_velocity_trigger"
"speed_velocity_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@speed_velocity_fabs_xy.output"
"input1" "@speed_velocity_fabs_xy.output"
Line 2,018: Line 2,020:
"speed_delta"
"speed_delta"
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@speed_velocity_trigger.output"
"input" "@speed_velocity_trigger.output"
}
}
Line 2,024: Line 2,026:
"speed_start_trigger"
"speed_start_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@speed_delta.output"
"input1" "@speed_delta.output"
Line 2,032: Line 2,034:
"speed_stop_trigger"
"speed_stop_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@speed_delta.output"
"input1" "@speed_delta.output"
Line 2,041: Line 2,043:
{
{
"execute_once" "false"
"execute_once" "false"
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"input_start" "1"
"input_start" "1"
"input_execute" "@speed_start_trigger.output"
"input_execute" "@speed_start_trigger.output"
Line 2,049: Line 2,051:
{
{
"input_execute" "@speed_stop_trigger.output"
"input_execute" "@speed_stop_trigger.output"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "0.000000"
"input_max_entries" "0.000000"
"match_entity" "false"
"match_entity" "false"
Line 2,060: Line 2,062:
=== p2_update_music_stereo_bounce ===
=== p2_update_music_stereo_bounce ===


"import_stack" "update_music_stereo"
"import_stack" "[[#update_music_stereo|''update_music_stereo'']]"
"game_view_info"
"game_view_info"
{
{
"operator" "game_view_info"
"operator" "{{sound operator|game_view_info}}"
}
}
// "volume_bounce"
// "volume_bounce"
// {
// {
// "operator" "math_remap_float"
// "operator" "{{sound operator|math_remap_float}}"
// "input" "@game_view_info.output_stop_elapsed"
// "input" "@game_view_info.output_stop_elapsed"
// "input_min" "-80.0"
// "input_min" "-80.0"
Line 2,078: Line 2,080:
"abs_velocity_vector_z"
"abs_velocity_vector_z"
{
{
"operator" "math_func1"
"operator" "{{sound operator|math_func1}}"
"function" "fabs"
"function" "fabs"
"input1" "@game_view_info.output_velocity_vector_z"
"input1" "@game_view_info.output_velocity_vector_z"
Line 2,084: Line 2,086:
"volume_bounce"
"volume_bounce"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@abs_velocity_vector_z.output"
"input" "@abs_velocity_vector_z.output"
"input_min" "0.0"
"input_min" "0.0"
Line 2,101: Line 2,103:
=== p2_update_music_spatial_portals ===
=== p2_update_music_spatial_portals ===


"import_stack" "update_music_spatial"
"import_stack" "[[#update_music_spatial|''update_music_spatial'']]"


// set up so it iterates over portalized sounds
// set up so it iterates over portalized sounds
Line 2,130: Line 2,132:
"save_restore_output"
"save_restore_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"execute_once" "true"
"execute_once" "true"
"input_float" "1.0"
"input_float" "1.0"
Line 2,137: Line 2,139:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "All"
"mixgroup" "All"
}
}
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 2,154: Line 2,156:
"speaker_volume"
"speaker_volume"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1"
"input1" "1"
Line 2,162: Line 2,164:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"left_front"  "1.0"
"left_front"  "1.0"
Line 2,176: Line 2,178:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 2,183: Line 2,185:
{
{
"execute_once" "1"
"execute_once" "1"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 2,195: Line 2,197:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 2,203: Line 2,205:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 2,211: Line 2,213:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "All"
"mixgroup" "All"
}
}
Line 2,218: Line 2,220:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position" "@source_info.output_position"
"input_position" "@source_info.output_position"
}
}
Line 2,224: Line 2,226:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 2,237: Line 2,239:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 2,249: Line 2,251:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 2,255: Line 2,257:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@source_info.output_volume"
"input1" "@source_info.output_volume"
Line 2,262: Line 2,264:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 2,269: Line 2,271:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 2,276: Line 2,278:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 2,284: Line 2,286:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_test_convar.output"
"input1" "@volume_apply_test_convar.output"
Line 2,293: Line 2,295:
// "volume_acc_ss_max"
// "volume_acc_ss_max"
// {
// {
// "operator" "op_accumulate_ss_float"
// "operator" "{{sound operator|op_accumulate_ss_float}}"
// "input" "volume_apply_occlusion.output"
// "input" "volume_apply_occlusion.output"
// "iterate_operator" "occlusion"
// "iterate_operator" "occlusion"
Line 2,302: Line 2,304:
{
{
"execute_once" "1"
"execute_once" "1"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 2,310: Line 2,312:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 2,319: Line 2,321:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 2,325: Line 2,327:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 2,332: Line 2,334:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 2,338: Line 2,340:
"dsp_apply_distant"
"dsp_apply_distant"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "mult"
"apply"       "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 2,345: Line 2,347:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_distant.output"
"input_float" "@dsp_apply_distant.output"
"output" "dsp"
"output" "dsp"
Line 2,356: Line 2,358:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "300"
"input_radius"  "300"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
Line 2,364: Line 2,366:
"speakers_apply_volume"
"speakers_apply_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 2,372: Line 2,374:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"


Line 2,387: Line 2,389:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 2,397: Line 2,399:
"save_restore_output"
"save_restore_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"execute_once" "true"
"execute_once" "true"
"input_float" "1.0"
"input_float" "1.0"
Line 2,406: Line 2,408:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 2,413: Line 2,415:
"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


Line 2,419: Line 2,421:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 2,427: Line 2,429:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "All"
"mixgroup" "All"
}
}
Line 2,434: Line 2,436:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position" "@source_info.output_position"
"input_position" "@source_info.output_position"
}
}
Line 2,440: Line 2,442:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 2,453: Line 2,455:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 2,465: Line 2,467:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 2,472: Line 2,474:
"volume_get_random" //use for random volume if needed
"volume_get_random" //use for random volume if needed
{
{
"operator" "math_random"
"operator" "{{sound operator|math_random}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "0.0"
"input_execute" "0.0"
Line 2,481: Line 2,483:
"volume_mult"
"volume_mult"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input2" "@source_info.output_volume"
"input2" "@source_info.output_volume"
Line 2,489: Line 2,491:
"volume_fade_in"
"volume_fade_in"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 2,499: Line 2,501:
"volume_fade_out"
"volume_fade_out"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_stop_elapsed"
"input" "@elapsed_time.output_stop_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 2,509: Line 2,511:
"volume_invert_fadeout"
"volume_invert_fadeout"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 2,516: Line 2,518:
"volume_apply_fade_in"
"volume_apply_fade_in"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_fade_in.output"
"input1" "@volume_fade_in.output"
Line 2,523: Line 2,525:
"volume_apply_fade_out"
"volume_apply_fade_out"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_in.output"
"input1" "@volume_apply_fade_in.output"
Line 2,531: Line 2,533:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_out.output"
"input1" "@volume_apply_fade_out.output"
Line 2,538: Line 2,540:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 2,545: Line 2,547:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 2,552: Line 2,554:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 2,560: Line 2,562:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_test_convar.output"
"input1" "@volume_apply_test_convar.output"
Line 2,569: Line 2,571:
// "volume_acc_ss_max"
// "volume_acc_ss_max"
// {
// {
// "operator" "op_accumulate_ss_float"
// "operator" "{{sound operator|op_accumulate_ss_float}}"
// "input" "volume_apply_occlusion.output"
// "input" "volume_apply_occlusion.output"
// "iterate_operator" "occlusion"
// "iterate_operator" "occlusion"
Line 2,576: Line 2,578:
"stoptime_elapsed_trigger"
"stoptime_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@volume_invert_fadeout.output"
"input1" "@volume_invert_fadeout.output"
Line 2,583: Line 2,585:
"stop_hold_output"
"stop_hold_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "stop_hold"
"output"  "stop_hold"
"input_float" "@stoptime_elapsed_trigger.output"
"input_float" "@stoptime_elapsed_trigger.output"
Line 2,593: Line 2,595:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 2,602: Line 2,604:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 2,608: Line 2,610:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 2,615: Line 2,617:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 2,621: Line 2,623:
"dsp_apply_distant"
"dsp_apply_distant"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "mult"
"apply"       "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 2,628: Line 2,630:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_distant.output"
"input_float" "@dsp_apply_distant.output"
"output" "dsp"
"output" "dsp"
Line 2,639: Line 2,641:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "300"
"input_radius"  "300"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
Line 2,647: Line 2,649:
"speakers_apply_volume"
"speakers_apply_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 2,655: Line 2,657:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"


Line 2,669: Line 2,671:
"speakers_multi_origin"
"speakers_multi_origin"
{
{
"operator"   "iterate_merge_speakers"
"operator" "{{sound operator|iterate_merge_speakers}}"


"input_max_iterations" "@source_info.output_source_count"
"input_max_iterations" "@source_info.output_source_count"
Line 2,684: Line 2,686:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_multi_origin.output"
"input_speakers" "@speakers_multi_origin.output"
"output" "speakers"
"output" "speakers"
Line 2,692: Line 2,694:
=== p2_offset_start_update ===
=== p2_offset_start_update ===


"import_stack" "p2_update_default"
"import_stack" "[[#p2_update_default|''p2_update_default'']]"


"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"time_elapsed_trigger"
"time_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 2,709: Line 2,711:
"time_elapsed_trigger_2"
"time_elapsed_trigger_2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 2,717: Line 2,719:
"time_elapsed_trigger_3"
"time_elapsed_trigger_3"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 2,725: Line 2,727:
"time_elapsed_trigger_4"
"time_elapsed_trigger_4"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 2,733: Line 2,735:
"bool_delta" //Check to see if the trigger has been flipped
"bool_delta" //Check to see if the trigger has been flipped
{
{
"operator" "math_delta"
"operator" "{{sound operator|math_delta}}"
"input" "@time_elapsed_trigger.output"
"input" "@time_elapsed_trigger.output"
}
}
Line 2,739: Line 2,741:
"bool_delta_trigger"
"bool_delta_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@bool_delta.output"
"input1" "@bool_delta.output"
Line 2,747: Line 2,749:
"play_entry"
"play_entry"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@bool_delta_trigger.output"
"input_execute" "@bool_delta_trigger.output"
Line 2,756: Line 2,758:
"play_entry_2"
"play_entry_2"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@time_elapsed_trigger_2.output"
"input_execute" "@time_elapsed_trigger_2.output"
Line 2,765: Line 2,767:
"play_entry_3"
"play_entry_3"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@time_elapsed_trigger_3.output"
"input_execute" "@time_elapsed_trigger_3.output"
Line 2,774: Line 2,776:
"play_entry_4"
"play_entry_4"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@time_elapsed_trigger_4.output"
"input_execute" "@time_elapsed_trigger_4.output"
Line 2,784: Line 2,786:
=== p2_offset_start_update_random ===
=== p2_offset_start_update_random ===


"import_stack" "p2_update_default"
"import_stack" "[[#p2_update_default|''p2_update_default'']]"


"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"delay_trigger"
"delay_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 2,801: Line 2,803:
"random_play"
"random_play"
{
{
"operator" "math_random"
"operator" "{{sound operator|math_random}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "0.0"
"input_execute" "0.0"
Line 2,810: Line 2,812:
"percent_fire"
"percent_fire"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "0.60" // This is the percentage chance to play a sound
"input1" "0.60" // This is the percentage chance to play a sound
Line 2,818: Line 2,820:
"do_we_fire"
"do_we_fire"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "@percent_fire.output"
"input1" "@percent_fire.output"
Line 2,826: Line 2,828:
"triggered_sound"
"triggered_sound"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@do_we_fire.output"
"input_execute" "@do_we_fire.output"
Line 2,836: Line 2,838:
=== p2_offset_start_level_based ===
=== p2_offset_start_level_based ===


"import_stack" "p2_update_default"
"import_stack" "[[#p2_update_default|''p2_update_default'']]"


"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"delay_trigger"
"delay_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 2,853: Line 2,855:
"delay_trigger_2"
"delay_trigger_2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@elapsed_time.output_sound_elapsed"
"input1" "@elapsed_time.output_sound_elapsed"
Line 2,862: Line 2,864:
{
{
"input_execute" "0.0" //enable map checking here
"input_execute" "0.0" //enable map checking here
"operator" "get_map_name"
"operator" "{{sound operator|get_map_name}}"
"map_name" "p2_empty4" //your map name here
"map_name" "p2_empty4" //your map name here
}
}
Line 2,868: Line 2,870:
"get_pos_data"
"get_pos_data"
{
{
"operator" "game_view_info"
"operator" "{{sound operator|game_view_info}}"
}
}


"pos_specific_check"
"pos_specific_check"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than_or_equal"
"apply" "greater_than_or_equal"
"input1" "@get_pos_data.output_position_z" //replace with the param to check against
"input1" "@get_pos_data.output_position_z" //replace with the param to check against
Line 2,881: Line 2,883:
"level_and_pos_check"
"level_and_pos_check"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "@level_specific_check.output"
"input1" "@level_specific_check.output"
Line 2,889: Line 2,891:
"do_we_fire"
"do_we_fire"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "@level_and_pos_check.output"
"input1" "@level_and_pos_check.output"
Line 2,897: Line 2,899:
"do_we_fire_2"
"do_we_fire_2"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "@level_and_pos_check.output"
"input1" "@level_and_pos_check.output"
Line 2,905: Line 2,907:
"triggered_sound"
"triggered_sound"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@do_we_fire.output"
"input_execute" "@do_we_fire.output"
Line 2,914: Line 2,916:
"triggered_sound_2"
"triggered_sound_2"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@do_we_fire.output"
"input_execute" "@do_we_fire.output"
Line 2,926: Line 2,928:
"usae_elapsed_time"
"usae_elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"sound_duration_mult"
"sound_duration_mult"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@usae_elapsed_time.output_sound_duration"
"input1" "@usae_elapsed_time.output_sound_duration"
Line 2,939: Line 2,941:
"time_elapsed_trigger"
"time_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than_or_equal"
"apply" "greater_than_or_equal"
"input1" "@usae_elapsed_time.output_sound_elapsed"
"input1" "@usae_elapsed_time.output_sound_elapsed"
Line 2,947: Line 2,949:
"stop_this"
"stop_this"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_execute" "@time_elapsed_trigger.output"
"input_execute" "@time_elapsed_trigger.output"
"stop_this_entry" "true"
"stop_this_entry" "true"
Line 2,953: Line 2,955:
"play_entry"
"play_entry"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "@time_elapsed_trigger.output"
"input_execute" "@time_elapsed_trigger.output"
Line 2,965: Line 2,967:
"usae_elapsed_time"
"usae_elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


"sound_duration_mult"
"sound_duration_mult"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@usae_elapsed_time.output_sound_duration"
"input1" "@usae_elapsed_time.output_sound_duration"
Line 2,977: Line 2,979:
"time_elapsed_trigger"
"time_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than_or_equal"
"apply" "greater_than_or_equal"
"input1" "@usae_elapsed_time.output_sound_elapsed"
"input1" "@usae_elapsed_time.output_sound_elapsed"
Line 2,984: Line 2,986:
"stop_this"
"stop_this"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_execute" "@time_elapsed_trigger.output"
"input_execute" "@time_elapsed_trigger.output"
"stop_this_entry" "true"
"stop_this_entry" "true"
Line 2,995: Line 2,997:
"save_restore_output"
"save_restore_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"execute_once" "true"
"execute_once" "true"
"input_float" "1.0"
"input_float" "1.0"
Line 3,006: Line 3,008:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 3,013: Line 3,015:
"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


Line 3,019: Line 3,021:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 3,027: Line 3,029:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "All"
"mixgroup" "All"
}
}
Line 3,034: Line 3,036:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position" "@source_info.output_position"
"input_position" "@source_info.output_position"
}
}
Line 3,040: Line 3,042:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 3,053: Line 3,055:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 3,065: Line 3,067:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 3,072: Line 3,074:
"volume_fade_in"
"volume_fade_in"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 3,082: Line 3,084:
"volume_fade_out"
"volume_fade_out"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_stop_elapsed"
"input" "@elapsed_time.output_stop_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 3,092: Line 3,094:
"volume_invert_fadeout"
"volume_invert_fadeout"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 3,099: Line 3,101:
"volume_apply_fade_in"
"volume_apply_fade_in"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_fade_in.output"
"input1" "@volume_fade_in.output"
Line 3,106: Line 3,108:
"volume_apply_fade_out"
"volume_apply_fade_out"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_in.output"
"input1" "@volume_apply_fade_in.output"
Line 3,115: Line 3,117:
{
{
"input_execute" "0"
"input_execute" "0"
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 3,125: Line 3,127:
"volume_invert_initial"
"volume_invert_initial"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 3,132: Line 3,134:
"volume_apply_fade_initial"
"volume_apply_fade_initial"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_out.output"
"input1" "@volume_apply_fade_out.output"
Line 3,143: Line 3,145:
{
{
"input_execute" "0.0" //enable map checking here
"input_execute" "0.0" //enable map checking here
"operator" "get_map_name"
"operator" "{{sound operator|get_map_name}}"
"map_name" "p2_empty4" //your map name here
"map_name" "p2_empty4" //your map name here
}
}
Line 3,149: Line 3,151:
"volume_invert_map_name"
"volume_invert_map_name"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 3,157: Line 3,159:
"volume_map_name_scalar"
"volume_map_name_scalar"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@volume_invert_map_name.output"
"input" "@volume_invert_map_name.output"
"input_min" "0.0"
"input_min" "0.0"
Line 3,168: Line 3,170:
"volume_mult"
"volume_mult"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input2" "@volume_apply_fade_initial.output"
"input2" "@volume_apply_fade_initial.output"
Line 3,176: Line 3,178:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_mult.output"
"input1" "@volume_mult.output"
Line 3,184: Line 3,186:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 3,191: Line 3,193:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 3,198: Line 3,200:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 3,206: Line 3,208:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_test_convar.output"
"input1" "@volume_apply_test_convar.output"
Line 3,215: Line 3,217:
// "volume_acc_ss_max"
// "volume_acc_ss_max"
// {
// {
// "operator" "op_accumulate_ss_float"
// "operator" "{{sound operator|op_accumulate_ss_float}}"
// "input" "volume_apply_occlusion.output"
// "input" "volume_apply_occlusion.output"
// "iterate_operator" "occlusion"
// "iterate_operator" "occlusion"
Line 3,222: Line 3,224:
"stoptime_elapsed_trigger"
"stoptime_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@volume_invert_fadeout.output"
"input1" "@volume_invert_fadeout.output"
Line 3,229: Line 3,231:
"stop_hold_output"
"stop_hold_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "stop_hold"
"output"  "stop_hold"
"input_float" "@stoptime_elapsed_trigger.output"
"input_float" "@stoptime_elapsed_trigger.output"
Line 3,238: Line 3,240:
"max_volume_percentage"
"max_volume_percentage"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "div"
"apply" "div"
"input1" "@volume_apply_fade_out.output"
"input1" "@volume_apply_fade_out.output"
Line 3,246: Line 3,248:
"pitch_fade_in"
"pitch_fade_in"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@max_volume_percentage.output"
"input" "@max_volume_percentage.output"
"input_min" "0.0"
"input_min" "0.0"
Line 3,257: Line 3,259:
"pitch_random" //Use for random pitch
"pitch_random" //Use for random pitch
{
{
"operator" "math_random"
"operator" "{{sound operator|math_random}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "0.0"
"input_execute" "0.0"
Line 3,266: Line 3,268:
"pitch_apply_fade_in"
"pitch_apply_fade_in"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@pitch_random.output"
"input1" "@pitch_random.output"
Line 3,274: Line 3,276:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@pitch_apply_fade_in.output"
"input_float" "@pitch_apply_fade_in.output"
Line 3,283: Line 3,285:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 3,289: Line 3,291:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 3,296: Line 3,298:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 3,302: Line 3,304:
"dsp_apply_distant"
"dsp_apply_distant"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "mult"
"apply"       "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 3,309: Line 3,311:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_distant.output"
"input_float" "@dsp_apply_distant.output"
"output" "dsp"
"output" "dsp"
Line 3,320: Line 3,322:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "300"
"input_radius"  "300"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
Line 3,328: Line 3,330:
"speakers_apply_volume"
"speakers_apply_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 3,336: Line 3,338:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"


Line 3,350: Line 3,352:
"speakers_multi_origin"
"speakers_multi_origin"
{
{
"operator"   "iterate_merge_speakers"
"operator" "{{sound operator|iterate_merge_speakers}}"


"input_max_iterations" "@source_info.output_source_count"
"input_max_iterations" "@source_info.output_source_count"
Line 3,365: Line 3,367:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_multi_origin.output"
"input_speakers" "@speakers_multi_origin.output"
"output" "speakers"
"output" "speakers"
Line 3,376: Line 3,378:
"save_restore_output"
"save_restore_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"execute_once" "true"
"execute_once" "true"
"input_float" "1.0"
"input_float" "1.0"
Line 3,387: Line 3,389:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 3,394: Line 3,396:
"elapsed_time"
"elapsed_time"
{
{
"operator" "get_entry_time"
"operator" "{{sound operator|get_entry_time}}"
}
}


Line 3,400: Line 3,402:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 3,408: Line 3,410:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "All"
"mixgroup" "All"
}
}
Line 3,415: Line 3,417:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position" "@source_info.output_position"
"input_position" "@source_info.output_position"
}
}
Line 3,421: Line 3,423:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 3,434: Line 3,436:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 3,446: Line 3,448:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 3,452: Line 3,454:
"volume_mult"
"volume_mult"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input2" "@source_info.output_volume"
"input2" "@source_info.output_volume"
Line 3,460: Line 3,462:
"volume_fade_in"
"volume_fade_in"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_entry_elapsed"
"input" "@elapsed_time.output_entry_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 3,470: Line 3,472:
"volume_fade_out"
"volume_fade_out"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@elapsed_time.output_stop_elapsed"
"input" "@elapsed_time.output_stop_elapsed"
"input_min" "0.0"
"input_min" "0.0"
Line 3,480: Line 3,482:
"volume_invert_fadeout"
"volume_invert_fadeout"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 3,487: Line 3,489:
"volume_apply_fade_in"
"volume_apply_fade_in"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_fade_in.output"
"input1" "@volume_fade_in.output"
Line 3,494: Line 3,496:
"volume_apply_fade_out"
"volume_apply_fade_out"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_in.output"
"input1" "@volume_apply_fade_in.output"
Line 3,506: Line 3,508:
"falloff_xover_1" //Use these like variables
"falloff_xover_1" //Use these like variables
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "0.6" //first point goes here
"input1" "0.6" //first point goes here
Line 3,514: Line 3,516:
"falloff_xover_2" //Use these like variables
"falloff_xover_2" //Use these like variables
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "0.45" //second point goes here
"input1" "0.45" //second point goes here
Line 3,522: Line 3,524:
"falloff_leg_1"
"falloff_leg_1"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@volume_falloff.output"
"input" "@volume_falloff.output"
"input_min" "@falloff_xover_1.output" //default 0.6
"input_min" "@falloff_xover_1.output" //default 0.6
Line 3,533: Line 3,535:
"falloff_leg_2"
"falloff_leg_2"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@volume_falloff.output"
"input" "@volume_falloff.output"
"input_min" "@falloff_xover_2.output" //default 0.45
"input_min" "@falloff_xover_2.output" //default 0.45
Line 3,544: Line 3,546:
"falloff_leg_3"
"falloff_leg_3"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@volume_falloff.output"
"input" "@volume_falloff.output"
"input_min" "0.0"
"input_min" "0.0"
Line 3,555: Line 3,557:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_fade_out.output"
"input1" "@volume_apply_fade_out.output"
Line 3,565: Line 3,567:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 3,572: Line 3,574:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 3,579: Line 3,581:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 3,587: Line 3,589:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_test_convar.output"
"input1" "@volume_apply_test_convar.output"
Line 3,596: Line 3,598:
// "volume_acc_ss_max"
// "volume_acc_ss_max"
// {
// {
// "operator" "op_accumulate_ss_float"
// "operator" "{{sound operator|op_accumulate_ss_float}}"
// "input" "volume_apply_occlusion.output"
// "input" "volume_apply_occlusion.output"
// "iterate_operator" "occlusion"
// "iterate_operator" "occlusion"
Line 3,603: Line 3,605:
"stoptime_elapsed_trigger"
"stoptime_elapsed_trigger"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "greater_than"
"apply" "greater_than"
"input1" "@volume_invert_fadeout.output"
"input1" "@volume_invert_fadeout.output"
Line 3,610: Line 3,612:
"stop_hold_output"
"stop_hold_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "stop_hold"
"output"  "stop_hold"
"input_float" "@stoptime_elapsed_trigger.output"
"input_float" "@stoptime_elapsed_trigger.output"
Line 3,620: Line 3,622:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 3,629: Line 3,631:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 3,635: Line 3,637:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 3,642: Line 3,644:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 3,648: Line 3,650:
"dsp_apply_distant"
"dsp_apply_distant"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "mult"
"apply"       "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 3,655: Line 3,657:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_distant.output"
"input_float" "@dsp_apply_distant.output"
"output" "dsp"
"output" "dsp"
Line 3,666: Line 3,668:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "300"
"input_radius"  "300"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
Line 3,674: Line 3,676:
"speakers_apply_volume"
"speakers_apply_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 3,682: Line 3,684:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"


Line 3,696: Line 3,698:
"speakers_multi_origin"
"speakers_multi_origin"
{
{
"operator"   "iterate_merge_speakers"
"operator" "{{sound operator|iterate_merge_speakers}}"


"input_max_iterations" "@source_info.output_source_count"
"input_max_iterations" "@source_info.output_source_count"
Line 3,711: Line 3,713:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_multi_origin.output"
"input_speakers" "@speakers_multi_origin.output"
"output" "speakers"
"output" "speakers"
Line 3,724: Line 3,726:
"p2_update_ambient_sound_spatial"
"p2_update_ambient_sound_spatial"


"import_stack" "p2_update_music_spatial_portals"
"import_stack" "[[#p2_update_music_spatial_portals|''p2_update_music_spatial_portals'']]"




Line 3,741: Line 3,743:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"match_channel" "true"
"match_channel" "true"
"match_entity" "true"
"match_entity" "true"
Line 3,751: Line 3,753:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 3,760: Line 3,762:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "All"
"mixgroup" "All"
}
}
Line 3,766: Line 3,768:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
Line 3,775: Line 3,777:
{
{
"execute_once" "1"
"execute_once" "1"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 3,784: Line 3,786:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 3,791: Line 3,793:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 3,801: Line 3,803:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 3,810: Line 3,812:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 3,816: Line 3,818:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 3,823: Line 3,825:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_mixer.output"
"input_float" "@dsp_apply_mixer.output"
"output" "dsp"
"output" "dsp"
Line 3,834: Line 3,836:
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
"snd_surround_convar"
"snd_surround_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_surround_speakers"
"convar" "snd_surround_speakers"
}
}
"remap_surround_dialog"
"remap_surround_dialog"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@snd_surround_convar.output"
"input" "@snd_surround_convar.output"
"input_min" "2"
"input_min" "2"
Line 3,855: Line 3,857:
"snd_surround_dialog_invert"
"snd_surround_dialog_invert"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "sub"
"apply" "sub"
"input1" "1.0"
"input1" "1.0"
Line 3,862: Line 3,864:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"


Line 3,879: Line 3,881:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 3,893: Line 3,895:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"match_channel" "true"
"match_channel" "true"
"match_entity" "true"
"match_entity" "true"
Line 3,903: Line 3,905:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
"source"  "entity"
"source"  "entity"
// "source"  "emitter"
// "source"  "emitter"
Line 3,911: Line 3,913:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 3,917: Line 3,919:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position" "@source_info.output_position"
"input_position" "@source_info.output_position"
// "input_trace_interval" "0.05"
// "input_trace_interval" "0.05"
Line 3,925: Line 3,927:
// "print_occlusion"
// "print_occlusion"
// {
// {
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@occlusion.output"
// "input" "@occlusion.output"
// }
// }
Line 3,931: Line 3,933:
// "remap_distance_occlusion"
// "remap_distance_occlusion"
// {
// {
// "operator" "math_remap_float"
// "operator" "{{sound operator|math_remap_float}}"
// "input" "@source_distance.output"
// "input" "@source_distance.output"
// "input_min" "1000.0"
// "input_min" "1000.0"
Line 3,941: Line 3,943:
// "distance_occlusion_invert"
// "distance_occlusion_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1.0"
// "input1" "1.0"
Line 3,948: Line 3,950:
// "occlusion_invert"
// "occlusion_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1.0"
// "input1" "1.0"
Line 3,960: Line 3,962:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "All"
"mixgroup" "All"
}
}
Line 3,966: Line 3,968:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
Line 3,972: Line 3,974:
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 3,981: Line 3,983:
{
{
"execute_once" "1"
"execute_once" "1"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 3,990: Line 3,992:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 4,000: Line 4,002:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,010: Line 4,012:
// "remap_distance_falloff"
// "remap_distance_falloff"
// {
// {
// "operator" "math_remap_float"
// "operator" "{{sound operator|math_remap_float}}"
// "input" "@source_distance.output"
// "input" "@source_distance.output"
// "input_min" "2500.0"
// "input_min" "2500.0"
Line 4,020: Line 4,022:
// "remap_distance_falloff_invert"
// "remap_distance_falloff_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1"
// "input1" "1"
Line 4,028: Line 4,030:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@source_info.output_volume"
"input1" "@source_info.output_volume"
Line 4,036: Line 4,038:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_occlusion.output"
"input1" "@volume_apply_occlusion.output"
Line 4,043: Line 4,045:
// "volume_apply_distance_falloff"
// "volume_apply_distance_falloff"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "mult"
// "apply" "mult"
// "input1" "@volume_apply_falloff.output"
// "input1" "@volume_apply_falloff.output"
Line 4,050: Line 4,052:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 4,057: Line 4,059:
// "volume_apply_distance_occlusion"
// "volume_apply_distance_occlusion"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "mult"
// "apply" "mult"
// "input1" "@mixer.output_volume"
// "input1" "@mixer.output_volume"
Line 4,064: Line 4,066:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 4,071: Line 4,073:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 4,081: Line 4,083:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 4,090: Line 4,092:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 4,096: Line 4,098:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 4,103: Line 4,105:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,109: Line 4,111:
"dsp_apply_distance"
"dsp_apply_distance"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 4,116: Line 4,118:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_distance.output"
"input_float" "@dsp_apply_distance.output"
"output" "dsp"
"output" "dsp"
Line 4,127: Line 4,129:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "300"
"input_radius"  "300"
"input_rear_stereo_scale" "1.0"
"input_rear_stereo_scale" "1.0"
Line 4,136: Line 4,138:
"speakers_apply_volume"
"speakers_apply_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 4,144: Line 4,146:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "max"
"apply"       "max"


Line 4,159: Line 4,161:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 4,172: Line 4,174:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"match_channel" "true"
"match_channel" "true"
"match_entity" "true"
"match_entity" "true"
Line 4,182: Line 4,184:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
"source"  "entity"
"source"  "entity"
// "source"  "emitter"
// "source"  "emitter"
Line 4,188: Line 4,190:
"position_array"
"position_array"
{
{
"operator" "util_pos_vec8"
"operator" "{{sound operator|util_pos_vec8}}"


"input_entry_count" "1"
"input_entry_count" "1"
Line 4,199: Line 4,201:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@position_array.output_position"
"input_position"  "@position_array.output_position"
}
}
Line 4,205: Line 4,207:
// "occlusion"
// "occlusion"
// {
// {
// "operator" "calc_occlusion"
// "operator" "{{sound operator|calc_occlusion}}"
// "input_position" "@position_array.output_position"
// "input_position" "@position_array.output_position"
// // "input_scalar" "0.5"
// // "input_scalar" "0.5"
Line 4,214: Line 4,216:
// "remap_distance_occlusion"
// "remap_distance_occlusion"
// {
// {
// "operator" "math_remap_float"
// "operator" "{{sound operator|math_remap_float}}"
// "input" "@source_distance.output"
// "input" "@source_distance.output"
// "input_min" "1000.0"
// "input_min" "1000.0"
Line 4,224: Line 4,226:
// "distance_occlusion_invert"
// "distance_occlusion_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1.0"
// "input1" "1.0"
Line 4,231: Line 4,233:
// "occlusion_invert"
// "occlusion_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1.0"
// "input1" "1.0"
Line 4,243: Line 4,245:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "caveVO"
"mixgroup" "caveVO"
}
}
Line 4,249: Line 4,251:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
Line 4,255: Line 4,257:
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 4,264: Line 4,266:
{
{
"execute_once" "1"
"execute_once" "1"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 4,273: Line 4,275:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 4,283: Line 4,285:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,293: Line 4,295:
// "remap_distance_falloff"
// "remap_distance_falloff"
// {
// {
// "operator" "math_remap_float"
// "operator" "{{sound operator|math_remap_float}}"
// "input" "@source_distance.output"
// "input" "@source_distance.output"
// "input_min" "2500.0"
// "input_min" "2500.0"
Line 4,303: Line 4,305:
// "remap_distance_falloff_invert"
// "remap_distance_falloff_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1"
// "input1" "1"
Line 4,311: Line 4,313:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@source_info.output_volume"
"input1" "@source_info.output_volume"
Line 4,319: Line 4,321:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_occlusion.output"
"input1" "@volume_apply_occlusion.output"
Line 4,326: Line 4,328:
// "volume_apply_distance_falloff"
// "volume_apply_distance_falloff"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "mult"
// "apply" "mult"
// "input1" "@volume_apply_falloff.output"
// "input1" "@volume_apply_falloff.output"
Line 4,333: Line 4,335:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 4,340: Line 4,342:
// "volume_apply_distance_occlusion"
// "volume_apply_distance_occlusion"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "mult"
// "apply" "mult"
// "input1" "@mixer.output_volume"
// "input1" "@mixer.output_volume"
Line 4,347: Line 4,349:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 4,354: Line 4,356:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 4,364: Line 4,366:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 4,373: Line 4,375:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 4,379: Line 4,381:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 4,386: Line 4,388:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,392: Line 4,394:
"dsp_apply_distance"
"dsp_apply_distance"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 4,399: Line 4,401:
"dsp_min"
"dsp_min"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "max"
"apply" "max"
"input1" "0.4"
"input1" "0.4"
Line 4,406: Line 4,408:
"dsp_max"
"dsp_max"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "min"
"apply" "min"
"input1" "0.6"
"input1" "0.6"
Line 4,413: Line 4,415:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_max.output"
"input_float" "@dsp_max.output"
"output" "dsp"
"output" "dsp"
Line 4,424: Line 4,426:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "60"
"input_radius"  "60"
"input_rear_stereo_scale" "1.0"
"input_rear_stereo_scale" "1.0"
Line 4,433: Line 4,435:
"speakers_apply_volume"
"speakers_apply_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 4,441: Line 4,443:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "max"
"apply"       "max"


Line 4,456: Line 4,458:
"speakers_multi_origin"
"speakers_multi_origin"
{
{
"operator"   "iterate_merge_speakers"
"operator" "{{sound operator|iterate_merge_speakers}}"


"input_max_iterations" "@position_array.output_max_index"
"input_max_iterations" "@position_array.output_max_index"
Line 4,472: Line 4,474:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_multi_origin.output"
"input_speakers" "@speakers_multi_origin.output"
"output" "speakers"
"output" "speakers"
Line 4,480: Line 4,482:
=== p2_update_dialog_spatial_cores ===
=== p2_update_dialog_spatial_cores ===


"import_stack" "update_dialog_spatial"
"import_stack" "[[#update_dialog_spatial|''update_dialog_spatial'']]"
"mixer"
"mixer"
{
{
Line 4,498: Line 4,500:
{
{
"execute_once" "true"
"execute_once" "true"
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"match_channel" "true"
"match_channel" "true"
"match_entity" "true"
"match_entity" "true"
Line 4,508: Line 4,510:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
"source"  "entity"
"source"  "entity"
// "source"  "emitter"
// "source"  "emitter"
Line 4,516: Line 4,518:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 4,522: Line 4,524:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position" "@source_info.output_position"
"input_position" "@source_info.output_position"
// "input_trace_interval" "0.05"
// "input_trace_interval" "0.05"
Line 4,530: Line 4,532:
// "print_occlusion"
// "print_occlusion"
// {
// {
// "operator" "util_print_float"
// "operator" "{{sound operator|util_print_float}}"
// "input" "@occlusion.output"
// "input" "@occlusion.output"
// }
// }
Line 4,536: Line 4,538:
// "remap_distance_occlusion"
// "remap_distance_occlusion"
// {
// {
// "operator" "math_remap_float"
// "operator" "{{sound operator|math_remap_float}}"
// "input" "@source_distance.output"
// "input" "@source_distance.output"
// "input_min" "1000.0"
// "input_min" "1000.0"
Line 4,546: Line 4,548:
// "distance_occlusion_invert"
// "distance_occlusion_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1.0"
// "input1" "1.0"
Line 4,553: Line 4,555:
// "occlusion_invert"
// "occlusion_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1.0"
// "input1" "1.0"
Line 4,565: Line 4,567:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "wheatleyVO"
"mixgroup" "wheatleyVO"
}
}
Line 4,571: Line 4,573:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
Line 4,577: Line 4,579:
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 4,586: Line 4,588:
{
{
"execute_once" "1"
"execute_once" "1"
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "1"
"input_float" "1"
"output" "mixlayer_trigger"
"output" "mixlayer_trigger"
Line 4,595: Line 4,597:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 4,605: Line 4,607:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,615: Line 4,617:
// "remap_distance_falloff"
// "remap_distance_falloff"
// {
// {
// "operator" "math_remap_float"
// "operator" "{{sound operator|math_remap_float}}"
// "input" "@source_distance.output"
// "input" "@source_distance.output"
// "input_min" "2500.0"
// "input_min" "2500.0"
Line 4,625: Line 4,627:
// "remap_distance_falloff_invert"
// "remap_distance_falloff_invert"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "sub"
// "apply" "sub"
// "input1" "1"
// "input1" "1"
Line 4,632: Line 4,634:
"volume_test_distance"
"volume_test_distance"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@source_distance.output"
"input1" "@source_distance.output"
Line 4,639: Line 4,641:
"volume_defeat_occlusion"
"volume_defeat_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "max"
"apply" "max"
"input1" "@volume_test_distance.output"
"input1" "@volume_test_distance.output"
Line 4,647: Line 4,649:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@source_info.output_volume"
"input1" "@source_info.output_volume"
Line 4,655: Line 4,657:
"remap_distance_falloff"
"remap_distance_falloff"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@source_distance.output"
"input" "@source_distance.output"
"input_min" "400"
"input_min" "400"
Line 4,665: Line 4,667:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_occlusion.output"
"input1" "@volume_apply_occlusion.output"
Line 4,672: Line 4,674:
"volume_apply_distance_falloff"
"volume_apply_distance_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_falloff.output"
"input1" "@volume_apply_falloff.output"
Line 4,679: Line 4,681:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 4,686: Line 4,688:
// "volume_apply_distance_occlusion"
// "volume_apply_distance_occlusion"
// {
// {
// "operator" "math_float"
// "operator" "{{sound operator|math_float}}"
// "apply" "mult"
// "apply" "mult"
// "input1" "@mixer.output_volume"
// "input1" "@mixer.output_volume"
Line 4,693: Line 4,695:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 4,700: Line 4,702:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 4,710: Line 4,712:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 4,719: Line 4,721:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 4,725: Line 4,727:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 4,732: Line 4,734:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,738: Line 4,740:
"dsp_apply_distance"
"dsp_apply_distance"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 4,745: Line 4,747:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_distance.output"
"input_float" "@dsp_apply_distance.output"
"output" "dsp"
"output" "dsp"
Line 4,757: Line 4,759:
// "execute_once" "true"
// "execute_once" "true"
// "input_execute" "1.0" //enable map checking here
// "input_execute" "1.0" //enable map checking here
"operator" "get_map_name"
"operator" "{{sound operator|get_map_name}}"
"map_name" "sp_a1_intro1" //your map name here
"map_name" "sp_a1_intro1" //your map name here
}
}
"radius_invert_test"
"radius_invert_test"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "less_than"
"apply" "less_than"
"input1" "@radius_get_sp_a1_intro1.output"
"input1" "@radius_get_sp_a1_intro1.output"
Line 4,770: Line 4,772:
"radius_remap_map_test1"
"radius_remap_map_test1"
{
{
"operator" "math_remap_float"
"operator" "{{sound operator|math_remap_float}}"
"input" "@radius_invert_test.output"
"input" "@radius_invert_test.output"
"input_min" "0"
"input_min" "0"
Line 4,781: Line 4,783:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "@radius_remap_map_test1.output"
"input_radius"  "@radius_remap_map_test1.output"
"input_rear_stereo_scale" "1.0"
"input_rear_stereo_scale" "1.0"
Line 4,790: Line 4,792:
"speakers_apply_volume"
"speakers_apply_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 4,798: Line 4,800:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "max"
"apply"       "max"


Line 4,813: Line 4,815:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 4,833: Line 4,835:
"source_info"
"source_info"
{
{
"operator" "get_source_info"
"operator" "{{sound operator|get_source_info}}"
// "source"  "entity"
// "source"  "entity"
"source"  "emitter"
"source"  "emitter"
Line 4,841: Line 4,843:
"source_distance"
"source_distance"
{
{
"operator" "calc_source_distance"
"operator" "{{sound operator|calc_source_distance}}"
"input_position"  "@source_info.output_position"
"input_position"  "@source_info.output_position"
}
}
Line 4,849: Line 4,851:
"mixer"
"mixer"
{
{
"operator" "get_soundmixer"
"operator" "{{sound operator|get_soundmixer}}"
"mixgroup" "TEST"
"mixgroup" "TEST"
}
}
Line 4,856: Line 4,858:
"occlusion"
"occlusion"
{
{
"operator" "calc_occlusion"
"operator" "{{sound operator|calc_occlusion}}"
"input_position" "@source_info.output_position"
"input_position" "@source_info.output_position"
}
}
Line 4,863: Line 4,865:
"facing"
"facing"
{
{
"operator" "calc_angles_facing"
"operator" "{{sound operator|calc_angles_facing}}"
// "input_angles" "@source_info.output_angles"
// "input_angles" "@source_info.output_angles"
"input_angles[0]" "0"
"input_angles[0]" "0"
Line 4,872: Line 4,874:
"facing_output"
"facing_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@facing.output"
"input_float" "@facing.output"
"output" "facing"
"output" "facing"
Line 4,878: Line 4,880:
"snd_gain_convar"
"snd_gain_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_gain"
"convar" "snd_gain"
}
}
Line 4,884: Line 4,886:
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 4,892: Line 4,894:
"level_apply_mixer"
"level_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_level"
"input1" "@mixer.output_level"
Line 4,902: Line 4,904:
"volume_falloff"
"volume_falloff"
{
{
"operator" "calc_falloff"
"operator" "{{sound operator|calc_falloff}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,908: Line 4,910:
"volume_apply_falloff"
"volume_apply_falloff"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@source_info.output_volume"
"input1" "@source_info.output_volume"
Line 4,916: Line 4,918:
"volume_apply_mixer"
"volume_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_volume"
"input1" "@mixer.output_volume"
Line 4,923: Line 4,925:
"volume_apply_snd_gain_convar"
"volume_apply_snd_gain_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@snd_gain_convar.output"
"input1" "@snd_gain_convar.output"
Line 4,930: Line 4,932:
"volume_apply_test_convar"
"volume_apply_test_convar"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "1.0"
"input1" "1.0"
Line 4,938: Line 4,940:
"volume_apply_facing"
"volume_apply_facing"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@facing.output"
"input1" "@facing.output"
Line 4,946: Line 4,948:
"volume_apply_occlusion"
"volume_apply_occlusion"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@volume_apply_facing.output"
"input1" "@volume_apply_facing.output"
Line 4,956: Line 4,958:
"pitch_output"
"pitch_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"output"  "pitch"
"output"  "pitch"
"input_float" "@source_info.output_pitch"
"input_float" "@source_info.output_pitch"
Line 4,965: Line 4,967:
"dsp_emitter"
"dsp_emitter"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "set"
"apply"       "set"
"input1" "1.0"
"input1" "1.0"
Line 4,971: Line 4,973:
"dsp_apply_mixer"
"dsp_apply_mixer"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply" "mult"
"apply" "mult"
"input1" "@mixer.output_dsp"
"input1" "@mixer.output_dsp"
Line 4,978: Line 4,980:
"dsp_distantDSP"
"dsp_distantDSP"
{
{
"operator" "calc_distant_dsp"
"operator" "{{sound operator|calc_distant_dsp}}"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
"input_level"   "@level_apply_mixer.output"
"input_level"   "@level_apply_mixer.output"
Line 4,984: Line 4,986:
"dsp_apply_distant"
"dsp_apply_distant"
{
{
"operator" "math_float"
"operator" "{{sound operator|math_float}}"
"apply"       "mult"
"apply"       "mult"
"input1" "@dsp_distantDSP.output"
"input1" "@dsp_distantDSP.output"
Line 4,991: Line 4,993:
"dsp_output"
"dsp_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_float" "@dsp_apply_distant.output"
"input_float" "@dsp_apply_distant.output"
"output" "speakers"
"output" "speakers"
Line 5,002: Line 5,004:
"speakers_spatialize"
"speakers_spatialize"
{
{
"operator" "calc_spatialize_speakers"
"operator" "{{sound operator|calc_spatialize_speakers}}"
"input_radius"  "300"
"input_radius"  "300"
"input_distance"  "@source_distance.output"
"input_distance"  "@source_distance.output"
Line 5,010: Line 5,012:
"speakers_volume"
"speakers_volume"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"input1"      "@speakers_spatialize.output"
"input1"      "@speakers_spatialize.output"
Line 5,019: Line 5,021:
"speakers_limit"
"speakers_limit"
{
{
"operator"     "math_speakers"
"operator" "{{sound operator|math_speakers}}"
"apply"       "mult"
"apply"       "mult"
"left_front"  "1.0"
"left_front"  "1.0"
Line 5,034: Line 5,036:
"speakers_output"
"speakers_output"
{
{
"operator" "sys_output"
"operator" "{{sound operator|sys_output}}"
"input_speakers" "@speakers_limit.output"
"input_speakers" "@speakers_limit.output"
"output" "speakers"
"output" "speakers"
Line 5,048: Line 5,050:
"play_entry"
"play_entry"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "1"
"input_execute" "1"
Line 5,060: Line 5,062:
"snd_op_test_convar"
"snd_op_test_convar"
{
{
"operator" "get_convar"
"operator" "{{sound operator|get_convar}}"
"convar" "snd_op_test_convar"
"convar" "snd_op_test_convar"
}
}
Line 5,069: Line 5,071:
"play_entry"
"play_entry"
{
{
"operator" "sys_start_entry"
"operator" "{{sound operator|sys_start_entry}}"
"execute_once" "true"
"execute_once" "true"
"input_execute" "1"
"input_execute" "1"
Line 5,082: Line 5,084:
"stop_child"
"stop_child"
{
{
"operator" "sys_stop_entries"
"operator" "{{sound operator|sys_stop_entries}}"
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"input_max_entries" "0.000000" //A sound will not stop itself from playing.
"match_substring" "false"
"match_substring" "false"
Line 5,102: Line 5,104:
"set_mixlayer_vol_wheatley"
"set_mixlayer_vol_wheatley"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "wheatleyVO"
"mixgroup" "wheatleyVO"
Line 5,110: Line 5,112:
"set_mixlayer_vol_announcer"
"set_mixlayer_vol_announcer"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "announcerVO"
"mixgroup" "announcerVO"
Line 5,118: Line 5,120:
"set_mixlayer_vol_cave"
"set_mixlayer_vol_cave"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "caveVO"
"mixgroup" "caveVO"
Line 5,130: Line 5,132:
"set_mixlayer_mute_wheatley"
"set_mixlayer_mute_wheatley"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "wheatleyVO"
"mixgroup" "wheatleyVO"
Line 5,138: Line 5,140:
"set_mixlayer_mute_announcer"
"set_mixlayer_mute_announcer"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "announcerVO"
"mixgroup" "announcerVO"
Line 5,146: Line 5,148:
"set_mixlayer_mute_cave"
"set_mixlayer_mute_cave"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "gladosVOLayer"
"mixlayer" "gladosVOLayer"
"mixgroup" "caveVO"
"mixgroup" "caveVO"
Line 5,158: Line 5,160:
"set_mixlayer_vol_glados"
"set_mixlayer_vol_glados"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "wheatleyVOLayer"
"mixlayer" "wheatleyVOLayer"
"mixgroup" "gladosVO"
"mixgroup" "gladosVO"
Line 5,166: Line 5,168:
"set_mixlayer_vol_announcer"
"set_mixlayer_vol_announcer"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "wheatleyVOLayer"
"mixlayer" "wheatleyVOLayer"
"mixgroup" "announcerVO"
"mixgroup" "announcerVO"
Line 5,178: Line 5,180:
"set_mixlayer_vol_glados"
"set_mixlayer_vol_glados"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "announcerVOLayer"
"mixlayer" "announcerVOLayer"
"mixgroup" "gladosVO"
"mixgroup" "gladosVO"
Line 5,186: Line 5,188:
"set_mixlayer_vol_wheatley"
"set_mixlayer_vol_wheatley"
{
{
"operator" "sys_mixlayer"
"operator" "{{sound operator|sys_mixlayer}}"
"mixlayer" "announcerVOLayer"
"mixlayer" "announcerVOLayer"
"mixgroup" "wheatleyVO"
"mixgroup" "wheatleyVO"

Latest revision as of 21:41, 30 November 2025

The following is the content of the file 🖿portal2\scripts\sound_operator_stacks.txt as seen in Portal 2 Portal 2 when it was last modified on 2020-08-10. The syntax of the file has been simplified for this page, omitting some indentation.

The purpose of this page is to have a reference to the predefined operator stacks from Portal 2, to be able to navigate between them and/or the operator documentation, or even to copy-paste (parts of) these stacks without having to download the game and look up the file. The sections should make it easy to link to a specific one. All occurrences of "operator" "<sound_operator>" and "import_stack" "<operator_stack>" link to the appropriate target.

Tip.pngTip:Wiki editors: Use the templates {{operator stack|<name>|portal2}} and {{sound operator|<name>}} to link to operator stacks and sound operators.

start_stacks

start_default

"stop_entries" { "operator" "sys_stop_entries" }

start_test_random

"random_float" { "operator" "math_random" "input_min" "0.0" "input_max" "1.0" }


start_test

// "get_elapsed" // { // "operator" "get_entry_time" // }

// "play_entry" // { // "operator" "sys_start_entry" // "input_start" "1" // "entry_name" "xray.beep" // } "stop_entries" { "operator" "sys_stop_entries" } "block_entries" { "operator" "sys_block_entries" "input_active" "1.0" "input_duration" "2.0" "match_substring" "false" "match_entry" "xray.beep" // "match_sound" "npc\dog\dog_idlemode_loop1.wav" "match_channel" "false" "match_entity" "false" } "delay_output" { "operator" "sys_output" "input_float" "0.0" "output" "delay" }

start_global_bpm_quantize

"sys_time" { "operator" "get_sys_time" } "bpm" { "operator" "math_float" "apply" "div" "input1" "60" "input2" "120" } "beats" { "operator" "math_float" "apply" "mult" "input1" "@bpm.output" "input2" "1" } "time_mod" { "operator" "math_float" "apply" "mod" "input1" "@sys_time.output_client_time" "input2" "@beats.output" } "negative_delay" { "operator" "math_float" "apply" "mult" "input1" "@time_mod.output" "input2" "-1.0" } "delay_output" { "operator" "sys_output" "input_float" "@negative_delay.output" "output" "delay" }

start_sync_to_entry

"elapsed_time" { "operator" "get_entry_time" } "duration_div" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time.output_sound_duration" "input2" "4" } "time_mod" { "operator" "math_float" "apply" "mod" "input1" "@elapsed_time.output_sound_elapsed" "input2" "@duration_div.output" } "div_mult" { "operator" "math_float" "apply" "mult" "input1" "0.0" "input2" "@duration_div.output" } "add_offset" { "operator" "math_float" "apply" "add" "input1" "@time_mod.output" "input2" "@div_mult.output" } "negative_delay" { "operator" "math_float" "apply" "mult" "input1" "@add_offset.output" "input2" "-1.0" } "delay_output" { "operator" "sys_output" "input_float" "@negative_delay.output" "output" "delay" }

start_delay_sync_to_entry

"import_stack" "start_sync_to_entry" "negative_delay" { "apply" "sub" "input1" "@duration_div.output" "input2" "@time_mod.output" }


P2_coop_robot_start

"stop_footsteps" { "operator" "sys_stop_entries" "input_max_entries" "0.000000" //A sound will not stop itself from playing. "match_entity" "false" "match_substring" "true" }


P2_portalgun_start

"stop_gun" { "operator" "sys_stop_entries" "input_max_entries" "0.000000" //A sound will not stop itself from playing. "match_entity" "false" "match_substring" "true" }


P2_poly_limiting_start

//Generic poly limiter. Override values to make usable.

"limit_sound" { "operator" "sys_stop_entries" "input_max_entries" "0.000000" //A sound will not stop itself from playing. "match_entity" "false" "match_substring" "true" "match_entry" "NONE" }

"limit_robot_sounds" { "operator" "sys_stop_entries" "input_max_entries" "23.000000" //A sound will not stop itself from playing. "match_entity" "false" "match_substring" "true" "match_entry" "Robot" }

//Console hacks begin here.


"sys_get_platform" //should be for X360/PS3, only use PC for testing. { "operator" "sys_platform" //"pc" "true" //IF THIS IS UNCOMMENTED CHANGE IT!!! SERIOUSLY!!! "x360" "true" "ps3" "true" }

"limit_robot_sounds_ps3" { "operator" "sys_stop_entries" "input_execute" "@sys_get_platform.output" "input_max_entries" "9.000000" //I hate myself. "match_entity" "false" "match_substring" "true" "match_entry" "Robot" }

"ps3_num_voices_compare" { "operator" "math_float" "apply" "greater_than_or_equal" "input1" "@limit_robot_sounds_ps3.output_entries_matching" // This is the percentage chance to play a null "input2" "10.0" //match the max number of played sounds ( = input_max_entries + 1 ) }

"block_robot_entries_ps3" //helps with disc I/O: Blocks sound requests of robots once a max number of robots exist { "operator" "sys_block_entries" //"input_execute" "0.0" "input_execute" "@ps3_num_voices_compare.output" "input_active" "1.0" "input_duration" "0.25" //in seconds, you can use "@get_random.output" for a random blocking period "match_substring" "true" "match_entry" "Robot" //The sound entry to use "match_channel" "false" "match_entity" "false" }

"limit_sound_ps3" { "operator" "sys_stop_entries" "input_execute" "0.0" //"input_execute" "@sys_get_platform.output" "input_max_entries" "0.000000" //A sound will not stop itself from playing. "match_entity" "false" "match_substring" "true" "match_entry" "NONE" }

"block_entries_ps3" { "operator" "sys_block_entries" "input_execute" "0.0" //"input_execute" "@sys_get_platform.output" "input_active" "1.0" "input_duration" "5.0" //in seconds, you can use "@get_random.output" for a random blocking period "match_substring" "false" "match_entry" "NONE" //The sound entry to use "match_channel" "false" "match_entity" "false" }


P2_exclusion_time_blocker_start

//Generic exclusion time. Override values to make usable.

"get_random" { "operator" "math_random" "input_execute" "0.0" "input_min" "0.0" "input_max" "1.0" }

"block_entries" { "operator" "sys_block_entries" "input_active" "1.0" "input_duration" "0.1" //in seconds, you can use "@get_random.output" for a random blocking period "match_substring" "false" "match_entry" "NONE" //The sound entry to use // "match_sound" "npc\dog\dog_idlemode_loop1.wav" "match_channel" "false" "match_entity" "false" }


P2_exclusion_time_and_poly_limiting_start

//Combines exclusion time and poly limiting

"import_stack" "P2_exclusion_time_blocker_start" "import_stack" "P2_poly_limiting_start"


P2_null_start

//replaces null.wav

"get_random_null" { "operator" "math_random" "input_execute" "0.0" "input_min" "0.0" "input_max" "1.0" }

"percent_null" { "operator" "math_float" "apply" "greater_than" "input1" "0.60" // This is the percentage chance to play a null "input2" "@get_random_null.output" }

"block_start" { "input_execute" "1.0" //"input_execute" "@percent_null.output" "operator" "sys_output" "input_float" "1" "output" "block_start" }


P2_null_player_start

//Play an entry other than the called one!

"play_entry" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "1.0" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }

"block_start" { "input_execute" "1.0" "operator" "sys_output" "input_float" "1" "output" "block_start" }



//////////////////////////////////////////////////////////////////////////////////////////// // // dialog start stacks // ////////////////////////////////////////////////////////////////////////////////////////////

P2_glados_start

// default start stack for glados v.o.

"set_mixlayer_vol_wheatley" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "wheatleyVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_announcer" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "announcerVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_cave" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "caveVO" "field" "volume" "input" "1.0" }

P2_glados_start_mute

// default start stack for glados v.o.

"set_mixlayer_mute_wheatley" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "wheatleyVO" "field" "mute" "input" "0.0" } "set_mixlayer_mute_announcer" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "announcerVO" "field" "mute" "input" "0.0" } "set_mixlayer_mute_cave" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "caveVO" "field" "mute" "input" "0.0" }

P2_wheatley_start

// default start stack for wheatley v.o.

"set_mixlayer_vol_glados" { "operator" "sys_mixlayer" "mixlayer" "wheatleyVOLayer" "mixgroup" "gladosVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_announcer" { "operator" "sys_mixlayer" "mixlayer" "wheatleyVOLayer" "mixgroup" "announcerVO" "field" "volume" "input" "1.0" }

P2_announcer_start

// default start stack for announcer v.o.

"set_mixlayer_vol_glados" { "operator" "sys_mixlayer" "mixlayer" "announcerVOLayer" "mixgroup" "gladosVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_wheatley" { "operator" "sys_mixlayer" "mixlayer" "announcerVOLayer" "mixgroup" "wheatleyVO" "field" "volume" "input" "1.0" }




//////////////////////////////////////////////////////////////////////////////////////////// // // update stacks // ////////////////////////////////////////////////////////////////////////////////////////////

update_stacks

//////////////////////////////////////////////////////////////////////////////////////////// // // TEST STACKS // ////////////////////////////////////////////////////////////////////////////////////////////

update_test1

"test1_value1" { "operator" "math_float" "apply" "add" "input1" "8" "input2" "9" } "test1_value1" { "operator" "math_float" "apply" "mult" "input1" "0" "input2" "1" } "test1_value2" { "operator" "math_float" "apply" "add" "input1" "@test1_value1.output" "input2" "1" }

update_test2

"test2_value1" { "operator" "math_float" "apply" "mult" "input1" "8" "input2" "9" } "test2_value1" { "apply" "add" "input1" "6" "input2" "7" } "test2_value2" { "operator" "math_float" "apply" "add" "input1" "@test2_value1.output" "input2" "1" }

update_test3

"import_stack" "update_test1" "import_stack" "update_test2" "test2_value1" { "apply" "add" "input1" "2" "input2" "3" }

update_test4

"elapsed_time" { "operator" "get_entry_time" } "duration_div" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time.output_sound_duration" "input2" "4" } "time_div" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time.output_sound_elapsed" "input2" "@duration_div.output" } "time_mod" { "operator" "math_float" "apply" "mod" "input1" "@time_div.output" "input2" "1" } "time_step" { "operator" "math_float" "apply" "sub" "input1" "@time_div.output" "input2" "@time_mod.output" } "step_delta" { "operator" "math_delta" "input" "@time_step.output" } "delta_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@step_delta.output" "input2" "0.1" }

"play_entry" { "operator" "sys_start_entry" "input_start" "@delta_trigger.output" "entry_name" "xray.beep" }

"speaker_volume" { "operator" "math_float" "apply" "mult" "input1" "1" "input2" "1" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult" "left_front" "1.0" "right_front" "1.0" "center" "0.0" "lfe" "0.0" "left_rear" "0.0" "right_rear" "0.0"

"input2[*]" "@speaker_volume.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" }


update_remap_tests

"remap_norm" { "execute_once" "true" "operator" "math_remap_float" "input" ".7" "input_min" "0" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_norm_rev1" { "execute_once" "true" "operator" "math_remap_float" "input" ".7" "input_min" "1" "input_max" "0" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_norm_rev2" { "execute_once" "true" "operator" "math_remap_float" "input" ".7" "input_min" "0" "input_max" "1" "input_map_min" "1.0" "input_map_max" "0.0" } "remap_norm_rev3" { "execute_once" "true" "operator" "math_remap_float" "input" ".7" "input_min" "1" "input_max" "0" "input_map_min" "1.0" "input_map_max" "0.0" } "remap_less_than_min" { "execute_once" "true" "operator" "math_remap_float" "input" "-1" "input_min" "0" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_greater_than_max" { "execute_once" "true" "operator" "math_remap_float" "input" "2" "input_min" "0" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_less_than_min_clamp" { "execute_once" "true" "operator" "math_remap_float" "input" "-1" "input_min" "0" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" "clamp_range" "true" } "remap_greater_than_max_clamp" { "execute_once" "true" "operator" "math_remap_float" "input" "2" "input_min" "0" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" "clamp_range" "true" }

"remap_equal_equal_min_max" { "execute_once" "true" "operator" "math_remap_float" "input" "1" "input_min" "1" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_equal_equal_min_max_default_min" { "execute_once" "true" "operator" "math_remap_float" "input" "1" "input_min" "1" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" }

"remap_less_than_equal_min_max" { "execute_once" "true" "operator" "math_remap_float" "input" ".5" "input_min" "1" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_greater_than_equal_min_max" { "execute_once" "true" "operator" "math_remap_float" "input" "1.5" "input_min" "1" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_greater_than_range" { "execute_once" "true" "operator" "math_remap_float" "input" "1.5" "input_min" "0" "input_max" "1" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_less_than_range" { "execute_once" "true" "operator" "math_remap_float" "input" "0.5" "input_min" "1.0" "input_max" "2.0" "input_map_min" "0.0" "input_map_max" "1.0" }

"remap_norm_rev" { "execute_once" "true" "operator" "math_remap_float" "input" ".7" "input_min" "1" "input_max" "0" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_less_than_min_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "-1" "input_min" "1" "input_max" "0" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_greater_than_max_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "2" "input_min" "1" "input_max" "0" "input_map_min" "0.0" "input_map_max" "1.0" } "remap_less_than_min_clamp_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "-1" "input_min" "1" "input_max" "0" "input_map_min" "0.0" "input_map_max" "1.0" "clamp_range" "true" } "remap_greater_than_max_clamp_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "2" "input_min" "1" "input_max" "0" "input_map_min" "0.0" "input_map_max" "1.0" "clamp_range" "true" }

"big_remap_norm" { "execute_once" "true" "operator" "math_remap_float" "input" "70" "input_min" "0" "input_max" "100" "input_map_min" "0.0" "input_map_max" "100.0" } "big_remap_less_than_min" { "execute_once" "true" "operator" "math_remap_float" "input" "-1" "input_min" "0" "input_max" "100" "input_map_min" "0.0" "input_map_max" "100.0" } "big_remap_greater_than_max" { "execute_once" "true" "operator" "math_remap_float" "input" "200" "input_min" "0" "input_max" "100" "input_map_min" "0.0" "input_map_max" "100.0" } "big_remap_less_than_min_clamp" { "execute_once" "true" "operator" "math_remap_float" "input" "-1" "input_min" "0" "input_max" "100" "input_map_min" "0.0" "input_map_max" "100.0" "clamp_range" "true" } "big_remap_greater_than_max_clamp" { "execute_once" "true" "operator" "math_remap_float" "input" "200" "input_min" "0" "input_max" "100" "input_map_min" "0.0" "input_map_max" "100.0" "clamp_range" "true" }

"big_remap_greater_than_range" { "execute_once" "true" "operator" "math_remap_float" "input" "150" "input_min" "0" "input_max" "100" "input_map_min" "0.0" "input_map_max" "100.0" } "big_remap_less_than_range" { "execute_once" "true" "operator" "math_remap_float" "input" "50" "input_min" "100.0" "input_max" "200.0" "input_map_min" "0.0" "input_map_max" "100.0" }

"big_remap_norm_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "70" "input_min" "100" "input_max" "0" "input_map_min" "0.0" "input_map_max" "100.0" } "big_remap_less_than_min_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "-100" "input_min" "100" "input_max" "0" "input_map_min" "0.0" "input_map_max" "100.0" } "big_remap_greater_than_max_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "200" "input_min" "100" "input_max" "0" "input_map_min" "0.0" "input_map_max" "100.0" } "big_remap_less_than_min_clamp_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "-100" "input_min" "100" "input_max" "0" "input_map_min" "0.0" "input_map_max" "100.0" "clamp_range" "true" } "big_remap_greater_than_max_clamp_rev" { "execute_once" "true" "operator" "math_remap_float" "input" "200" "input_min" "100" "input_max" "0" "input_map_min" "0.0" "input_map_max" "100.0" "clamp_range" "true" }



update_remap_test

////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

// NOTE: uses player data, ie: SS // SS Self-contained, returns closest distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

"remap_distance" { "operator" "math_remap_float" "input" "@source_distance.output" "input_min" "300" "input_max" "1000" "input_map_min" "0.80" "input_map_max" "1.2" } "invert_remap" { "operator" "math_float" // "apply" "sub" "apply" "mult" "input1" "1.0" "input2" "@remap_distance.output" }

"pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@remap_distance.output" }


///////////////////// // SPEAKERS

"speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@invert_remap.output" // "input2[*]" "@facing.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_volume.output" "output" "speakers" }


update_stop_at_time

"usat_elapsed_time" { "operator" "get_entry_time" }

"usat_stop_time" { "operator" "math_float" "apply" "greater_than" "input1" "@usat_elapsed_time.output_entry_elapsed" "input2" "1.0" } "usat_stop_entry" { "input_execute" "@usat_stop_time.output" "operator" "sys_stop_entries" "stop_this_entry" "true" }


update_trigger_layer_til_time

"utltt_elapsed_time" { "operator" "get_entry_time" }

"utltt_trigger_time" { "operator" "math_float" "apply" "less_than" "input1" "@utltt_elapsed_time.output_sound_elapsed" "input2" "1.0" } "utltt_output_mixlayer_trigger" { "operator" "sys_output" "input_float" "@utltt_trigger_time.output" "output" "mixlayer_trigger" }


update_stop_at_distance

// this will use the standard "source_distance" operator exists "usad_stop_dist" { "operator" "math_float" "apply" "greater_than" "input1" "0.0" "input2" "1.0" } "usad_stop_entry" { "operator" "sys_stop_entries" "input_execute" "@usad_stop_dist.output" "stop_this_entry" "true" }


//////////////////////////////////////////////////////////////////////////////////////////// // // TRIGGER STACKS // ////////////////////////////////////////////////////////////////////////////////////////////

update_music_div_trigger

"elapsed_time_div" { "operator" "get_entry_time" } "duration_div" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time_div.output_sound_duration" "input2" "4" } "time_div" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time_div.output_sound_elapsed" "input2" "@duration_div.output" } "time_mod" { "operator" "math_float" "apply" "mod" "input1" "@time_div.output" "input2" "1" } "time_step" { "operator" "math_float" "apply" "sub" "input1" "@time_div.output" "input2" "@time_mod.output" } "step_delta" { "operator" "math_delta" "input" "@time_step.output" } "delta_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@step_delta.output" "input2" "0.1" }

"play_entry" { "operator" "sys_start_entry" "input_start" "@delta_trigger.output" "entry_name" "xray.beep" }


update_looping_triggers

"elapsed_time_div" { "operator" "get_entry_time" } ///////////// x1 "duration_div_x1" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time_div.output_sound_duration" "input2" "4" } "time_div_x1" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time_div.output_entry_elapsed" "input2" "@duration_div_x1.output" } "time_mod_x1" { "operator" "math_float" "apply" "mod" "input1" "@time_div_x1.output" "input2" "1" } "time_step_x1" { "operator" "math_float" "apply" "sub" "input1" "@time_div_x1.output" "input2" "@time_mod_x1.output" } "step_delta_x1" { "operator" "math_delta" "input" "@time_step_x1.output" } "delta_trigger_x1" { "operator" "math_float" "apply" "greater_than" "input1" "@step_delta_x1.output" "input2" "0.1" }

"play_entry_x1" { "operator" "sys_start_entry" "input_start" "@delta_trigger_x1.output" "entry_name" "xray.beep" }

///////////// x2 "duration_div_x2" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time_div.output_sound_duration" "input2" "4" } "time_div_x2" { "operator" "math_float" "apply" "div" "input1" "@elapsed_time_div.output_entry_elapsed" "input2" "@duration_div_x2.output" } "time_mod_x2" { "operator" "math_float" "apply" "mod" "input1" "@time_div_x2.output" "input2" "1" } "time_step_x2" { "operator" "math_float" "apply" "sub" "input1" "@time_div_x2.output" "input2" "@time_mod_x2.output" } "step_delta_x2" { "operator" "math_delta" "input" "@time_step_x2.output" } "delta_trigger_x2" { "operator" "math_float" "apply" "greater_than" "input1" "@step_delta_x2.output" "input2" "0.1" }

"play_entry_x2" { "operator" "sys_start_entry" "input_start" "@delta_trigger_x2.output" "entry_name" "xray.beep" }


//////////////////////////////////////////////////////////////////////////////////////////// // // MUSIC STACKS // ////////////////////////////////////////////////////////////////////////////////////////////

update_music_stereo

"save_restore_output" { "operator" "sys_output" "execute_once" "true" "input_float" "1.0" "output" "save_restore" } "elapsed_time" { "operator" "get_entry_time" } "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" } "mixer" { "operator" "get_soundmixer" "mixgroup" "Music" } "snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" } "snd_musicvolume_convar" { "operator" "get_convar" "convar" "snd_musicvolume" } "dashboard" { "operator" "get_dashboard" } "convar_total" { "operator" "math_float" "apply" "mult" "input1" "@snd_musicvolume_convar.output" "input2" "@snd_gain_convar.output" } "dashboard_total" { "operator" "math_float" "apply" "mult" "input1" "@convar_total.output" "input2" "@dashboard.output" } "volume_fade_in" { "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "true" } "volume_fade_initial" { "input_execute" "0" "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_initial" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_initial.output" } "volume_lfo_time_scale" { "operator" "math_float" "apply" "mult" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.0" } "volume_lfo" { "operator" "math_func1" "function" "cos" "normalize_trig" "true" "input1" "@volume_lfo_time_scale.output" } "volume_lfo_scale" { "operator" "math_float" "apply" "invert_scale" "input1" "@volume_lfo.output" "input2" "0.0" }

"volume_fade_out" { "operator" "math_remap_float" "input" "@elapsed_time.output_stop_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_fadeout" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_out.output" } "volume_apply_fade_in" { "operator" "math_float" "apply" "mult" "input1" "@volume_fade_in.output" "input2" "@dashboard_total.output" } "volume_apply_fade_initial" { "operator" "math_float" "apply" "mult" "input1" "@volume_invert_initial.output" "input2" "@volume_apply_fade_in.output" } "volume_apply_lfo" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_initial.output" "input2" "@volume_lfo_scale.output" } "volume_apply_fade_out" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_lfo.output" "input2" "@volume_invert_fadeout.output" } "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_fade_out.output" } "volume_apply_adjust" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_mixer.output" } "speaker_volume" { "operator" "math_float" "apply" "mult" "input1" "@source_info.output_volume" "input2" "@volume_apply_adjust.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult" "left_front" "1.0" "right_front" "1.0" "center" "0.0" "lfe" "0.0" "left_rear" "0.8" "right_rear" "0.8"

"input2[*]" "@speaker_volume.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" } "output_mixlayer_trigger" { "operator" "sys_output" "input_float" "1" "output" "mixlayer_trigger" } "stoptime_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@volume_invert_fadeout.output" "input2" "0.0" } "stop_hold_output" { "operator" "sys_output" "output" "stop_hold" "input_float" "@stoptime_elapsed_trigger.output" }


update_music_spatial

"save_restore_output" { "operator" "sys_output" "execute_once" "true" "input_float" "1.0" "output" "save_restore" }

////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

"elapsed_time" { "operator" "get_entry_time" }

"position_array" { "operator" "util_pos_vec8"

"input_entry_count" "1" "input_index" "0" "input_position_0" "@source_info.output_position"

}

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@position_array.output_position" }

//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "Music" }

// NOTE: uses player data, ie: SS, return least occluded value "occlusion" { "operator" "calc_occlusion" "input_position" "@position_array.output_position" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" } "snd_musicvolume_convar" { "operator" "get_convar" "convar" "snd_musicvolume" }

"dashboard" { "operator" "get_dashboard" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME

// NOTE: distance has precalculated minimum distance of the ss players

"volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" }

"volume_fade_in" { "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "@source_info.output_volume" }

"volume_clamp_fade_in" { "operator" "math_float" "apply" "min" "input1" "@volume_fade_in.output" "input2" "1.0" } "volume_fade_initial" { "input_execute" "0" "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_initial" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_initial.output" } "volume_apply_fade_initial" { "operator" "math_float" "apply" "mult" "input1" "@volume_invert_initial.output" "input2" "@volume_clamp_fade_in.output" }

"volume_fade_out" { "operator" "math_remap_float" "input" "@elapsed_time.output_stop_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_fadeout" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_out.output" }

"volume_apply_fade_out" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_initial.output" "input2" "@volume_invert_fadeout.output" }

"volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_out.output" "input2" "@volume_falloff.output" }

"volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" }

"volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" }

"volume_apply_musicvolume_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_musicvolume_convar.output" "input2" "@volume_apply_snd_gain_convar.output" }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_musicvolume_convar.output" "input2" "@occlusion.output" }

"volume_apply_dashboard" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_occlusion.output" "input2" "@dashboard.output" }


// set dsp just to be sure "dsp_output" { "operator" "sys_output" // "input_float" "@dsp_apply_distant.output" "input_float" "0" "output" "dsp" }

///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_rear_stereo_scale" "1.0" "input_radius" "300" "input_distance" "@source_distance.output" "input_position" "@position_array.output_position" }

"speakers_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_dashboard.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult"

"left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0"

"input2" "@speakers_volume.output"

}

"speakers_multi_origin" { "operator" "iterate_merge_speakers"

"input_max_iterations" "@position_array.output_max_index" "iterate_operator" "position_array" "input" "@speakers_limit.output"

} // connecting output after operator has been created "position_array" { "input_index" "@speakers_multi_origin.output_index" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_multi_origin.output" "output" "speakers" }

// stop deletion until after fadeout "stoptime_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@volume_invert_fadeout.output" "input2" "0.0" } "stop_hold_output" { "operator" "sys_output" "output" "stop_hold" "input_float" "@stoptime_elapsed_trigger.output" }



update_music_spatial_stop_dist

"import_stack" "update_music_spatial"

"import_stack" "update_stop_at_distance" "usad_stop_dist" { "input1" "@source_distance.output" "input2" "1.0" // distance beyond which to stop }


update_music_spatial_looping_triggers

"import_stack" "update_music_spatial" "import_stack" "update_looping_triggers"


update_music_stereo_trigger

"import_stack" "update_music_stereo" "import_stack" "update_music_div_trigger"


p2_update_music_play_tbeam

"tb_mixer" { "operator" "get_soundmixer" "mixgroup" "testTBin" } // "print_tb_mixer" // { // "operator" "util_print_float" // "input" "@tb_mixer.output_volume" // } "tb_delta" { "operator" "math_delta" "input" "@tb_mixer.output_volume" } "tb_mixer_zero" { "operator" "math_float" "apply" "less_than_or_equal" "input1" "@tb_mixer.output_volume" "input2" "0.0" } "tb_start_trigger" { "operator" "math_float" "apply" "less_than" "input1" "@tb_delta.output" "input2" "0.0" } "tb_start_trigger_test" { "operator" "math_float" "apply" "min" "input1" "@tb_start_trigger.output" "input2" "@tb_mixer_zero.output" } // "print_tb_delta" // { // "operator" "util_print_float" // "input" "@tb_delta.output" // }

// "print_start_trigger" // { // "input_execute" "@tb_start_trigger.output" // "operator" "util_print_float" // "input" "@tb_start_trigger_test.output" // } "tb_stop_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@tb_mixer.output_volume" "input2" "0.0" }

"play_entry" { "execute_once" "false" "operator" "sys_start_entry" "input_start" "1" "input_execute" "@tb_start_trigger_test.output" "entry_name" "Default.Null" } "stop_entry" { "input_execute" "@tb_stop_trigger.output" "operator" "sys_stop_entries" "input_max_entries" "0.000000" "match_entity" "false" "match_substring" "false" "match_entry" "Default.Null" }


p2_update_music_play_gel

"gel_elapsed_time" { "operator" "get_entry_time" }

"bounce_view_info" { "operator" "game_view_info" } "gel_mixer" { "operator" "get_soundmixer" "mixgroup" "testGelBounce" } "gel_delta" { "operator" "math_delta" "input" "@gel_mixer.output_volume" } // "gel_delta_test" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@gel_delta.output" // "input2" "0.0" // } // "print_delta" // { // "input_execute" "@gel_delta_test.output" // "operator" "util_print_float" // "input" "@gel_delta.output" // } "gel_mixer_zero" { "operator" "math_float" "apply" "less_than_or_equal" "input1" "@gel_mixer.output_volume" "input2" "0.0" } "gel_start_trigger" { "operator" "math_float" "apply" "less_than" "input1" "@gel_delta.output" "input2" "0.0" } "gel_start_trigger_test" { "operator" "math_float" "apply" "min" "input1" "@gel_start_trigger.output" "input2" "@gel_mixer_zero.output" }

// "gel_start_trigger" // { // "operator" "math_float" // "apply" "less_than" // "input1" "@gel_delta.output" // "input2" "0.0" // } "gel_stop_trigger" { "operator" "math_float" "apply" "less_than" "input1" "@bounce_view_info.output_velocity_vector_z" "input2" "1.0" } "gel_test_stopped" { "operator" "math_float" "apply" "less_than" "input1" "@gel_elapsed_time.output_stop_elapsed" "input2" "0.0" } // "print_gel_test_stopped" // { // "input_execute" "@gel_delta_test.output" // "operator" "util_print_float" // "input" "@gel_test_stopped.output" // } // "print_gel_test_start_trigger" // { // "input_execute" "@gel_delta_test.output" // "operator" "util_print_float" // "input" "@gel_start_trigger.output" // } // "print_gel_test_stop_trigger" // { // "input_execute" "@gel_delta_test.output" // "operator" "util_print_float" // "input" "@gel_stop_trigger.output" // } "gel_play_entry" { "execute_once" "false" "operator" "sys_start_entry" "input_start" "@gel_test_stopped.output" "input_execute" "@gel_start_trigger_test.output" "entry_name" "Default.Null" } "gel_stop_entry" { "input_execute" "@gel_stop_trigger.output" "operator" "sys_stop_entries" "input_max_entries" "0.000000" "match_entity" "false" "match_substring" "false" "match_entry" "Default.Null" }


p2_update_music_play_speed_gel

"speed_view_info" { "operator" "game_view_info" }

"speed_velocity_fabs_xy" { "operator" "math_func1" "function" "fabs" "input1" "@speed_view_info.output_velocity_xy" }

"speed_velocity_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@speed_velocity_fabs_xy.output" "input2" "12" } "speed_delta" { "operator" "math_delta" "input" "@speed_velocity_trigger.output" }

"speed_start_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@speed_delta.output" "input2" "0" }

"speed_stop_trigger" { "operator" "math_float" "apply" "less_than" "input1" "@speed_delta.output" "input2" "0" }

"speed_play_entry" { "execute_once" "false" "operator" "sys_start_entry" "input_start" "1" "input_execute" "@speed_start_trigger.output" "entry_name" "Default.Null" } "speed_stop_entry" { "input_execute" "@speed_stop_trigger.output" "operator" "sys_stop_entries" "input_max_entries" "0.000000" "match_entity" "false" "match_substring" "false" "match_entry" "Default.Null" }


p2_update_music_stereo_bounce

"import_stack" "update_music_stereo" "game_view_info" { "operator" "game_view_info" } // "volume_bounce" // { // "operator" "math_remap_float" // "input" "@game_view_info.output_stop_elapsed" // "input_min" "-80.0" // "input_max" "100.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // }

"abs_velocity_vector_z" { "operator" "math_func1" "function" "fabs" "input1" "@game_view_info.output_velocity_vector_z" } "volume_bounce" { "operator" "math_remap_float" "input" "@abs_velocity_vector_z.output" "input_min" "0.0" "input_max" "100.0" "input_map_min" "0.1" "input_map_max" "1.0" "default_to_max" "false" } "volume_apply_adjust" { "input1" "@volume_bounce.output" }


p2_update_music_spatial_portals

"import_stack" "update_music_spatial"

// set up so it iterates over portalized sounds "speakers_multi_origin" { "input_max_iterations" "@source_info.output_source_count" "iterate_operator" "source_info" } // connecting output after operator has been created "source_info" { "input_source_index" "@speakers_multi_origin.output_index" } // turn off position array indexing "position_array" { "input_index" "0" }


//////////////////////////////////////////////////////////////////////////////////////////// // // STANDARD STACKS // ////////////////////////////////////////////////////////////////////////////////////////////

update_simple_quad

"save_restore_output" { "operator" "sys_output" "execute_once" "true" "input_float" "1.0" "output" "save_restore" } "mixer" { "operator" "get_soundmixer" "mixgroup" "All" } "snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" } "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@snd_gain_convar.output" } "speaker_volume" { "operator" "math_float" "apply" "mult" "input1" "1" "input2" "@volume_apply_mixer.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult" "left_front" "1.0" "right_front" "1.0" "center" "0.0" "lfe" "0.0" "left_rear" "1.0" "right_rear" "1.0"

"input2[*]" "@speaker_volume.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" } "output_mixlayer_trigger" { "execute_once" "1" "operator" "sys_output" "input_float" "1" "output" "mixlayer_trigger" }


update_default

////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "All" }

// NOTE: uses player data, ie: SS, return least occluded value "occlusion" { "operator" "calc_occlusion" "input_position" "@source_info.output_position" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME

// NOTE: distance has precalculated minimum distance of the ss players "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@source_info.output_volume" "input2" "@volume_falloff.output" } "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_test_convar.output" "input2" "@occlusion.output" } // this calculates the loudest volume of the ss clients // NOT NEEDED ALL SS OPS SELF-CONTAINGED // "volume_acc_ss_max" // { // "operator" "op_accumulate_ss_float" // "input" "volume_apply_occlusion.output" // "iterate_operator" "occlusion" // }

// shouldn't this be volume level? "output_mixlayer_trigger" { "execute_once" "1" "operator" "sys_output" "input_float" "1" "output" "mixlayer_trigger" } /////////////////// // PITCH "pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_distant.output" "output" "dsp" }

///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_occlusion.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult"

"left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0"

"input2" "@speakers_apply_volume.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" }


p2_update_default

"save_restore_output" { "operator" "sys_output" "execute_once" "true" "input_float" "1.0" "output" "save_restore" } ////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

"elapsed_time" { "operator" "get_entry_time" }

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "All" }

// NOTE: uses player data, ie: SS, return least occluded value "occlusion" { "operator" "calc_occlusion" "input_position" "@source_info.output_position" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME

// NOTE: distance has precalculated minimum distance of the ss players "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" }

"volume_get_random" //use for random volume if needed { "operator" "math_random" "execute_once" "true" "input_execute" "0.0" "input_min" "0.15" //low value here "input_max" "0.55" //high value here. }

"volume_mult" { "operator" "math_float" "apply" "mult" "input2" "@source_info.output_volume" "input1" "1.0" }

"volume_fade_in" { "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "true" } "volume_fade_out" { "operator" "math_remap_float" "input" "@elapsed_time.output_stop_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_fadeout" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_out.output" } "volume_apply_fade_in" { "operator" "math_float" "apply" "mult" "input1" "@volume_fade_in.output" "input2" "@volume_mult.output" } "volume_apply_fade_out" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_in.output" "input2" "@volume_invert_fadeout.output" }

"volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_out.output" "input2" "@volume_falloff.output" } "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_test_convar.output" "input2" "@occlusion.output" } // this calculates the loudest volume of the ss clients // NOT NEEDED ALL SS OPS SELF-CONTAINGED // "volume_acc_ss_max" // { // "operator" "op_accumulate_ss_float" // "input" "volume_apply_occlusion.output" // "iterate_operator" "occlusion" // }

"stoptime_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@volume_invert_fadeout.output" "input2" "0.0" } "stop_hold_output" { "operator" "sys_output" "output" "stop_hold" "input_float" "@stoptime_elapsed_trigger.output" }

/////////////////// // PITCH

"pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_distant.output" "output" "dsp" }

///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_occlusion.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult"

"left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0"

"input2" "@speakers_apply_volume.output" } "speakers_multi_origin" { "operator" "iterate_merge_speakers"

"input_max_iterations" "@source_info.output_source_count" "iterate_operator" "source_info" "input" "@speakers_limit.output"

} // connecting output after operator has been created "source_info" { "input_source_index" "@speakers_multi_origin.output_index" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_multi_origin.output" "output" "speakers" }


p2_offset_start_update

"import_stack" "p2_update_default"

"elapsed_time" { "operator" "get_entry_time" }

"time_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.1" //Elapsed time in seconds goes here. }

"time_elapsed_trigger_2" { "operator" "math_float" "apply" "greater_than" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.1" //Elapsed time in seconds goes here. }

"time_elapsed_trigger_3" { "operator" "math_float" "apply" "greater_than" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.1" //Elapsed time in seconds goes here. }

"time_elapsed_trigger_4" { "operator" "math_float" "apply" "greater_than" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.1" //Elapsed time in seconds goes here. }

"bool_delta" //Check to see if the trigger has been flipped { "operator" "math_delta" "input" "@time_elapsed_trigger.output" }

"bool_delta_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@bool_delta.output" "input2" "0.1" }

"play_entry" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@bool_delta_trigger.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }

"play_entry_2" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@time_elapsed_trigger_2.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }

"play_entry_3" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@time_elapsed_trigger_3.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }

"play_entry_4" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@time_elapsed_trigger_4.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }


p2_offset_start_update_random

"import_stack" "p2_update_default"

"elapsed_time" { "operator" "get_entry_time" }

"delay_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.1" //Elapsed time in seconds goes here. }

"random_play" { "operator" "math_random" "execute_once" "true" "input_execute" "0.0" "input_min" "0.0" "input_max" "1.0" }

"percent_fire" { "operator" "math_float" "apply" "greater_than" "input1" "0.60" // This is the percentage chance to play a sound "input2" "@random_play.output" }

"do_we_fire" { "operator" "math_float" "apply" "min" "input1" "@percent_fire.output" "input2" "@delay_trigger.output" }

"triggered_sound" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@do_we_fire.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }


p2_offset_start_level_based

"import_stack" "p2_update_default"

"elapsed_time" { "operator" "get_entry_time" }

"delay_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.1" //Elapsed time in seconds goes here. }

"delay_trigger_2" { "operator" "math_float" "apply" "greater_than" "input1" "@elapsed_time.output_sound_elapsed" "input2" "0.1" //Elapsed time in seconds goes here. }

"level_specific_check" { "input_execute" "0.0" //enable map checking here "operator" "get_map_name" "map_name" "p2_empty4" //your map name here }

"get_pos_data" { "operator" "game_view_info" }

"pos_specific_check" { "operator" "math_float" "apply" "greater_than_or_equal" "input1" "@get_pos_data.output_position_z" //replace with the param to check against "input2" "0.0" //Replace with val you want to check against }

"level_and_pos_check" { "operator" "math_float" "apply" "min" "input1" "@level_specific_check.output" "input2" "@pos_specific_check.output" }

"do_we_fire" { "operator" "math_float" "apply" "min" "input1" "@level_and_pos_check.output" "input2" "@delay_trigger.output" }

"do_we_fire_2" { "operator" "math_float" "apply" "min" "input1" "@level_and_pos_check.output" "input2" "@delay_trigger_2.output" }

"triggered_sound" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@do_we_fire.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }

"triggered_sound_2" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@do_we_fire.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }


p2_update_start_at_elapsed

"usae_elapsed_time" { "operator" "get_entry_time" }

"sound_duration_mult" { "operator" "math_float" "apply" "mult" "input1" "@usae_elapsed_time.output_sound_duration" "input2" "2" }

"time_elapsed_trigger" { "operator" "math_float" "apply" "greater_than_or_equal" "input1" "@usae_elapsed_time.output_sound_elapsed" "input2" "@sound_duration_mult.output" }

"stop_this" { "operator" "sys_stop_entries" "input_execute" "@time_elapsed_trigger.output" "stop_this_entry" "true" } "play_entry" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "@time_elapsed_trigger.output" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }


p2_update_stop_at_elapsed

"usae_elapsed_time" { "operator" "get_entry_time" }

"sound_duration_mult" { "operator" "math_float" "apply" "mult" "input1" "@usae_elapsed_time.output_sound_duration" "input2" "2" } "time_elapsed_trigger" { "operator" "math_float" "apply" "greater_than_or_equal" "input1" "@usae_elapsed_time.output_sound_elapsed" "input2" "@sound_duration_mult.output" } "stop_this" { "operator" "sys_stop_entries" "input_execute" "@time_elapsed_trigger.output" "stop_this_entry" "true" }


p2_update_default_pitch_ramp

//This is identical to p2_update_default except for the pitch being ramped based on volume,

"save_restore_output" { "operator" "sys_output" "execute_once" "true" "input_float" "1.0" "output" "save_restore" }


////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

"elapsed_time" { "operator" "get_entry_time" }

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "All" }

// NOTE: uses player data, ie: SS, return least occluded value "occlusion" { "operator" "calc_occlusion" "input_position" "@source_info.output_position" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME

// NOTE: distance has precalculated minimum distance of the ss players "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" }

"volume_fade_in" { "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "true" } "volume_fade_out" { "operator" "math_remap_float" "input" "@elapsed_time.output_stop_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_fadeout" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_out.output" } "volume_apply_fade_in" { "operator" "math_float" "apply" "mult" "input1" "@volume_fade_in.output" "input2" "@source_info.output_volume" } "volume_apply_fade_out" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_in.output" "input2" "@volume_invert_fadeout.output" }

"volume_fade_initial" { "input_execute" "0" "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "1.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_initial" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_initial.output" } "volume_apply_fade_initial" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_out.output" "input2" "@volume_invert_initial.output" }

//Level specific volume scalar

"volume_get_map_name" { "input_execute" "0.0" //enable map checking here "operator" "get_map_name" "map_name" "p2_empty4" //your map name here }

"volume_invert_map_name" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_get_map_name.output" }

"volume_map_name_scalar" { "operator" "math_remap_float" "input" "@volume_invert_map_name.output" "input_min" "0.0" "input_max" "1.0" "input_map_min" "1.0" //This is the map-specific volume scalar, does nothing by default "input_map_max" "1.0" "default_to_max" "true" }

"volume_mult" { "operator" "math_float" "apply" "mult" "input2" "@volume_apply_fade_initial.output" "input1" "1.0" //change to "@volume_map_name_scalar.output" to use a map specific scalar }

"volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_mult.output" "input2" "@volume_falloff.output" }

"volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_test_convar.output" "input2" "@occlusion.output" } // this calculates the loudest volume of the ss clients // NOT NEEDED ALL SS OPS SELF-CONTAINGED // "volume_acc_ss_max" // { // "operator" "op_accumulate_ss_float" // "input" "volume_apply_occlusion.output" // "iterate_operator" "occlusion" // }

"stoptime_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@volume_invert_fadeout.output" "input2" "0.0" } "stop_hold_output" { "operator" "sys_output" "output" "stop_hold" "input_float" "@stoptime_elapsed_trigger.output" }

/////////////////// // PITCH "max_volume_percentage" { "operator" "math_float" "apply" "div" "input1" "@volume_apply_fade_out.output" "input2" "@source_info.output_volume" }

"pitch_fade_in" { "operator" "math_remap_float" "input" "@max_volume_percentage.output" "input_min" "0.0" "input_max" "1.0" "input_map_min" "1.0" //Always outputs 1.0 by default "input_map_max" "1.0" "default_to_max" "true" }

"pitch_random" //Use for random pitch { "operator" "math_random" "execute_once" "true" "input_execute" "0.0" "input_min" "1.0" "input_max" "1.0" }

"pitch_apply_fade_in" { "operator" "math_float" "apply" "mult" "input1" "@pitch_random.output" "input2" "@pitch_fade_in.output" }

"pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@pitch_apply_fade_in.output" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_distant.output" "output" "dsp" }

///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_occlusion.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult"

"left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0"

"input2" "@speakers_apply_volume.output" } "speakers_multi_origin" { "operator" "iterate_merge_speakers"

"input_max_iterations" "@source_info.output_source_count" "iterate_operator" "source_info" "input" "@speakers_limit.output"

} // connecting output after operator has been created "source_info" { "input_source_index" "@speakers_multi_origin.output_index" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_multi_origin.output" "output" "speakers" }


p2_update_envelope_radius

//This is a wholesale copy of p2_update_default except that we've changed the way falloff works

"save_restore_output" { "operator" "sys_output" "execute_once" "true" "input_float" "1.0" "output" "save_restore" }


////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

"elapsed_time" { "operator" "get_entry_time" }

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "All" }

// NOTE: uses player data, ie: SS, return least occluded value "occlusion" { "operator" "calc_occlusion" "input_position" "@source_info.output_position" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" } "snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME

// NOTE: distance has precalculated minimum distance of the ss players "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "volume_mult" { "operator" "math_float" "apply" "mult" "input2" "@source_info.output_volume" "input1" "1.0" }

"volume_fade_in" { "operator" "math_remap_float" "input" "@elapsed_time.output_entry_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "true" } "volume_fade_out" { "operator" "math_remap_float" "input" "@elapsed_time.output_stop_elapsed" "input_min" "0.0" "input_max" "0.0" "input_map_min" "0.0" "input_map_max" "1.0" "default_to_max" "false" } "volume_invert_fadeout" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@volume_fade_out.output" } "volume_apply_fade_in" { "operator" "math_float" "apply" "mult" "input1" "@volume_fade_in.output" "input2" "@volume_mult.output" } "volume_apply_fade_out" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_in.output" "input2" "@volume_invert_fadeout.output" }

///////////////////////////////////////////// // Massage Falloff /////////////////////////////////////////////

"falloff_xover_1" //Use these like variables { "operator" "math_float" "apply" "mult" "input1" "0.6" //first point goes here "input2" "1.0" //identity, do not change }

"falloff_xover_2" //Use these like variables { "operator" "math_float" "apply" "mult" "input1" "0.45" //second point goes here "input2" "1.0" //identity, do not change }

"falloff_leg_1" { "operator" "math_remap_float" "input" "@volume_falloff.output" "input_min" "@falloff_xover_1.output" //default 0.6 "input_max" "1.0" "input_map_min" "0.55" "input_map_max" "1.0" "default_to_max" "false" }

"falloff_leg_2" { "operator" "math_remap_float" "input" "@volume_falloff.output" "input_min" "@falloff_xover_2.output" //default 0.45 "input_max" "@falloff_xover_1.output" //default 0.6 "input_map_min" "0.4" "input_map_max" "@falloff_leg_1.output" "default_to_max" "false" }

"falloff_leg_3" { "operator" "math_remap_float" "input" "@volume_falloff.output" "input_min" "0.0" "input_max" "@falloff_xover_2.output" //default 0.45 "input_map_min" "0.0" "input_map_max" "@falloff_leg_2.output" "default_to_max" "true" }

"volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_fade_out.output" "input2" "@volume_falloff.output" //"input2" "@falloff_leg_3.output" //uncomment if you want to use wacky falloffs } /////////////////////////////////////////////

"volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_test_convar.output" "input2" "@occlusion.output" } // this calculates the loudest volume of the ss clients // NOT NEEDED ALL SS OPS SELF-CONTAINGED // "volume_acc_ss_max" // { // "operator" "op_accumulate_ss_float" // "input" "volume_apply_occlusion.output" // "iterate_operator" "occlusion" // }

"stoptime_elapsed_trigger" { "operator" "math_float" "apply" "greater_than" "input1" "@volume_invert_fadeout.output" "input2" "0.0" } "stop_hold_output" { "operator" "sys_output" "output" "stop_hold" "input_float" "@stoptime_elapsed_trigger.output" }

/////////////////// // PITCH

"pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_distant.output" "output" "dsp" }

///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_occlusion.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult"

"left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0"

"input2" "@speakers_apply_volume.output" } "speakers_multi_origin" { "operator" "iterate_merge_speakers"

"input_max_iterations" "@source_info.output_source_count" "iterate_operator" "source_info" "input" "@speakers_limit.output"

} // connecting output after operator has been created "source_info" { "input_source_index" "@speakers_multi_origin.output_index" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_multi_origin.output" "output" "speakers" }


//////////////////////////////////////////////////////////////////////////////////////////// // // AMBIENT SOUNDS // //////////////////////////////////////////////////////////////////////////////////////////// "p2_update_ambient_sound_spatial"

"import_stack" "p2_update_music_spatial_portals"


//////////////////////////////////////////////////////////////////////////////////////////// // // DIALOG STACKS // ////////////////////////////////////////////////////////////////////////////////////////////

update_dialog

/////////////////////// // stopping previous lines "stop_entries" { "execute_once" "true" "operator" "sys_stop_entries" "match_channel" "true" "match_entity" "true" "input_max_entries" "0" // doesn't include new one }

////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "All" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" }

//////////////////////// // tell the mixer we're active "output_mixlayer_trigger" { "execute_once" "1" "operator" "sys_output" "input_float" "1" "output" "mixlayer_trigger" }

///////////////////// // VOLUME "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@source_info.output_volume" } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" }

/////////////////// // PITCH "pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_mixer.output" "output" "dsp" }


///////////////////// // SPEAKERS "snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" } "snd_surround_convar" { "operator" "get_convar" "convar" "snd_surround_speakers" } "remap_surround_dialog" { "operator" "math_remap_float" "input" "@snd_surround_convar.output" "input_min" "2" "input_max" "5" //default 0.45 "input_map_min" "0.0" // "input_map_max" "@snd_op_test_convar.output" "input_map_max" "0.28" "default_to_max" "false" } "snd_surround_dialog_invert" { "operator" "math_float" "apply" "sub" "input1" "1.0" "input2" "@remap_surround_dialog.output" } "speakers_limit" { "operator" "math_speakers" "apply" "mult"

"input1[*]" "@snd_surround_dialog_invert.output"

// "left_front" "1.0" // "right_front" "1.0" // "center" "1.0" "lfe" "0.0" // "left_rear" "1.0" // "right_rear" "1.0"

"input2[*]" "@volume_apply_snd_gain_convar.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" }


update_dialog_spatial

/////////////////////// // stopping previous lines "stop_entries" { "execute_once" "true" "operator" "sys_stop_entries" "match_channel" "true" "match_entity" "true" "input_max_entries" "0" // doesn't include new one }

////////////////////// // POSITION "source_info" { "operator" "get_source_info" "source" "entity" // "source" "emitter" }

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

"occlusion" { "operator" "calc_occlusion" "input_position" "@source_info.output_position" // "input_trace_interval" "0.05" // "input_scalar" "0.7" }

// "print_occlusion" // { // "operator" "util_print_float" // "input" "@occlusion.output" // } // // ramp distance to affect occlusion // "remap_distance_occlusion" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "1000.0" // "input_max" "1500.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "distance_occlusion_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@remap_distance_occlusion" // } // "occlusion_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@occlusion.output" // }


//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "All" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" }

"snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

//////////////////////// // tell the mixer we're active "output_mixlayer_trigger" { "execute_once" "1" "operator" "sys_output" "input_float" "1" "output" "mixlayer_trigger" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" }


// NOTE: distance has precalculated minimum distance of the ss players // ramp distance to affect occlusion // "remap_distance_falloff" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "2500.0" // "input_max" "3000.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "remap_distance_falloff_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1" // "input2" "@remap_distance_falloff.output" // }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@source_info.output_volume" "input2" "@occlusion.output" // "input2" "1" } "volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_occlusion.output" "input2" "@volume_falloff.output" } // "volume_apply_distance_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_falloff.output" // "input2" "@remap_distance_falloff_invert.output" // } "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" } // "volume_apply_distance_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

/////////////////// // PITCH "pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distance" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_distance.output" "output" "dsp" }

///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_rear_stereo_scale" "1.0" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_test_convar.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "max"

"left_front" "0.0" "right_front" "0.0" "center" "0.0" "lfe" "0.0" "left_rear" "0.0" "right_rear" "0.0"

"input2" "@speakers_apply_volume.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" }


p2_update_dialog_spatial_cave

/////////////////////// // stopping previous lines "stop_entries" { "execute_once" "true" "operator" "sys_stop_entries" "match_channel" "true" "match_entity" "true" "input_max_entries" "0" // doesn't include new one }

////////////////////// // POSITION "source_info" { "operator" "get_source_info" "source" "entity" // "source" "emitter" } "position_array" { "operator" "util_pos_vec8"

"input_entry_count" "1" "input_index" "0" "input_position_0" "@source_info.output_position"

}

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@position_array.output_position" }

// "occlusion" // { // "operator" "calc_occlusion" // "input_position" "@position_array.output_position" // // "input_scalar" "0.5" // // "input_trace_interval" "0.25" // }

// // ramp distance to affect occlusion // "remap_distance_occlusion" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "1000.0" // "input_max" "1500.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "distance_occlusion_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@remap_distance_occlusion" // } // "occlusion_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@occlusion.output" // }


//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "caveVO" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" }

"snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

//////////////////////// // tell the mixer we're active "output_mixlayer_trigger" { "execute_once" "1" "operator" "sys_output" "input_float" "1" "output" "mixlayer_trigger" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "90" }

///////////////////// // VOLUME "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" }


// NOTE: distance has precalculated minimum distance of the ss players // ramp distance to affect occlusion // "remap_distance_falloff" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "2500.0" // "input_max" "3000.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "remap_distance_falloff_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1" // "input2" "@remap_distance_falloff.output" // }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@source_info.output_volume" // "input2" "@occlusion.output" "input2" "1" } "volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_occlusion.output" "input2" "@volume_falloff.output" } // "volume_apply_distance_falloff" // { // "operator" "math_float" // "apply" "mult" // "input1" "@volume_apply_falloff.output" // "input2" "@remap_distance_falloff_invert.output" // } "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" } // "volume_apply_distance_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

/////////////////// // PITCH "pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distance" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_min" { "operator" "math_float" "apply" "max" "input1" "0.4" "input2" "@dsp_apply_distance.output" } "dsp_max" { "operator" "math_float" "apply" "min" "input1" "0.6" "input2" "@dsp_min.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_max.output" "output" "dsp" }

///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "60" "input_rear_stereo_scale" "1.0" "input_distance" "@source_distance.output" "input_position" "@position_array.output_position" }

"speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_test_convar.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "max"

"left_front" "0.0" "right_front" "0.0" "center" "0.0" "lfe" "0.0" "left_rear" "0.0" "right_rear" "0.0"

"input2" "@speakers_apply_volume.output" }

"speakers_multi_origin" { "operator" "iterate_merge_speakers"

"input_max_iterations" "@position_array.output_max_index" "iterate_operator" "position_array" "input" "@speakers_limit.output"

}

// connecting output after operator has been created "position_array" { "input_index" "@speakers_multi_origin.output_index" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_multi_origin.output" "output" "speakers" }


p2_update_dialog_spatial_cores

"import_stack" "update_dialog_spatial" "mixer" { "mixgroup" "coreVO" } "speakers_spatialize" { "input_radius" "200" }


p2_update_dialog_spatial_wheatley

/////////////////////// // stopping previous lines "stop_entries" { "execute_once" "true" "operator" "sys_stop_entries" "match_channel" "true" "match_entity" "true" "input_max_entries" "0" // doesn't include new one }

////////////////////// // POSITION "source_info" { "operator" "get_source_info" "source" "entity" // "source" "emitter" }

// NOTE: uses player data, ie: SS, returns minimum distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

"occlusion" { "operator" "calc_occlusion" "input_position" "@source_info.output_position" // "input_trace_interval" "0.05" // "input_scalar" "0.7" }

// "print_occlusion" // { // "operator" "util_print_float" // "input" "@occlusion.output" // } // // ramp distance to affect occlusion // "remap_distance_occlusion" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "1000.0" // "input_max" "1500.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "distance_occlusion_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@remap_distance_occlusion" // } // "occlusion_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1.0" // "input2" "@occlusion.output" // }


//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "wheatleyVO" }

"snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" }

"snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

//////////////////////// // tell the mixer we're active "output_mixlayer_trigger" { "execute_once" "1" "operator" "sys_output" "input_float" "1" "output" "mixlayer_trigger" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" }


// NOTE: distance has precalculated minimum distance of the ss players // ramp distance to affect occlusion // "remap_distance_falloff" // { // "operator" "math_remap_float" // "input" "@source_distance.output" // "input_min" "2500.0" // "input_max" "3000.0" // "input_map_min" "0.0" // "input_map_max" "1.0" // "default_to_max" "false" // } // "remap_distance_falloff_invert" // { // "operator" "math_float" // "apply" "sub" // "input1" "1" // "input2" "@remap_distance_falloff.output" // } "volume_test_distance" { "operator" "math_float" "apply" "less_than" "input1" "@source_distance.output" "input2" "80" } "volume_defeat_occlusion" { "operator" "math_float" "apply" "max" "input1" "@volume_test_distance.output" "input2" "@occlusion.output" }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@source_info.output_volume" "input2" "@volume_defeat_occlusion.output" // "input2" "1" } "remap_distance_falloff" { "operator" "math_remap_float" "input" "@source_distance.output" "input_min" "400" "input_max" "600" "input_map_min" "1.0" "input_map_max" "1.3" "default_to_max" "false" } "volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_occlusion.output" "input2" "@volume_falloff.output" } "volume_apply_distance_falloff" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_falloff.output" "input2" "@remap_distance_falloff.output" } "volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_distance_falloff.output" } // "volume_apply_distance_occlusion" // { // "operator" "math_float" // "apply" "mult" // "input1" "@mixer.output_volume" // "input2" "@volume_apply_falloff.output" // } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

/////////////////// // PITCH "pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distance" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_distance.output" "output" "dsp" }

///////////////////// // SPEAKERS

"radius_get_sp_a1_intro1" { // "execute_once" "true" // "input_execute" "1.0" //enable map checking here "operator" "get_map_name" "map_name" "sp_a1_intro1" //your map name here } "radius_invert_test" { "operator" "math_float" "apply" "less_than" "input1" "@radius_get_sp_a1_intro1.output" "input2" "1.0" }

"radius_remap_map_test1" { "operator" "math_remap_float" "input" "@radius_invert_test.output" "input_min" "0" "input_max" "1" "input_map_min" "600.0" "input_map_max" "600.0" "default_to_max" "false" } // NOTE: uses player data, ie: SS, calculates all players and merges them "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "@radius_remap_map_test1.output" "input_rear_stereo_scale" "1.0" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_apply_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_test_convar.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "max"

"left_front" "0.0" "right_front" "0.0" "center" "0.0" "lfe" "0.0" "left_rear" "0.0" "right_rear" "0.0"

"input2" "@speakers_apply_volume.output" }

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" }


//////////////////////////////////////////////////////////////////////////////////////////// // // SPECIALTY STACKS // ////////////////////////////////////////////////////////////////////////////////////////////

update_facing

////////////////////// // POSITION "source_info" { "operator" "get_source_info" // "source" "entity" "source" "emitter" }

// NOTE: uses player data, ie: SS, returns nearest distance "source_distance" { "operator" "calc_source_distance" "input_position" "@source_info.output_position" }

//////////////////// // calc "mixer" { "operator" "get_soundmixer" "mixgroup" "TEST" }

// NOTE: uses player data, ie: SS, least occluded player "occlusion" { "operator" "calc_occlusion" "input_position" "@source_info.output_position" }

// NOTE: uses player data, ie: blended origin for SS players "facing" { "operator" "calc_angles_facing" // "input_angles" "@source_info.output_angles" "input_angles[0]" "0" "input_angles[1]" "0" "input_angles[2]" "0" }

"facing_output" { "operator" "sys_output" "input_float" "@facing.output" "output" "facing" } "snd_gain_convar" { "operator" "get_convar" "convar" "snd_gain" }

"snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }

////////////////////// // LEVEL "level_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_level" "input2" "@source_info.output_level" }

///////////////////// // VOLUME "volume_falloff" { "operator" "calc_falloff" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "volume_apply_falloff" { "operator" "math_float" "apply" "mult" "input1" "@source_info.output_volume" "input2" "@volume_falloff.output" }

"volume_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_volume" "input2" "@volume_apply_falloff.output" } "volume_apply_snd_gain_convar" { "operator" "math_float" "apply" "mult" "input1" "@snd_gain_convar.output" "input2" "@volume_apply_mixer.output" } "volume_apply_test_convar" { "operator" "math_float" "apply" "mult" "input1" "1.0" "input2" "@volume_apply_snd_gain_convar.output" }

"volume_apply_facing" { "operator" "math_float" "apply" "mult" "input1" "@facing.output" "input2" "@volume_apply_test_convar.output" }

"volume_apply_occlusion" { "operator" "math_float" "apply" "mult" "input1" "@volume_apply_facing.output" "input2" "@occlusion.output" }

/////////////////// // PITCH "pitch_output" { "operator" "sys_output" "output" "pitch" "input_float" "@source_info.output_pitch" }

/////////////////// // DSP "dsp_emitter" { "operator" "math_float" "apply" "set" "input1" "1.0" } "dsp_apply_mixer" { "operator" "math_float" "apply" "mult" "input1" "@mixer.output_dsp" "input2" "@dsp_emitter.output" } "dsp_distantDSP" { "operator" "calc_distant_dsp" "input_distance" "@source_distance.output" "input_level" "@level_apply_mixer.output" } "dsp_apply_distant" { "operator" "math_float" "apply" "mult" "input1" "@dsp_distantDSP.output" "input2" "@dsp_apply_mixer.output" } "dsp_output" { "operator" "sys_output" "input_float" "@dsp_apply_distant.output" "output" "speakers" } ///////////////////// // SPEAKERS

// NOTE: uses player data, ie: SS // SS COULD BE SELF-CONTAINED? "speakers_spatialize" { "operator" "calc_spatialize_speakers" "input_radius" "300" "input_distance" "@source_distance.output" "input_position" "@source_info.output_position" }

"speakers_volume" { "operator" "math_speakers" "apply" "mult" "input1" "@speakers_spatialize.output" "input2[*]" "@volume_apply_occlusion.output" // "input2[*]" "@facing.output" }

"speakers_limit" { "operator" "math_speakers" "apply" "mult" "left_front" "1.0" "right_front" "1.0" "center" "1.0" "lfe" "1.0" "left_rear" "1.0" "right_rear" "1.0"

"input2" "@speakers_volume.output"

}

"speakers_output" { "operator" "sys_output" "input_speakers" "@speakers_limit.output" "output" "speakers" }



stop_stacks

stop_test

"play_entry" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "1" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }


stop_default

"snd_op_test_convar" { "operator" "get_convar" "convar" "snd_op_test_convar" }


stop_and_play

"play_entry" { "operator" "sys_start_entry" "execute_once" "true" "input_execute" "1" "input_start" "1" "entry_name" "Default.Null" //Replace with the sound you want to play. }


P2_stop_child_and_parent

"stop_child" { "operator" "sys_stop_entries" "input_max_entries" "0.000000" //A sound will not stop itself from playing. "match_substring" "false" "match_entry" "Default.Null" //Replace with the sound you want to stop. "match_entity" "true" }


//////////////////////////////////////////////////////////////////////////////////////////// // // dialog stop stacks // ////////////////////////////////////////////////////////////////////////////////////////////

P2_glados_stop

// default stop stack for glados v.o.

"set_mixlayer_vol_wheatley" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "wheatleyVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_announcer" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "announcerVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_cave" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "caveVO" "field" "volume" "input" "1.0" }

P2_glados_stop_mute

// default stop stack for glados v.o.

"set_mixlayer_mute_wheatley" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "wheatleyVO" "field" "mute" "input" "0.0" } "set_mixlayer_mute_announcer" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "announcerVO" "field" "mute" "input" "0.0" } "set_mixlayer_mute_cave" { "operator" "sys_mixlayer" "mixlayer" "gladosVOLayer" "mixgroup" "caveVO" "field" "mute" "input" "0.0" }

P2_wheatley_stop

// default stop stack for wheatley v.o.

"set_mixlayer_vol_glados" { "operator" "sys_mixlayer" "mixlayer" "wheatleyVOLayer" "mixgroup" "gladosVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_announcer" { "operator" "sys_mixlayer" "mixlayer" "wheatleyVOLayer" "mixgroup" "announcerVO" "field" "volume" "input" "1.0" }

P2_announcer_stop

// default stop stack for announcer v.o.

"set_mixlayer_vol_glados" { "operator" "sys_mixlayer" "mixlayer" "announcerVOLayer" "mixgroup" "gladosVO" "field" "volume" "input" "1.0" } "set_mixlayer_vol_wheatley" { "operator" "sys_mixlayer" "mixlayer" "announcerVOLayer" "mixgroup" "wheatleyVO" "field" "volume" "input" "1.0" }