From: Hiroo H. <hir...@co...> - 2004-08-24 13:46:12
|
Hi Rib, I have to go office soon. Quick answer. Rib> Hi Hiroo. I have a couple questions/comments about these changes. Rib> First, in Patch(byte[], int) it looks like it should be Rib> System.arraycopy(sysex, offset, this.sysex, 0, sysex.length - offset); Rib> instead of Rib> System.arraycopy(sysex, offset, sysex, 0, sysex.length - offset); You are correct. But now Patch(byte[], int) is not used by my last change. We can remove this constructor. Rib> Also, I was thinking it might be better to have Rib> IPatchDriver.supportsMessage so that each message can be checked Rib> instead of just whatever's at the beginning. Then it would probably Sorry, I don't understand the purpose of this method. Does this check if IPatch.getDriver() returned correct value? (I guess this is wrong.) Rib> be better to have something like Patch.chooseDriver(SysexMessage[]) Rib> and Patch.valueOf(SysexMessage[]). Should these be final? I did not defined them just because I did not need them to reimplement the current JSynthLib. If we need them, let's define. I've not sure this is the case, but I agree with you we should use more 'final' properly. It will help synth driver developers. Rib> I had one other question about Converter, but I figured it out. Rib> Should I go back include my changes to my Converter extend Object now? I'm not sure. If Converter extends Object (not Driver), don't you have to make change the subclasses of the Converter? I start thinking Driver, BankDriver, Convert, and Patch classes are for compatibility. I guess you may need AbstractConverter class. I also think we may need AbstractPatch class for common methods of Patch and XMLPatch class. Rib> I was working on the xml driver today. I'd guess it's about 40% done. Good to hear! -- Hiroo Hayashi |