public void putPatch(Patch bank,Patch p,int patchNum)
public void putPatch(IPatch bank,IPatch p,int patchNum)
	public void putPatch(Patch bank,Patch p,int patchNum)		//puts a patch into the bank, converting it as needed	{		if (!canHoldPatch(p)) {			DX7FamilyStrings.dxShowError(toString(), "This type of patch does not fit in to this type of bank.");			return;		}		// Transform Voice Data to Bulk Dump Packed Format		bank.sysex[getPatchStart(patchNum)+ 0	]=(byte)(0x03);	// Byte Count MSB		bank.sysex[getPatchStart(patchNum)+ 1	]=(byte)(0x76);	// Byte Count LSB		bank.sysex[getPatchStart(patchNum)+ 2	]=(byte)(0x4c);	// "L"		bank.sysex[getPatchStart(patchNum)+ 3	]=(byte)(0x4d);	// "M"		bank.sysex[getPatchStart(patchNum)+ 4	]=(byte)(0x20);	// " "		bank.sysex[getPatchStart(patchNum)+ 5	]=(byte)(0x20);	// " "		bank.sysex[getPatchStart(patchNum)+ 6	]=(byte)(0x46);	// "F"		bank.sysex[getPatchStart(patchNum)+ 7	]=(byte)(0x4b);	// "K"		bank.sysex[getPatchStart(patchNum)+ 8	]=(byte)(0x53);	// "S"		bank.sysex[getPatchStart(patchNum)+ 9	]=(byte)(0x59);	// "Y"		bank.sysex[getPatchStart(patchNum)+10	]=(byte)(0x43);	// "C"		bank.sysex[getPatchStart(patchNum)+11	]=(byte)(0x20);	// " "		for (int i=0; i<492; i++)		{			bank.sysex[getPatchStart(patchNum)+12+i]=(byte)p.sysex[16+i];		}		// Calculate checkSum of single bulk data		calculateChecksum(bank,getPatchStart(patchNum)+2,getPatchStart(patchNum)+12+492-1,getPatchStart(patchNum)+12+492);	}