Dsp presets

From Valve Developer Community
Jump to: navigation, search
Dead End - Icon.png
This article has no links to other VDC articles. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024
// DSP preset definition file.

/////////////////////////////////////
// WARNING: do not edit this file! //
/////////////////////////////////////

// console "dsp_reload" reloads while engine running

// PROCESSOR TYPE:
//  NULL			0		// pass through - must be 0
//  DLY				1		// simple feedback reverb
//  RVA				2		// parallel reverbs
//  FLT				3		// lowpass or highpass filter
//  CRS				4		// chorus					NOT TESTED
//  PTC				5		// pitch shifter			NOT TESTED (UPDATE: DOES NOT INTEGRATE WITH NEW SOUND LENGTH CODE. DO NOT USE.)
//  ENV				6		// adsr envelope			NOT TESTED
//  LFO				7		// lfo
//  EFO				8		// envelope follower/gate		
//  MDY				9		// mod delay
//  DFR				10		// diffusor - n series allpass delays
//  AMP				11		// amplifier with distortion

// FILTER TYPE: 
//  LP	0					// lowpass filter
//  HP	1					// highpass filter
//  BP  2					// bandpass filter

// FILTER QUALITY:
//  LO				0		// quality of filter or reverb.  Must be 0,1,2,3.
//  MED				1
//  HI				2
//  VHI				3

// DELAY TYPE:
//  PLAIN			0		// single feedback loop
//  ALLPASS			1		// feedback and feedforward loop - flat frequency response (diffusor)
//  LOWPASS			2		// lowpass filter in feedback loop
//  DLINEAR			3		// linear delay, no feedback, unity gain
//  FLINEAR			4		// linear delay with lowpass filter and output gain
//  LOWPASS_4TAP	5		// lowpass filter in feedback loop, 4 delay taps
//  PLAIN_4TAP		6		// single feedback loop, 4 delay taps

// LFO TYPE: 
//  SIN				0	// sine wav
//  TRI				1	// triangle wav
//  SQR				2	// square wave, 50% duty cycle
//  SAW				3	// forward saw wav
//  RND				4	// random wav
//  LOG_IN			5	// logarithmic fade in	NOT TESTED
//  LOG_OUT			6	// logarithmic fade out	NOT TESTED
//  LIN_IN			7	// linear fade in 	
//  LIN_OUT			8	// linear fade out	

// ENVELOPE TYPE:
//  LIN				0	// linear a,d,s,r
//  EXP				1	// exponential a,d,s,r (IGNORED)

// PRESET CONFIGURATION TYPE:
//  SIMPLE			0	// optimized
//  LINEAR			1	// optimized
//  PARALLEL2		5
//  PARALLEL4		6
//  PARALLEL5		7
//  FEEDBACK		8
//  FEEDBACK3		9
//  FEEDBACK4		10
//  MOD				11	// NOT TESTED
//  MOD2			12	// NOT TESTED
//  MOD3			13  // NOT TESTED

//  PSET_SIMPLE		0
// x(n)--->P(0)--->y(n)

//  PSET_LINEAR		1
// x(n)--->P(0)-->P(1)-->...P(m)--->y(n)

//  PSET_PARALLEL2	5	
// x(n)--->P(0)-->(+)-->y(n)
//      		   ^
//	               | 
// x(n)--->P(1)-----

//  PSET_PARALLEL4	6
// x(n)--->P(0)-->P(1)-->(+)-->y(n)
//        		          ^
//		                  | 
// x(n)--->P(2)-->P(3)-----

//  PSET_PARALLEL5	7
// x(n)--->P(0)-->P(1)-->(+)-->P(4)-->y(n)
//      		          ^
//		                  | 
// x(n)--->P(2)-->P(3)-----

//  PSET_FEEDBACK	8
// x(n)-P(0)--(+)-->P(1)-->P(2)-->->y(n)
//             ^		        |
//             |                v 
//	           -----P(4)<--P(3)--

//  PSET_FEEDBACK3	9
// x(n)---(+)-->P(0)--------->y(n)
//         ^               |
//         |               v 
//	       -----P(2)<--P(1)--

//  PSET_FEEDBACK4	10
// x(n)---(+)-->P(0)-------->P(3)--->y(n)
//         ^              |
//         |              v 
//	       ---P(2)<--P(1)--

//  PSET_MOD		11
// x(n)------>P(1)--P(2)--P(3)--->y(n)
//                    ^     
// x(n)------>P(0)....:

//  PSET_MOD2		12
// x(n)-------P(1)-->y(n)
//              ^     
// x(n)-->P(0)..:


//  PSET_MOD3		13
// x(n)-------P(1)-->P(2)-->y(n)
//              ^     
// x(n)-->P(0)..:


// PRESET DEFINITIONS: (correct use of parentheses is critical for parsing)
//
// { <preset#> <preset configuration type> <# processors> <gain> 
//	{<preset type> <param0>...<param15>}
//	{<preset type> <param0>...<param15>} ... }

// Presets are made up of one or more processors.  A preset corresponds to a 'room'. 

