Skip to content

Releases: tfmart/TagCleaner

1.0.3

01 Feb 19:05

Choose a tag to compare

Fix filter regexes incorrectly handling nested parentheses and brackets

1.0.2

01 Feb 14:46

Choose a tag to compare

Fix featuredArtists filter removing content after closing parenthesis

1.0.1

01 Feb 06:34

Choose a tag to compare

Add support for bare deluxe/variant tags (e.g., (Deluxe), [Expanded], - Special) in the version filter

TagCleaner 1.0 - Initial Release

05 Aug 05:07

Choose a tag to compare

TagCleaner 1.0.0 Release Notes

I'm thrilled to announce the initial release of TagCleaner, a Swift package I've developed for cleaning and standardizing music metadata tags.

What's Included

I've packed TagCleaner with a variety of features to make your metadata cleaning tasks easier:

  • Comprehensive Filtering: I've included a wide range of pre-built filters for common scenarios:

    • Release Information: "Album (Remastered 2021)" -> "Album"
    • Performance Type: "Song - Live at Wembley" -> "Song"
    • Content Labels: "Track [Explicit]" -> "Track"
    • Artist Information: "Artist feat. Guest" -> "Artist"
    • Parody and Cover indicators: "Weird Song (Parody of "Original" by Someone)" -> "Weird Song"
    • Media Source Cleanup: "Video - Official Music Video" -> "Video"
    • Lyrics and Language tags: "Song (With Lyrics)" -> "Song"
    • Text Normalization: Handling HTML entities, smart quotes, etc.
    • And more!
  • Flexible API: Use it how you want:

    let cleaner = TagCleaner()
    cleaner.apply("Song (Remastered)", filter: FilterDirectory.releaseInformation.remaster)
  • @TCFilteredString Property Wrapper: Automatically clean your model properties:

    struct Track {
        @TCFilteredString(filters: FilterDirectory.releaseInformation.remaster)
        var title: String
    }
  • RegexBuilder Integration: I've leveraged Swift's new RegexBuilder for powerful pattern matching.

Compatibility

I've ensured TagCleaner works across Apple platforms:

  • iOS 16.0+
  • macOS 13.0+
  • watchOS 9.0+
  • tvOS 16.0+
  • Swift 5.9+

Acknowledgement

I want to give a big shout-out to the Web Scrobbler team. Their metadata-filter JavaScript library was the inspiration for this project.

What's Next

I'm committed to improving TagCleaner and I'd love to hear your thoughts. Please don't hesitate to report issues or request features on the GitHub repository.

Thank you for checking out TagCleaner! I hope it makes your metadata management a breeze.