From: Hiroo H. <hir...@co...> - 2004-10-07 02:46:16
|
Hi Torsten, Torsten> > IPatchDriver.isNullDriver() -> IPatch.hasNullDriver() Torsten> Currently I'm not understanding what a NullDriver is. Torsten> Is it the currently used generic driver? Yes, it is. But it is used only for the following usage. Torsten> Or is this just a method to determine if no driver is Torsten> assigned to a patch? So I chose the name 'Null Driver'. Torsten> > ISingleDriver.play(IPatch) -> ISinglePatch.play() Torsten> > ISingleDriver.send(IPatch) -> ISinglePatch.send() Torsten> Good. Torsten> But maybe IPatch.play()/IPatch.send() are more advisable, Torsten> because of concerning future (more) general kinds of patches Torsten> (like collected Patches). Torsten> For example, if we introduce a "collecting Patch", which Torsten> collect the TX7 voice patch and the TX7 performance patch Torsten> (both determine the voice completely), it's more useful to Torsten> send/play both together than each one separated. Torsten> I hope the term "collected patch" is clear. I don't know the Torsten> common term for what I mean. Of course I know that both Torsten> methods are useless for bank patches, so the base definition Torsten> has to check what kind of patch is actually choosen. To handle this case, core can use ISinglePatch.play()|send() for each Single Patch in the 'collecting Patch'. No special support is required for synth drivers. Torsten> But maybe larger code changes are necessary to implement my Torsten> idea, so it's ok to make your step first. No change will be necessary (if I understand correctly). =2E.. Torsten> > IBankDriver.getPatchName(IPatch, int) -> IBankPatch.getName(in= t) Torsten> > IBankDriver.setPatchName(IPatch, int, String) -> IBankPatch.set= Name(int, String) =2E.. Torsten> Very good. Torsten> We also need ISinglePatch.getName() Torsten> resp. ISinglePatch.setName(), but both are already defined in Torsten> IPatch interface. Torsten> Why we need to define these methods in IBankPatch interface again? Torsten> Is IBankPatch class not extending/implementing the IPatch interfac= e? Both ISinglePatch and IBankPatch extend IPatch. Note that IBankPatch.getName(int) and IBankPatch.setName(int, String) has 'int' parameter which specifies a single patch in the Bank Patch. Torsten> > new IPatch methods Torsten> > getType() Torsten> > isSinglePatch() Torsten> > isBankPatch() Torsten> Don't we need a method isConverterPatch() ? A converter generates ISinglePatch (or IBankPatch). --=20 Hiroo Hayashi |