Click here to Skip to main content
15,896,154 members
Articles / Programming Languages / C#

ProjectMIDI: an extensible set of small MIDI .NET programs

Rate me:
Please Sign up or sign in to vote.
4.70/5 (14 votes)
24 Jan 200626 min read 85.4K   3.4K   57  
This article describes how multiple .NET assemblies work together to control MIDI devices in a live performance environment.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

// Use the .tag field of the TreeNodes for the Inst #

namespace TD8NS
{
	/// <summary>
	/// Summary description for TD8PadEdit.
	/// </summary>
	public class TD8PadEdit : System.Windows.Forms.Form
	{
		private const int NumGroups = 16;

		#region Instrument name arrays
//		#region vkickGroup 1-90
//		public static string[] vkickGroup = {		// 1 - 90
//								  "Dbl Head Kick",		
//								  "Sharp Kick",
//								  "Acoustic Kick",
//								  "Meat Kick",
//								  "R8 Low Kick",
//								  "R8 Dry Kick",
//								  "WD Beater Kick",
//								  "Open Kick",
//								  "Vintage Kick",
//								  "26 Deep Kick",	// 10
//								  "Thick Hd Kick",
//								  "Round Kick",
//								  "Medium Kick",
//								  "Big Room Kick",
//								  "Big Kick",
//								  "Big Low Kick",
//								  "Studio 1 Kick",
//								  "Studio 2 Kick",
//								  "Studio 3 Kick",
//								  "Studio 4 Kick",	// 20
//								  "Studio 5 Kick",
//								  "Studio 6 Kick",
//								  "Studio 7 Kick",
//								  "Studio 8 Kick",
//								  "Buzz 1 Kick",
//								  "Buzz 2 Kick",
//								  "Buzz 3 Kick",
//								  "Buzz 4 Kick",
//								  "Buzz 5 Kick",
//								  "Room 1 Kick",	// 30
//								  "Room 2 Kick",
//								  "Room 3 Kick",
//								  "Room 4 Kick",
//								  "Room 5 Kick",
//								  "Room 6 Kick",
//								  "Room 7 Kick",
//								  "Amb 1 Kick",
//								  "Amb 2 Kick",
//								  "Amb 3 Kick",
//								  "Amb 4 Kick",	// 40
//								  "Solid 1 Kick",
//								  "Solid 2 Kick",
//								  "Solid 3 Kick",
//								  "Jazz 1 Kick",
//								  "18 Jazz Kick",
//								  "Brush Hit Kick",
//								  "Wood 1 Kick",
//								  "Wood 2 Kick",
//								  "Wood 3 Kick",	// 50
//								  "Wood 4 Kick",
//								  "Maple 1 Kick",
//								  "Maple 2 Kick",
//								  "Oak Kick",
//								  "Birch Kick",
//								  "Rose Wood Kick",
//								  "One Ply Kick",
//								  "Oyster Kick",
//								  "Dry Kick",
//								  "Dry Medium Kick",	// 60
//								  "Dry Hard Kick",
//								  "Deep Dry Kick",
//								  "Fusion Kick",
//								  "Sand Bag Kick",
//								  "BasketBall Kick",
//								  "Mondo Kick",
//								  "MdVrb1 Kick",
//								  "MdVrb2 Kick",
//								  "Sizzle Kick",
//								  "Box Kick",		// 70
//								  "Ninja Kick",
//								  "Dance Kick",
//								  "House Kick",
//								  "Pillow Kick",
//								  "Rap Kick",
//								  "TR808 Kick",
//								  "808 Hard Kick",
//								  "808 Boom Kick",
//								  "808 Noise Kick",
//								  "TR909 Kick",	// 80
//								  "909 Wood Kick",
//								  "909 HdatKick",
//								  "Elephant Kick",
//								  "Cattle Kick",
//								  "Door Kick",
//								  "Punch Kick",
//								  "Machine Kick",
//								  "Broken Kick",
//								  "Bend Up Kick",
//								  "Hard Noise Kick"	// 90
//							  };
//		#endregion
//		#region kickGroup 91-129
//		public static string[] kickGroup = {	// 91 - 129
//								 "R8 Solid Kick",
//								 "R8 Solid Kick",
//								 "Thin Head Kick",
//								 "Tight Kick",
//								 "Chunk Kick",
//								 "Gate Kick",
//								 "Giant Kick",
//								 "Inside Kick",
//								 "Std1 1 Kick",
//								 "Std1 2 Kick",
//								 "Std2 1 Kick",	// 100
//								 "Std2 2 Kick",
//								 "Room 8 Kick",
//								 "Room 9 Kick",
//								 "Power Kick 1",
//								 "Power Kick 2",
//								 "Jazz 3 Kick",
//								 "Jazz 4 Kick",
//								 "Brush Kick",
//								 "Elec 1 Kick",
//								 "Elec 2 Kick",		// 110
//								 "ElBend Kick",
//								 "Plastic 1 Kick",
//								 "Plastic 2 Kick",
//								 "Gabba Kick",
//								 "Gabba2 Kick",
//								 "Tail Kick",
//								 "Jungle Kick",
//								 "HipHop Kick",
//								 "LoFi 1 Kick",
//								 "LoFi 2 Kick",		// 120
//								 "LoFi 3 Kick",
//								 "LoFi 4 Kick",
//								 "Noisy Kick",
//								 "Splat Kick",
//								 "Scratch 1 Kick",
//								 "Scratch 2 Kick",
//								 "Hi-Q Kick",
//								 "Space Kick",
//								 "Syn Bass Kick"		// 129
//							 };
//		#endregion
//		#region vsnareGroup 130-235
//		public static string[] vsnareGroup = {	// 130 - 235
//				"Custom Snare (pos)",	// 130
//				"Cstm Rimshot",
//				"CstmBr S(pos)",
//				"CstmBrRS",
//				"CstmSt S(pos)",
//				"CstmStRS",
//				"Picolo1S(pos)",
//				"Pco1 RS",
//				"Pco1BR S(pos)",
//				"Pco1BrRS",
//				"Pco1St S(pos)",	// 140
//				"Pco1StRS",
//				"Picolo2S(pos)",
//				"Pco2 RS",
//				"Pco2Br S(pos)",
//				"Pco2BrRs",
//				"Pco2St S(pos)",
//				"Pco2StRs",
//				"Picolo3S(pos)",
//				"Pco3 RS",
//				"Pco3Br S(pos)",	// 150
//				"Pco3BrRs",
//				"Pco3St S(pos)",
//				"Pco3StRs",
//				"Medium1S(pos)",
//				"Med1 RS",
//				"Med1 XS(x-stick)",
//				"Med1Br S(pos)",
//				"Med1BrRS",
//				"Med1BrXS(x-stick)",
//				"Med1St S(pos)",	// 160
//				"Med1StRS",
//				"Med1StXS(x-stick)",
//				"Medium2S(pos)",
//				"Med2 RS",
//				"Med2Br S(pos)",
//				"Med2BrRS",
//				"Med2St S(pos)",
//				"Med2StRS",
//				"Medium3S(pos)",
//				"Med3 RS",			// 170
//				"Med3Br S(pos)",
//				"Med3BrRS",
//				"Med3St S(pos)",
//				"Med3StRS",
//				"Medium4S(pos)",
//				"Med4 RS",
//				"Med4Br S(pos)",
//				"Med4BrRS",
//				"Med4St S(pos)",
//				"Med4StRS",			// 180
//				"Fat1 S(pos)",
//				"Fat1 RS",
//				"Fat1Br S(pos)",
//				"Fat1BrRS",
//				"Fat1St S(pos)",
//				"Fat1StRS",
//				"Fat2 S(pos)",
//				"Fat2 RS",
//				"Fat2Br S(pos)",
//				"Fat2BrRS",			// 190
//				"Fat2St S(pos)",
//				"Fat2StRS",
//				"AcusticS(pos)",
//				"Acus RS",
//				"AcusBr S(pos)",
//				"AcusBrRS",
//				"AcusSt S(pos)",
//				"AcusStRS",
//				"VintageS(pos)",
//				"Vntg RS",			// 200
//				"VntgBr S(pos)",
//				"VntgBrRS",
//				"VntgSt S(pos)",
//				"VntgStRS",
//				"Comp S(pos)",
//				"Comp RS",
//				"CompBr S(pos)",
//				"CompBrRS",
//				"CompSt S(pos)",
//				"CompStRS",			// 210
//				"Jazz S",
//				"Jazz RS",
//				"Jazz XS(x-stick)",
//				"JazzBr S",
//				"JazzBrRS",
//				"JazzBrXS(x-stick)",
//				"JazzSt S",
//				"JazzStRS",
//				"JazzStXS(x-stick)",
//				"Dirty S(pos)",		// 220
//				"Drty RS",
//				"DrtyBr S(pos)",
//				"DrtyBrRS",
//				"DrtySt S(pos)",
//				"DrtyStRS",
//				"13 S",
//				"13 RS",
//				"Birch S",
//				"Birch RS",
//				"TD7Mpl S",			// 230
//				"TD7MplRS",
//				"Ballad S",
//				"Brush1 S(sweep)",
//				"Brush2 S(sweep)",
//				"Brush3 S(sweep)"
//			};
//		#endregion
//		#region snareGroup 236-324
//		public static string[] snareGroup = {		// 236 - 324
//			"Brush Tap",
//		    "Brush Slap",
//			"Brush Swirl",
//			"Brush TMB Snare *sweep",
//			"MIDI Brush 1 Snare",			//240
//			"MIDI Brush 2 Snare",
//			"MIDI Brush 3 Snare",
//			"Boston Snare",
//			"Boston RimShot",
//			"Bronze Snare",
//			"Bronze RimShot",
//			"Bronze 2 Snare",
//			"Bronze 2 RimShot",
//			"Birch 2 Snare",
//			"Copper Snare",			// 250
//			"Copper 2 Snare",
//			"10 inch Snare",
//			"L.A. Snare",
//			"London Snare",
//			"Ring Snare",
//			"Ring Rimshot",
//			"Rock Snare",
//			"Rock RimShot",
//			"R8 Maple Snare",
//			"R8 Maple RimShot",		// 260
//			"Bigshot Snare",
//			"Standard1 1 Snare",
//			"Standard1 2 Snare",
//			"Standard2 1 Snare",
//			"Standard2 2 Snare",
//			"Room 1 Snare",
//			"Room 2 Snare",
//			"Power 1 Snare",
//			"Power 2 Snare",
//			"Gate Snare",		// 270
//			"Jazz 2 Snare",
//			"Jazz 3 Snare",
//			"Funk Snare",
//			"Funk RimShot",
//			"Bop Snare",
//			"Bop RimShot",
//			"Picolo 5 Snare",
//			"Picolo 5 RimShot",
//			"Picolo 6 Snare",
//			"Picolo 6 RimShot",		// 280
//			"Medium 5 Snare",
//			"Medium 5 RimShot",
//			"Medium 6 Snare",
//			"Medium 6 RimShot",
//			"Medium 7 Snare",
//			"Medium 7 RimShot",
//			"Medium 8 Snare",
//			"Medium 8 RimShot",
//			"Fat 3 Snare",
//			"Fat 3 RimShot",		// 290
//			"Fat 4 Snare",
//			"Fat 4 RimShot",
//			"Dynamic Snare",
//			"Dynamic RimShot",
//			"Roll Snare",
//			"Buzz Snare",
//			"Dopin 1 Snare",
//			"Dopin 2 Snare",
//			"Raggae Snare",
//			"Cruddy Snare",			// 300
//			"Dance 1 Snare",
//			"Dance 2 Snare",
//			"House Snare",
//			"House DPN Snare",
//			"Clap! Snare",
//			"Whack Snare",
//			"TR808 Snare",
//			"TR909 Snare",
//			"Electric 1 Snare",
//			"Electric 2 Snare",		// 310
//			"Electric 3 Snare",
//			"El Noise Snare",
//			"Hip Hop Snare",
//			"Hip Hop 2 Snare",
//			"LoFi Snare",
//			"LoFi RimShot",
//			"Radio Snare",
//			"Cross-Stick 1",
//			"Cross-Stick 2",
//			"Cross-Stick 3",		// 320
//			"Cross-Stick 4",
//			"Cross-Stick 5",
//			"Cross-Stick 6",
//			"808 Cross-Stick"
//		  };
//		#endregion
//		#region vtomGroup 325-484
//		public static string[] vtomGroup = { 	// 325 - 484
//			"Oyster Tom1",
//			"Oyster Tom2",
//			"Oyster Tom3",
//			"Oyster Tom4",
//			"Comp Tom1",
//			"Comp Tom2",		// 330
//			"Comp Romp3",
//			"Comp Tom4",
//			"Fibre Tom1",
//			"Fibre Tom2",
//			"Fibre Tom3",
//			"Fibre Tom4",
//			"Dry 1 Tom1",
//			"Dry 1 Tom2",
//			"Dry 1 Tom3",
//			"Dry 1 Tom4",		// 340
//			"Dry 2 Tom1",
//			"Dry 2 Tom2",
//			"Dry 2 Tom3",
//			"Dry 2 Tom4",
//			"Maple Tom1",
//			"Maple Tom2",
//			"Maple Tom3",
//			"Maple Tom4",
//			"Rose Tom1",
//			"Rose Tom2",		// 350
//			"Rose Tom3",
//			"Rose Tom4",
//			"Sakura Tom1",
//			"Sakura Tom2",
//			"Sakura Tom3",
//			"Sakura Tom4",
//			"Jazz 1 Tom1",
//			"Jazz 1 Tom2",
//			"Jazz 1 Tom3",
//			"Jazz 1 Tom4",		// 360
//			"Jazz 2 Tom1",
//			"Jazz 2 Tom2",
//			"Jazz 2 Tom3",
//			"Jazz 2 Tom4",
//			"Buzz 1 Tom1",
//			"Buzz 1 Tom2",
//			"Buzz 1 Tom3",
//			"Buzz 1 Tom4",
//			"Buzz 2 Tom1",
//			"Buzz 2 Tom2",		// 370
//			"Buzz 2 Tom3",
//			"Buzz 2 Tom4",
//			"Buzz 3 Tom1",
//			"Buzz 3 Tom2",
//			"Buzz 3 Tom3",
//			"Buzz 3 Tom4",
//			"Buzz 4 Tom1",
//			"Buzz 4 Tom2",
//			"Buzz 4 Tom3",
//			"Buzz 4 Tom4",		// 380
//			"Natural Tom1",
//			"Natural Tom2",
//			"Natural Tom3",
//			"Natural Tom4",
//			"Natural 2 Tom1",
//			"Natural 2 Tom2",
//			"Natural 2 Tom3",
//			"Natural 2 Tom4",
//			"Studio Tom1",
//			"Studio Tom2",		// 390
//			"Studio Tom3",
//			"Studio Tom4",
//			"Slap Tom1",
//			"Slap Tom2",
//			"Slap Tom3",
//			"Slap Tom4",
//			"Room 1 Tom1",
//			"Room 1 Tom2",
//			"Room 1 Tom3",
//			"Room 1 Tom4",		// 400
//			"Room 2 Tom1",
//			"Room 2 Tom2",
//			"Room 2 Tom3",
//			"Room 2 Tom4",
//			"Room 3 Tom1",
//			"Room 3 Tom2",
//			"Room 3 Tom3",
//			"Room 3 Tom4",
//			"Room 4 Tom1",
//			"Room 4 Tom2",		// 410
//			"Room 4 Tom3",
//			"Room 4 Tom4",
//			"Room 5 Tom1",
//			"Room 5 Tom2",
//			"Room 5 Tom3",
//			"Room 5 Tom4",
//			"Big Tom1",
//			"Big Tom2",
//			"Big Tom3",
//			"Big Tom4",			// 420
//			"Rock Tom1",
//			"Rock Tom2",
//			"Rock Tom3",
//			"Rock Tom4",
//			"Punch Tom1",
//			"Punch Tom2",
//			"Punch Tom3",
//			"Punch Tom4",
//			"Oak Tom1",
//			"Oak Tom2",			// 430
//			"Oak Tom3",
//			"Oak Tom4",
//			"Balsa Tom1",
//			"Balsa Tom2",
//			"Balsa Tom3",
//			"Balsa Tom4",
//			"Vintage Tom1",
//			"Vintage Tom2",
//			"Vintage Tom3",
//			"Vintage Tom4",		// 440
//			"Brush 1 Tom1",
//			"Brush 1 Tom2",
//			"Brush 1 Tom3",
//			"Brush 1 Tom4",
//			"Brush 2 Tom1",
//			"Brush 2 Tom2",
//			"Brush 2 Tom3",
//			"Brush 2 Tom4",
//			"Dark Tom1",
//			"Dark Tom2",		// 450
//			"Dark Tom3",
//			"Dark Tom4",
//			"Attack Tom1",
//			"Attack Tom2",
//			"Attack Tom3",
//			"Attack Tom4",
//			"Hall Tom1",
//			"Hall Tom2",
//			"Hall Tom3",
//			"Hall Tom4",		// 460
//			"Birch Tom1",
//			"Birch Tom2",
//			"Birch Tom3",
//			"Birch Tom4",
//			"Beechnut Tom1",
//			"Beechnut Tom2",
//			"Beechnut Tom3",
//			"Beechnut Tom4",
//			"Micro Tom1",
//			"Micro Tom2",		// 470
//			"Micro Tom3",
//			"Micro Tom4",
//			"Bend Tom1",
//			"Bend Tom2",
//			"Bend Tom3",
//			"Bend Tom4",
//			"Bowl Tom1",
//			"Bowl Tom2",
//			"Bowl Tom3",
//			"Bowl Tom4",		// 480
//			"Dirty Tom1",
//			"Dirty Tom2",
//			"Dirty Tom3",
//			"Dirty Tom4"
//		 };
//		#endregion
//		#region tomGroup 485-560
//		public static string[] tomGroup =		// 485 - 560
//			{ 
//				"Standard 1 Tom1",
//				"Standard 1 Tom2",
//				"Standard 1 Tom3",
//				"Standard 1 Tom4",
//				"Standard 1 Tom5",
//				"Standard 1 Tom6",	// 490
//				"Standard 2 Tom1",
//				"Standard 2 Tom2",
//				"Standard 2 Tom3",
//				"Standard 2 Tom4",
//				"Standard 2 Tom5",
//				"Standard 2 Tom6",
//				"Room 6 Tom1",
//				"Room 6 Tom2",
//				"Room 6 Tom3",
//				"Room 6 Tom4",		// 500
//				"Room 6 Tom5",
//				"Room 6 Tom6",
//				"Power Tom1",
//				"Power Tom2",
//				"Power Tom3",
//				"Power Tom4",
//				"Power Tom5",
//				"Power Tom6",
//				"Jazz 3 Tom1",
//				"Jazz 3 Tom2",		// 510
//				"Jazz 3 Tom3",
//				"Jazz 3 Tom4",
//				"Jazz 3 Tom5",
//				"Jazz 3 Tom6",
//				"Brush 3 Tom1",
//				"Brush 3 Tom2",
//				"Brush 3 Tom3",
//				"Brush 3 Tom4",
//				"Brush 3 Tom5",
//				"Brush 3 Tom6",		// 520
//				"Gate Tom1",
//				"Gate Tom2",
//				"Gate Tom3",
//				"Gate Tom4",
//				"LoFi Tom1",
//				"LoFi Tom2",
//				"LoFi Tom3",
//				"LoFi Tom4",
//				"Elec Bend Tom1",
//				"Elec Bend Tom2",	// 530
//				"Elec Bend Tom3",
//				"Elec Bend Tom4",
//				"Elec Bend 2 Tom1",
//				"Elec Bend 2 Tom2",
//				"Elec Bend 2 Tom3",
//				"Elec Bend 2 Tom4",
//				"Elec Bend 3 Tom1",
//				"Elec Bend 3 Tom2",
//				"Elec Bend 3 Tom3",
//				"Elec Bend 3 Tom4",	// 540
//				"Elec Noise Tom1",
//				"Elec Noise Tom2",
//				"Elec Noise Tom3",
//				"Elec Noise Tom4",
//				"Elec Dual Tom1",
//				"Elec Dual Tom2",
//				"Elec Dual Tom3",
//				"Elec Dual Tom4",
//				"Elec Tom1",
//				"Elec Tom2",		// 550
//				"Elec Tom3",
//				"Elec Tom4",
//				"Elec Tom5",
//				"Elec Tom6",
//				"TR808 Tom1",
//				"TR808 Tom2",
//				"TR808 Tom3",
//				"TR808 Tom4",
//				"TR808 Tom5",
//				"TR808 Tom6"		// 560
//			};	
//		#endregion
//		#region hihatGroup 561-598
//		public static string[] hihatGroup =	// 561 - 598
//			{ 
//				"Pure Hihat",
//				"PureEGHihat",
//				"BrightHihat",
//				"BriteGHihat",
//				"Jazz Hihat",
//				"HazzEGHihat",
//				"Thin Hihat",
//				"ThinEGHihat",
//				"Heavy Hihat",
//				"HevyEGHihat",		// 570
//				"Light Hihat",
//				"LigtEGHihat",
//				"Dark Hihat",
//				"DarkEGHihat",
//				"12 Hihat",
//				"12 EG Hihat",
//				"13 Hihat",
//				"13 EG Hihat",
//				"14 Hihat",
//				"14 EG Hihat",		// 580
//				"15 Hihat",
//				"15 EG Hihat",
//				"Brush 1 Hihat",
//				"Brush 2 Hihat",
//				"Sizzle Hihat",
//				"Sizzle 2 Hihat",
//				"Voice Hihat",
//				"HandC Hihat",
//				"Tambarine Hihat",
//				"Maracas Hihat",	// 590
//				"TR808 Hihat",
//				"TR909 Hihat",
//				"CR78 Hihat",
//				"Metal 808 Hihat",
//				"Metal 909 Hihat",
//				"Metal78 Hihat",
//				"LoFi1 Hihat",
//				"LoFi2 Hihat"
//			};
//		#endregion
//		#region crashGroup 599-634
//		public static string[] crashGroup =	// 599 - 634
//			{ 
//				"Medium 14 Crash",
//				"Medium 16 Crash",	// 600
//				"Mediuim 18 Crash",
//				"Quick 16 Crash",
//				"Quick 18 Crash",
//				"Thin 16 Crash",
//				"Thin 18 Crash",
//				"Brush 1 Crash",
//				"Brush 2 Crash",
//				"Sizzle Brush Crash",
//				"Swell Crash",
//				"Splash 6",		// 610
//				"Splash 8",
//				"Splash 10",
//				"Splash 12",
//				"Cup 4",
//				"Cup 6",
//				"Hand Splash 8",
//				"Hand Splash 10",
//				"China 10",
//				"China 12",
//				"China 18",		// 620
//				"China 20",
//				"Sizzle China",
//				"Swell China",
//				"PGYZBACK",
//				"Pgy Crash 1",
//				"Pgy Crash 2",
//				"Pgy Crash 3",
//				"Pg Splash 1",
//				"Pg Splash 2",
//				"Phase Cymbal",	// 630
//				"Elec Crash",
//				"TR808 Crash",
//				"LoFi 1 Crash",
//				"LoFi 2 Crash"
//			};
//		#endregion
//		#region rideGroup 635-679
//		public static string[] rideGroup =		// 635 - 679
//			{
//				"Jazz Ride",
//				"Jazz Ride Edge",
//				"Jazz Ride Bell",
//				"Jazz Ride X (edge/bell)",
//				"Pop Ride",
//				"Pop Ride Edge",	// 640
//				"Pop Ride Bell",
//				"Pop Ride X (edge/bell)",
//				"Rock Ride",
//				"Rock Ride Edge",
//				"Rock Ride Bell",
//				"Rock Ride X (edge/bell)",
//				"Lite Ride",
//				"Lite Ride Edge",
//				"Lite Ride Bell",
//				"Lite Ride X (edge/bell)",	//650
//				"Crash Ride",
//				"Crash Ride Edge",
//				"Dark Crash Ride",
//				"Dark Crash Ride Edge",
//				"Brush 1 Ride",
//				"Brush 2 Ride",
//				"Sizzle Brush Ride",
//				"Sizzle 1 Ride",
//				"Sizzle 1 Ride Edge",
//				"Sizzle 1 Ride Bell",		// 660
//				"Sizzle 1 Ride X (edge/bell)",
//				"Sizzle 2 Ride",
//				"Sizzle 2 Ride Edge",
//				"Sizzle 2 Ride Bell",
//				"Sizzle 2 Ride X (edge/bell)",
//				"Sizzle 3 Ride",
//				"Sizzle 3 Ride Edge",
//				"Sizzle 3 Ride Bell",
//				"Sizzle 3 Ride X (edge/bell)",
//				"Sizzle 4 Ride",		// 670
//				"Pigmy Ride 1",
//				"Pigmy Ride 1 Bell",
//				"Pigmy Ride 1 X (edge/bell)",
//				"Pigmy Ride 2",
//				"Pigmy Ride 2 Bell",
//				"Pigmy Ride 2 X (edge/bell)",
//				"LoFi Ride",
//				"LoFi Ride Edge",
//				"LoFi Ride Bell"
//			};
//		#endregion
//		#region percGroup 680-810
//		public static string[] percGroup =		// 680 - 810
//			{
//			"R8 Bongo Hi",
//			"R8 Bongo Lo",
//			"R8 Bongo 2 Hi",
//			"R8 Bongo 2 Lo",
//			"Bongo Hi",
//			"Bongo Lo",
//			"Bongo 2 Hi",
//			"Bongo 2 Lo",
//			"R8 Conga Mt",
//			"R8 Conga Hi",
//			"R8 Conga Lo",		// 690
//			"Conga Mt",
//			"Conga Sl",
//			"Conga Op",
//			"Conga Lo",
//			"Conga Mt Vs",
//			"Conga Sl Vs",
//			"Cowbell 1",
//			"Cowbell 2",
//			"Cowbell Duo",
//			"Claves",		// 700
//			"Guiro Long 1",
//			"Guiro Short",
//			"Guiro Long 2",
//			"Guiro Vs",
//			"Maracas",
//			"Shaker",
//			"Small Shaker",
//			"Tambarine",
//			"Tambarine 2",
//			"Tambarine 3",		// 710
//			"Tambarine 4",
//			"Timbale Hi",
//			"Timbale Rm",
//			"Timbale Lo",
//			"Paila",
//			"Timbale 2 Hi",
//			"Timbale 2 Lo",
//			"Vibraslap",
//			"Agogo Hi",
//			"Agogo Lo",			// 720
//			"Agogo 2 Hi",
//			"Agogo 2 Lo",
//			"Cabasa Up",
//			"Cabasa Down",
//			"Cabasa Vs",
//			"Cuica Mt 1",
//			"Cuica Up",
//			"Cuica Lo",
//			"Cuica Mt 2",
//			"Pandro Mt",		// 730
//			"Pandroop",
//			"Pandro Sl",
//			"Pandro Vs",
//			"Surdoh Mt",
//			"Surdoh P",
//			"Surdoh Vs",
//			"Surcol Mt",
//			"Surdol Op",
//			"Surdol Vs",
//			"Whistle",		// 740
//			"Whistle Sh",
//			"Caxixi",
//			"Tabla Na",
//			"Tabla Tin",
//			"Tabla Un",
//			"Tabla Te",
//			"Tabla Ti",
//			"Baya Ge",
//			"Baya Ka",
//			"Baya Gin",		// 750
//			"Baya Sld",
//			"Pot Drum",
//			"Pot Drum Mt",
//			"Pot Drum Vs",
//			"Talkin Drum",
//			"Thai Gong",
//			"Thai Gong 2",
//			"Bell Tree",
//			"Tiny Gong",
//			"Gong",			// 760
//			"Temple Bell",
//			"Wa-Daiko",
//			"Taiko",
//			"Sleigh bell",
//			"Tree Chime",
//			"Triangle Op",
//			"Triangle Mt",
//			"Triangle Vs",
//			"R70 Trio P",
//			"R70 Tri Mt",		// 770
//			"R70 Tri Vs",
//			"Castanet",
//			"Wood Block Hi",
//			"Wood Block Lo",
//			"Concert Bd",
//			"Concert Bd Mt",
//			"Hand Cymbal",
//			"Hand Cymbal Mt",
//			"Timpani G",
//			"Timpani C",		// 780
//			"Timpani E",
//			"Perc Hit 1",
//			"Perc Hit 2",
//			"Orch Maj",
//			"Orch Min",
//			"Orch Dim",
//			"Kick/roll",
//			"Kick/Cymbal",
//			"Orch Roll",
//			"Orch Chok",		// 790
//			"Hit Roll",
//			"Finale",
//			"808 Clap",
//			"808 Cowbell 1",
//			"808 Cowbell 2",
//			"808 Maracas",
//			"808 Claves",
//			"808 Conga",
//			"909 Rim",
//			"909 Clap",		// 800
//			"78 Cowbell",
//			"78 Guiro",
//			"78 Guiro St",
//			"78 Maracas",
//			"78 M Beat",
//			"78 Tambarine",
//			"78 Bongo",
//			"78 Claves",
//			"78 Rim",
//			"55 Claves"		// 810
//			};
//		#endregion
//		#region specialGroup 811-888
//		public static string[] specialGroup =		// 811 - 888
//			{ 
//				"Applause",
//				"Encore",
//				"Bird",
//				"Dog",
//				"Bubbles",
//				"Heart Beat",
//				"Telephone",
//				"Punch",
//				"Kung Foo",
//				"Pistol",		// 820
//				"Gun Shot",
//				"Glass",
//				"Hammer",
//				"Bucket",
//				"Barrel",
//				"Trashcan",
//				"AF Stomp",
//				"Bounce",
//				"Cuica Hit",
//				"Monster",		// 830
//				"Airdrive",
//				"Car Door",
//				"Car Cell",
//				"Car Engine",
//				"Car Horn",
//				"Helicopter",
//				"Thunder",
//				"Bomb",
//				"Sticks",
//				"Click",		// 840
//				"Tamb FX",
//				"TEK Click",
//				"Beep Hi",
//				"Beep Lo",
//				"Metro Bell",
//				"Metro Click",
//				"Snaps",
//				"Clap",
//				"Noise Clap",
//				"Tek Noise",	// 850
//				"Metal Slap",
//				"R8 Slap",
//				"Vocoder 1",
//				"Vocoder 2",
//				"Vocoder 3",
//				"Dyn Scratch",
//				"Scratch 1",
//				"Scratch 2",
//				"Scratch 3",
//				"Scratch 4",	// 860
//				"Scratch 5",
//				"Scratch 6",
//				"Scratch Loop",
//				"Phil Hit",
//				"LoFi Hit",
//				"Hi-Q",
//				"Hoo...",
//				"DAO Drill",
//				"Scrape",
//				"Martian",		// 870
//				"CoroCoro",
//				"Coro Bend",
//				"Burt",
//				"Boing 1",
//				"Boing 2",
//				"Tekno Bird",
//				"Nantoka!",
//				"Elec Bird",
//				"Metal Bend 1",
//				"Metal Bend 2",		// 880
//				"Metal Noise",
//				"Metal Phase",
//				"Laser",
//				"Mystery",
//				"Time Trip",
//				"Kick Amb",
//				"Snare Amb",
//				"Tom Amb"		// 888
//			};
//		#endregion
//		#region melodicGroup 889-920
//		public static string[] melodicGroup =		// 889 - 920
//			{ 
//				"Kalimba",
//				"Steel Drum",		// 890
//				"Glockenspeil",
//				"Vibraphone",
//				"Marimba",
//				"Xylophone",
//				"Tubular Bell",
//				"Celesta",
//				"Saw Wave",
//				"Tb Bass",
//				"Slap Bass",
//				"Guitar Slide",		// 900
//				"Guitar Scratch",
//				"Guitar Dist",
//				"Guitar Bs 1",
//				"Guitar Bs 2",
//				"Cut Guitar Down",
//				"Cut Guitar Up",
//				"Fret Noise",
//				"Bass Slide",
//				"Wah Guitar Down 1",
//				"Wah Guitar Up 1",		// 910
//				"Wah Guitar Down 2",
//				"Wah Guitar Up 2",
//				"Shami Vs",
//				"Brass Vs",
//				"Strings Vs",
//				"Pizicato",
//				"Tekno Hit",
//				"Funk Hit 1",
//				"Funk Hit 2",
//				"Func Hit 3"			// 920
//			};
//		#endregion
//		#region voiceGroup 921-971
//		public static string[] voiceGroup =		// 921 - 971
//			{ 
//				"Lady Ahh",
//				"Aoouu!",
//				"Hooh!",
//				"Haa!",
//				"Say Yeah!",
//				"Yeah",
//				"Ahhh",
//				"Haaa",
//				"Achaa!",
//				"Nope!",		// 930
//				"Bap",
//				"Dat",
//				"BapDat Vs",
//				"Doot",
//				"DAO Fall 1",
//				"DAO Fall 2",
//				"DAO Fall 3",
//				"DAO Fall 4",
//				"DoDat Vs",
//				"DoDao Vs",
//				"Scat 1 Vs",
//				"Scat 2 Vs",
//				"Scat 3 Vs",
//				"Scat 4 Vs",
//				"Scat 5 Vs",
//				"Voice K",
//				"Voice Ok",
//				"Voice S",
//				"Voice T1",
//				"Voice T2",
//				"Voice T3",
//				"Voice T4",
//				"Voice Cr",
//				"Count 1",
//				"Count 2",
//				"Count 3",
//				"Count 4",
//				"Count 5",
//				"Count 6",
//				"Count 7",
//				"Count 8",
//				"Count 9",
//				"Count 10",
//				"Count 11",
//				"Count 12",
//				"Count 13",
//				"Count And",
//				"Count E",
//				"Count A",
//				"Count Ti",
//				"Count Ta"
//			};
//		#endregion
//		#region reverseGroup 972-989
//		public static string[] reverseGroup =		// 972 - 989
//			{ 
//				"Reverse Kick 1",
//				"Reverse Kick 2",
//				"Reverse Snare 1",
//				"Reverse Snare 2",
//				"Reverse Tom",
//				"Reverse Crash 1",
//				"Reverse Crash 2",
//				"Reverse China",
//				"Reverse Bell Tree",		// 980
//				"Reverse Hi-Q",
//				"Reverse MFaze",
//				"Reverse Air Dr",
//				"Reverse Boing 1",
//				"Reverse Boing 2",
//				"Reverse Bend",
//				"Reverse Vocoder",
//				"Reverse Carcl",
//				"Reverse Car Engine"
//			};
//		#endregion
//		#region fixedhhGroup 990-1023
//		public static string[] fixedhhGroup =		// 990 - 1023
//			{
//				"Standard Closed HH",			// 990
//				"Standard 1 Edge Closed HH",
//				"Standard 1 Open HH",
//				"Standard 1 Edge Open HH",
//				"Standard 1 Pedal HH",
//				"Standard 2 Closed HH",
//				"Standard 2 Edge Closed HH",
//				"Standard 2 Open HH",
//				"Pedal HH",
//				"Room Closed HH",
//				"Room Edge Closed HH",			// 1000
//				"Room Open HH",
//				"Room Edge Open HH",
//				"Room Pedal HH",
//				"Power Closed HH",
//				"Power Edge Closed HH",
//				"Power Open HH",
//				"Power Pedal HH",
//				"Brush Closed HH",
//				"Brush Edge Closed HH",
//				"Brush Open HH",
//				"Brush Pedal HH",
//				"Elec Closed HH",
//				"Elec Open HH",
//				"Elec Pedal HH",
//				"808 Closed HH",
//				"808 Edge Closed HH",
//				"808 Open HH",
//				"808 Edge Open HH",
//				"808 Pedal HH",
//				"LoFi Closed HH",
//				"LoFi Open HH",
//				"LoFi Edge Open HH",
//				"LoFi Pedal HH"
//			};
//		#endregion
//		#region offGroup 1024-1024
//		public static string[] offGroup = { "Off" };			// 1024
//		#endregion
//		#region instGroups
//		public static string[] nodeNames =  
//		{
//			"V-Kick Group",
//			"Kick Group",
//			"V-Snare Drums",
//			"Snare Drums",
//			"V-Tom Group",
//			"Tom Group",
//			"Hi-Hat Group",
//			"Crash Cymbal Group",
//			"Ride Cymbal Group",
//			"Percussion Group",
//			"Special Group",
//			"Melodic Group",
//			"Voice Group",
//			"Reverse Group",
//			"Fixed Hi-Hat Group",
//			"Off Group"
//		};
//		public static string[][] instGroupNames = new string[NumGroups][];
//		#endregion
		#endregion

