From: Hiroo H. <hir...@co...> - 2004-10-07 03:11:24
|
Hi Rib, Rib> > IPatchDriver.export(IPatch) -> IPatch.export() Rib> > IPatchDriver.send(IPatch, int, int) -> send(int, int) Rib> ... Rib> > ISingleDriver.play(IPatch) -> ISinglePatch.play() Rib> > ISingleDriver.send(IPatch) -> ISinglePatch.send() Rib> Rib> We've talked in the past about multiple drivers that use the same Rib> patch format. That's why I never proposed moving play and send to the Rib> Patch. I tried to keep everything that would be device dependent in Rib> the driver. Although I don't know how often this happens and how Rib> important it is to support. Well, even now Patch class has 'driver' field. The driver is used by default for most usage. A user can specify any driver by using 'Send to ...", "Store to ...", or "Reassign" command. You comment reminded me that I forgot to write one important thing. The current implementation does not change Patch.driver field value on 'Send to ..." nor "Store to ...". But I'd like to call IPatch.setDriver method before calling ISinglePatch() as follows; protected void doit () { p.setDriver((IPatchDriver) driverComboBox.getSelectedItem()); ((ISinglePatch) p).send(); ... This means these command change the Patch.driver field. I believe this is better behavior for most of cases. If a users speechifies a driver, he or she wants to use the same driver next time for the patch. Note that the current implementation does not save driver information when a library is saved into a file. Every time a library is reloaded, the first matching driver in the list of possible drivers is selected. The choice may not be good for users. To solve this problem, we have to save the driver information in library file. This requires a new file format. I think a patch should have driver information. -- Hiroo Hayashi |