// #:		preset number - must be unique, no holes in # sequence (although sequential order in this file is not important)
// ptype:	preset type from PSET_* above - typically LINEAR - this is how the processors are chained
// mixrng:	min and max dsp mix values for sounds.  mix value is based on sound source distance from listener.
//			Smaller rooms have larger min values.  Sounds far from listener have more dsp fx mix.
// duration:	if 0.0, preset lasts until another is set
//				if > 0.0 duration is preset duration in seconds. resets to previous preset when time expires
// fadetime:    time to fade out preset if duration > 0.0. if fadetime < 0, exponential fade.
// db_min:		for dsp_room only: if sndlvl in dB of a new sound is < db_min, reduce mix_min/max by db_mixdrop					
// db_mixdrop:	for dsp_room only: reduce mix_min/max by n% if sndlvl of new sound less than db_min
//				so - for some rooms (ie: outside) low level sounds get less dsp fx mix

// *******************************************************************
// presets 0-29 map to legacy room_type 0-29. Don't change order or #
// *******************************************************************
//  #	ptype	mixrng  dur fade dbmin mixdrop
																// *** NULL PRESET *** 
{	0	LINEAR	0.2 0.7 0.0  0.0  80 0.5	
							{0	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }
}

																//  *** AUTO PRESET *** 
{	1	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							{0	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }
}	

																//  *** METALIC S *** 
{	2	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA  80.0 30.0  	4		0.85	1.1		4000	1		0 0    0  0  0  0   0   0   0} 
}

																//  *** METALIC M *** 
{	3	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA  80.0 30.0  	4		0.9		1.4		4000	1		0 0    0  0  0  0   0   0   0} 
}

																//  *** METALIC L *** 
{	4	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.1483	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA 100.0 30.0  	4		0.95	1.8		4000	1		0 0    0  0  0  0   0   0   0} 
														
}
																//  *** TUNNEL S *** 
{	5	LINEAR	0.2 0.7	0.0  0.0  80 0.5						
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA 50.0  8.0    2		0.92 	 1.1 	6000 	1 		0 0    0  0  0  0   0   0   0} 

}
																//  *** TUNNEL M *** 
{	6	LINEAR	0.2 0.7	0.0  0.0  80 0.5	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}	

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA 100.0 15.0   2		0.92 	 1.1 	5000 	1 		0 0    0  0  0  0   0   0   0} 
}

																//  *** TUNNEL L *** 
{	7	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}	

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA 120.0 25.0   2		0.95 	 1.1 	4000 	1 		0 0    0  0  0  0   0   0   0} 
}

																//  *** CHAMBER S *** 
{	8	LINEAR	0.2 0.7 0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   6		0.9 	1.4 	5000 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** CHAMBER M *** 
{	9	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   6		0.9 	1.4 	6000 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** CHAMBER L *** 
{	10	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   9		0.9 	1.4 	6000 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** BRITE S *** 
{	11	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap 
							{  RVA	50.0 20.0   3		0.9 	1.0 	5000 	1 		0 0  0  0  0   0   0   0} 
}

																//  *** BRITE M *** 
{	12	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap 
							{  RVA	50.0 20.0   5		0.9 	1.0		5000 	1 		0 0  0  0  0   0   0   0} 
}

																//  *** BRITE L *** 
{	13	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap 
							{  RVA	50.0 20.0   6		0.9 	1.0		6000 	0		0 0  0  0  0   0   0   0} 
}

																//  *** WATER S *** 
{	14	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// AMP	gain	vthresh	distmix	vfeed	modrate	moddepth modglide rand
							{  AMP	1.0		0		0		0.0		10.0	0.6		80			0} 

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA 82.0  59.0   2		0.4 	2.0		1800 	0 	   10 3.0 0  0  0  0   0   0   0} 
							
}
																//  *** WATER M *** 
{	15	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   5		0.9 	1.4		1000 	0 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** WATER L *** 
{	16	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   7		0.9 	1.0		1000 	0 		4 3.48 0  0  0  0   0   0   0} 

							// MDY	dtype	delay	feedback	gain	ftype	cutoff	qwidth	qual	modrate	moddepth modglide	mix
							{  MDY	PLAIN	500.0	0.4			1.0		0		0		0		LO		2.0		0.01		15		1.0 }
}

																//  *** CONCRETE S *** 
{	17	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   6		0.9 	1.4		4000 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** CONCRETE M *** 
{	18	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   7		0.9 	1.4		3500 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** CONCRETE L *** 
{	19	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   8		0.9 	1.4		3000 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** OUTSIDE S *** 
{	20	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	300.0	0.5		0.84	LP		2000	0		LO		0	 0	  0}  
}

																//  *** OUTSIDE M *** 
{	21	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	400.0	0.5		0.84	LP		1500	0		LO		0		0	0} 
}

																//  *** OUTSIDE L *** 
{	22	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	750.0	0.5		0.84	LP		1000	0		LO		0		0	0} 
}

																//  *** CAVERN S *** 
{	23	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	150.0	0.5		0.84 	LP 		3000 	0	 	LO}
							
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0  	1.3		0.9 	1.0		1500 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** CAVERN M *** 
{	24	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	200.0	0.7		0.6		LP		3000	0		LO}
							 
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0  	7 		0.9 	1.0		1500 	1 		4 3.48 0  0  0  0   0   0   0} 
}

																//  *** CAVERN L *** 
{	25	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	300.0	0.7		0.6		LP		3000	0		LO}
							
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA	50.0 20.0   	9   0.9 	1.0		1500 	1 		4 3.48 0  0  0  0   0   0   0}  
}

																//  *** WEIRD 1 *** 
{	26	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY	LOWPASS	400.0	0.5		0.6		LP		1500	0		LO		0		0	0}
							
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}
}

																//  *** WEIRD 2 *** 
{	27	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	400.0	0.5		0.6		LP		1500	0		LO		0		0	0}
 							
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}
}

																//  *** WEIRD 3 *** 
{	28	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	400.0	0.5		0.6		LP		1500	0		LO		0		0	0}
							
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}
}
																//  *** WEIRD 4 *** 
{	29	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY	2		400.0	0.5		0.6		LP		1500	0		LO		0		0	0}
							
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}
}

