For user documentation, see the project home page.

Developer notes

Tooling

This project may be compiled using the free (and excellent) Visual Studio 2013 Community Edition (Update 4) or greater. There are no external dependencies. Get it here:

https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx

Or download the full ISO here:

https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#d-community

Version 2.0.0 was built with Visual Studio 2015 Update 3 Community Edition.

Visual Studio projects

  • FormatDomain: All the "business" logic of file formats as a shared library.
  • FormatDomain4: The FormatDomain library compiled to .NET 4.
  • ConDiags: The console front-end branded as Mediags. In addition see the file DiagsModel_Diags.cs for model logic.
  • ConFlac: The console front-end branded as UberFLAC. In addition see the file DiagsModel_Flac.cs for model logic.
  • WpfFlac: GUI front-end of UberFLAC.
  • UnitTest: A woefully short set of unit tests. Code coverage is abysmal.
  • Bench: Code generation and benchmarking folder of projects.
All applications are purely portable. Installation is just a file copy of the build output of the first three projects: One common library and any choice of the three front end executables.

Architecture

Architecture is a variant of a hybrid of MVC, MVP, MVVM, etc. The advantages of this design are:
  • Identical architecture between console and WPF apps as shown in below diagrams.
  • There is no external framework dependency.
Here are the top-level classes of the Mediags console application:
ConDiags-v2.0.0.png

These are the top-level classes of the experimental Mediags Universal Windows app with reuse of the model:
UapDiags-v0.0.10.png

Domain detail:
FormatDomain-v2.0.0.png

Last edited Oct 27, 2016 at 9:49 PM by Nongorilla, version 24