/*********************************************	Copyright © 2001 Jason Lamport.	All rights reserved.----------------------V_Knob  creates a digital readout*******************************************/package com.strangelight.v4control;import com.strangelight.*;import com.strangelight.salsa.*;import java.awt.*;public class V_Knob extends J_Panel {	public V_Knob( int chnl, int cntrlr, int val ) {		channel = new J_DigitalDisplay(2, J_DigitalDisplay.BLUE_ON_BLACK_8x13 );		controller = new J_DigitalDisplay(3, J_DigitalDisplay.BLUE_ON_BLACK_8x13);		value = new J_DigitalDisplay(3, J_DigitalDisplay.BLUE_ON_BLACK_8x13);		output_bus = new J_OutputBus_Popup();				set_channel(chnl);		set_controller(cntrlr);		set_value(val);				add_at(output_bus, 0,0,2,1);		add_at(channel, 0,1 );		add_at(controller, 1,1 );		add_at(value, 0,2,2,1 );				setSize(getPreferredSize());				D.bug(this);				setVisible(true);	}			public void set_channel(int ch) {		if ( (ch > 16) || (ch < 1) ) throw new E_OutOfBounds(			ch + " is not a valid MIDI channel"		);		channel.set_value(ch);		D.bug("output_bus.getSize()" + output_bus.getSize() );	}		public void set_controller(int cntrllr) {		if ( (cntrllr > J_OMS.MAX_CONTROLLER_NUM) || (cntrllr < J_OMS.MIN_CONTROLLER_NUM) ) throw new E_OutOfBounds(			cntrllr + " is not a valid MIDI controller"		);		controller.set_value(cntrllr);	}		public void set_value(int val) {		if ( (val > J_OMS.MAX_CONTROLLER_VALUE) || (val < J_OMS.MIN_CONTROLLER_VALUE) ) throw new E_OutOfBounds(			val + " is not a valid MIDI channel"		);		value.set_value(val);	}		public void paint(Graphics g) {		super.paint(g);	}		private J_DigitalDisplay channel, controller, value;	private J_OutputBus_Popup	output_bus;	}