// ***********************************************
// presets 30-43 are system presets. Don't change.
// ***********************************************
//  #	ptype	mixrng  dur  fade dbmin mixdrop
															//  *** LOWPASS - FACING AWAY *** 
{	30	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// FLT	ftype	cutoff	qwidth	quality gain
							{  FLT	LP		3000	0		MED		1.0}

}
															//  *** LOWPASS - FACING AWAY + 80ms delay *** 
{	31	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// FLT	ftype	cutoff	qwidth	quality gain
							{  FLT	LP		1000	0		MED		1.0}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY DLINEAR	80.0	0.0		1.0		0		0		0		LO		0		0	0}

}

															//  *** EXPLOSION RING 1 *** 
{	32	LINEAR	0.2 0.7	1.6  -1.0  80 0.5	
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// FLT	ftype	cutoff	qwidth	quality gain
							{  FLT	LP		1000	0		MED		0.25}
}


															//  *** EXPLOSION RING 2 *** 
{	33	LINEAR	0.2 0.7	1.6  -1.0  80 0.5	
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// FLT	ftype	cutoff	qwidth	quality gain
							{  FLT	LP		1000	0		MED		0.25}
}


															//  *** EXPLOSION RING 3 *** 
{	34	LINEAR	0.2 0.7	1.6  -1.0  80 0.5	
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// FLT	ftype	cutoff	qwidth	quality gain
							{  FLT	LP		1000	0		MED		0.25}
}

{	35	LINEAR	0.2 0.7	1.6  -1.0  80 0.5					// *** SHOCK MUFFLE 1 ***
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// LFO	wavtype		rate	foneshot gain
							{  LFO	SIN			3000.0	0.0		 0.25}
}

{	36	LINEAR	0.2 0.7	1.6  -1.0  80 0.5					// *** SHOCK MUFFLE 2 ***
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// LFO	wavtype		rate	foneshot gain
							{  LFO	SIN			3000.0	0.0		0.25}
}

{	37	LINEAR	0.2 0.7	1.6  -1.0  80 0.5						// *** SHOCK MUFFLE 3 ***
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// LFO	wavtype		rate	foneshot gain
							{  LFO	SIN			3000.0	0.0		0.25}
}

{	38	LINEAR	0.2 0.7	0.0  0.0  80 0.5						// *** DISTORTED SPEAKER 0 ***
							// AMP	gain	vthresh	distmix	vfeed
							{  AMP	100.0	0.005	1.0		0.0} 

							// FLT	ftype	cutoff	qwidth	quality gain
							{  FLT	HP		1000	0		LO		1.0}
							{  FLT	LP		2000	0		LO		1.0}
							{  FLT	LP		2000	0		LO		0.8}
}

{	39	LINEAR	0.2 0.7	1.0  -0.2  80 0.5					// *** STRIDER PRE-FIRE ***

							// LFO	wavtype		rate	foneshot gain
							{  LFO	SQR			50.0	0.0		 0.1}
}

															// *** PLAYER SPATIAL (WALL) DELAY ***
{	40	LINEAR	0.2 0.7	0.0  0.0  80 0.5		
							// MDY	dtype	delay	feedback	gain	ftype	cutoff	qwidth	qual	modrate	moddepth modglide	mix 
							{  MDY	LINEAR	100.0	0.0			1.0		0		0		0		0		0		0.0			50		1.0 }

}
															// *** 41-43 RESERVED for spatial delays ***

{	41	LINEAR	0.2 0.7	0.0  0.0   80 0.5 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	42	LINEAR	0.2 0.7	0.0  0.0   80 0.5 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	43	LINEAR	0.2 0.7	0.0  0.0   80 0.5 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }

// *************************************************
// presets 44-49 are slots reserved for test presets
// *************************************************
//  #	ptype	mixrng  dur fade dbmin mixdrop
 
								// PTC	pitch	timeslice	xfade
{	44	LINEAR	0.2 0.7	0 0 0 0{  PTC	1.1		100.0		20.0 } }	// pitch up 10%
{	45	LINEAR	0.2 0.7	0 0 0 0{  PTC	0.9		100.0		20.0 } }	// pitch down 10%

								// EFO thresh	attackms decayms
{	46	LINEAR	0.2 0.7	0 0 0 0 {  EFO -20.0	100.0	200.0 } }

								// CRS	lfowav	rate	depth	mix
{	47	LINEAR	0.2 0.7	0 0 0 0 {  CRS	SIN		10		1.0		0.5 } }

									// EFO thresh	attackms decayms							
{	48	LINEAR	0.2 0.7		0 0 0 0 {  EFO -30		20.0	 200.0 } }
{	49	LINEAR	0.2 0.7		0 0 0 0 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }

