Dsp presets

From Valve Developer Community
Jump to navigation Jump to search
Dead End - Icon.png
This article has no Wikipedia icon links to other VDC articles. Please help improve this article by adding links Wikipedia icon 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