carlrobert, you have recognized this correctly, but have not yet thought it through to the end.
In fact, XML is the most cumbersome format to take.
The parsers are slow and it is exhausting - not to say deadly - for the eyes to read.
With Json, after a while you will wonder why you always have to type the superfluous quotation marks.
If you have empty elements (without value), then you just write unnecessary stuff to waste your life time.
Then you think further and maybe come to the following format
Code: Select all
[division]
; 3 = Standard division: manual 2 (Swell, Schwellwerk, Recit Expressif, Accompaniment or equivalent)
DivisionCode: 3
Name: SWELL
ShortName: Swell
NumberOfKeys: 56
MIDINoteNumOfFirstKey: 36
NumberOfKeyActionNodesIfDifferentFromNumberOfKeys: 0
MIDINoteNumOfFirstKeyActionNodeIfDifferentFromFirstKey: 0
AccessibleForMIDIInputAndOutput: Y
WindModel_EnableWindModel: Y
WindModel_TotalResrvrAndWndchstVolMetresCubed: 1.5
WindModel_AreaOfReservoirTableMetresSquared: 1.5
WindModel_ResrvrBellowsPositiveDampingCoeff: 20
WindModel_WindchestPressureDropPctAtMaxLoad: 2
PercussiveEngagingKeyActionNoise_RankID
PercussiveEngagingKeyActionNoise_ChooseMIDINoteNumRandomly: N
PercussiveDisengagingKeyActionNoise_RankID
PercussiveDisengagingKeyActionNoise_ChooseMIDINoteNumRandomly: N
SustainingKeyActionNoise_RankID
SustainingKeyActionNoise_ChooseMIDINoteNumberRandomly: N
From this you can easy generate this eye cancer inducing format:
Code: Select all
<division>
<DivisionCode>3</DivisionCode>
<Name>SWELL</Name>
<ShortName>Swell</ShortName>
<NumberOfKeys>56</NumberOfKeys>
<MIDINoteNumOfFirstKey>36</MIDINoteNumOfFirstKey>
<NumberOfKeyActionNodesIfDifferentFromNumberOfKeys>0</NumberOfKeyActionNodesIfDifferentFromNumberOfKeys>
<MIDINoteNumOfFirstKeyActionNodeIfDifferentFromFirstKey>0</MIDINoteNumOfFirstKeyActionNodeIfDifferentFromFirstKey>
<AccessibleForMIDIInputAndOutput>Y</AccessibleForMIDIInputAndOutput>
<WindModel_EnableWindModel>Y</WindModel_EnableWindModel>
<WindModel_TotalResrvrAndWndchstVolMetresCubed>1.5</WindModel_TotalResrvrAndWndchstVolMetresCubed>
<WindModel_AreaOfReservoirTableMetresSquared>1.5</WindModel_AreaOfReservoirTableMetresSquared>
<WindModel_ResrvrBellowsPositiveDampingCoeff>20</WindModel_ResrvrBellowsPositiveDampingCoeff>
<WindModel_WindchestPressureDropPctAtMaxLoad>2</WindModel_WindchestPressureDropPctAtMaxLoad>
<PercussiveEngagingKeyActionNoise_RankID></PercussiveEngagingKeyActionNoise_RankID>
<PercussiveEngagingKeyActionNoise_ChooseMIDINoteNumRandomly>N</PercussiveEngagingKeyActionNoise_ChooseMIDINoteNumRandomly>
<PercussiveDisengagingKeyActionNoise_RankID></PercussiveDisengagingKeyActionNoise_RankID>
<PercussiveDisengagingKeyActionNoise_ChooseMIDINoteNumRandomly>N</PercussiveDisengagingKeyActionNoise_ChooseMIDINoteNumRandomly>
<SustainingKeyActionNoise_RankID></SustainingKeyActionNoise_RankID>
<SustainingKeyActionNoise_ChooseMIDINoteNumberRandomly>N</SustainingKeyActionNoise_ChooseMIDINoteNumberRandomly>
</division>