From 7eeefed0d5e4ec515dbaf980b58b9866b7d7dd5c Mon Sep 17 00:00:00 2001 From: Alexey Yakovenko Date: Wed, 31 Mar 2010 18:52:10 +0200 Subject: apev2 editing; apev2->id3v2.4 converter; apev2 writer --- deadbeef.h | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'deadbeef.h') diff --git a/deadbeef.h b/deadbeef.h index 61f5f0b9..484f0ef9 100644 --- a/deadbeef.h +++ b/deadbeef.h @@ -118,6 +118,20 @@ typedef struct DB_id3v2_tag_s { DB_id3v2_frame_t *frames; } DB_id3v2_tag_t; +typedef struct DB_apev2_frame_s { + struct DB_apev2_frame_s *next; + uint32_t flags; + char key[256]; + uint32_t size; // size of data + uint8_t data[0]; +} DB_apev2_frame_t; + +typedef struct DB_apev2_tag_s { + uint32_t version; + uint32_t flags; + DB_apev2_frame_t *frames; +} DB_apev2_tag_t; + // plugin types enum { DB_PLUGIN_DECODER = 1, @@ -407,18 +421,18 @@ typedef struct { float (*volume_get_amp) (void); float (*volume_get_min_db) (void); // junk reading/writing - int (*junk_read_id3v1) (DB_playItem_t *it, DB_FILE *fp); - int (*junk_read_id3v2) (DB_playItem_t *it, DB_FILE *fp); - int (*junk_read_id3v2_full) (DB_playItem_t *it, DB_id3v2_tag_t *tag, DB_FILE *fp); + int (*junk_id3v1_read) (DB_playItem_t *it, DB_FILE *fp); + int (*junk_id3v2_read) (DB_playItem_t *it, DB_FILE *fp); + int (*junk_id3v2_read_full) (DB_playItem_t *it, DB_id3v2_tag_t *tag, DB_FILE *fp); int (*junk_id3v2_convert_24_to_23) (DB_id3v2_tag_t *tag24, DB_id3v2_tag_t *tag23); int (*junk_id3v2_convert_23_to_24) (DB_id3v2_tag_t *tag23, DB_id3v2_tag_t *tag24); int (*junk_id3v2_convert_22_to_24) (DB_id3v2_tag_t *tag22, DB_id3v2_tag_t *tag24); - void (*junk_free_id3v2) (DB_id3v2_tag_t *tag); - int (*junk_write_id3v2) (const char *fname, DB_id3v2_tag_t *tag); + void (*junk_id3v2_free) (DB_id3v2_tag_t *tag); + int (*junk_id3v2_write) (FILE *file, DB_id3v2_tag_t *tag); DB_id3v2_frame_t *(*junk_id3v2_add_text_frame_23) (DB_id3v2_tag_t *tag, const char *frame_id, const char *value); DB_id3v2_frame_t *(*junk_id3v2_add_text_frame_24) (DB_id3v2_tag_t *tag, const char *frame_id, const char *value); int (*junk_id3v2_remove_frames) (DB_id3v2_tag_t *tag, const char *frame_id); - int (*junk_read_ape) (DB_playItem_t *it, DB_FILE *fp); + int (*junk_apev2_read) (DB_playItem_t *it, DB_FILE *fp); int (*junk_get_leading_size) (DB_FILE *fp); int (*junk_get_leading_size_stdio) (FILE *fp); void (*junk_copy) (DB_playItem_t *from, DB_playItem_t *first, DB_playItem_t *last); -- cgit v1.2.3