1/*
2 * $Id: mp3-scanner.h,v 1.1 2009-06-30 02:31:08 steven Exp $
3 * Header file for mp3 scanner and monitor
4 *
5 * Copyright (C) 2003 Ron Pedde (ron@pedde.com)
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20 */
21
22#ifndef _MP3_SCANNER_H_
23#define _MP3_SCANNER_H_
24
25#include <sys/types.h>
26
27typedef struct tag_mp3file {
28    char *path;
29    char *fname;
30    char *title;     /* TIT2 */
31    char *artist;    /* TPE1 */
32    char *album;     /* TALB */
33    char *genre;     /* TCON */
34    char *comment;   /* COMM */
35    char *type;
36    char *composer;  /* TCOM */
37    char *orchestra; /* TPE2 */
38    char *conductor; /* TPE3 */
39    char *grouping;  /* TIT1 */
40    char *url;       /* daap.songdataurl (asul) */
41
42    int bitrate;
43    int samplerate;
44    int song_length;
45    int file_size;
46    int year;        /* TDRC */
47
48    int track;       /* TRCK */
49    int total_tracks;
50
51    int disc;        /* TPOS */
52    int total_discs;
53
54    int time_added;
55    int time_modified;
56    int time_played;
57    int db_timestamp;
58
59    int bpm;         /* TBPM */
60
61    int got_id3;
62//    unsigned int id;
63	unsigned long int	id;
64    /* generated fields */
65    char* description;		/* long file type */
66    int item_kind;		/* song or movie */
67    int data_kind;              /* dmap.datakind (asdk) */
68
69    char compilation;
70} MP3FILE;
71
72extern int scan_init(char *path);
73extern void make_composite_tags(MP3FILE *song);
74
75/* this should be refactored out of here... */
76extern off_t aac_drilltoatom(FILE *aac_fp, char *atom_path, unsigned int *atom_length);
77
78#endif /* _MP3_SCANNER_H_ */
79