// *************************************************
// presets 50-59 are slots reserved for dsp_speaker presets
// *************************************************
//  #	ptype	mixrng  dur fade dbmin mixdrop
{	50	LINEAR	0.2 0.7		0 0 0 0 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	51	LINEAR	0.2 0.7		0 0 0 0 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	52	LINEAR	0.2 0.7		0 0 0 0 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	53	LINEAR	0.2 0.7		0 0 0 0 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	54	LINEAR	0.2 0.7		0 0 0 0 {  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }

{	55	LINEAR	0.2 0.7	0.0  0.0  80 0.5						// *** SPEAKER, LOUDER ***
							// AMP	gain	vthresh	distmix	vfeed
							{  AMP	10.0	0.01	0.65	0.0} 
							{  AMP	0.65	1.0		0.0		0.0}

							// FLT	ftype	cutoff	qwidth	quality	gain
							{  FLT	BP		2500	4000	HI		1.8}
}

{	56	LINEAR	0.2 0.7	0.0  0.0  80 0.5						// *** SPEAKER VERY SMALL ***
							// AMP	gain	vthresh	distmix	vfeed
							{  AMP	10.0	0.01	0.65	0.0} 
							{  AMP	0.65	1.0		0.0		0.0}

							// FLT	ftype	cutoff	qwidth	quality	gain
							{  FLT	BP		2500	3800	HI		1.0}
							{  FLT	BP		2500	3800	HI		2.5}
}

{	57	LINEAR	0.2 0.7	0.0  0.0  80 0.5						// *** LOUDSPEAKER ***
							// AMP	gain	vthresh	distmix	vfeed
							{  AMP	10.0	0.01	0.65	0.0} 
							{  AMP	0.65	1.0		0.0		0.0}

							// FLT	ftype	cutoff	qwidth	quality	gain
							{  FLT	BP		2500	1000	HI		1.0}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY PLAIN	180.0	0.28	1.7		LP		3000	    0	LO		0		0	0} 							
}

{	58	LINEAR	0.2 0.7	0.0  0.0  80 0.5						// *** SPEAKER SMALL ***
							// AMP	gain	vthresh	distmix	vfeed
							{  AMP	10.0	0.01	0.65	0.0} 
							{  AMP	0.65	1.0		0.0		0.0}

							// FLT	ftype	cutoff	qwidth	quality	gain
							{  FLT	BP		2500	4000	HI		1.0}
}

{	59	LINEAR	0.2 0.7	0.0  0.0  80 0.5						// *** SPEAKER VERY SMALL ***
							// AMP	gain	vthresh	distmix	vfeed
							{  AMP	10.0	0.01	0.65	0.0} 
							{  AMP	0.65	1.0		0.0		0.0}

							// FLT	ftype	cutoff	qwidth	quality	gain
							{  FLT	BP		2500	3800	HI		1.0}
							{  FLT	BP		2500	3800	HI		2.0}
}

// ************************************************************
// presets 60-100 are memory slots reserved for auto dsp create
// ************************************************************
//  #	ptype	mix		

{	60	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	61	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	62	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	63	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	64	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	65	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	66	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	67	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	68	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	69	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }

{	70	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	71	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	72	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	73	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	74	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	75	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	76	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	77	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	78	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	79	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }

{	80	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	81	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	82	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	83	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	84	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	85	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	86	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	87	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	88	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	89	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }

{	90	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	91	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	92	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	93	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	94	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	95	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	96	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	97	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	98	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }
{	99	LINEAR	0.2 0.7	 0.0 0.0 0.0 0.0 	{  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} }

// *********************************************************
// *** presets 100+ are templates for automatic dsp creation
// *********************************************************

// these convars store the index to the first preset for each shape type in dsp_presets.txt

//ConVar adsp_room_min("adsp_room_min", 102);
//ConVar adsp_duct_min("adsp_duct_min", 106);
//ConVar adsp_hall_min("adsp_hall_min", 110);
//ConVar adsp_tunnel_min("adsp_tunnel_min", 114);
//ConVar adsp_street_min("adsp_street_min", 118);
//ConVar adsp_alley_min("adsp_alley_min", 122);
//ConVar adsp_courtyard_min("adsp_courtyard_min", 126);
//ConVar adsp_openspace_min("adsp_openspace_min", 130);
//ConVar adsp_openwall_min("adsp_openwall_min", 130);
//ConVar adsp_openstreet_min("adsp_openstreet_min", 118);
//ConVar adsp_opencourtyard_min("adsp_opencourtyard_min", 126);

// Automatic dsp parameter notes:

// setting dsp_room to 1 invokes the automatic dsp creator. It stays active until
// dsp_room is set to some other value.

// The dsp interpolator blends between two presetes. For instance, a new preset is created
// between ROOM EMPTY SMALL BRIGHT and ROOM EMPTY HUGE DULL
// based on size of room and reflectivity.  ROOM EMPTY vs ROOM FULL is chosen based on room diffusion -
// ie: how full of objects the room is.  Room type, such as ROOM, HALL, TUNNEL is chosen based on
// shape of space.