		/// <summary>
		/// Required designer variable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		private TD8 td8;
		private int kitNum = 0;
		private int padNum = 0;
		private int headRimSel = 0;		// 0 = head, 1 = rim

		#region form controls
		private System.Windows.Forms.TextBox nameTextBox;
		private System.Windows.Forms.Label label1;
		private System.Windows.Forms.Label label2;
		private System.Windows.Forms.ComboBox studioTypeComboBox;
		private System.Windows.Forms.Label label3;
		private System.Windows.Forms.TextBox kitNumTextBox;
		private System.Windows.Forms.HScrollBar studioLevelScrollBar;
		private System.Windows.Forms.Label label4;
		private System.Windows.Forms.ComboBox wallTypeComboBox;
		private System.Windows.Forms.Label label5;
		private System.Windows.Forms.Label label6;
		private System.Windows.Forms.ComboBox roomSizeComboBox;
		private System.Windows.Forms.Label label7;
		private System.Windows.Forms.ComboBox eqLowFreqComboBox;
		private System.Windows.Forms.Label label8;
		private System.Windows.Forms.HScrollBar eqLowGainScrollBar;
		private System.Windows.Forms.Label label9;
		private System.Windows.Forms.HScrollBar eqHiGainScrollBar;
		private System.Windows.Forms.Label label10;
		private System.Windows.Forms.ComboBox eqHiFreqComboBox;
		private System.Windows.Forms.CheckBox ambienceCheckBox;
		private System.Windows.Forms.CheckBox brushCheckBox;
		private System.Windows.Forms.Label label11;
		private System.Windows.Forms.HScrollBar pedalHHVolScrollBar;
		private System.Windows.Forms.Label label12;
		private System.Windows.Forms.HScrollBar pedalBendScrollBar;
		private System.Windows.Forms.Label label13;
		private System.Windows.Forms.HScrollBar masterVolumeScrollBar;
		private System.Windows.Forms.Label label14;
		private System.Windows.Forms.HScrollBar ambKitSendScrollBar;
		private System.Windows.Forms.Label label15;
		private System.Windows.Forms.HScrollBar ambPercSendScrollBar;
		private System.Windows.Forms.Label label16;
		private System.Windows.Forms.HScrollBar ambPartSendScrollBar;
		private System.Windows.Forms.CheckBox EQCheckBox;
		private System.Windows.Forms.Label label17;
		private System.Windows.Forms.Label label18;
		private System.Windows.Forms.Label label19;
		private System.Windows.Forms.Label label20;
		private System.Windows.Forms.Label label23;
		private System.Windows.Forms.Label label24;
		private System.Windows.Forms.Label label26;
		private System.Windows.Forms.Label label27;
		private System.Windows.Forms.CheckBox pitchControlAssignCheckBox;
		private System.Windows.Forms.TreeView instTreeView;
		private System.Windows.Forms.RadioButton headRadioButton;
		private System.Windows.Forms.RadioButton rimRadioButton;
		private System.Windows.Forms.GroupBox padGroupBox;
		private System.Windows.Forms.HScrollBar pitchHScrollBar;
		private System.Windows.Forms.HScrollBar decayHScrollBar;
		private System.Windows.Forms.TextBox patternTextBox;
		private System.Windows.Forms.HScrollBar gateTimeHScrollBar;
		private System.Windows.Forms.TextBox noteNumTextBox;
		private System.Windows.Forms.CheckBox patternVelocityCheckBox;
		private System.Windows.Forms.HScrollBar levelHScrollBar;
		private System.Windows.Forms.HScrollBar ambSendHScrollBar;
		private System.Windows.Forms.GroupBox commonGroupBox;
		private System.Windows.Forms.MainMenu mainMenu1;
		private System.Windows.Forms.MenuItem fileMenuItem;
		private System.Windows.Forms.MenuItem editMenuItem;
		private System.Windows.Forms.MenuItem editMenuCopyFromTemplate;
		private System.Windows.Forms.MenuItem editMenuCopyToTemplateItem;
		#endregion

