Commit graph

54 commits

Author SHA1 Message Date
Serial
ccf9367b4e Support multiple picture types
This will be used in the future, for now only the front cover is accessible. This doesn't fully work for opus due to opus_headers only storing a single k/v pair.

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-05-15 23:44:10 -04:00
Serial
c285b36629 Album cover support for ogg/opus/flac 2021-04-23 21:15:33 -04:00
Serial
c182b293fb Fix all clippy errors 2021-04-22 22:57:47 -04:00
Serial
c372a491a7 Make clippy happy 2021-04-22 22:50:13 -04:00
Serial
754bf03413 Make things less confusing to use 2021-04-22 18:01:09 -04:00
Serial
bd48066b64 Add extra verification to tests 2021-04-22 13:56:51 -04:00
Serial
186d540d00 Clippy 2021-04-22 12:59:16 -04:00
Serial
dc23ec1ffd Support AIFF 2021-04-22 12:57:20 -04:00
Serial
fbfe0e916b Cleanup 2021-04-22 11:15:19 -04:00
Serial
6b770dc14c Give features better names 2021-04-21 14:22:52 -04:00
Serial
90161287ab Add some benchmarks for reading from extension/signature 2021-04-21 13:48:21 -04:00
Serial
05c7ac6d04 Support ID3 tags in RIFF chunks 2021-04-21 12:49:27 -04:00
Serial
253609cc4b Add the ability to guess file format from file signature
Adds a new DetermineFrom enum to be used in Tag::read_from_path. This allows you to choose between guessing from extension or file signature.
2021-04-20 23:06:03 -04:00
Serial
baa1b1fd24 Hopefully the last time the test assets need to be updated 2021-04-20 20:51:12 -04:00
Serial
8c79ea46cb Managed to delete the test assets again 2021-04-20 12:08:44 -04:00
Serial
cdfa5de045 Forgot to remove old album_artists_vec method for Mp4Tag 2021-04-20 12:06:39 -04:00
Serial
df2e728974 Merge remote-tracking branch 'origin/main' 2021-04-18 15:39:13 -04:00
Serial
f5c743f3aa Finish all methods except for album covers
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-18 15:32:59 -04:00
Alex
c8bdca8ea5
New wav test asset 2021-04-18 14:38:37 -04:00
Alex
71cb4ffd69
Remove old (broken) WAV test asset 2021-04-18 14:37:58 -04:00
Serial
4cc33b5e53 Start work on wav decoding
Very few IDs supported right now, test doesn't work yet, and this only supports RIFF INFO chunks, ID3 has to wait for https://github.com/polyfloyd/rust-id3/pull/64

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-17 15:42:06 -04:00
Serial
a0e7a31322 Add test assets to gitignore
Forgot to do this earlier

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-15 13:33:50 -04:00
Serial
001c33bf86 Implement read/write for ape
Quite a few weird things had to be done due to the ape crate's choices, and ape's lack of a standardized set of keys, but it all seems to work.

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-15 13:26:06 -04:00
Serial
04a9ab4634 Clippy and some more doc comments
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-15 11:53:10 -04:00
Serial
ae81ff21e9 Clippy and misc cleanup
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-14 12:17:38 -04:00
Serial
0ec56ca015 Created conversion for VorbisTag -> metaflac::Tag
This fixes write_to for flac.

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-14 11:14:08 -04:00
Serial
f956dfd3e2 Working (rough) implementation of write_to for ogg
ogg can now successfully be read from and written to. This breaks all other tests currently.

Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-13 23:29:13 -04:00
Serial
7c72287586 Created conversion for metaflac::Tag -> VorbisTag, fixed inner test 2021-04-06 22:33:39 -04:00
Serial
702f6617c5 VERY rough implementation of a single VorbisTag struct for all formats using vorbis comments, seems to work so far. 2021-04-06 20:57:30 -04:00
Serial
f9d8981ca2 Fix existing tests 2021-04-06 16:37:31 -04:00
Serial
0a9d87553f Move assets to tests folder 2021-04-03 23:32:54 -04:00
Serial
9950eea7fa Start work to use Album struct in AnyTag
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-03 22:38:48 -04:00
Serial
4e33e9edaa Implemented read_from_path and a test for opus
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-03 14:31:13 -04:00
Serial
521f53a9a7 Added extra tests for future formats, ogg test passes
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-03 14:00:21 -04:00
Serial
555819e6a8 Initial work
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2021-04-02 20:47:44 -04:00
Tianyi
1206194d5f 0.2.7182 2020-10-29 18:01:21 +00:00
Tianyi
aa945ae7b6 it worked! From dyn Tag into any concrete tag without cloning 2020-10-29 13:26:35 +00:00
Tianyi
6e10a0b93d use TryFrom instead of From for downcasting because it could fail 2020-10-27 22:55:45 +00:00
Tianyi
0418d98955 impl downcasts
just accidentally discovered that I could write impl From<Box<dyn xxx>>
2020-10-27 22:24:05 +00:00
Tianyi
ff2e0c6959 RTFM 2020-10-27 20:26:59 +00:00
Tianyi
f65addee9b RTFM 2020-10-27 19:57:27 +00:00
Tianyi Shi
fececf76e9 black magic 2020-10-27 15:33:19 +00:00
Tianyi Shi
47ae10071a downcast 2020-10-27 15:24:54 +00:00
Tianyi Shi
c72f09d3e2 add frominner and intoinner traits 2020-10-27 15:00:22 +00:00
Tianyi Shi
873a6e831d refactor 2020-10-27 14:38:31 +00:00
Tianyi Shi
d0b2409164 remove cow 2020-10-27 12:43:32 +00:00
Tianyi
d4af2dcb03 prevent clone 2020-10-27 12:01:15 +00:00
Tianyi
6abb1e9d4d config 2020-10-27 11:40:51 +00:00
Tianyi
d2d1bedafa v0.2.3 2020-10-27 02:40:57 +00:00
Tianyi
bf71a050df 0.2.2 2020-10-27 00:52:29 +00:00