"use strict";

/* --------------------------------------------------- */
/* Sound effects                                       */
/* --------------------------------------------------- */

DATA_CHIPTUNES["FX_confirm"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sq":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
				//,	{command: "tempo", // change tempo mid-tune
				//		data: {bpm: 120}
				//	}
				//,	{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
				//		data: {cents: 0}
				//	}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Gn4 0.075"
						//,	"Cn5 0.075"
						,	"En5 0.075"
						]
					}

				]
		}
	};

DATA_CHIPTUNES["FX_pick"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sq":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
				//,	{command: "tempo", // change tempo mid-tune
				//		data: {bpm: 120}
				//	}
				//,	{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
				//		data: {cents: 0}
				//	}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
						//	"Gn4 0.075"
						//,	"Cn5 0.075"
							"En5 0.075"
						]
					}

				]
		}
	};

DATA_CHIPTUNES["FX_dlg_open"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sin":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 2.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Gn2 0.25"
						]
					}

				]
		}
	};
DATA_CHIPTUNES["FX_dlg_close"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sin":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 2.0, "end": 1.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Gn2 0.25"
						]
					}

				]
		}
	};


DATA_CHIPTUNES["FX_swish"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					},
					{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1.0, "dur": 0.0}
					},
					{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.0, "end": 20.0, "dur": 0.0}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En6 0.1" //hat
						]
					},

					{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0.0}
					},
					{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.5, "end": 10.0, "dur": 0.0}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En6 0.15" //hat
						]
					}
				]
		}
	};

DATA_CHIPTUNES["FX_zown"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					},
					{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.125, "end": 1.0, "dur": 0.0}
					},
					{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.0, "end": 15.0, "dur": 0.0}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En2 0.1" //hat
						]
					},

					{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.75, "end": 0, "dur": 0.0}
					},
					{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.5, "end": 0.025, "dur": 0.0}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An3 0.75" //hat
						]
					}
				],
			"st":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					},
					{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1.0, "dur": 0.0}
					},
					{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.0, "end": 1.1, "dur": 0.0}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En2 0.05",
							//"Fn2 0.05",
							"Gn2 0.05",
							//"An2 0.05",

							"Bn2 0.05",
							"Bf2 0.05",
							"An2 0.05",
							"Af2 0.05"
						]
					},
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.075}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Gn2 0.05",
							"Gf2 0.05",
							"Fn2 0.05",
							"En2 0.05"
						]
					},
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.05}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Ef2 0.05",
							"Dn2 0.05"
						]
					},
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.025}
					},
					{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Df2 0.05",
							"Cn2 0.05"
						]
					}
				]
		}
	};


DATA_CHIPTUNES["FX_splashup"] = {
		chip: "oneofeach",
		bpm: 60, // beats per minute; 1 SFX "beat" = 1 second
		priority: 2, // standard SFX
		songdata : {
			nz:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.1}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.25, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 1.5, end: 10.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Cn6 0.15", //hat
						]
					},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 0.25, end: 0.5, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 1.5, end: 10.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"En6 0.15", //hat
						]
					},
				],
			sin:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.025}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 0.0, end: 1.0, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 3.0, end: 2.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Rst 0.05",
							"Dn5 0.2",
						]
					},
				],
		}
	};
DATA_CHIPTUNES["FX_splashdown"] = {
		chip: "oneofeach",
		bpm: 60, // beats per minute; 1 SFX "beat" = 1 second
		priority: 2, // standard SFX
		songdata : {
			nz:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.1}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.25, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 1.5, end: 10.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"En6 0.15", //hat
						]
					},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.25, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 1.5, end: 10.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Cn6 0.15", //hat
						]
					},
				],
			sin:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.05}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.25, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 3.0, end: 1.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Rst 0.1",
							"Dn5 0.05",
						]
					},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 0.25, end: 0.5, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 1.0, end: 1.5, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Dn5 0.05",
						]
					},
				],
		}
	};