		#region Properties
		public int PadNum
		{
			get { return padNum; }
			set { padNum = value; }
		}
		public int KitNum
		{
			get { return kitNum; }
			set { kitNum = value; }
		}
		public TD8 Td8
		{
			get { return td8; }
			set { td8 = value; }
		}
		#endregion

		public TD8PadEdit()
		{
			// Required for Windows Form Designer support
			InitializeComponent();

//			#region fill instGroupNames
//			instGroupNames[0] = vkickGroup;
//			instGroupNames[1] = kickGroup;
//			instGroupNames[2] = vsnareGroup;
//			instGroupNames[3] = snareGroup;
//			instGroupNames[4] = vtomGroup;
//			instGroupNames[5] = tomGroup;
//			instGroupNames[6] = hihatGroup;
//			instGroupNames[7] = crashGroup;
//			instGroupNames[8] = rideGroup;
//			instGroupNames[9] = percGroup;
//			instGroupNames[10] = specialGroup;
//			instGroupNames[11] = melodicGroup;
//			instGroupNames[12] = voiceGroup;
//			instGroupNames[13] = reverseGroup;
//			instGroupNames[14] = fixedhhGroup;
//			instGroupNames[15] = offGroup;
//			#endregion
		}

		#region Dispose
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}
		#endregion

