upperstream
abfb4860c4
Fix: metadataID3v1 did not set the value for "comment" key unless the tag is ID3v1.1.
2016-07-17 08:16:53 +10:00
upperstream
ae005145bc
Fix: Track() for ID3v1.1 picked a wrong byte for the track number delimeter in
...
the comment field.
This results in neither the track number nor the comment being set properly.
2016-07-17 08:16:53 +10:00
upperstream
c119c3eeeb
Add tests for ID3v1 and ID3v1.1.
2016-07-17 08:16:53 +10:00
David Howden
028d342425
Merge branch 'fallback-decode-iso-8859-1'
2016-07-11 12:51:03 -06:00
David Howden
9daeb83105
Update delimiter to fallback to ISO-8859-1.
2016-05-09 22:40:03 +10:00
David Howden
bfba4b35ab
Updated text decoding to fallback to ISO-8859-1.
...
See #20 for more details.
2016-05-09 22:37:19 +10:00
David Howden
1c1d74b935
Merge pull request #24 from wader/skip-extended-header
...
Read and skip extended header bytes for 2.3 and 2.4
2016-05-06 06:50:24 +10:00
Mattias Wadman
2d92c90588
Read and skip extended header bytes for 2.3 and 2.4
...
Fixes #21
2016-05-05 17:18:51 +02:00
David Howden
66b965ab49
Merge pull request #23 from dhowden/vorbis-albumartist
...
Set Vorbis.AlbumArtist to return "albumartist" attribute.
2016-04-21 07:00:30 +10:00
David Howden
4cd9615aa1
Set Vorbis.AlbumArtist to return "albumartist" attribute.
2016-04-20 21:52:54 +10:00
David Howden
bccc91e40d
Fix: Detect PNG artwork when class = 0 (implicit) is set.
...
TODO: We should also try to detect JPEG artwork, but JPEG headers are a bit more tricky.
Fixes #19 .
2016-03-06 22:24:05 +11:00
David Howden
a55be0e8bf
check: Don't break on URL parsing error.
2016-03-06 22:21:54 +11:00
David Howden
996bee7eb6
Fix panic when picture isn't properly parsed.
...
See issue #19 .
2016-03-05 16:17:11 +11:00
David Howden
a35ac09042
Distinguish between M4{A,B,P} formats.
...
Note: Removes tag.AAC.
2016-02-22 21:01:12 +11:00
David Howden
5b94194b29
Remove unused error parameter, and tidy up implementation.
2016-01-03 23:05:17 +11:00
David Howden
030e21e7c2
Added DefaultUTF16WithBOMByteOrder for instances where no BOM is given.
2016-01-03 23:00:45 +11:00
David Howden
5fe43c28e4
Merge pull request #17 from wader/com-ult-frames
...
Add COM and ULT text frames
2016-01-03 08:39:49 +11:00
Mattias Wadman
78bcb9ae28
Add COM and ULT text frames
...
Add COM and ULT, both have lang and enc
See http://id3.org/id3v2-00
2016-01-01 16:20:32 +01:00
David Howden
dc1f3d7b51
Merge pull request #16 from wader/all-ftyp
...
Parse all ftyp:s as mp4
2015-12-29 13:25:45 +11:00
Mattias Wadman
f26c1533ee
Parse all ftyp:s as mp4
...
It seems audio only mp4 files use ftyp:s that should have video
2015-12-28 21:36:06 +01:00
David Howden
c259675f29
Use switch in place of multiple if statements.
2015-09-20 20:13:12 +10:00
David Howden
554fadb2b4
Added Sum support for FLAC
2015-09-20 20:09:42 +10:00
David Howden
549eab9b75
Merge pull request #14 from xhenner/itunes
...
Be a little less strict on invalid frames
2015-07-12 11:27:14 +10:00
Xavier Henner
05c9a3fa59
Be a little less strict on invalid frames
...
Add iTunes frames and ignore unknown frame only if they are too big
2015-07-12 02:02:12 +02:00
David Howden
334c71001c
Merge pull request #13 from xhenner/genre
...
Support for numeric genres in id3v2
2015-07-04 22:49:17 +10:00
Xavier Henner
1e646522d6
Support for numeric genres in id3v2
...
TCON
The 'Content type', which previously was stored as a one byte numeric value
only, is now a numeric string. You may use one or several of the types as
ID3v1.1 did or, since the category list would be impossible to maintain with
accurate and up to date categories, define your own.
References to the ID3v1 genres can be made by, as first byte, enter "("
followed by a number from the genres list (appendix A) and ended with a ")"
character. This is optionally followed by a refinement, e.g. "(21)" or
"(4)Eurodisco". Several references can be made in the same frame, e.g.
"(51)(39)". If the refinement should begin with a "(" character it should be
replaced with "((", e.g. "((I can figure out any genre)" or "(55)((I
think...)". The following new content types is defined in ID3v2 and is
implemented in the same way as the numerig content types, e.g. "(RX)".
To test it, use the id3v2 tool
% id3v2 -g 79 test.mp3
% id3v2 -l test.mp3| grep TCON
TCON (Content type): Hard Rock (79)
% ./tag test.mp3| grep Genre
Genre: (79)
With the patch :
% go build && ./tag test.mp3| grep Genre
Genre: Hard Rock
2015-07-04 14:20:43 +02:00
David Howden
62e2154cad
Fix godoc comment.
2015-07-03 23:15:16 +10:00
David Howden
78f72c23bd
Added Identity to check tool.
2015-07-02 23:07:50 +10:00
David Howden
b60e529091
Add Identity function for identifying metadata/filetypes.
2015-07-02 23:07:17 +10:00
David Howden
92e6d71ddb
Refactor common code to skip last 128 bytes from ReadSeeker.
2015-06-30 23:07:26 +10:00
David Howden
52902f61b8
Switch to using relative seeks only (last remaining call using SEEK_SET).
2015-06-30 23:06:50 +10:00
David Howden
00cce15102
Remove unnecessary recursion.
2015-06-30 23:05:59 +10:00
David Howden
0b455fc176
Write straight to hash function instead of buffering.
2015-06-30 08:58:55 +10:00
David Howden
6021704ba3
Seek over next_item_id instead of reading it.
2015-06-30 08:57:03 +10:00
David Howden
6d208fee69
Remove unnecessary case in SumAtoms.
2015-06-30 08:56:21 +10:00
David Howden
cc382c48de
Tidy up visibility of internal-only types.
2015-06-28 12:40:49 +10:00
David Howden
6af476df94
Correctly parse ID3 2.3 and 2.4 frame flags.
...
Note: wasn't causing any know issues, but needed to be made consistent with the spec!
2015-06-28 12:34:42 +10:00
David Howden
bda3a1fa8b
Fixed package doc comment
2015-06-28 11:25:07 +10:00
David Howden
3e7020b161
Added license and godoc to check.
2015-06-28 10:47:45 +10:00
David Howden
17f4f77bef
Update README to include simple code example.
...
Fix small grammatical error too!
2015-06-28 10:43:57 +10:00
David Howden
a579928cb2
Add simple example and improve ReadFrom godoc.
2015-06-28 10:32:57 +10:00
David Howden
cc7e8af340
Remove unnecessary continue, and add some spacing.
2015-06-28 09:53:57 +10:00
David Howden
624837fdc1
Remove unnecessary TrimSpace for tag name.
2015-06-28 09:53:37 +10:00
David Howden
db723fecfc
Check each ID3 tag is valid.
...
Some tag encoders like to use non-standard padding (see http://id3.org/Compliance%20Issues ) which was causing "unexpected EOF" errors. Checking that each tag has a valid name (as per the spec) seems to be the only good way around this.
2015-06-28 09:53:07 +10:00
David Howden
1b0e92375a
Fix: panic on empty description in text-description frames.
2015-06-27 19:24:33 +10:00
David Howden
d3e0c4a33f
Simplify MusicBrainz Info type and support more tags.
2015-06-08 11:01:32 +10:00
David Howden
c06066fd88
Updated package godoc comment.
2015-06-07 13:01:12 +10:00
David Howden
6df4e78d96
Remove non-relative Seek calls from all functions.
...
Previously we would seek to the beginning of the io.ReadSeeker. It is much more
flexible to assume that the caller passes the ReadSeeker in an appropriate state.
2015-06-07 12:58:58 +10:00
David Howden
7f8f21cc46
Added flag.Usage output to check tool.
2015-06-07 12:54:44 +10:00
David Howden
4d2e737694
Remove old TODO comment.
2015-06-06 16:35:44 +10:00