// For RVA:
//	if w, d or h param is -1 then parameters are set using room size
//	if w, d or h is non-zero, then size and size_min are ignored
//	if fw, fd and fh are zero, then feedbk is used for w, d, h and normalized for constant fade time
//  if fw, fd or fh is < 0, the corresponding delay param w,d,h is used as a predelay

// For DLY:
//	if delay is -1, delay is set directly from room size * 2

// NOTE: all presets have processor gains set such that signal in db = signal out db (0 db gain).

//////////////////////////////////
// DO NOT MODIFY THESE PRESETS!!!!
//////////////////////////////////

	#	type	mix min dur fade dbmin dbdrop
{	100	LINEAR	0.2 0.7	0.0 0.0  80 0.5
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fd  fh ftap
							{  RVA  80.0 30.0  	4		0.9		1.4		4000	1		0 0    0  0  0  0   0   0   0} 
}

{	101	LINEAR	0.2 0.7	0.0 0.0  80 0.5
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fw  fh ftap
							{  RVA 300.0 150.0    2		0.6		1.0		6000	0	  0   1.141  0  0  0  0   0   0   0.23861 } 
							
							// EFO thresh	attackms decayms
							{  EFO -30		20.0	 200.0 }
}

// ROOM EMPTY SMALL BRIGHT - min parameters
{	102	LINEAR	0.3 0.8	0.0 0.0  80 0.5
																									//  0.9 0.9 0.5
																							// -1 -1 -1 0.0 0.0 0.0 
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fd  fh ftap
							{  RVA  80.0 30.0  	2		0.78	1.1		6000	1		0 0    0  0  0  0   0   0   0 }
}

// ROOM EMPTY HUGE DULL - max parameters
{	103	LINEAR	0.32 0.8 0.0 0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w   d    h  fw  fw  fh ftap
							{  RVA 240.0 50.0  	10		0.97	2.4		1800	1		0 0    0  0  0  0   0   0   0 }
}

// ROOM DIFFUSE SMALL BRIGHT - min parameters
{	104	LINEAR	0.63 0.8	0.0 0.0	  80 0.5
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw  fd  fh ftap
							{  RVA  80.0 30.0  	3		0.78	1.4		5000	1		4 2.0    0  0  0  0   0   0   0 } 
}

// ROOM DIFFUSE HUGE DULL - max parameters
{	105	LINEAR	0.32 0.8 0.0 0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w   d    h  fw  fw  fh ftap
							{  RVA 240.0 50.0  	12		0.97	2.4		1600	1		6 2.0   0  0  0  0   0   0   0 }
}

// DUCT EMPTY SMALL BRIGHT - min parameters
{	106	LINEAR	0.4 0.9	0.0 0.0	  80 0.5	
																							// 6  12 4   0.95 -0.8 0.3  0
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h   fw  fd  fh   ftap
							{  RVA 150.0 10.0  	2		0.90	2.0		6000	1		0 0    0  0  0    0   0  0     0} 
}
// DUCT EMPTY HUGE  DULL - max parameters
{	107	LINEAR	0.4 0.9	0.0 0.0	  80 0.5	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.1483	}
																							// 96 192 64 0.95 -0.8 0.3  0
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h   fw  fd  fh   ftap
							{  RVA 300.0 12.0  	3		0.95	2.0		2000	1		0 0    0  0  0    0   0  0     0} 
}
// DUCT DIFFUSE SMALL BRIGHT - min parameters
{	108	LINEAR	0.4 0.9	0.0 0.0  80 0.5		
																							// 6  12 4   0.95 -0.8 0.3  0
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h   fw  fd  fh   ftap
							{  RVA 150.0 10.0  	2		0.90	2.0		6000	1		0 0    0  0  0    0   0  0     0} 
}
// DUCT DIFFUSE HUGE  DULL - max parameters
{	109	LINEAR	0.4 0.9	0.0 0.0  80 0.5	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.1483	}
																							// 96 192 64 0.95 -0.8 0.3  0
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h   fw  fd  fh   ftap
							{  RVA 300.0 12.0  	3		0.95	2.0		2000	1		0 0    0  0  0    0   0  0     0} 
}


// HALL EMPTY SMALL BRIGHT - min parameters
{	110	LINEAR	0.3 0.8	0.0 0.0  80 0.5		
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw   fd   fh ftap
							{  RVA  0.0  0.0  	3		0.0		2.0		6000	1		0 0    7  20 10  0.85 -0.9 0.3 0} 
}
// HALL EMPTY HUGE DULL - max parameters
{	111	LINEAR	0.3 0.8	0.0 0.0  80 0.5		
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h    fw  fd  fh ftap
							{  RVA 0.0	0.0  	6		0.0		1.8		4000	1		0 0    9 192 64  0.85 -0.3 0.3   0} 
}
// HALL DIFFUSE SMALL BRIGHT - min parameters
{	112	LINEAR	0.3 0.8	0.0 0.0  80 0.5	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.1483	}	
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw   fd   fh ftap
							{  RVA  0.0  0.0  	3		0.0		2.0		6000	1		0 0    7  20 10  0.85 -0.9 0.3 0} 
}
// HALL DIFFUSE HUGE  DULL - max parameters
{	113	LINEAR	0.3 0.8	0.0 0.0  80 0.5		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.1483	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h    fw  fd  fh ftap
							{  RVA 0.0	0.0  	6		0.0		1.8		4000	1		0 0    9 192 64  0.58 -0.3 0.3   0} 
}

