MantisBT - MPfm
View Issue Details
0000161MPfm[All Projects] Globalpublic2011-11-14 17:142011-12-13 21:34
ycastonguay 
ycastonguay 
normalminorN/A
resolvedfixed 
 
0.5.0.10.5.0.1 
0000161: Make a custom configuration framework
- Use LINQ-to-XML (XDocument, XElement, XAttribute, etc.)

The structure of the CONFIG.XML file will be:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <general>
    <key type="System.Boolean" name="FirstRun" value="true" />
    <key type="System.Boolean" name="ShowTray" value="true" />
    <key type="System.Int32" name="Splitter1Distance" value="235" />
    <key type="System.Int32" name="Splitter2Distance" value="235" />
    <key type="System.String" name="CurrentTheme" value="Default" />
  </general>
  <audio>
    <driver type="DirectSound" />
    <device name="M-Audio" driver="DriverInfo" id="1" />
    <mixer frequency="96000" bufferSize="100" updatePeriod="10" volume="100" />
    <eq enabled="true" preset="Rock" />
  </audio>
  <controls>
    <songGridView>
      <columns>
        <column fieldName="Test" order="0" width="0" visible="true" />
      </columns>
      <query type="all" audioFileId="" playlistId="" artistName="" albumTitle="" />
    </songGridView>
    <playlistGridView>
      <columns>
        <column fieldName="Test" order="0" width="0" visible="true" />
      </columns>
    </playlistGridView>
  </controls>
  <windows>
    <window name="Main" useDefaultPosition="false" x="0" y="0" width="0" height="0" maximized="true" />
    <window name="Playlist" useDefaultPosition="false" x="0" y="0" width="0" height="0" maximized="true" visible="true" />
  </windows>
</configuration>
etc.
No tags attached.
Issue History
2011-11-14 17:14ycastonguayNew Issue
2011-11-14 17:14ycastonguayStatusnew => assigned
2011-11-14 17:14ycastonguayAssigned To => ycastonguay
2011-12-12 21:32svnCheckin
2011-12-12 21:32svnNote Added: 0000216
2011-12-12 22:17svnCheckin
2011-12-12 22:17svnNote Added: 0000217
2011-12-13 16:34svnCheckin
2011-12-13 16:34svnNote Added: 0000218
2011-12-13 17:26svnCheckin
2011-12-13 17:26svnNote Added: 0000219
2011-12-13 19:10svnCheckin
2011-12-13 19:10svnNote Added: 0000220
2011-12-13 19:20svnCheckin
2011-12-13 19:20svnNote Added: 0000221
2011-12-13 21:03svnCheckin
2011-12-13 21:03svnNote Added: 0000222
2011-12-13 21:30svnCheckin
2011-12-13 21:30svnNote Added: 0000223
2011-12-13 21:31ycastonguayTarget Version0.5.2.0 => 0.5.0.1
2011-12-13 21:31ycastonguaySummaryMake a proper configuration framework => Make a custom configuration framework
2011-12-13 21:31ycastonguayDescription Updatedbug_revision_view_page.php?rev_id=57#r57
2011-12-13 21:32ycastonguayStatusassigned => resolved
2011-12-13 21:32ycastonguayResolutionopen => fixed
2011-12-13 21:34ycastonguayFixed in Version => 0.5.0.1

Notes
(0000216)
svn   
2011-12-12 21:32   
The user admin has checked in files related to this issue (revision 141).

Comment:
MPfm 0.5.0.1
- Started working on the new configuration engine.
  Added the CustomConfig class (might change name later).
- MPfm.Core: Added the TryParse with generic type to the Conversion class.
- MPfm.Core: Added the XMLHelper class with the GetAttributeValue and GetAttributeValueGeneric methods.

Related to issue 0000161.

Files modified:
U MPfm/branches/current/MPfm/Config.xml
A MPfm/branches/current/MPfm/Configuration/
A MPfm/branches/current/MPfm/Configuration/CustomConfig.cs
U MPfm/branches/current/MPfm/MPfm.csproj
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm.Core/Conversion.cs
U MPfm/branches/current/MPfm.Core/MPfm.Core.csproj
A MPfm/branches/current/MPfm.Core/XMLHelper.cs

(0000217)
svn   
2011-12-12 22:17   
The user admin has checked in files related to this issue (revision 142).

Comment:
MPfm 0.5.0.1
- New configuration engine: changed name to MPfmConfiguration.
- Sections are now known as ConfigurationSection (ex: AudioConfigurationSection).
- Added comments.

Related to issue 0000161.

Files modified:
A MPfm/branches/current/MPfm/Configuration/AudioConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/ControlsConfigurationSection.cs
D MPfm/branches/current/MPfm/Configuration/CustomConfig.cs
A MPfm/branches/current/MPfm/Configuration/MPfmConfiguration.cs
U MPfm/branches/current/MPfm/MPfm.csproj
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs

(0000218)
svn   
2011-12-13 16:34   
The user admin has checked in files related to this issue (revision 143).

Comment:
MPfm 0.5.0.1
- New configuration engine:
  Separated classes into different files. The section structure is now official.
  The whole Load/Save/Clear/RefreshXML process is now working. It was easy to setup, so it will be a breeze
  to update later. The General and Audio sections are now fully implemented.

Related to issue 0000161.

