Clone wiki

PureMp3 / Home



PureMp3 is a MP3 tag editor with a nice user interface, batch capabilities and fully supported undo. It solved at least my use-cases which were:

  • Find fine and badly tagged albums on local/network disks
  • Batch rename files and folders according to pattern
  • Batch FreeDB+Discogs+MusicBrainz tag download
  • Batch cover download
  • Batch copy fine tagged albums from local/network disks into library
  • Database library with full text search
  • Edit single tags.

Project structure

PureMp3 is separated in several more or less reusable projects/DLLs:

  • ID3Lib: Basic MP3 tag processing
  • ID3CoverSearch: Library to download covers using google image search
  • ID3Discogs: Library to download tags from discogs
  • ID3Freedb: Library to download tags from freedb
  • ID3MusicBrainz: Library to download tags from musicbrainz
  • ID3WebQueryBase: Base library for libraries above
  • ID3MediaFileHeader: Library for loading MPEG headers
  • CoreUtils: Utility functions used by all projects
  • CoreLogging: Logging functionality
  • CoreVirtualDrive: Abstracted file system with in memory filesystem system for unit tests
  • CoreTest: Unit tesing functionality
  • CoreThreading: Multithreading functionality for background processing
  • CoreDocument: Document tree classes supporting serialization and undo/redo
  • CoreFileTree: File system tree based on CoreDocument, maybe used to attach a UI to
  • CoreControls (UI): Basic WPF controls
  • CoreWeb: Utilities for web access, e.g. downloading a file
  • ID3LibFrontend: Test application for the ID3Lib
  • ID3Library: Microsoft SqlCe based media library
  • ID3Player: Document classes for a simple media player. Maybe used to attach a UI to
  • ID3TagModel: Document classes for a tag editor based on CoreDocument. Maybe used to attach a UI to
  • ID3LibTest: Runs all unit tests
  • PureMp3: The application itself

To get a better understanding how things work it might be useful to study the unit tests.