// TUNNEL EMPTY SMALL BRIGHT - min parameters
{	114	LINEAR	0.4 0.9	0.0 0.0	  80 0.7	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.1483	}	
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw   fd   fh ftap
							{  RVA  0.0  0.0  	6		0.0		2.0		6000	1		0 0    8  32 10  0.94 -0.9 0.4 0} 
}
// TUNNEL EMPTY HUGE DULL - max parameters
{	115	LINEAR	0.4 0.9	0.0 0.0	  80 0.7	
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h    fw  fd  fh ftap
							{  RVA 0.0	0.0  	9		0.0		2.0		4000	1		0 0    48 192 64  0.97 -0.4 0.5   0} 
}
// TUNNEL DIFFUSE SMALL BRIGHT - min parameters
{	116	LINEAR	0.4 0.9	0.0 0.0  80 0.7		
							// DFR size #dly	feedbk  gain
							{  DFR	1.0	3		0.15	1.0}	
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h  fw   fd   fh ftap
							{  RVA  0.0  0.0  	9		0.0		2.0		6000	1		0 0.0  8  32 10  0.96 -0.9 0.4 0} 
}
// TUNNEL DIFFUSE HUGE  DULL - max parameters
{	117	LINEAR	0.4 0.9	0.0 0.0  80 0.7		
							// DFR size #dly	feedbk	gain
							{  DFR	1.0	4		0.15	1.0}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w  d  h    fw    fd  fh ftap
							{  RVA 0.0	0.0  	12		0.0		2.0		4000	1	   0  0.0  48 192 64  0.97 -0.4 0.4   0} 
}

// STREET EMPTY SMALL BRIGHT - min parameters
{	118	LINEAR  0.3 0.8	0.0 0.0	  75 0.3	
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		4000	1		0 0.0  50 200 120  0.48  -0.16 -0.3  0}
}
// STREET EMPTY HUGE DULL - max parameters
{	119	LINEAR	0.3 0.8	0.0 0.0	  75 0.3	
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		1000	1		0 0.0  100 500 120  0.4 -0.12 -0.2  0} 						
}
// STREET DIFFUSE SMALL BRIGHT - min parameters
{	120	LINEAR	0.3 0.8	0.0 0.0	  75 0.3	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		4000	1		0 0.0  50 200 120  0.48  -0.16 -0.3  0}
}
// STREET DIFFUSE HUGE  DULL - max parameters
{	121	LINEAR	0.3 0.8	0.0 0.0  75 0.3		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		1000	1		0 0.0  100 500 120  0.4 -0.12 -0.2  0} 						
}

// ALLEY EMPTY SMALL BRIGHT - min parameters
{	122	LINEAR	0.32 0.8	0.0 0.0	  60 0.3	
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		5000	1		0 0.0  50  100 70  0.5  -0.3 -0.3  0}
}
// ALLEY EMPTY HUGE DULL - max parameters
{	123	LINEAR	0.32 0.8	0.0 0.0	  60 0.3	
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		3000	1		0 0.0  50 200  70   0.5 -0.26 -0.2  0} 						
}
// ALLEY DIFFUSE SMALL BRIGHT - min parameters
{	124	LINEAR	0.32 0.8	0.0 0.0  60 0.3		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		5000	1		0 0.0  50  100 70  0.5  -0.29 -0.3  0}
}
// ALLEY DIFFUSE HUGE  DULL - max parameters
{	125	LINEAR	0.32 0.8	0.0 0.0  60 0.3		
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w    d   h    fw   fd   fh ftap
							{  RVA 0.0   0.0  	1		0.0 	2.7		3000	1		0 0.0  50 200  70   0.5 -0.26 -0.2  0} 						
}

// COURTYARD EMPTY SMALL BRIGHT - min parameters
{	126	LINEAR 0.21 0.8	0.0 0.0  95 0.1		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	-1.0	0.5		1.2		LP		4000	0		LO		-1		-1	-1}  
}
// COURTYARD EMPTY HUGE DULL - max parameters
{	127	LINEAR 0.21 0.8	0.0 0.0  95 0.1		
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	-1.0	0.4		1.2		LP		900	    0		LO		-1		-1	-1} 
}
// COURTYARD DIFFUSE SMALL BRIGHT - min parameters
{	128	LINEAR 0.21 0.8	0.0 0.0	  95 0.1	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	-1.0	0.5		1.2		LP		4000	0		LO		-1		-1	-1}  
}
// COURTYARD DIFFUSE HUGE  DULL - max parameters
{	129	LINEAR 0.21 0.8	0.0 0.0	  95 0.1	
							// DFR size #dly	feedbk
							{  DFR	1.0	2		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LOWPASS	-1.0	0.2		1.2		LP		900	0		LO		-1		-1	-1} 
}

