oSensPanel.add(new KnobWidget("Amp velocity", p, 0, 14, -7, new BitModel(p, 0x3C, aOp, 0x0F, 0), new BitSender(p, 0x3C, aOp))); oSensPanel.add(new KnobWidget("Freq velocity", p, 0, 14, -7, new BitModel(p, 0x3B, aOp, 0x0F, 0), new BitSender(p, 0x3B, aOp))); oSensPanel.add(new KnobWidget("Amp EG bias", p, 0, 14, -7, new FS1RModel(p, 0x3D, aOp), new FS1RSender(0x3D, aOp))); oSensPanel.add(new KnobWidget("Freq bias", p, 0, 14, -7, new FS1RModel(p, 0x3A, aOp), new FS1RSender(0x3A, aOp))); oSensPanel.add(new KnobWidget("Width bias", p, 0, 14, -7, new FS1RModel(p, 0x28, aOp), new FS1RSender(0x28, aOp))); oSensPanel.add(new KnobWidget("Amp mod", p, 0, 7, 0, new BitModel(p, 0x3C, aOp, 0x70, 4), new BitSender(p, 0x3C, aOp))); oSensPanel.add(new KnobWidget("Freq mod", p, 0, 7, 0, new BitModel(p, 0x3B, aOp, 0x70, 4), new BitSender(p, 0x3B, aOp)));
oSensPanel.add(new KnobWidget("Amp velocity", p, 0, 14, -7, new BitModel((Patch)p, 0x3C, aOp, 0x0F, 0), new BitSender((Patch)p, 0x3C, aOp))); oSensPanel.add(new KnobWidget("Freq velocity", p, 0, 14, -7, new BitModel((Patch)p, 0x3B, aOp, 0x0F, 0), new BitSender((Patch)p, 0x3B, aOp))); oSensPanel.add(new KnobWidget("Amp EG bias", p, 0, 14, -7, new FS1RModel((Patch)p, 0x3D, aOp), new FS1RSender(0x3D, aOp))); oSensPanel.add(new KnobWidget("Freq bias", p, 0, 14, -7, new FS1RModel((Patch)p, 0x3A, aOp), new FS1RSender(0x3A, aOp))); oSensPanel.add(new KnobWidget("Width bias", p, 0, 14, -7, new FS1RModel((Patch)p, 0x28, aOp), new FS1RSender(0x28, aOp))); oSensPanel.add(new KnobWidget("Amp mod", p, 0, 7, 0, new BitModel((Patch)p, 0x3C, aOp, 0x70, 4), new BitSender((Patch)p, 0x3C, aOp))); oSensPanel.add(new KnobWidget("Freq mod", p, 0, 7, 0, new BitModel((Patch)p, 0x3B, aOp, 0x70, 4), new BitSender((Patch)p, 0x3B, aOp)));
	private Container buildUnvoicedWindow(int aOp) {		Box oPane = Box.createVerticalBox();		JPanel oPanel1 = new JPanel(new FlowLayout(FlowLayout.LEFT));		oPanel1.add(new ComboBoxWidget("Freq mode", p, new BitModel(p, 0x24, aOp, 0x60, 5), new BitSender(p, 0x24, aOp), new String []{"Normal", "LinkF0", "LinkFF"}));		oPanel1.add(new SpinnerWidget("Transpose", p, 0, 48, -24, new BitModel(p, 0, aOp, 0x3F, 0), new BitSender(p, 0, aOp)));		oPanel1.add(new KnobLookupWidget("Freq coarse", p, new BitModel(p, 0x24, aOp, 0x1F, 0), new BitSender(p, 0x24, aOp), mUnvoicedFreCoarseNames));		oPanel1.add(new KnobWidget("Freq fine", p, 0, 0x7F, 0, new FS1RModel(p, 0x25, aOp), new FS1RSender(0x25, aOp)));		oPanel1.add(new KnobWidget("Freq scaling", p, 0, 99, 0, new FS1RModel(p, 0x26, aOp), new FS1RSender(0x26, aOp)));		oPane.add(oPanel1);		JPanel oPanel2 = new JPanel(new FlowLayout(FlowLayout.LEFT));		oPanel2.add(new KnobWidget("Band width", p, 0, 0x63, 0, new FS1RModel(p, 0x27, aOp), new FS1RSender(0x27, aOp)));		oPanel2.add(new KnobWidget("Resonance", p, 0, 7, 0, new BitModel(p, 0x29, aOp, 0x38, 3), new BitSender(p, 0x29, aOp)));		oPanel2.add(new SpinnerWidget("Skirt", p, 0, 7, 0, new BitModel(p, 0x29, aOp, 7, 0), new BitSender(p, 0x29, aOp)));		oPanel2.add(new KnobWidget("Output level", p, 0, 99, 0, new FS1RModel(p, 0x2E, aOp), new FS1RSender(0x2E, aOp)));		oPanel2.add(new KnobWidget("Level scaling", p, 0, 14, -7, new FS1RModel(p, 0x2F, aOp), new FS1RSender(0x2F, aOp)));		oPane.add(oPanel2);//		JPanel oPanel5 = new JPanel(new FlowLayout(FlowLayout.LEFT));		Box oPanel5 = Box.createHorizontalBox();//		JPanel oPanel5 = new JPanel(new GridLayout(1, 2));		EnvelopeWidget oEnvAmp = new EnvelopeWidget("Amplitude Envelope Generator",p,new EnvelopeWidget.Node []		{        new EnvelopeWidget.Node(0,0,null, 0, 0,null,0,false,null,null,null,null),        new EnvelopeWidget.Node(0, 99, new FS1RModel(p, 0x38, aOp), 0, 0, null, 0, false, new FS1RSender(0x38), null, "Hold", null),        new EnvelopeWidget.Node(0, 99, new FS1RModel(p, 0x34, aOp), 0, 99,new FS1RModel(p, 0x30, aOp), 0,false,new FS1RSender(0x34, aOp), new FS1RSender(0x30, aOp),"R1","L1"),        new EnvelopeWidget.Node(0, 99, new FS1RModel(p, 0x35, aOp), 0, 99,new FS1RModel(p, 0x31, aOp), 0,false,new FS1RSender(0x35, aOp), new FS1RSender(0x31, aOp),"R2","L2"),		new EnvelopeWidget.Node(0, 99, new FS1RModel(p, 0x36, aOp), 0, 99,new FS1RModel(p, 0x32, aOp), 0,false,new FS1RSender(0x36, aOp), new FS1RSender(0x32, aOp),"R3","L3"),        new EnvelopeWidget.Node(0, 99, new FS1RModel(p, 0x37, aOp), 0, 99,new FS1RModel(p, 0x33, aOp), 0,false,new FS1RSender(0x37, aOp), new FS1RSender(0x33, aOp),"R4","L4")		});		//oEnvAmp.setPreferredSize(new Dimension(ENV_WIDTH, ENV_HEIGHT));		oPanel5.add(oEnvAmp);		oPanel5.add(Box.createHorizontalStrut(5));		EnvelopeWidget oEnvFreq = new EnvelopeWidget("Frequency Envelope Generator",p,new EnvelopeWidget.Node []		{        new EnvelopeWidget.Node(0, 0, null, 0, 0x64, new FS1RModel(p, 0x2A, aOp), 0, false, null, new FS1RSender(0x2A, aOp), null, "Initial level"),        new EnvelopeWidget.Node(0, 0x63, new FS1RModel(p, 0x2C, aOp), 0, 0x64, new FS1RModel(p, 0x2B, aOp), 0, false, new FS1RSender(0x2C, aOp), new FS1RSender(0x2B, aOp), "Attack time", "Attack level"),        new EnvelopeWidget.Node(0, 0x63, new FS1RModel(p, 0x2D, aOp), 0, 0, null, 0, false, new FS1RSender(0x2D, aOp), null, "Decay", null)		});		//oEnvFreq.setPreferredSize(new Dimension(ENV_WIDTH, ENV_HEIGHT));		oPanel5.add(oEnvFreq);		//oPanel5.setPreferredSize(new Dimension(500, 300));		oPane.add(oPanel5);		JPanel oSensPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));		oSensPanel.add(new KnobWidget("Amp velocity", p, 0, 14, -7, new BitModel(p, 0x3C, aOp, 0x0F, 0), new BitSender(p, 0x3C, aOp)));		oSensPanel.add(new KnobWidget("Freq velocity", p, 0, 14, -7, new BitModel(p, 0x3B, aOp, 0x0F, 0), new BitSender(p, 0x3B, aOp)));		oSensPanel.add(new KnobWidget("Amp EG bias", p, 0, 14, -7, new FS1RModel(p, 0x3D, aOp), new FS1RSender(0x3D, aOp)));		oSensPanel.add(new KnobWidget("Freq bias", p, 0, 14, -7, new FS1RModel(p, 0x3A, aOp), new FS1RSender(0x3A, aOp)));		oSensPanel.add(new KnobWidget("Width bias", p, 0, 14, -7, new FS1RModel(p, 0x28, aOp), new FS1RSender(0x28, aOp)));		oSensPanel.add(new KnobWidget("Amp mod", p, 0, 7, 0, new BitModel(p, 0x3C, aOp, 0x70, 4), new BitSender(p, 0x3C, aOp)));		oSensPanel.add(new KnobWidget("Freq mod", p, 0, 7, 0, new BitModel(p, 0x3B, aOp, 0x70, 4), new BitSender(p, 0x3B, aOp)));		oPane.add(oSensPanel);		return oPane;	}