GrandOrgue / OdfEdit

A tool for GrandOrgue ODF edition, and Hauptwerk to GrandOrgue ODF conversion.
GNU General Public License v3.0
9 stars 1 forks source link

Incorrect ODF Data Check rule? #40

Closed Psi58 closed 10 months ago

Psi58 commented 10 months ago

ODFedit and GO appear to have conflicting rules about the implementation of Divisional Couplers.

I am (still...) trying to add a bidirectional divisional coupler to a sampleset which has been migrated from old to new format using GOODF.

@larspalo helpfully provided a simple test case to clearly demonstrate a bug in the previous GO release preventing implementation of bidirectional couplers, in https://github.com/GrandOrgue/grandorgue/discussions/1690#discussioncomment-7613679

Running OdfEdit ODF Data Check on this test organ advises (amongst other understandable errors, irrelevant for the purpose of this test) that attributes BiDirectionalCoupling and NumberOfManuals are expected in the PanelElement.

But if these attributes are removed from the DivisionalCoupler section and added to the PanelElement then GO advises (a) that they are unused in the PanelElement and (b) that they are missing from the DivisionalCoupler section.

I suspect that the OdfEdit rule should be corrected.

eturpault commented 10 months ago

The reference in term of ODF content and syntax is GrandOrgue. If there is conflict between GrandOrgue and OdfEdit it means that a fix has to be done in OdfEdit, or it means that OdfEdit is not checking this aspect of the ODF (I have not implemented in OdfEdit a check as exhaustive as the one done by GrandOrgue, it can be improved yet). In the case of the ODF TestDivisionalCoupler.organ, in the GrandOrgue help it is said that BiDirectionalCoupling and NumberOfManuals are required in a DivisionalCoupler section, but in fact they are not mandatory in a PanelElement section refering to a DivisionalCoupler, this is the issue of OdfEdit which considers them as required everywhere. I will fix this in OdfEdit v2.9. Thank you for the report.

eturpault commented 10 months ago

Fixed in OdfEdit v2.9