// OPENSPACE EMPTY SMALL BRIGHT - min parameters
{	130	LINEAR 0.22 0.6	0.0 0.0  95 0.1	
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LINEAR	300.0	0.2		1.0		LP		3000	    0	LO		0		0	0} 
							
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY PLAIN	180.0	0.15	1.0		LP		3000	    0	LO		0		0	0} 
							
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w   d    h  fw  fw  fh ftap
							{  RVA 340.0 220.0 	6		0.8		1.0		1500	     0	  10   2.0 0   0    0  0   0   0   0 }							 
}
// OPENSPACE EMPTY HUGE DULL - max parameters
{	131	LINEAR 0.22 0.6	0.0 0.0	  95 0.1	

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LINEAR	500.0	0.2		1.0		LP		3000	    0	LO		0		0	0} 
							
							// DFR size #dly	feedbk
							{  DFR	1.0	4		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY PLAIN	500.0	0.2		1.0		LP		3000	    0	LO		0		0	0} 
							
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w   d    h  fw  fw  fh ftap
							{  RVA 340.0 200.0 	6		0.9		1.5		900	     0	  10   2.0 0   0    0  0   0   0   0 }							 
}
// OPENSPACE DIFFUSE SMALL BRIGHT - min parameters
{	132	LINEAR 0.2 0.7	0.0 0.0	  95 0.1	
							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LINEAR	300.0	0.2		1.0		LP		3000	    0	LO		0		0	0} 
							
							// DFR size #dly	feedbk
							{  DFR	1.0	3		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY PLAIN	180.0	0.15	1.0		LP		3000	    0	LO		0		0	0} 
							
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w   d    h  fw  fw  fh ftap
							{  RVA 340.0 220.0 	6		0.8		1.0		1500	     0	  10   2.0 0   0    0  0   0   0   0 }							 
}
// OPENSPACE DIFFUSE HUGE DULL - max parameters
{	133	LINEAR 0.2 0.7	0.0 0.0  95 0.1	

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY LINEAR	500.0	0.2		1.0		LP		3000	    0	LO		0		0	0} 
							
							// DFR size #dly	feedbk
							{  DFR	1.0	4		0.15	}

							// DLY dtype	delay	feedbk	gain	ftype	cutoff	qwidth	quality tap1 tap2 tap3
							{  DLY PLAIN	500.0	0.2		1.0		LP		3000	    0	LO		0		0	0} 
							
							// RVA size	 min   	#dly	feedbk	gain	cutoff	fpar fmod rate w   d    h  fw  fw  fh ftap
							{  RVA 340.0 200.0 	6		0.9		1.5		900	     0	  10   2.0 0   0    0  0   0   0   0 }							 
}

/////////////////////////////////////////////////////
// description of parameters for all processor types:
/////////////////////////////////////////////////////

///////////
// Filters			
///////////

		// ftype: filter type FLT_LP, FLT_HP, FLT_BP 		
		// cutoff: cutoff frequency in hz at -3db gain
		// qwidth: width of BP (if qwidth > 0 then cutin = cutoff and cutoff = cutoff + qwidth)
		// quality: QUA_LO, _MED, _HI _VHI 0,1,2,3 = # of series filters 
		// gain: 0-10.0 output gain

//////////
// Delays	
//////////
	
		// dtype: delay type DLY_PLAIN, DLY_LOWPASS, DLY_ALLPASS	
		// delay: delay in milliseconds (room max size in feet)
		// feedback: feedback 0-1.0
		// gain: final gain of output stage, 0-10.0


///////////
// Reverbs
///////////

		// size_max:	0-1000.0 millisec (room width in feet) - delay max
		// size_min:	0-1000.0 millisec (room width in feet) - delay min
		// #dly: controls # of parallel or series delays
		// feedbk: 0-1.0 scales feedback parameters
		// gain: final gain of output stage, 0-1.0
		// fparallel: if true, filters are built into delays, otherwise filter output only
		// cutoff: if > 0, feedback loop is Lowpass filtered to cutoff in Hz
		// fmoddly: if > 0 all delays are modulating delays, param controls depth in milliseconds of modulation
		// rate:	if fmoddly > 0, controls mod rate - ie: # of delay passes that occur between delay modulations

		// width:	0-1000.0 millisec (room width in feet) - used instead of size if non-zero
		// depth:	0-1000.0 room depth in feet - used instead of size if non-zero
		// height:	0-1000.0 room height in feet - used instead of size if non-zero

		// fbwidth:	-1.0-1.0 material reflectivity - used as feedback param instead of decay if non-zero	
		// fbdepth:	-1.0-1.0 material reflectivity - used as feedback param instead of decay if non-zero	
		// fbheight:-1.0-1.0 material reflectivity - used as feedback param instead of decay if non-zero	
										// if < 0, a predelay is allocated, then feedback is -1*param given
		// ftaps:	if > 0, scales all tap delays as D ( 1 - N * tap) n = 0,1,2,3	


/////////////
// Diffusors	
/////////////

		// size: 0-1.0 scales all delays				(13ms to 41ms * scale = delay)
		// #dly	: 0-4.0 controls # of series delays	
		// feedbk: 0-1.0 scales all feedback parameters	

//////////////
// Amplifiers
//////////////
	// {amp_gain,		0.0, 10.0},			// amplification		
	// {amp_vthresh,	0.0, 1.0},			// threshold for distortion (1.0 = no distortion)
	// {amp_distmix,	0.0, 1.0},			// mix of clean and distortion (1.0 = full distortion, 0.0 = full clean)
	// {amp_vfeed,	    0.0, 1.0},			// distortion feedback
	// modrate,	0.01, 200.0},		// frequency at which amplitude values change to new random value. 0 is no self-modulation
	// moddepth,	0.0, 1.0},			// how much amplitude changes (decreases) from current value (0-1.0) 
	// modglide,	0.01, 100.0},		// glide time between mapcur and ampnew in milliseconds
	// rand			0, 1				// if 1, modulate randomly between gain & g*(1-depth). otherwise alternate gain/gainmin