DATA_CHIPTUNES["FX_oof"] = {
		chip: "oneofeach",
		bpm: 60, // beats per minute; 1 SFX "beat" = 1 second
		priority: 2, // standard SFX
		songdata : {
			sin:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.06}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 0.25, end: 1.0, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 2.0, end: 2.5, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"An4 0.05",
						]
					},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.5, dur: 0.0}
					},
					{command: "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						data: {start: 2.0, end: 1.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"An4 0.05",
						]
					},
				],
		}
	};

DATA_CHIPTUNES["FX_ouch"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sin":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.075}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
				,	//{"command": "tempo", // change tempo mid-tune
					//	"data": {"bpm": 120}
					//},
					//{"command": "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	"data": {"cents": 0}
					//},

					{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 2.5, "end": 3.0, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.05"
						]
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.5, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 3.0, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.1"
						]
					}
				]
		}
	};

DATA_CHIPTUNES["FX_hup"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sin":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.075}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 0.5, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.75, "end": 1.5, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.025"
						]
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.5, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 2.0, "end": 2.75, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.05"
						]
					}
				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.5, "end": 0.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 2.5, "end": 1.5, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.025"
						]
					}
				]
		}
	};
DATA_CHIPTUNES["FX_eh"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sin":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.075}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
					//{"command": "tempo", // change tempo mid-tune
					//	"data": {"bpm": 120}
					//},
					//{"command": "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	"data": {"cents": 0}
					//},

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.75, "end": 0.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 2.0, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.1"
						]
					}
				]
		}
	};
DATA_CHIPTUNES["FX_yah"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"sin":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.0, "end": 1.5, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.01"
						]
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 0.25, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.5, "end": 2.5, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.01"
						]
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 3.5, "end": 3.5, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.025"
						]
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 3.5, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An4 0.1"
						]
					}
				]
		}
	};

DATA_CHIPTUNES["FX_whoosh"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 1.0, "end": 4.0, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En3 0.1"
						]
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 4, "end": 3.0, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En3 0.125"
						]
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 0.0, "dur": 0.0}
					}
				,	{"command": "sweep", // set linear frequency sweep applied to every note (start and end multiply base note frequency)
						"data": {"start": 3, "end": 1.0, "dur": 0.0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En3 0.5"
						]
					}
				]
		}
	};

DATA_CHIPTUNES["FX_smallheart"] = {
		chip: "oneofeach",
		bpm: 60, // beats per minute; 1 SFX "beat" = 1 second
		priority: 2, // standard SFX
		songdata : {
			sq:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.07}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 0.5, end: 1.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Cn5 0.075",
							"En5 0.075",
						]
					},

				],
		}
	};
DATA_CHIPTUNES["FX_bigheart"] = {
		chip: "oneofeach",
		bpm: 60, // beats per minute; 1 SFX "beat" = 1 second
		priority: 2, // standard SFX
		songdata : {
			sq:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.07}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 0.5, end: 1.0, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Cn5 0.075",
							"En5 0.075",
							"Fs5 0.075",
						]
					},

				],
		}
	};

DATA_CHIPTUNES["FX_cough"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"tri":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.2}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 2.0, "end": 1.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cs3 0.15"
						]
					}

				]
		}
	};
DATA_CHIPTUNES["FX_infect"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"tri":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.2}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}
				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 2.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.25, "end": 1, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cs3 0.15"
						]
					}

				]
		}
	};

DATA_CHIPTUNES["FX_splat"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 0.75, "end": 10.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.9, "end": 1, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cs3 0.05"
						]
					}
				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 10.0, "end": 5.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 0.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cs3 0.05"
						]
					}


				]
		}
	};

DATA_CHIPTUNES["FX_poof"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.1}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 0.75, "end": 5.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.9, "end": 1, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cs2 0.1"
						]
					}
				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 5.0, "end": 5.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 0.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cs2 0.1"
						]
					}


				]
		}
	};

DATA_CHIPTUNES["FX_switchon"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.08}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				//,	{"command": "sweep", // set linear ramp envelope applied to every note
				//		"data": {"start": 0.75, "end": 5.0, "dur": 0}
				//	}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cn5 0.05"
						,	"En6 0.05"
						]
					}



				]
		}
	};
