Giter Club home page Giter Club logo

Comments (4)

Uninen avatar Uninen commented on September 21, 2024 1

I created a PR for the fix. The tests broke with the change because few of the sample mp3:s had the TDRC frame and did not previously find a year but now do. I just fixed those test fixture, didn't write any new tests for this.

All the tests pass for me locally at least (the PR didn't have permissions to run them yet).

I hope this helps! 👍

PS. Thank You for this library -- it's a great tool!

from tinytag.

Uninen avatar Uninen commented on September 21, 2024

Opening above 1s test file with following code:

from tinytag import TinyTag

tag2 = TinyTag.get('test.mp3')
print(tag2)

Outputs:

'Found id3 v2.4'
'Found id3 Frame TXXX at 20-38 of 2078'
'Setting field "text" to "major_brandmp42"'
'Found id3 Frame TXXX at 48-65 of 2078'
'Found id3 Frame TXXX at 75-103 of 2078'
'Found id3 Frame TPE1 at 113-126 of 2078'
'Setting field "artist" to "Test Artist"'
'Found id3 Frame TIT2 at 136-148 of 2078'
'Setting field "title" to "Test title"'
'Found id3 Frame TDRC at 158-164 of 2078'
'Found id3 Frame TSSE at 174-189 of 2078'
'Found id3 Frame  at 199-199 of 2078'
{"album": null, "albumartist": null, "artist": "Test Artist", "audio_offset": 199, "bitrate": 115.2, "channels": 2, "comment": null, "composer": null, "disc": null, "disc_total": null, "duration": 0.1306122448979592, "extra": {"text": "major_brandmp42"}, "filesize": 2078, "genre": null, "samplerate": 44100, "title": "Test title", "track": null, "track_total": null, "year": null}

from tinytag.

Uninen avatar Uninen commented on September 21, 2024

I'm not too familiar with ID3 tags nor this repo but mapping "TDRC": "year" in FRAME_ID_TO_FIELD ( https://github.com/devsnd/tinytag/blob/master/tinytag/tinytag.py#L484) seems to fix the issue. Not sure if it has any side effects, tho. I'm happy to write a PR if it helps 👍

from tinytag.

mathiascode avatar mathiascode commented on September 21, 2024

Looks like the TDRC frame was added in ID3v2.4: https://eyed3.readthedocs.io/en/latest/compliance.html#v2-4-2-3-mappings

Since the README of tinytag mentions year or data as string (should read date instead of data) after the year attribute, I think your mapping should be enough.

from tinytag.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.