////////
// LFOs		
////////
		// wavtype: lfo type to use (LFO_SIN, LFO_RND...)
		// rate: modulation rate in hz. for MDY, 1/rate = 'glide' time in seconds
		// foneshot: 1.0 if lfo is oneshot
		// gain: scale output amplitude by gain 0-1.0


/////////
// Pitch	
/////////

		// pitch: 0-n.0 where 1.0 = 1 octave up and 0.5 is one octave down	
		// timeslice: in milliseconds - size of sound chunk to analyze and cut/duplicate - 100ms nominal
		// xfade: in milliseconds - size of crossfade region between spliced chunks - 20ms nominal
	

/////////////
// Envelopes	
/////////////

		// etype: ENV_LINEAR, ENV_LOG - currently ignored
		// amp1: attack peak amplitude 0-1.0
		// amp2: decay target amplitued 0-1.0
		// amp3: sustain target amplitude 0-1.0
		// attack time in milliseconds
		// envelope decay time in milliseconds
		// sustain time in milliseconds	
		// release time in milliseconds	
		// exp: if 1, use exponential curves

//////////////
// Mod delays	
//////////////

		// dtype: delay type DLY_PLAIN, DLY_LOWPASS, DLY_ALLPASS	
		// delay: delay in milliseconds
		// feedback: feedback 0-1.0
		// gain: final gain of output stage, 0-1.0

		// modrate: frequency at which delay values change to new random value. 0 is no self-modulation
		// moddepth: how much delay changes (decreases) from current value (0-1.0) 
		// modglide: glide time between dcur and dnew in milliseconds


//////////
// Chorus	
//////////

		// lfowav: lfotype is LFO_SIN, LFO_RND, LFO_TRI etc (LFO_RND for chorus, LFO_SIN for flange)
		// rate: rate is modulation frequency in Hz
		// depth: depth is modulation depth, 0-1.0
		// mix: mix is mix of chorus and clean signal


//////////////////////////
// Envelope follower/ Gate
//////////////////////////

	// threshold,	0.0, -140.0		// gate threshold in db. if 0.0 then no gate.
	// attack,		0.0, 20000.0	// attack time in milliseconds
	// decay,		0.0, 20000.0	// envelope decay time in milliseconds
	// exp,			0.0, 1.0		// if 1.0 use exponential decay

// UNDONE: stock reverb presets: 

// carpet hallway
// tile hallway
// wood hallway
// metal hallway

// train tunnel
// sewer main tunnel
// concrete access tunnel
// cave tunnel
// sand floor cave tunnel

// metal duct shaft
// elevator shaft
// large elevator shaft

// parking garage
// aircraft hangar
// cathedral
// train station

// small cavern
// large cavern
// huge cavern
// watery cavern
// long, low cavern

// wood warehouse
// metal warehouse
// concrete warehouse

// small closet room
// medium drywall room
// medium wood room
// medium metal room

// elevator
// small metal room
// medium metal room
// large metal room
// huge metal room

// small metal room dense
// medium metal room dense
// large metal room dense
// huge metal room dense

// small concrete room
// medium concrete room
// large concrete room
// huge concrete room

// small concrete room dense
// medium concrete room dense
// large concrete room dense
// huge concrete room dense

// soundproof room
// carpet lobby
// swimming pool
// open park
// open courtyard
// wide parkinglot
// narrow street
// wide street, short buildings
// wide street, tall buildings
// narrow canyon
// wide canyon
// huge canyon
// small valley
// wide valley
// wreckage & rubble
// small building cluster
// wide open plain
// high vista

// alien interior small
// alien interior medium
// alien interior large
// alien interior huge

// special fx presets:

// alien citadel 

// teleport aftershock (these presets all ADSR timeout and reset the dsp_* to 0)
// on target teleport
// off target teleport
// death fade
// beam stasis
// scatterbrain
// pulse only
// slomo
// hypersensitive
// supershocker
// physwhacked
// forcefieldfry
// juiced
// zoomed in
// crabbed
// barnacle gut
// bad transmission


//        pst prm gn p1  p1  p3 p4 p5  p6  p7 p8....
//dsp_parm 10 1 1.8 1.0 1.0 0.9 0 1000 500 1 1 0 0 0 0 0 0 0		// diffuse medium room, metal
//dsp_parm 10 1 1.3 1.0 1.0 0.8 0 1000 500 1 1 0 0 0 0 0 0 0		// diffuse medium room dull
//dsp_parm 10 1 1.3 1.0 1.0 0.8 0 4000 2000 1 1 0 0 0 0 0 0 0	// diffuse medium room
//dsp_parm 10 1 1.3 1.0 1.0 0.8 0 8000 2000 1 1 0 0 0 0 0 0 0	// diffuse medium room bright
//dsp_parm 10 1 1.4 1.5 1.0 0.84 0 8000 2000 1 1 0 0 0 0 0 0 0	// diffuse larger room bright