DATA_CHIPTUNES["FX_switchoff"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.08}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				//,	{"command": "sweep", // set linear ramp envelope applied to every note
				//		"data": {"start": 0.75, "end": 5.0, "dur": 0}
				//	}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En6 0.05"
						,	"Cn5 0.05"
						]
					}



				]
		}
	};

DATA_CHIPTUNES["FX_grind"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.04}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 1.1, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.75, "end": 1, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Gs2 0.1"
						]
					}



				]
		}
	};
DATA_CHIPTUNES["FX_fallcrash"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.08}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 0.7, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Gs2 0.5"
						]
					}



				]
		}
	};

DATA_CHIPTUNES["FX_waterrush"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.04}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 1.1, "dur": 0}
					}
				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.0, "end": 1, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Bn2 1"
						]
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.1, "end": 1.1, "dur": 0}
					}
				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 1, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Bn2 2"
						]
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.1, "end": 1.0, "dur": 0}
					}
				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1, "end": 0.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Bn2 1"
						]
					}



				]
		}
	};

DATA_CHIPTUNES["FX_boltshot"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.05}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 3.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 0.0, "end": 1.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En4 0.1"
						]
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 3.0, "end": 1.0, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.25, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"En6 0.05"
						]
					}
				]
		}
	};

DATA_CHIPTUNES["FX_longfall"] = {
		chip: "oneofeach",
		bpm: 60, // beats per minute; 1 SFX "beat" = 1 second
		priority: 2, // standard SFX
		songdata : {
			sq:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.07}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.5}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.0, dur: 0.0}
					},
					{command: "sweep", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.25, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Bn4 2",
						]
					},

				],

			tri:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.05}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.75}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.0, dur: 0.0}
					},
					{command: "sweep", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.25, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"Cs5 2.5",
						]
					},

				],

			sin:	// name of a channel on the chip	
				[
					{command: "vol", // set overall volume of channel
						data: {level: 0.05}
					},
					{command: "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						data: {position: 0.25}
					},
					//{command: "tempo", // change tempo mid-tune
					//	data: {bpm: 120}
					//},
					//{command: "detune", // detune in cents to be applied to the oscillator (for "richer" cound when 2 similar frequencies overlap)
					//	data: {cents: 0}
					//},

					{command: "env", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.0, dur: 0.0}
					},
					{command: "sweep", // set linear ramp envelope applied to every note
						data: {start: 1.0, end: 0.25, dur: 0.0}
					},
					{command: "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						data: [
							"An4 2.5",
						]
					},

				],
		}
	};

DATA_CHIPTUNES["FX_shatter"] = {
		"chip": "oneofeach",
		"bpm": 60, // beats per minute; 1 SFX "beat" = 1 second
		"priority": 2, // standard SFX
		"songdata" : {
			"st":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.08}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.25, "travel": 0.5, "dur": 0.07, "alternate":true}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.95, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Cn7 0.05"
						,	"Fs5 0.05"
						,	"Cn6 0.05"
						,	"An6 0.4"
						]
					}
				]
		,	"sq":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.08}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 1.0, "travel": -1.0, "dur": 0.07, "alternate":true}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.1, "end": 1.1, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Rst 0.025"
						,	"Cn6 0.05"
						,	"Cs6 0.05"
						,	"Fs6 0.05"
						,	"Bn6 0.2"
						]
					}
				]
		,	"sin":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.06}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.8, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"Bn3 0.4"
						]
					}
				]
		,	"nz":	// name of a channel on the chip	
				[
					{"command": "vol", // set overall volume of channel
						"data": {"level": 0.06}
					}
				,	{"command": "pan", // linearly-divided fraction of the audio going to the right channel, with the remainder going to the left
						"data": {"position": 0.5}
					}

				,	{"command": "sweep", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.8, "dur": 0}
					}

				,	{"command": "env", // set linear ramp envelope applied to every note
						"data": {"start": 1.0, "end": 0.0, "dur": 0}
					}
				,	{"command": "notes", // strings of the form "NnO L" where NnO is the Note-modifier-Octave note to play (from DEF_CHIPTUNE_PITCHES) and L is the length in beats or fractions (can be multiple characters as long as parseFloat will take it)
						"data": [
							"An3 0.1"
						,	"Dn4 0.5"
						]
					}
				]
		}
	};






