diff --git a/notes.md b/notes.md index 4cde43b..1f75de1 100644 --- a/notes.md +++ b/notes.md @@ -95,3 +95,15 @@ These destinctions are sorted from top to bottom. [Wikipedia](https://en.wikipedia.org/wiki/Audio_codec) The audio codec is simply software/hardware, to convert audio from an [audio coding format](#audio-coding-format) to playable audio and vice versa. + +# ID3 + +[ID3](https://en.wikipedia.org/wiki/ID3) is a metadata container format for audio. I am going for [ID3v2](https://en.wikipedia.org/wiki/ID3#ID3v2) + +An Application can define its own types of frames. + +There are standard frames for containing cover art, BPM, copyright and license, lyrics, and arbitrary text and URL data, as well as other things. + +Version 2.4 of the specification prescribes that all text fields (the fields that start with a T, except for TXXX) can contain multiple values separated by a null character. The null character varies by [character encoding](https://en.wikipedia.org/wiki/Character_encoding). + +[id3 fields docs](https://docs.puddletag.net/source/id3.html) diff --git a/src/music_kraken/static_files/new_db.sql b/src/music_kraken/static_files/new_db.sql index 70b83d5..0be9482 100644 --- a/src/music_kraken/static_files/new_db.sql +++ b/src/music_kraken/static_files/new_db.sql @@ -77,3 +77,11 @@ CREATE TABLE AlbumArtist FOREIGN KEY(album_id) REFERENCES Album(id), FOREIGN KEY(artist_id) REFERENCES Artist(id) ); + +CREATE TABLE id3 +( + frame TEXT, -- 4 capital leters like TXXX + value TEXT, + song_id BIGINT, + FOREIGN KEY(song_id) REFERENCES Song(id) +);