Show File
Various parts of the application need to be able to save and load data. I believe that XML is the way forward here. One of the main reasons for this belief over a a more traditional binary format like encoding the raw objects is compatibility.
By using and specifying an XML format it means that the same files can be used across a number of different platforms and applications (should somebody wish to use the same file format). 
Obviously an XML file can be considerably larger than a binary file, but with storage being so cheap and the actual amount of data involved I suspect this is not going to be a real issue.
The Dimmer Curves already has its format specified, and this, whilst being able to work standard alone for loading curves from a library or importing / exporting them, will also be a part of the definition for the channel configuration file.
Channel Configuration
| <channels count="1">
 <channel number="1" type="HTP|LTP" intensity="true|false">
  <interfaces>
   <interface serial="1001" physical="1"/>
   <interface serial="1001" physical="200"/>
  </interfaces>
  <curves>
   <curve/>
   <curve/>
  </curves>
 </channel>
</channels>
 |