Commit Graph

58 Commits

Author SHA1 Message Date
Xavier Henner
a931bf6e30 Code refactorization
Should even work if the subatoms of "----" are out of order
2015-05-25 08:45:31 +02:00
Xavier Henner
be3da62488 Add more tags to mp4
1) correct a bug with the mdat atom.
Sometimes, the metadata can be at the end, after the audio
Demo :
   get any music file and strip the metadata
   convert it to m4a with ffmpeg
   analyse it with MusicBrainz Picard
   et voila, you have the metadata at the end.

Example of structure of a m4a created that way;
https://www.dropbox.com/s/602yivdstan7506/atom.txt?dl=0

2) add support for the "----" tag
See http://atomicparsley.sourceforge.net/mpeg-4files.html
It gives access to the tags created by MusicBrainz Picard
2015-05-25 00:33:47 +02:00
David Howden
5ed21afced Added Lyrics() to README 2015-05-24 22:49:06 +10:00
David Howden
8bdc82eff0 Added Genre() to Metadata interface 2015-05-24 22:37:21 +10:00
David Howden
ce0c1dc2f8 Remove append no-op! 2015-05-24 13:13:43 +10:00
David Howden
2cbec0cf93 Fix panic when len(result[1]) == 0 2015-05-24 13:13:32 +10:00
David Howden
47d9285956 Small refactor to dataSplit 2015-05-24 13:13:06 +10:00
David Howden
5da0ca1f03 Removed unnecessary space 2015-05-24 12:23:31 +10:00
David Howden
7d23e28e65 Refactor readTextWithDescr function 2015-05-24 12:23:30 +10:00
David Howden
b55f474bf9 Refactor readTFrame and added readWFrame 2015-05-24 12:23:30 +10:00
David Howden
f782cbdf44 Add check for size of provider/identifier split 2015-05-24 12:23:30 +10:00
David Howden
1832dec4e7 Refactor Ufid -> UFID 2015-05-24 12:23:30 +10:00
Xavier Henner
eef1ffcbbd Support for the UFID tag 2015-05-24 12:23:30 +10:00
Xavier Henner
45d987ac1d Support for TXXX, WXXX and generic W frames
I hacked readTextWithDescrFrame() and readTFrame() to generalize them
to other case (presence or not of a language and whether or not the
data part is encoded (URL are not)

This patch depend of 3b7a3d5485 since I found the
bug while developping this patch
2015-05-24 12:23:30 +10:00
Xavier Henner
f6a1e5325c Fix bug in the split method
Sometimes, we can have this configuration :

description 00 00 00 data (with delim = [00 00])
with splitN, we make the separation at the first 00 00 :
[description, 00 data]

But in fact, we must make the separation one byte later
[description 00, data]
2015-05-24 12:23:30 +10:00
David Howden
255636cc34 Update README to add OGG 2015-05-24 11:29:38 +10:00
David Howden
4c2b34fa94 Reorganised Vorbis Comment parsing into own type
- Added FileType to Metadata to distinguish between FLAC and OGG
- TODO: fix ALAC files being identified as AAC
2015-05-24 10:44:45 +10:00
David Howden
77d9aa6414 Added tool for checking tags over iTunes Library or path 2015-05-24 09:52:44 +10:00
David Howden
e5e85d7360 Merge branch 'Simon-L-master' 2015-05-24 09:50:28 +10:00
Simon L
01fd433fb4 Added comments and links to ogg spec. Clarified code with const 2015-05-24 09:08:23 +10:00
Simon L
109d54c374 Adding slightly tested support for OGG, using VorbisComment parsing from flac.go 2015-05-19 21:56:05 +02:00
David Howden
e5ad564af4 Added Lyrics output to tag tool 2015-05-19 22:10:04 +10:00
David Howden
68d82a6107 Fix errors caused by incorrect delimiters 2015-05-19 22:09:51 +10:00
Xavier Henner
0f62dc116a Add support for lyrics.
Not supported in id3v1 and id3v22
2015-05-19 22:06:16 +10:00
David Howden
3c6f62d3e8 Merge pull request #5 from dhowden/revert-4-lyrics
Revert "Add support for lyrics."
2015-05-19 08:04:14 +10:00
David Howden
c895efbcf8 Revert "Add support for lyrics." 2015-05-19 08:03:36 +10:00
David Howden
90c5402ab5 Merge pull request #4 from xhenner/lyrics
Add support for lyrics.
2015-05-19 07:22:52 +10:00
Xavier Henner
0ae35897fa Typo, forgotten debug string and a missing comment 2015-05-18 09:56:47 +02:00
Xavier Henner
7fac753a70 Add support for lyrics.
Not supported in id3v1 and id3v22
2015-05-18 09:32:54 +02:00
David Howden
7a80548ea8 Add some basic tests for utils 2015-05-03 09:59:03 +10:00
David Howden
23cb126fb7 Add license comment to unsynchroniser tests 2015-05-03 09:58:40 +10:00
David Howden
0203dd6bc4 Tidy up unsynchroniser.Read some more 2015-05-03 09:58:13 +10:00
David Howden
5989e00ece Simplified unsynchroniser and added tests 2015-05-02 09:58:05 +10:00
David Howden
5ddbd701bc Merge branch 'xhenner-master' 2015-05-02 09:54:31 +10:00
David Howden
07ab8d2572 Fix merge conflicts 2015-05-02 09:53:58 +10:00
David Howden
b549899eb9 Merge pull request #3 from solarnz/editorconfig
Add a basic editorconfig file
2015-05-01 23:13:13 +10:00
Chris Trotman
76e36de1d1 Add a basic editorconfig file 2015-05-01 22:44:59 +10:00
Xavier Henner
cac0ed8f57 now work with 'ff 00 ff 00' in the file 2015-05-01 00:55:17 +02:00
Xavier Henner
dad1548722 Need to skip Unsynchronisation byte at the boundary between 2 Read 2015-04-30 22:07:08 +02:00
David Howden
de3f502e83 Improved handling of multiple tags with the same name 2015-04-27 23:11:04 +10:00
David Howden
0f6115b228 Fixed panic on tag name length < 4 2015-04-27 22:55:59 +10:00
David Howden
4b3edce02f Fixed godoc 2015-04-27 22:53:37 +10:00
David Howden
48793f15b7 Remove log statement 2015-04-27 22:53:37 +10:00
David Howden
060159f528 Merge pull request #2 from xhenner/multiple_frames
tag can have multiple frames with the same name
2015-04-27 08:14:15 +10:00
Xavier Henner
1480876144 can have multiple frames with the same name. append a number from the second one 2015-04-26 17:55:59 +02:00
Xavier Henner
c1716d5521 take into account h.Unsynchronisation and add some sanity check 2015-04-26 16:56:26 +02:00
David Howden
d7fe851d27 Added FLAC artwork support 2015-04-15 22:20:10 +10:00
David Howden
ea8aa7c735 Updated README 2015-04-15 00:14:53 +10:00
David Howden
4cebcae157 Implemented basic FLAC support (no artwork, yet!) 2015-04-15 00:12:37 +10:00
David Howden
8aff503453 Use Seek instead of discardN 2015-04-15 00:12:30 +10:00