		#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			this.nameTextBox = new System.Windows.Forms.TextBox();
			this.label1 = new System.Windows.Forms.Label();
			this.label2 = new System.Windows.Forms.Label();
			this.studioTypeComboBox = new System.Windows.Forms.ComboBox();
			this.label3 = new System.Windows.Forms.Label();
			this.kitNumTextBox = new System.Windows.Forms.TextBox();
			this.studioLevelScrollBar = new System.Windows.Forms.HScrollBar();
			this.label4 = new System.Windows.Forms.Label();
			this.wallTypeComboBox = new System.Windows.Forms.ComboBox();
			this.label5 = new System.Windows.Forms.Label();
			this.label6 = new System.Windows.Forms.Label();
			this.roomSizeComboBox = new System.Windows.Forms.ComboBox();
			this.label7 = new System.Windows.Forms.Label();
			this.eqLowFreqComboBox = new System.Windows.Forms.ComboBox();
			this.label8 = new System.Windows.Forms.Label();
			this.eqLowGainScrollBar = new System.Windows.Forms.HScrollBar();
			this.label9 = new System.Windows.Forms.Label();
			this.eqHiGainScrollBar = new System.Windows.Forms.HScrollBar();
			this.label10 = new System.Windows.Forms.Label();
			this.eqHiFreqComboBox = new System.Windows.Forms.ComboBox();
			this.ambienceCheckBox = new System.Windows.Forms.CheckBox();
			this.EQCheckBox = new System.Windows.Forms.CheckBox();
			this.brushCheckBox = new System.Windows.Forms.CheckBox();
			this.label11 = new System.Windows.Forms.Label();
			this.pedalHHVolScrollBar = new System.Windows.Forms.HScrollBar();
			this.label12 = new System.Windows.Forms.Label();
			this.pedalBendScrollBar = new System.Windows.Forms.HScrollBar();
			this.label13 = new System.Windows.Forms.Label();
			this.masterVolumeScrollBar = new System.Windows.Forms.HScrollBar();
			this.label14 = new System.Windows.Forms.Label();
			this.ambKitSendScrollBar = new System.Windows.Forms.HScrollBar();
			this.label15 = new System.Windows.Forms.Label();
			this.ambPercSendScrollBar = new System.Windows.Forms.HScrollBar();
			this.label16 = new System.Windows.Forms.Label();
			this.ambPartSendScrollBar = new System.Windows.Forms.HScrollBar();
			this.instTreeView = new System.Windows.Forms.TreeView();
			this.pitchHScrollBar = new System.Windows.Forms.HScrollBar();
			this.label17 = new System.Windows.Forms.Label();
			this.decayHScrollBar = new System.Windows.Forms.HScrollBar();
			this.label18 = new System.Windows.Forms.Label();
			this.label19 = new System.Windows.Forms.Label();
			this.patternTextBox = new System.Windows.Forms.TextBox();
			this.label20 = new System.Windows.Forms.Label();
			this.gateTimeHScrollBar = new System.Windows.Forms.HScrollBar();
			this.label23 = new System.Windows.Forms.Label();
			this.noteNumTextBox = new System.Windows.Forms.TextBox();
			this.label24 = new System.Windows.Forms.Label();
			this.patternVelocityCheckBox = new System.Windows.Forms.CheckBox();
			this.label26 = new System.Windows.Forms.Label();
			this.levelHScrollBar = new System.Windows.Forms.HScrollBar();
			this.label27 = new System.Windows.Forms.Label();
			this.ambSendHScrollBar = new System.Windows.Forms.HScrollBar();
			this.pitchControlAssignCheckBox = new System.Windows.Forms.CheckBox();
			this.headRadioButton = new System.Windows.Forms.RadioButton();
			this.rimRadioButton = new System.Windows.Forms.RadioButton();
			this.padGroupBox = new System.Windows.Forms.GroupBox();
			this.commonGroupBox = new System.Windows.Forms.GroupBox();
			this.mainMenu1 = new System.Windows.Forms.MainMenu();
			this.fileMenuItem = new System.Windows.Forms.MenuItem();
			this.editMenuItem = new System.Windows.Forms.MenuItem();
			this.editMenuCopyFromTemplate = new System.Windows.Forms.MenuItem();
			this.editMenuCopyToTemplateItem = new System.Windows.Forms.MenuItem();
			this.padGroupBox.SuspendLayout();
			this.commonGroupBox.SuspendLayout();
			this.SuspendLayout();
			// 
			// nameTextBox
			// 
			this.nameTextBox.Location = new System.Drawing.Point(96, 48);
			this.nameTextBox.Name = "nameTextBox";
			this.nameTextBox.ReadOnly = true;
			this.nameTextBox.TabIndex = 0;
			this.nameTextBox.Text = "Name";
			// 
			// label1
			// 
			this.label1.Location = new System.Drawing.Point(16, 48);
			this.label1.Name = "label1";
			this.label1.Size = new System.Drawing.Size(72, 16);
			this.label1.TabIndex = 1;
			this.label1.Text = "Name";
			// 
			// label2
			// 
			this.label2.Location = new System.Drawing.Point(16, 80);
			this.label2.Name = "label2";
			this.label2.Size = new System.Drawing.Size(72, 16);
			this.label2.TabIndex = 2;
			this.label2.Text = "Studio Type";
			// 
			// studioTypeComboBox
			// 
			this.studioTypeComboBox.Location = new System.Drawing.Point(96, 72);
			this.studioTypeComboBox.Name = "studioTypeComboBox";
			this.studioTypeComboBox.Size = new System.Drawing.Size(121, 21);
			this.studioTypeComboBox.TabIndex = 3;
			this.studioTypeComboBox.Text = "StudioType";
			this.studioTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.studioTypeComboBox_SelectedIndexChanged);
			// 
			// label3
			// 
			this.label3.Location = new System.Drawing.Point(16, 24);
			this.label3.Name = "label3";
			this.label3.Size = new System.Drawing.Size(72, 16);
			this.label3.TabIndex = 4;
			this.label3.Text = "Kit Num:";
			// 
			// kitNumTextBox
			// 
			this.kitNumTextBox.Location = new System.Drawing.Point(96, 24);
			this.kitNumTextBox.Name = "kitNumTextBox";
			this.kitNumTextBox.ReadOnly = true;
			this.kitNumTextBox.Size = new System.Drawing.Size(24, 20);
			this.kitNumTextBox.TabIndex = 5;
			this.kitNumTextBox.Text = "0";
			// 
			// studioLevelScrollBar
			// 
			this.studioLevelScrollBar.Location = new System.Drawing.Point(96, 96);
			this.studioLevelScrollBar.Maximum = 127;
			this.studioLevelScrollBar.Name = "studioLevelScrollBar";
			this.studioLevelScrollBar.Size = new System.Drawing.Size(120, 16);
			this.studioLevelScrollBar.TabIndex = 7;
			this.studioLevelScrollBar.Value = 64;
			this.studioLevelScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.studioLevelScrollBar_Scroll);
			// 
			// label4
			// 
			this.label4.Location = new System.Drawing.Point(16, 96);
			this.label4.Name = "label4";
			this.label4.Size = new System.Drawing.Size(72, 16);
			this.label4.TabIndex = 8;
			this.label4.Text = "Studio Level";
			// 
			// wallTypeComboBox
			// 
			this.wallTypeComboBox.Location = new System.Drawing.Point(96, 120);
			this.wallTypeComboBox.Name = "wallTypeComboBox";
			this.wallTypeComboBox.Size = new System.Drawing.Size(121, 21);
			this.wallTypeComboBox.TabIndex = 9;
			this.wallTypeComboBox.Text = "Wall type";
			this.wallTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.wallTypeComboBox_SelectedIndexChanged);
			// 
			// label5
			// 
			this.label5.Location = new System.Drawing.Point(16, 120);
			this.label5.Name = "label5";
			this.label5.Size = new System.Drawing.Size(72, 16);
			this.label5.TabIndex = 10;
			this.label5.Text = "Wall Type";
			// 
			// label6
			// 
			this.label6.Location = new System.Drawing.Point(16, 144);
			this.label6.Name = "label6";
			this.label6.Size = new System.Drawing.Size(72, 16);
			this.label6.TabIndex = 12;
			this.label6.Text = "Room Size";
			// 
			// roomSizeComboBox
			// 
			this.roomSizeComboBox.Location = new System.Drawing.Point(96, 144);
			this.roomSizeComboBox.Name = "roomSizeComboBox";
			this.roomSizeComboBox.Size = new System.Drawing.Size(121, 21);
			this.roomSizeComboBox.TabIndex = 11;
			this.roomSizeComboBox.Text = "Room size";
			this.roomSizeComboBox.SelectedIndexChanged += new System.EventHandler(this.roomSizeComboBox_SelectedIndexChanged);
			// 
			// label7
			// 
			this.label7.Location = new System.Drawing.Point(16, 176);
			this.label7.Name = "label7";
			this.label7.Size = new System.Drawing.Size(72, 16);
			this.label7.TabIndex = 14;
			this.label7.Text = "EQ Low Freq";
			// 
			// eqLowFreqComboBox
			// 
			this.eqLowFreqComboBox.Location = new System.Drawing.Point(96, 176);
			this.eqLowFreqComboBox.Name = "eqLowFreqComboBox";
			this.eqLowFreqComboBox.Size = new System.Drawing.Size(121, 21);
			this.eqLowFreqComboBox.TabIndex = 13;
			this.eqLowFreqComboBox.Text = "EQ Low Freq";
			this.eqLowFreqComboBox.SelectedIndexChanged += new System.EventHandler(this.eqLowFreqComboBox_SelectedIndexChanged);
			// 
			// label8
			// 
			this.label8.Location = new System.Drawing.Point(16, 200);
			this.label8.Name = "label8";
			this.label8.Size = new System.Drawing.Size(72, 16);
			this.label8.TabIndex = 16;
			this.label8.Text = "EQ Lo Gain";
			// 
			// eqLowGainScrollBar
			// 
			this.eqLowGainScrollBar.Location = new System.Drawing.Point(96, 200);
			this.eqLowGainScrollBar.Maximum = 24;
			this.eqLowGainScrollBar.Name = "eqLowGainScrollBar";
			this.eqLowGainScrollBar.Size = new System.Drawing.Size(120, 16);
			this.eqLowGainScrollBar.TabIndex = 15;
			this.eqLowGainScrollBar.Value = 12;
			this.eqLowGainScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.eqLowGainScrollBar_Scroll);
			// 
			// label9
			// 
			this.label9.Location = new System.Drawing.Point(16, 248);
			this.label9.Name = "label9";
			this.label9.Size = new System.Drawing.Size(72, 16);
			this.label9.TabIndex = 20;
			this.label9.Text = "EQ Hi Gain";
			// 
			// eqHiGainScrollBar
			// 
			this.eqHiGainScrollBar.Location = new System.Drawing.Point(96, 248);
			this.eqHiGainScrollBar.Maximum = 24;
			this.eqHiGainScrollBar.Name = "eqHiGainScrollBar";
			this.eqHiGainScrollBar.Size = new System.Drawing.Size(120, 16);
			this.eqHiGainScrollBar.TabIndex = 19;
			this.eqHiGainScrollBar.Value = 12;
			this.eqHiGainScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.eqHiGainScrollBar_Scroll);
			// 
			// label10
			// 
			this.label10.Location = new System.Drawing.Point(16, 224);
			this.label10.Name = "label10";
			this.label10.Size = new System.Drawing.Size(72, 16);
			this.label10.TabIndex = 18;
			this.label10.Text = "EQ Hi Freq";
			// 
			// eqHiFreqComboBox
			// 
			this.eqHiFreqComboBox.Location = new System.Drawing.Point(96, 224);
			this.eqHiFreqComboBox.Name = "eqHiFreqComboBox";
			this.eqHiFreqComboBox.Size = new System.Drawing.Size(121, 21);
			this.eqHiFreqComboBox.TabIndex = 17;
			this.eqHiFreqComboBox.Text = "EQ Hi Freq";
			this.eqHiFreqComboBox.SelectedIndexChanged += new System.EventHandler(this.eqHiFreqComboBox_SelectedIndexChanged);
			// 
			// ambienceCheckBox
			// 
			this.ambienceCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
			this.ambienceCheckBox.Location = new System.Drawing.Point(24, 272);
			this.ambienceCheckBox.Name = "ambienceCheckBox";
			this.ambienceCheckBox.Size = new System.Drawing.Size(88, 16);
			this.ambienceCheckBox.TabIndex = 21;
			this.ambienceCheckBox.Text = "Ambience";
			this.ambienceCheckBox.CheckedChanged += new System.EventHandler(this.ambienceCheckBox_CheckedChanged);
			// 
			// EQCheckBox
			// 
			this.EQCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
			this.EQCheckBox.Location = new System.Drawing.Point(24, 296);
			this.EQCheckBox.Name = "EQCheckBox";
			this.EQCheckBox.Size = new System.Drawing.Size(88, 16);
			this.EQCheckBox.TabIndex = 22;
			this.EQCheckBox.Text = "EQ";
			this.EQCheckBox.CheckedChanged += new System.EventHandler(this.EQCheckBox_CheckedChanged);
			// 
			// brushCheckBox
			// 
			this.brushCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
			this.brushCheckBox.Location = new System.Drawing.Point(24, 320);
			this.brushCheckBox.Name = "brushCheckBox";
			this.brushCheckBox.Size = new System.Drawing.Size(88, 16);
			this.brushCheckBox.TabIndex = 23;
			this.brushCheckBox.Text = "Brush";
			this.brushCheckBox.CheckedChanged += new System.EventHandler(this.brushCheckBox_CheckedChanged);
			// 
			// label11
			// 
			this.label11.Location = new System.Drawing.Point(16, 344);
			this.label11.Name = "label11";
			this.label11.Size = new System.Drawing.Size(72, 16);
			this.label11.TabIndex = 25;
			this.label11.Text = "Pedal HH Vol";
			// 
			// pedalHHVolScrollBar
			// 
			this.pedalHHVolScrollBar.Location = new System.Drawing.Point(96, 344);
			this.pedalHHVolScrollBar.Maximum = 15;
			this.pedalHHVolScrollBar.Name = "pedalHHVolScrollBar";
			this.pedalHHVolScrollBar.Size = new System.Drawing.Size(120, 16);
			this.pedalHHVolScrollBar.TabIndex = 24;
			this.pedalHHVolScrollBar.Value = 12;
			this.pedalHHVolScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.pedalHHVolScrollBar_Scroll);
			// 
			// label12
			// 
			this.label12.Location = new System.Drawing.Point(16, 368);
			this.label12.Name = "label12";
			this.label12.Size = new System.Drawing.Size(72, 16);
			this.label12.TabIndex = 27;
			this.label12.Text = "Pedal Bend";
			// 
			// pedalBendScrollBar
			// 
			this.pedalBendScrollBar.Location = new System.Drawing.Point(96, 368);
			this.pedalBendScrollBar.Maximum = 48;
			this.pedalBendScrollBar.Name = "pedalBendScrollBar";
			this.pedalBendScrollBar.Size = new System.Drawing.Size(120, 16);
			this.pedalBendScrollBar.TabIndex = 26;
			this.pedalBendScrollBar.Value = 12;
			this.pedalBendScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.pedalBendScrollBar_Scroll);
			// 
			// label13
			// 
			this.label13.Location = new System.Drawing.Point(16, 392);
			this.label13.Name = "label13";
			this.label13.Size = new System.Drawing.Size(72, 16);
			this.label13.TabIndex = 29;
			this.label13.Text = "Master Vol";
			// 
			// masterVolumeScrollBar
			// 
			this.masterVolumeScrollBar.Location = new System.Drawing.Point(96, 392);
			this.masterVolumeScrollBar.Maximum = 127;
			this.masterVolumeScrollBar.Name = "masterVolumeScrollBar";
			this.masterVolumeScrollBar.Size = new System.Drawing.Size(120, 16);
			this.masterVolumeScrollBar.TabIndex = 28;
			this.masterVolumeScrollBar.Value = 64;
			this.masterVolumeScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.masterVolumeScrollBar_Scroll);
			// 
			// label14
			// 
			this.label14.Location = new System.Drawing.Point(24, 416);
			this.label14.Name = "label14";
			this.label14.Size = new System.Drawing.Size(72, 16);
			this.label14.TabIndex = 31;
			this.label14.Text = "Amb Kit Snd";
			// 
			// ambKitSendScrollBar
			// 
			this.ambKitSendScrollBar.Location = new System.Drawing.Point(96, 416);
			this.ambKitSendScrollBar.Maximum = 127;
			this.ambKitSendScrollBar.Name = "ambKitSendScrollBar";
			this.ambKitSendScrollBar.Size = new System.Drawing.Size(120, 16);
			this.ambKitSendScrollBar.TabIndex = 30;
			this.ambKitSendScrollBar.Value = 12;
			this.ambKitSendScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.ambKitSendScrollBar_Scroll);
			// 
			// label15
			// 
			this.label15.Location = new System.Drawing.Point(24, 440);
			this.label15.Name = "label15";
			this.label15.Size = new System.Drawing.Size(72, 16);
			this.label15.TabIndex = 33;
			this.label15.Text = "Am Prc Send";
			// 
			// ambPercSendScrollBar
			// 
			this.ambPercSendScrollBar.Location = new System.Drawing.Point(96, 440);
			this.ambPercSendScrollBar.Maximum = 127;
			this.ambPercSendScrollBar.Name = "ambPercSendScrollBar";
			this.ambPercSendScrollBar.Size = new System.Drawing.Size(120, 16);
			this.ambPercSendScrollBar.TabIndex = 32;
			this.ambPercSendScrollBar.Value = 12;
			this.ambPercSendScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.ambPercSendScrollBar_Scroll);
			// 
			// label16
			// 
			this.label16.Location = new System.Drawing.Point(24, 464);
			this.label16.Name = "label16";
			this.label16.Size = new System.Drawing.Size(72, 16);
			this.label16.TabIndex = 35;
			this.label16.Text = "Amb Prt Snd";
			// 
			// ambPartSendScrollBar
			// 
			this.ambPartSendScrollBar.Location = new System.Drawing.Point(96, 464);
			this.ambPartSendScrollBar.Maximum = 127;
			this.ambPartSendScrollBar.Name = "ambPartSendScrollBar";
			this.ambPartSendScrollBar.Size = new System.Drawing.Size(120, 16);
			this.ambPartSendScrollBar.TabIndex = 34;
			this.ambPartSendScrollBar.Value = 12;
			this.ambPartSendScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.ambPartSendScrollBar_Scroll);
			// 
			// instTreeView
			// 
			this.instTreeView.HideSelection = false;
			this.instTreeView.HotTracking = true;
			this.instTreeView.ImageIndex = -1;
			this.instTreeView.Location = new System.Drawing.Point(24, 64);
			this.instTreeView.Name = "instTreeView";
			this.instTreeView.SelectedImageIndex = -1;
			this.instTreeView.Size = new System.Drawing.Size(232, 144);
			this.instTreeView.TabIndex = 36;
			this.instTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.instTreeView_AfterSelect);
			// 
			// pitchHScrollBar
			// 
			this.pitchHScrollBar.Location = new System.Drawing.Point(88, 216);
			this.pitchHScrollBar.Maximum = 960;
			this.pitchHScrollBar.Name = "pitchHScrollBar";
			this.pitchHScrollBar.Size = new System.Drawing.Size(168, 16);
			this.pitchHScrollBar.TabIndex = 38;
			this.pitchHScrollBar.Value = 64;
			this.pitchHScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.pitchHScrollBar_Scroll);
			// 
			// label17
			// 
			this.label17.Location = new System.Drawing.Point(16, 216);
			this.label17.Name = "label17";
			this.label17.Size = new System.Drawing.Size(56, 16);
			this.label17.TabIndex = 40;
			this.label17.Text = "Pitch";
			this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
			// 
			// decayHScrollBar
			// 
			this.decayHScrollBar.Location = new System.Drawing.Point(88, 240);
			this.decayHScrollBar.Maximum = 62;
			this.decayHScrollBar.Name = "decayHScrollBar";
			this.decayHScrollBar.Size = new System.Drawing.Size(168, 16);
			this.decayHScrollBar.TabIndex = 41;
			this.decayHScrollBar.Value = 62;
			this.decayHScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.decayHScrollBar_Scroll);
			// 
			// label18
			// 
			this.label18.Location = new System.Drawing.Point(16, 240);
			this.label18.Name = "label18";
			this.label18.Size = new System.Drawing.Size(48, 16);
			this.label18.TabIndex = 42;
			this.label18.Text = "Decay";
			this.label18.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
			// 
			// label19
			// 
			this.label19.Location = new System.Drawing.Point(16, 264);
			this.label19.Name = "label19";
			this.label19.Size = new System.Drawing.Size(48, 16);
			this.label19.TabIndex = 44;
			this.label19.Text = "Pattern";
			this.label19.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
			// 
			// patternTextBox
			// 
			this.patternTextBox.Location = new System.Drawing.Point(88, 264);
			this.patternTextBox.Name = "patternTextBox";
			this.patternTextBox.TabIndex = 45;
			this.patternTextBox.Text = "Pattern";
			this.patternTextBox.TextChanged += new System.EventHandler(this.patternTextBox_TextChanged);
			// 
			// label20
			// 
			this.label20.Location = new System.Drawing.Point(24, 48);
			this.label20.Name = "label20";
			this.label20.Size = new System.Drawing.Size(72, 16);
			this.label20.TabIndex = 47;
			this.label20.Text = "Instrument";
			this.label20.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
			// 
			// gateTimeHScrollBar
			// 
			this.gateTimeHScrollBar.Location = new System.Drawing.Point(88, 288);
			this.gateTimeHScrollBar.Maximum = 80;
			this.gateTimeHScrollBar.Name = "gateTimeHScrollBar";
			this.gateTimeHScrollBar.Size = new System.Drawing.Size(168, 16);
			this.gateTimeHScrollBar.TabIndex = 50;
			this.gateTimeHScrollBar.Value = 62;
			this.gateTimeHScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.gateTimeHScrollBar_Scroll);
			// 
			// label23
			// 
			this.label23.Location = new System.Drawing.Point(16, 288);
			this.label23.Name = "label23";
			this.label23.Size = new System.Drawing.Size(64, 16);
			this.label23.TabIndex = 51;
			this.label23.Text = "Gate Time";
			this.label23.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
			// 
			// noteNumTextBox
			// 
			this.noteNumTextBox.Location = new System.Drawing.Point(88, 312);
			this.noteNumTextBox.Name = "noteNumTextBox";
			this.noteNumTextBox.Size = new System.Drawing.Size(88, 20);
			this.noteNumTextBox.TabIndex = 54;
			this.noteNumTextBox.Text = "Note #";
			this.noteNumTextBox.TextChanged += new System.EventHandler(this.noteNumTextBox_TextChanged);
			// 
			// label24
			// 
			this.label24.Location = new System.Drawing.Point(16, 312);
			this.label24.Name = "label24";
			this.label24.Size = new System.Drawing.Size(56, 16);
			this.label24.TabIndex = 53;
			this.label24.Text = "Note #";
			this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
			// 
			// patternVelocityCheckBox
			// 
			this.patternVelocityCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
			this.patternVelocityCheckBox.Location = new System.Drawing.Point(16, 344);
			this.patternVelocityCheckBox.Name = "patternVelocityCheckBox";
			this.patternVelocityCheckBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.patternVelocityCheckBox.Size = new System.Drawing.Size(136, 16);
			this.patternVelocityCheckBox.TabIndex = 57;
			this.patternVelocityCheckBox.Text = "Pad Pattern Velocity";
			this.patternVelocityCheckBox.CheckedChanged += new System.EventHandler(this.patternVelocityCheckBox_CheckedChanged);
			// 
			// label26
			// 
			this.label26.Location = new System.Drawing.Point(16, 368);
			this.label26.Name = "label26";
			this.label26.Size = new System.Drawing.Size(64, 16);
			this.label26.TabIndex = 60;
			this.label26.Text = "Level";
			this.label26.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
			// 
			// levelHScrollBar
			// 
			this.levelHScrollBar.Location = new System.Drawing.Point(88, 368);
			this.levelHScrollBar.Maximum = 127;
			this.levelHScrollBar.Name = "levelHScrollBar";
			this.levelHScrollBar.Size = new System.Drawing.Size(168, 16);
			this.levelHScrollBar.TabIndex = 59;
			this.levelHScrollBar.Value = 64;
			this.levelHScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.levelHScrollBar_Scroll);
			// 
			// label27
			// 
			this.label27.Location = new System.Drawing.Point(16, 392);
			this.label27.Name = "label27";
			this.label27.Size = new System.Drawing.Size(64, 16);
			this.label27.TabIndex = 63;
			this.label27.Text = "Amb Send";
			this.label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
			// 
			// ambSendHScrollBar
			// 
			this.ambSendHScrollBar.Location = new System.Drawing.Point(88, 392);
			this.ambSendHScrollBar.Maximum = 127;
			this.ambSendHScrollBar.Name = "ambSendHScrollBar";
			this.ambSendHScrollBar.Size = new System.Drawing.Size(168, 16);
			this.ambSendHScrollBar.TabIndex = 62;
			this.ambSendHScrollBar.Value = 64;
			this.ambSendHScrollBar.Scroll += new System.Windows.Forms.ScrollEventHandler(this.ambSendHScrollBar_Scroll);
			// 
			// pitchControlAssignCheckBox
			// 
			this.pitchControlAssignCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
			this.pitchControlAssignCheckBox.Location = new System.Drawing.Point(16, 416);
			this.pitchControlAssignCheckBox.Name = "pitchControlAssignCheckBox";
			this.pitchControlAssignCheckBox.Size = new System.Drawing.Size(136, 16);
			this.pitchControlAssignCheckBox.TabIndex = 66;
			this.pitchControlAssignCheckBox.Text = "Pitch Control Assign";
			this.pitchControlAssignCheckBox.CheckedChanged += new System.EventHandler(this.pitchControlAssignCheckBox_CheckedChanged);
			// 
			// headRadioButton
			// 
			this.headRadioButton.Location = new System.Drawing.Point(32, 24);
			this.headRadioButton.Name = "headRadioButton";
			this.headRadioButton.Size = new System.Drawing.Size(72, 16);
			this.headRadioButton.TabIndex = 68;
			this.headRadioButton.Text = "Head";
			this.headRadioButton.CheckedChanged += new System.EventHandler(this.headRadioButton_CheckedChanged);
			// 
			// rimRadioButton
			// 
			this.rimRadioButton.Location = new System.Drawing.Point(112, 24);
			this.rimRadioButton.Name = "rimRadioButton";
			this.rimRadioButton.Size = new System.Drawing.Size(72, 16);
			this.rimRadioButton.TabIndex = 69;
			this.rimRadioButton.Text = "Rim";
			// 
			// padGroupBox
			// 
			this.padGroupBox.Controls.Add(this.label18);
			this.padGroupBox.Controls.Add(this.label19);
			this.padGroupBox.Controls.Add(this.patternTextBox);
			this.padGroupBox.Controls.Add(this.label20);
			this.padGroupBox.Controls.Add(this.gateTimeHScrollBar);
			this.padGroupBox.Controls.Add(this.label23);
			this.padGroupBox.Controls.Add(this.headRadioButton);
			this.padGroupBox.Controls.Add(this.label24);
			this.padGroupBox.Controls.Add(this.patternVelocityCheckBox);
			this.padGroupBox.Controls.Add(this.rimRadioButton);
			this.padGroupBox.Controls.Add(this.label26);
			this.padGroupBox.Controls.Add(this.levelHScrollBar);
			this.padGroupBox.Controls.Add(this.noteNumTextBox);
			this.padGroupBox.Controls.Add(this.instTreeView);
			this.padGroupBox.Controls.Add(this.pitchHScrollBar);
			this.padGroupBox.Controls.Add(this.label17);
			this.padGroupBox.Controls.Add(this.decayHScrollBar);
			this.padGroupBox.Controls.Add(this.label27);
			this.padGroupBox.Controls.Add(this.ambSendHScrollBar);
			this.padGroupBox.Controls.Add(this.pitchControlAssignCheckBox);
			this.padGroupBox.Location = new System.Drawing.Point(256, 8);
			this.padGroupBox.Name = "padGroupBox";
			this.padGroupBox.Size = new System.Drawing.Size(272, 440);
			this.padGroupBox.TabIndex = 70;
			this.padGroupBox.TabStop = false;
			this.padGroupBox.Text = "Pad Parameters";
			// 
			// commonGroupBox
			// 
			this.commonGroupBox.Controls.Add(this.nameTextBox);
			this.commonGroupBox.Controls.Add(this.label1);
			this.commonGroupBox.Controls.Add(this.label2);
			this.commonGroupBox.Controls.Add(this.studioTypeComboBox);
			this.commonGroupBox.Controls.Add(this.label3);
			this.commonGroupBox.Controls.Add(this.kitNumTextBox);
			this.commonGroupBox.Controls.Add(this.studioLevelScrollBar);
			this.commonGroupBox.Controls.Add(this.label4);
			this.commonGroupBox.Controls.Add(this.wallTypeComboBox);
			this.commonGroupBox.Controls.Add(this.label5);
			this.commonGroupBox.Controls.Add(this.label6);
			this.commonGroupBox.Controls.Add(this.roomSizeComboBox);
			this.commonGroupBox.Controls.Add(this.label7);
			this.commonGroupBox.Controls.Add(this.eqLowFreqComboBox);
			this.commonGroupBox.Controls.Add(this.label8);
			this.commonGroupBox.Controls.Add(this.eqLowGainScrollBar);
			this.commonGroupBox.Controls.Add(this.label9);
			this.commonGroupBox.Controls.Add(this.eqHiGainScrollBar);
			this.commonGroupBox.Controls.Add(this.label10);
			this.commonGroupBox.Controls.Add(this.eqHiFreqComboBox);
			this.commonGroupBox.Controls.Add(this.ambienceCheckBox);
			this.commonGroupBox.Controls.Add(this.EQCheckBox);
			this.commonGroupBox.Controls.Add(this.brushCheckBox);
			this.commonGroupBox.Controls.Add(this.label11);
			this.commonGroupBox.Controls.Add(this.pedalHHVolScrollBar);
			this.commonGroupBox.Controls.Add(this.label12);
			this.commonGroupBox.Controls.Add(this.pedalBendScrollBar);
			this.commonGroupBox.Controls.Add(this.label13);
			this.commonGroupBox.Controls.Add(this.masterVolumeScrollBar);
			this.commonGroupBox.Controls.Add(this.ambPercSendScrollBar);
			this.commonGroupBox.Controls.Add(this.label16);
			this.commonGroupBox.Controls.Add(this.ambPartSendScrollBar);
			this.commonGroupBox.Controls.Add(this.label14);
			this.commonGroupBox.Controls.Add(this.ambKitSendScrollBar);
			this.commonGroupBox.Controls.Add(this.label15);
			this.commonGroupBox.Location = new System.Drawing.Point(8, 8);
			this.commonGroupBox.Name = "commonGroupBox";
			this.commonGroupBox.Size = new System.Drawing.Size(232, 488);
			this.commonGroupBox.TabIndex = 71;
			this.commonGroupBox.TabStop = false;
			this.commonGroupBox.Text = "Common Parameters";
			// 
			// mainMenu1
			// 
			this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
																					  this.fileMenuItem,
																					  this.editMenuItem});
			// 
			// fileMenuItem
			// 
			this.fileMenuItem.Index = 0;
			this.fileMenuItem.Text = "&File";
			// 
			// editMenuItem
			// 
			this.editMenuItem.Index = 1;
			this.editMenuItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
																						 this.editMenuCopyFromTemplate,
																						 this.editMenuCopyToTemplateItem});
			this.editMenuItem.Text = "&Edit";
			// 
			// editMenuCopyFromTemplate
			// 
			this.editMenuCopyFromTemplate.Index = 0;
			this.editMenuCopyFromTemplate.Text = "Copy &From Template...";
			this.editMenuCopyFromTemplate.Click += new System.EventHandler(this.editMenuCopyFromTemplate_Click);
			// 
			// editMenuCopyToTemplateItem
			// 
			this.editMenuCopyToTemplateItem.Index = 1;
			this.editMenuCopyToTemplateItem.Text = "Copy &To Template";
			// 
			// TD8PadEdit
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(536, 505);
			this.Controls.Add(this.commonGroupBox);
			this.Controls.Add(this.padGroupBox);
			this.Menu = this.mainMenu1;
			this.Name = "TD8PadEdit";
			this.Text = "TD8PadEdit";
			this.Load += new System.EventHandler(this.TD8PadEdit_Load);
			this.padGroupBox.ResumeLayout(false);
			this.commonGroupBox.ResumeLayout(false);
			this.ResumeLayout(false);

		}
		#endregion

		private void TD8PadEdit_Load(object sender, System.EventArgs e)
		{
			#region	fill enum arrays
			// Initialize fixed enum values
			studioTypeComboBox.Items.Add("Beach");
			studioTypeComboBox.Items.Add("Living");
			studioTypeComboBox.Items.Add("Bath");
			studioTypeComboBox.Items.Add("Studio");
			studioTypeComboBox.Items.Add("Garage");
			studioTypeComboBox.Items.Add("Locker");
			studioTypeComboBox.Items.Add("Theater");
			studioTypeComboBox.Items.Add("Cave");
			studioTypeComboBox.Items.Add("Gym");
			studioTypeComboBox.Items.Add("Stadium");

			wallTypeComboBox.Items.Add("Wood");
			wallTypeComboBox.Items.Add("Plaster");
			wallTypeComboBox.Items.Add("Glass");

			roomSizeComboBox.Items.Add("Small");
			roomSizeComboBox.Items.Add("Medium");
			roomSizeComboBox.Items.Add("Large");

			eqLowFreqComboBox.Items.Add("200Hz");
			eqLowFreqComboBox.Items.Add("400Hz");

			eqHiFreqComboBox.Items.Add("3kHz");
			eqHiFreqComboBox.Items.Add("6kHz");
			#endregion

			PopulateTreeView();

			SetCommonControls();

			headRadioButton.Checked = (headRimSel == 0);
			rimRadioButton.Checked = (headRimSel == 1);
		}

		#region PopulateTreeView
		private void PopulateTreeView()
		{
			int index = 0;
			instTreeView.BeginUpdate();
			for( int group = 0; group < NumGroups; group++)
			{
				TreeNode tnode = new TreeNode( TD8.nodeNames[group] );
				instTreeView.Nodes.Add( tnode );
				foreach(string str in TD8.instGroupNames[group])
				{
					TreeNode tnode2 = new TreeNode( str );
					tnode2.Tag = index;
					tnode.Nodes.Add( tnode2 );
					index++;
				}
			}
			
			instTreeView.EndUpdate();
		}
		#endregion

		// Return the Head Node
		private TreeNode GetTreeNode( int inst )
		{
			if(inst > 1023) return null;
			int tinst = inst;
			foreach(TreeNode node in instTreeView.Nodes)
			{
				if(node.Nodes.Count > tinst)
				{
					return node.Nodes[tinst];
				}
				else
				{
					tinst -= node.Nodes.Count;
				}
			}
			return null;
		}

		private void SetCommonControls()
		{
			kitNumTextBox.Text = KitNum.ToString();
			nameTextBox.Text = td8.kits[kitNum].Common.Name;
			studioTypeComboBox.SelectedIndex = (int)td8.kits[kitNum].Common.StudioType;
			studioLevelScrollBar.Value = td8.kits[kitNum].Common.StudioLevel;
			wallTypeComboBox.SelectedIndex = (int)td8.kits[kitNum].Common.WallType;
			roomSizeComboBox.SelectedIndex = (int)td8.kits[kitNum].Common.RoomSize;
			eqLowFreqComboBox.SelectedIndex = (int)td8.kits[kitNum].Common.EQLowFreq;
			eqLowGainScrollBar.Value = td8.kits[kitNum].Common.EQLowGain;
			eqHiFreqComboBox.SelectedIndex = (int)td8.kits[kitNum].Common.EQHighFreq;
			eqHiGainScrollBar.Value = td8.kits[kitNum].Common.EQHighGain;
			ambienceCheckBox.Checked = td8.kits[kitNum].Common.AmbienceOnOff;
			EQCheckBox.Checked = td8.kits[kitNum].Common.EQOnOff;
			brushCheckBox.Checked = td8.kits[kitNum].Common.BrushOnOff;
			pedalHHVolScrollBar.Value = td8.kits[kitNum].Common.PedalHiHatVolume;
			pedalBendScrollBar.Value = td8.kits[kitNum].Common.PedalBendRange;
			masterVolumeScrollBar.Value = td8.kits[kitNum].Common.MasterVolume;
			ambKitSendScrollBar.Value = td8.kits[kitNum].Common.AmbienceGroupKitSendLevel;
			ambPercSendScrollBar.Value = td8.kits[kitNum].Common.AmbienceGroupPercSendLevel;
			ambPartSendScrollBar.Value = td8.kits[kitNum].Common.AmbienceGroupPartSendLevel;
		}
		private void SetHeadOrRimControls()
		{
			int inst = (int)td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Instrument;
			TreeNode hNode = GetTreeNode( inst );
			if(hNode != null)
			{
				instTreeView.SelectedNode = hNode;
				hNode.EnsureVisible();
			}
			pitchHScrollBar.Value = (int)td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Pitch;
			decayHScrollBar.Value = (int)td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Decay;
			patternTextBox.Text = td8.kits[kitNum].Pads[padNum].Pad[headRimSel].PlayPatternNumber.ToString();
			gateTimeHScrollBar.Value = (int)td8.kits[kitNum].Pads[padNum].Pad[headRimSel].GateTime;
			noteNumTextBox.Text = td8.kits[kitNum].Pads[padNum].Pad[headRimSel].NoteNum.ToString();
			patternVelocityCheckBox.Checked = td8.kits[kitNum].Pads[padNum].Pad[headRimSel].PadPatternVelocity;
			levelHScrollBar.Value = (int)td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Level;
			ambSendHScrollBar.Value = (int)td8.kits[kitNum].Pads[padNum].Pad[headRimSel].AmbienceSendLevel;
			pitchControlAssignCheckBox.Checked = td8.kits[kitNum].Pads[padNum].Pad[headRimSel].PitchCtrlAssign;
		}

		private void studioTypeComboBox_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			int type = studioTypeComboBox.SelectedIndex;
			Console.WriteLine("StudioType = {0}",type);
			td8.kits[kitNum].Common.StudioType = (TD8Common.enumStudioType)type;
			td8.SendByteParameterToTD8((byte)type,1,(byte)kitNum,0,0x08);
			td8.DirtyFlag = true;
		}

		private void studioLevelScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int level = studioLevelScrollBar.Value;
			td8.kits[kitNum].Common.StudioLevel = (byte)level;
			td8.SendByteParameterToTD8((byte)level,1,(byte)kitNum,0,0x09);
			td8.DirtyFlag = true;
		}

		private void wallTypeComboBox_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			int type = wallTypeComboBox.SelectedIndex;
			td8.kits[kitNum].Common.WallType = (TD8Common.enumWallType)type;
			td8.SendByteParameterToTD8((byte)type,1,(byte)kitNum,0,0x0a);
			td8.DirtyFlag = true;
		}

		private void roomSizeComboBox_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			int size = roomSizeComboBox.SelectedIndex;
			td8.kits[kitNum].Common.RoomSize = (TD8Common.enumRoomSize)size;
			td8.SendByteParameterToTD8((byte)size,1,(byte)kitNum,0,0x0b);
			td8.DirtyFlag = true;
		}

		private void eqLowFreqComboBox_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			int freq = eqLowFreqComboBox.SelectedIndex;
			td8.kits[kitNum].Common.EQLowFreq = (TD8Common.enumEQLowFreq)freq;
			td8.SendByteParameterToTD8((byte)freq,1,(byte)kitNum,0,0x0c);
			td8.DirtyFlag = true;
		}

		private void eqLowGainScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int gain = eqLowGainScrollBar.Value;
			td8.kits[kitNum].Common.EQLowGain = (byte)gain;
			td8.SendByteParameterToTD8((byte)gain,1,(byte)kitNum,0,0x0d);
			td8.DirtyFlag = true;
		}

		private void eqHiFreqComboBox_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			int freq = eqHiFreqComboBox.SelectedIndex;
			td8.kits[kitNum].Common.EQHighFreq = (TD8Common.enumEQHighFreq)freq;
			td8.SendByteParameterToTD8((byte)freq,1,(byte)kitNum,0,0x0e);
			td8.DirtyFlag = true;
		}

		private void eqHiGainScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int gain = eqHiGainScrollBar.Value;
			td8.kits[kitNum].Common.EQHighGain = (byte)gain;
			td8.SendByteParameterToTD8((byte)gain,1,(byte)kitNum,0,0x0f);
			td8.DirtyFlag = true;
		}

		private void ambienceCheckBox_CheckedChanged(object sender, System.EventArgs e)
		{
			int amb = ambienceCheckBox.Checked ? 1 : 0;
			td8.kits[kitNum].Common.AmbienceOnOff = amb != 0;
			td8.SendByteParameterToTD8((byte)amb,1,(byte)kitNum,0,0x10);
			td8.DirtyFlag = true;
		}

		private void EQCheckBox_CheckedChanged(object sender, System.EventArgs e)
		{
			int eq = EQCheckBox.Checked ? 1 : 0;
			td8.kits[kitNum].Common.EQOnOff = eq != 0;
			td8.SendByteParameterToTD8((byte)eq,1,(byte)kitNum,0,0x11);
			td8.DirtyFlag = true;
		}

		private void brushCheckBox_CheckedChanged(object sender, System.EventArgs e)
		{
			int brush = brushCheckBox.Checked ? 1 : 0;
			td8.kits[kitNum].Common.BrushOnOff = brush != 0;
			td8.SendByteParameterToTD8((byte)brush,1,(byte)kitNum,0,0x12);
			td8.DirtyFlag = true;
		}

		private void pedalHHVolScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int vol = pedalHHVolScrollBar.Value;
			td8.kits[kitNum].Common.PedalHiHatVolume = (byte)vol;
			td8.SendByteParameterToTD8((byte)vol,1,(byte)kitNum,0,0x13);
			td8.DirtyFlag = true;
		}

		private void pedalBendScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int bend = pedalBendScrollBar.Value;
			td8.kits[kitNum].Common.PedalBendRange = (byte)bend;
			td8.SendByteParameterToTD8((byte)bend,1,(byte)kitNum,0,0x14);
			td8.DirtyFlag = true;
		}

		private void masterVolumeScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int vol = masterVolumeScrollBar.Value;
			td8.kits[kitNum].Common.MasterVolume = (byte)vol;
			td8.SendByteParameterToTD8((byte)vol,1,(byte)kitNum,0,0x15);
			td8.DirtyFlag = true;
		}

		private void ambKitSendScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int send = ambKitSendScrollBar.Value;
			td8.kits[kitNum].Common.AmbienceGroupKitSendLevel = (byte)send;
			td8.SendByteParameterToTD8((byte)send,1,(byte)kitNum,0,0x16);
			td8.DirtyFlag = true;
		}

		private void ambPercSendScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int send = ambPercSendScrollBar.Value;
			td8.kits[kitNum].Common.AmbienceGroupPercSendLevel = (byte)send;
			td8.SendByteParameterToTD8((byte)send,1,(byte)kitNum,0,0x17);
			td8.DirtyFlag = true;
		}

		private void ambPartSendScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int send = ambPartSendScrollBar.Value;
			td8.kits[kitNum].Common.AmbienceGroupPartSendLevel = (byte)send;
			td8.SendByteParameterToTD8((byte)send,1,(byte)kitNum,0,0x18);
			td8.DirtyFlag = true;
		}

		//---------------------------
		// Select Head Pad Settings
		private void headRadioButton_CheckedChanged(object sender, System.EventArgs e)
		{
			headRimSel = headRadioButton.Checked ? 0 : 1;
			SetHeadOrRimControls();
		}

		private void instTreeView_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
		{
			if(headRimSel==0) Console.WriteLine("TreeView select head inst.");
			else Console.WriteLine("TreeView select rim inst.");
			TreeNode node = e.Node;
			int inst = 0;
			if(node.Tag != null) 
			{
				inst = (int)node.Tag;
				if(headRimSel==0) Console.WriteLine("  new head inst = {0}",inst);
				else Console.WriteLine("  new rim inst = {0}",inst);
				td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Instrument = (uint)inst;
			}
			//td8.SendKitPadToTD8(kitNum,padNum);
			td8.SendNibbledParameterToTD8((uint)inst,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+0));
			td8.DirtyFlag = true;
		}

		private void pitchHScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int pitch = pitchHScrollBar.Value;
			td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Pitch = pitch;
			td8.SendNibbledParameterToTD8((uint)pitch,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+4));
			td8.DirtyFlag = true;
		}

		private void decayHScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int decay = decayHScrollBar.Value;
			td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Decay = (byte)decay;
			td8.SendByteParameterToTD8((byte)decay,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+0x08));
			td8.DirtyFlag = true;
		}

		private void patternTextBox_TextChanged(object sender, System.EventArgs e)
		{
			// TODO:
			// Currently we do not allow chaning this, but we could.
			td8.DirtyFlag = true;
		}

		private void gateTimeHScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int gate = gateTimeHScrollBar.Value;
			td8.kits[kitNum].Pads[padNum].Pad[headRimSel].GateTime = (byte)gate;
			td8.SendByteParameterToTD8((byte)gate,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+0x0d));
			td8.DirtyFlag = true;
		}

		private void noteNumTextBox_TextChanged(object sender, System.EventArgs e)
		{
			// TODO:
		
			td8.DirtyFlag = true;
		}

		private void patternVelocityCheckBox_CheckedChanged(object sender, System.EventArgs e)
		{
			int pattern = patternVelocityCheckBox.Checked ? 1 : 0;
			td8.kits[kitNum].Pads[padNum].Pad[headRimSel].PadPatternVelocity = pattern != 0;
			td8.SendByteParameterToTD8((byte)pattern,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+0x0f));
			td8.DirtyFlag = true;
		}

		private void levelHScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int level = levelHScrollBar.Value;
			td8.kits[kitNum].Pads[padNum].Pad[headRimSel].Level = (byte)level;
			td8.SendByteParameterToTD8((byte)level,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+0x10));
			td8.DirtyFlag = true;
		}

		private void ambSendHScrollBar_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
		{
			int amb = ambSendHScrollBar.Value;
			td8.kits[kitNum].Pads[padNum].Pad[headRimSel].AmbienceSendLevel = (byte)amb;
			td8.SendByteParameterToTD8((byte)amb,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+0x11));
			td8.DirtyFlag = true;
		}

		private void pitchControlAssignCheckBox_CheckedChanged(object sender, System.EventArgs e)
		{
			int assign = pitchControlAssignCheckBox.Checked ? 1 : 0;
			td8.kits[kitNum].Pads[padNum].Pad[headRimSel].PitchCtrlAssign = assign != 0;
			td8.SendByteParameterToTD8((byte)assign,1,(byte)kitNum,(byte)(padNum+1),(byte)((headRimSel*0x13)+0x12));
			td8.DirtyFlag = true;
		}

		// Display a list of Templates (21-65) form which to copy to the current patch (1-20)
		private void editMenuCopyFromTemplate_Click(object sender, System.EventArgs e)
		{
			TD8CopyTemplate dlg = new TD8CopyTemplate();
			dlg.Td8 = td8;
			dlg.KitNum = kitNum;
			dlg.PadNum = padNum;
			dlg.ShowDialog();
			SetCommonControls();
			SetHeadOrRimControls();
			td8.DirtyFlag = true;
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Software Developer (Senior)
United States United States
Ron is a senior software engineer.
His hobbies include riding motorcycles, travel, and scuba diving.

He enjoys learning about science, particularly quantum physics and cosmology.

He is active with his church where he plays drums and keyboards with the contemporary church band each week.
He also designed and maintains his church and band websites (http://TheRockUMC.org and http://TheRockBand.org).

Comments and Discussions