diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2003-02-07 09:41:57 +0000 |
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2003-02-07 09:41:57 +0000 |
| commit | f9b44900669c8af2b7a101d201c43beec2bc89dd (patch) | |
| tree | c07c3b44f5d24acb865289eed580a6ca76bf52fa /firmware/export/id3.h | |
| parent | 850f597f95decd3a125f7915235ffbae67a195b4 (diff) | |
| download | rockbox-f9b44900669c8af2b7a101d201c43beec2bc89dd.zip rockbox-f9b44900669c8af2b7a101d201c43beec2bc89dd.tar.gz rockbox-f9b44900669c8af2b7a101d201c43beec2bc89dd.tar.bz2 rockbox-f9b44900669c8af2b7a101d201c43beec2bc89dd.tar.xz | |
Include File Cleanup And Move-Around Party 2003.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3213 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/id3.h')
| -rw-r--r-- | firmware/export/id3.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/firmware/export/id3.h b/firmware/export/id3.h new file mode 100644 index 0000000..55ce002 --- /dev/null +++ b/firmware/export/id3.h @@ -0,0 +1,76 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Daniel Stenberg + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef ID3_H +#define ID3_H + +#include "file.h" + +struct mp3entry { + char path[MAX_PATH]; + char *title; + char *artist; + char *album; + int tracknum; + int version; + int layer; + int year; + unsigned char id3version; + unsigned char genre; + unsigned int bitrate; + unsigned int frequency; + unsigned int id3v2len; + unsigned int id3v1len; + unsigned int first_frame_offset; /* Byte offset to first real MP3 frame. + Used for skipping leading garbage to + avoid gaps between tracks. */ + unsigned int filesize; /* in bytes */ + unsigned int length; /* song length */ + unsigned int elapsed; /* ms played */ + long bpf; /* bytes per frame */ + long tpf; /* time per frame */ + + /* Xing VBR fields */ + bool vbr; + unsigned char vbrflags; + unsigned char toc[100];/* table of contents */ + + /* these following two fields are used for local buffering */ + char id3v2buf[300]; + char id3v1buf[3][32]; + + /* resume related */ + int offset; /* bytes played */ + int index; /* playlist index */ +}; + +#define VBR_FRAMES_FLAG 0x01 +#define VBR_BYTES_FLAG 0x02 +#define VBR_TOC_FLAG 0x04 + +enum { + ID3_VER_1_0 = 1, + ID3_VER_1_1, + ID3_VER_2_2, + ID3_VER_2_3, + ID3_VER_2_4 +}; + +bool mp3info(struct mp3entry *entry, char *filename); + +#endif |