Files modified:
U MPfm/branches/current/MPfm/Config.xml
A MPfm/branches/current/MPfm/Configuration/Audio/
A MPfm/branches/current/MPfm/Configuration/Audio/AudioConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/Audio/AudioDeviceConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/Audio/AudioEQConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/Audio/AudioMixerConfigurationSection.cs
D MPfm/branches/current/MPfm/Configuration/AudioConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/Controls/
A MPfm/branches/current/MPfm/Configuration/Controls/ControlsConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/Controls/ControlsSongGridViewConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/Controls/ControlsSongGridViewQueryConfigurationSection.cs
D MPfm/branches/current/MPfm/Configuration/ControlsConfigurationSection.cs
A MPfm/branches/current/MPfm/Configuration/General/
A MPfm/branches/current/MPfm/Configuration/General/GeneralConfigurationKeyValue.cs
A MPfm/branches/current/MPfm/Configuration/General/GeneralConfigurationSection.cs
U MPfm/branches/current/MPfm/Configuration/MPfmConfiguration.cs
U MPfm/branches/current/MPfm/MPfm.csproj
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs

(0000219)
svn   
2011-12-13 17:26   
The user admin has checked in files related to this issue (revision 144).

Comment:
MPfm 0.5.0.1
- Finished work on the new configuration engine. It now works really great!
  Still need to hook everything in the application to the new configuration engine and
  get rid of the old shitty MPFMConfig class (finally!).

Related to issue 0000161.

Files modified:
D MPfm/branches/current/MPfm/Config.xml
U MPfm/branches/current/MPfm/Configuration/MPfmConfiguration.cs
A MPfm/branches/current/MPfm/Configuration/Windows/
A MPfm/branches/current/MPfm/Configuration/Windows/WindowConfiguration.cs
A MPfm/branches/current/MPfm/Configuration/Windows/WindowsConfigurationSection.cs
A MPfm/branches/current/MPfm/ExampleConfig.xml
U MPfm/branches/current/MPfm/MPfm.csproj
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm/frmMain.Designer.cs
U MPfm/branches/current/MPfm/frmMain.resx

(0000220)
svn   
2011-12-13 19:10   
The user admin has checked in files related to this issue (revision 145).

Comment:
MPfm 0.5.0.1
- Bug fixes on the new configuration engine.
  Now using the new configuration engine in the application. MPFMConfig has been commented out.
  There are still minor bug fixes/tests to do.

Related to issue 0000161.

Files modified:
U MPfm/branches/current/MPfm/Classes/MPFMConfig.cs
U MPfm/branches/current/MPfm/Classes/SongQuery.cs
U MPfm/branches/current/MPfm/Configuration/Audio/AudioConfigurationSection.cs
U MPfm/branches/current/MPfm/Configuration/Controls/ControlsSongGridViewQueryConfigurationSection.cs
U MPfm/branches/current/MPfm/Configuration/MPfmConfiguration.cs
U MPfm/branches/current/MPfm/Configuration/Windows/WindowsConfigurationSection.cs
U MPfm/branches/current/MPfm/ExampleConfig.xml
U MPfm/branches/current/MPfm/MPfm.csproj
U MPfm/branches/current/MPfm/Other Screens/frmEffects.cs
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm/frmFirstRun.cs
U MPfm/branches/current/MPfm/frmMain.cs
U MPfm/branches/current/MPfm.Core/XMLHelper.cs

(0000221)
svn   
2011-12-13 19:20   
The user admin has checked in files related to this issue (revision 146).

Comment:
MPfm 0.5.0.1
- Bug fix: The configuration engine wasn't saving the query type correctly.

Related to issue 0000161.

Files modified:
U MPfm/branches/current/MPfm/Configuration/MPfmConfiguration.cs
U MPfm/branches/current/MPfm/ExampleConfig.xml
U MPfm/branches/current/MPfm/Other Screens/frmSettings.cs
U MPfm/branches/current/MPfm/frmMain.cs

(0000222)
svn   
2011-12-13 21:03   
The user admin has checked in files related to this issue (revision 147).

Comment:
MPfm 0.5.0.1
- Configuration bug fixes.

Related to issue 0000161.

Files modified:
D MPfm/branches/current/MPfm/Classes/MPFMConfig.cs
A MPfm/branches/current/MPfm/Configuration/ExampleConfig.xml
U MPfm/branches/current/MPfm/Configuration/MPfmConfiguration.cs
U MPfm/branches/current/MPfm/Configuration/Windows/WindowConfiguration.cs
U MPfm/branches/current/MPfm/Configuration/Windows/WindowsConfigurationSection.cs
D MPfm/branches/current/MPfm/ExampleConfig.xml
U MPfm/branches/current/MPfm/MPfm.csproj
U MPfm/branches/current/MPfm/Other Screens/frmEffects.cs
U MPfm/branches/current/MPfm/frmMain.Designer.cs
U MPfm/branches/current/MPfm/frmMain.cs
U MPfm/branches/current/MPfm/frmMain.resx

(0000223)
svn   
2011-12-13 21:30   
The user admin has checked in files related to this issue (revision 148).

Comment:
MPfm 0.5.0.1 --- *FINAL*
- More configuration bug fixes.

Related to issue 0000161.

Files modified:
U MPfm/branches/current/MPfm/Configuration/Audio/AudioMixerConfigurationSection.cs
U MPfm/branches/current/MPfm/Configuration/ExampleConfig.xml
U MPfm/branches/current/MPfm/Configuration/MPfmConfiguration.cs
U MPfm/branches/current/MPfm/Configuration/Windows/WindowsConfigurationSection.cs
U MPfm/branches/current/MPfm/frmMain.cs
U MPfm/branches/current/MPfm.Player/Player.cs