{
	"objName": "Speaker",
	"variables": [{
			"name": "scale degree",
			"value": 1,
			"isPersistent": false
		},
		{
			"name": "octave",
			"value": 0,
			"isPersistent": false
		},
		{
			"name": "note number",
			"value": 62,
			"isPersistent": false
		},
		{
			"name": "loop number",
			"value": 1,
			"isPersistent": false
		}],
	"scripts": [[890,
			496,
			[["procDef", "play major scale note %n for %n beats", ["note", "beats"], [1, 1], false],
				["setVar:to:", "scale degree", ["%", ["-", ["getParam", "note", "r"], 1], 7]],
				["setVar:to:",
					"octave",
					["computeFunction:of:", "floor", ["\/", ["-", ["getParam", "note", "r"], 1], 7]]],
				["doIf", ["=", ["readVariable", "scale degree"], "0"], [["setVar:to:", "note number", 0]]],
				["doIf", ["=", ["readVariable", "scale degree"], "1"], [["setVar:to:", "note number", "2"]]],
				["doIf", ["=", ["readVariable", "scale degree"], "2"], [["setVar:to:", "note number", "4"]]],
				["doIf", ["=", ["readVariable", "scale degree"], "3"], [["setVar:to:", "note number", "5"]]],
				["doIf", ["=", ["readVariable", "scale degree"], "4"], [["setVar:to:", "note number", "7"]]],
				["doIf", ["=", ["readVariable", "scale degree"], "5"], [["setVar:to:", "note number", "9"]]],
				["doIf", ["=", ["readVariable", "scale degree"], "6"], [["setVar:to:", "note number", "11"]]],
				["changeVar:by:", "note number", 60],
				["changeVar:by:", "note number", ["*", ["readVariable", "octave"], 12]],
				["noteOn:duration:elapsed:from:", ["readVariable", "note number"], ["getParam", "beats", "r"]]]]],
	"sounds": [{
			"soundName": "drive around",
			"soundID": -1,
			"md5": "a3a85fb8564b0266f50a9c091087b7aa.wav",
			"sampleCount": 44096,
			"rate": 22050,
			"format": ""
		},
		{
			"soundName": "scratchy beat",
			"soundID": -1,
			"md5": "289dc558e076971e74dd1a0bd55719b1.wav",
			"sampleCount": 44096,
			"rate": 22050,
			"format": ""
		},
		{
			"soundName": "drum jam",
			"soundID": -1,
			"md5": "8b5486ccc806e97e83049d25b071f7e4.wav",
			"sampleCount": 44288,
			"rate": 22050,
			"format": ""
		},
		{
			"soundName": "cymbal echo",
			"soundID": -1,
			"md5": "bb243badd1201b2607bf2513df10cd97.wav",
			"sampleCount": 44326,
			"rate": 22050,
			"format": ""
		},
		{
			"soundName": "drum satellite",
			"soundID": -1,
			"md5": "079067d7909f791b29f8be1c00fc2131.wav",
			"sampleCount": 44096,
			"rate": 22050,
			"format": ""
		},
		{
			"soundName": "kick back",
			"soundID": -1,
			"md5": "9cd340d9d568b1479f731e69e103b3ce.wav",
			"sampleCount": 44748,
			"rate": 22050,
			"format": "adpcm"
		},
		{
			"soundName": "drum funky",
			"soundID": -1,
			"md5": "fb56022366d21b299cbc3fd5e16000c2.wav",
			"sampleCount": 44748,
			"rate": 22050,
			"format": "adpcm"
		}],
	"costumes": [{
			"costumeName": "speaker",
			"baseLayerID": -1,
			"baseLayerMD5": "44dc3a2ec161999545914d1f77332d76.svg",
			"bitmapResolution": 1,
			"rotationCenterX": 53,
			"rotationCenterY": 79
		}],
	"currentCostumeIndex": 0,
	"scratchX": 0,
	"scratchY": 0,
	"scale": 1,
	"direction": 90,
	"rotationStyle": "normal",
	"isDraggable": false,
	"indexInLibrary": 100000,
	"visible": true,
	"spriteInfo": {
	}
}