Skip to content
This repository was archived by the owner on Oct 5, 2023. It is now read-only.

valerii540/Scala-ID3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scala ID3

General features

  • ID3v1/ID3v2 support
  • Frames type safety
  • High level, functional API - no dealing with byte arrays
  • ID3 tag validation

TODO

ID3v1

TBD

ID3v2

Tag reading support

  • Standard frames
    • ...
    • UFID - Unique file ID frame
    • USLT - Unsynchronized lyrics frame
    • POPM - Popularimeter frame
    • MCDI - Music CD identifier frame
    • PRIV - Private frame
    • APIC - Attached picture frame
    • COMM - Comment frame
    • URL Link frames
      • WCOM - Commercial information link
      • WCOP - Copyright information link
      • WOAF - Official audio file webpage
      • WOAR - Official artist webpage
      • WOAS - Official audio source webpage
      • WORS - Official internet radio webpage
      • WPAY - Payment link
      • WPUB - Publishers official webpage
      • WXXX - User defined link
    • Text info frames
      • TSST - Set subtitle
      • TSOT - Title sort order
      • TSOP - Performer sort order
      • TSOA - Album sort order
      • TPRO - Produced notice
      • TMOO - Mood
      • TMCL - Musician credits
      • TIPL - Involved people
      • TDRL - Release timestamp
      • TDOR - Original release timestamp
      • TDEN - Encoding timestamp
      • TALB - Album
      • TBPM - Bpm
      • TCOM - Composers
      • TCON - Content type
      • TCOP - Copyright
      • TDAT - Date
      • TDLY - Delay
      • TENC - Encoded by
      • TEXT - Writers
      • TFLT - Audio type
      • TIME - Time
      • TIT1 - Content group
      • TIT2 - Title
      • TIT3 - Subtitle
      • TKEY - Initial key
      • TLAN - Languages
      • TLEN - Length
      • TMED - Media type
      • TOAL - Original album
      • TOFN - Original filename
      • TOLY - Original writers
      • TOPE - Original artists
      • TORY - Original release date
      • TOWN - File owner
      • TPE1 - Leaders
      • TPE2 - Band
      • TPE3 - Conductor
      • TPE4 - Modified by
      • TPOS - Part of set
      • TPUB - Publisher
      • TRCK - Track number
      • TRDA - Recording dates
      • TRSN - Internet radio
      • TRSO - Internet radio owner
      • TSIZ - Audio size
      • TSRC - ISRC
      • TSSE - Encoder with settings
      • TYER - Year
      • TXXX - User defined text
      • TDRC - Recording timestamp
      • TDTG - Tagging timestamp
  • Non-standard frames
    • NCON - frame added by MusicMatch*
    • TSOT - frame added by iTunes*
    • TSOP - frame added by iTunes*
    • TSOA - frame added by iTunes*
    • TSO2 - frame added by iTunes*
    • TSOC - frame added by iTunes*
  • Image frame materializing
  • ID3 frames validation
  • ...

* - Only frame header with binary data

Tag editing support

  • Frame adding/removing
  • Frame rewriting
  • Text frames encoding fixing
  • Non-standard frames removing
  • ...

Misc

  • File traversing efficiency research
  • Performance testing
  • Unit tests
  • Strict null safety
  • Custom exceptions

About

WIP: Scala ID3 library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages