Unified · Split
| @@ -15,6 +15,7 @@ Comparison to id3lib and taglib: · 14 unmodified lines | |||
| 15 | | WAV | yes | no | yes | | 15 | | WAV | yes | no | yes | |
| 16 | | IT | yes | no | ??? | | 16 | | IT | yes | no | ??? | |
| 17 | | XM | yes | no | ??? | | 17 | | XM | yes | no | ??? | |
| 18 | | S3M | yes | no | ??? | | ||
| 18 | | replay gain | yes | no | ??? | | 19 | | replay gain | yes | no | ??? | |
| 19 | | size | tiny | bloated | more bloated | | 20 | | size | tiny | bloated | more bloated | |
| 20 | | license | MIT | LGPL | LGPL/MPL | | 21 | | license | MIT | LGPL | LGPL/MPL | |
| @@ -10,6 +10,7 @@ OFILES=\ · 9 unmodified lines | |||
| 10 | it.$O\ | 10 | it.$O\ |
| 11 | m4a.$O\ | 11 | m4a.$O\ |
| 12 | opus.$O\ | 12 | opus.$O\ |
| 13 | s3m.$O\ | ||
| 13 | tags.$O\ | 14 | tags.$O\ |
| 14 | utf16.$O\ | 15 | utf16.$O\ |
| 15 | vorbis.$O\ | 16 | vorbis.$O\ |
| @@ -0,0 +1,16 @@ | |||
| 1 | #include "tagspriv.h" | ||
| 2 | |||
| 3 | int | ||
| 4 | tags3m(Tagctx *ctx) | ||
| 5 | { | ||
| 6 | char d[28+1+1], *s; | ||
| 7 | |||
| 8 | if(ctx->read(ctx, d, 28+1+1) != 28+1+1 || (d[28] != 0x1a && d[28] != 0) || d[29] != 0x10) | ||
| 9 | return -1; | ||
| 10 | d[28] = 0; | ||
| 11 | for(s = d+27; s != d-1 && (*s == ' ' || *s == 0); s--); | ||
| 12 | s[1] = 0; | ||
| 13 | txtcb(ctx, Ttitle, "", d); | ||
| 14 | |||
| 15 | return 0; | ||
| 16 | } | ||
| @@ -8,13 +8,14 @@ struct Getter · 7 unmodified lines | |||
| 8 | int format; | 8 | int format; |
| 9 | }; | 9 | }; |
| 10 | 10 | ||
| 11 | extern int tagvorbis(Tagctx *ctx); | ||
| 12 | extern int tagflac(Tagctx *ctx); | 11 | extern int tagflac(Tagctx *ctx); |
| 13 | extern int tagid3v2(Tagctx *ctx); | ||
| 14 | extern int tagid3v1(Tagctx *ctx); | 12 | extern int tagid3v1(Tagctx *ctx); |
| 13 | extern int tagid3v2(Tagctx *ctx); | ||
| 15 | extern int tagit(Tagctx *ctx); | 14 | extern int tagit(Tagctx *ctx); |
| 16 | extern int tagm4a(Tagctx *ctx); | 15 | extern int tagm4a(Tagctx *ctx); |
| 17 | extern int tagopus(Tagctx *ctx); | 16 | extern int tagopus(Tagctx *ctx); |
| 17 | extern int tags3m(Tagctx *ctx); | ||
| 18 | extern int tagvorbis(Tagctx *ctx); | ||
| 18 | extern int tagwav(Tagctx *ctx); | 19 | extern int tagwav(Tagctx *ctx); |
| 19 | extern int tagxm(Tagctx *ctx); | 20 | extern int tagxm(Tagctx *ctx); |
| 20 | 21 | ||
| @@ -29,6 +30,7 @@ static const Getter g[] = · 8 unmodified lines | |||
| 29 | {tagwav, Fwav}, | 30 | {tagwav, Fwav}, |
| 30 | {tagit, Fit}, | 31 | {tagit, Fit}, |
| 31 | {tagxm, Fxm}, | 32 | {tagxm, Fxm}, |
| 33 | {tags3m, Fs3m}, | ||
| 32 | }; | 34 | }; |
| 33 | 35 | ||
| 34 | void | 36 | void |
| @@ -34,6 +34,7 @@ enum · 33 unmodified lines | |||
| 34 | Fwav, | 34 | Fwav, |
| 35 | Fit, | 35 | Fit, |
| 36 | Fxm, | 36 | Fxm, |
| 37 | Fs3m, | ||
| 37 | 38 | ||
| 38 | Fmax, | 39 | Fmax, |
| 39 | }; | 40 | }; |