From: Hiroo H. <hir...@co...> - 2004-09-06 22:44:53
|
Hi Rib, Rib> > Why some method in Parameter has 'IPatch p' argument. I guess the Rib> > IPatch object is passed to Parameter object via constructor. Rib> Rib> This is so the driver can have one set of parameter objects which are Rib> shared by all of that driver's patches. I see. XMLParamter.decoder is never set now. I guess it will be set by the constructor. Rib> > How does IPatchDriver.sendParameter(IPatch, Parameter) works. Parameter Rib> > object does not have information about SysexMessage data format. I Rib> > guess what we need is 'void Parameter.send()'. Rib> Rib> Each driver (or decoder for xml drivers) has a subclass of parameter Rib> with whatever data is necessary about how the parameter is stored in Rib> the sysex message. Although Parameter.send might be better for non-xml Rib> drivers. My question was not clear. I think we don't need IPatchDriver.sendParamter. IPatchDriver does not have to have a method only for Parameter class. We already have IPatchDriver.send(SysexMessage) method. What we need is; void Parameter.send(IPatch) or MidiMessage[] Parameter.getMessage(IPatch) I chose the 1st one for ISender, because most of cases only one MIDI message is sent but we need to support the case of multiple MIDI messages. Only ISender which sends multiple message have a for-loop. BTW Parameter interface is used only for an argument of SysexWidget. It would be better to make it an inner interface of SysexWidget as I did for ISender and IParamModel. How do you think? -- Hiroo Hayashi |