Mood tag not being read correctly on import?

Hi All,

I’ve been using Libretime for about a month now to manage a student radio station remotely. We fill gaps in the schedule with auto-scheduled playlists, and right now I’ve been uploading content for each playlist under a separate track tag. This solution is messy, and I’d much rather use the mood field to define what songs belong to which playlist blocks.
Rather than manually edit the mood field within Libretime I thought it’d be easier to be able to batch edit the ID3 mood tag using an external mp3 tagging program, however when I import the files with the modified tags the Mood field always remains empty.
I was wondering if anybody knew if Libretime anticipates a certain version of the ID3 tag format, and that’s why its missing the mood tag, or if anybody else has experienced a similar issue.

I didn’t even realize there was a mood field in id3 so I’ve never ran into this. But maybe it is not getting correctly mapped during the import ? Have you tried setting all of the tags and seeing if there are any others that aren’t imported ?

python_apps/airtime_analyzer/airtime_analyzer/metadata_analyzer.py - is where the metadata is analyzed upon import and it includes mood so I’m not sure where the issue is transpiring. It uses mutagen and perhaps that isn’t reading your tag for some reason.

From what I can tell we are using id3v2 - and I’m not sure why the mood field is not being correctly imported.

Let us know if you figure out anything else or perform a test to determine that LibreTime requires a certain id3 level to work.

I realised that the issue was actually due to a large portion of the music library I wanted to import having .mp3 file extensions while actually being encoded in m4a. This meant that when I was writing to the mood field in mp3tag it was being written as a custom tag that was then being ignored by mutagen on the file import. Converting the files to mp3 then writing mood tags has resolved the issue, thanks so much for your help and sorry the issue was due to a mistake on my end.

That makes sense. Thanks for clarifying.