> > If a control is semantically compatible with an old version, then there is > > no reason to change it's name. > > If it is not compatible, well, then it > > really IS a different control, no? > > Well, do you consider a range change something that breaks semantic > compatibility (I don't)? It depends. If the range used to be 0 to 10, and is now 0 to 5, the semantics of the control MAY be different enough to warrant a change. You see, in this case, the range narrowed. Some old data is no longer valid. That is not to say that the plugin can't handle out-of-band data by clamping to the min/max. > Let's say you have a simple filter with one of it's parameters the filter > type. > In the first version of your plugin you have three possible filter types > (low pass, band pass and high pass). Now, in a next version of your plugin > you are now also supporting 3 extra filter types (notch, low shelving, high > shelving). This control remains EXACT semantic compatibility with old data. Any old data is valid. The range was widened. > >From what you wrote above, I understand that you consider a range change as > a reason to make a new control with a different name. I wrote that as a response to one of the examples that was asked. Someone (Marc?) asked about compatibility for a control whose range changed, but I think he meant more generically 'semantics changed'. In this case, I'd say no, don't make a new control, because the old one still works. > Now, using the natural domain of the parameters instead of the 0-1 range > eliminates the need for handling this "artificially". > I do wonder if this could have any important implications for hosts when > dealing with parameter automation. I guess it's pretty generic if all > parameters are just floats in a 0-1 range, as opposed to dealing with > different parameter types in non-normalized ranges. Although again, the > latter would seem the most natural way to do it. If controls are normalized, there is never a data-validity issue, but there is a data-meaning issue. If natiral ranges are used, there is never a data-meaning issue (unless you change the units) but there is a data-validity issue. In all cases, we need rules for how to handle out-of-range data. If your control goes from 0 to 10, and host gives you 11... Does the plugin handle it and clamp internally, so senders don't worry? Does the sender have to clamp it, so the plugin can just assume validity? Tim > Koen > > > > ---------------------------------------------------------------------- > Generalized Music Plugin Interface (GMPI) public discussion list > Participation in this list is contingent upon your abiding by the > following rules: Please stay on topic. You are responsible for your own > words. Please respect your fellow subscribers. Please do not > redistribute anyone else's words without their permission. > > Archive: //www.freelists.org/archives/gmpi > Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe > ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe