mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-09-24 15:54:12 +00:00
64 lines
No EOL
1.5 KiB
C++
64 lines
No EOL
1.5 KiB
C++
#ifndef NULLSOT_LOCALMEDIA_DB_H
|
|
#define NULLSOT_LOCALMEDIA_DB_H
|
|
|
|
#define MAINTABLE_ID_FILENAME 0
|
|
#define MAINTABLE_ID_TITLE 1
|
|
#define MAINTABLE_ID_ARTIST 2
|
|
#define MAINTABLE_ID_ALBUM 3
|
|
#define MAINTABLE_ID_YEAR 4
|
|
#define MAINTABLE_ID_GENRE 5
|
|
#define MAINTABLE_ID_COMMENT 6
|
|
#define MAINTABLE_ID_TRACKNB 7
|
|
#define MAINTABLE_ID_LENGTH 8 //in seconds
|
|
#define MAINTABLE_ID_TYPE 9 //0=audio, 1=video
|
|
#define MAINTABLE_ID_LASTUPDTIME 10 // last time (seconds since 1970) of db update of this item
|
|
#define MAINTABLE_ID_LASTPLAY 11 // last time (seconds since 1970) of last play
|
|
#define MAINTABLE_ID_RATING 12
|
|
#define MAINTABLE_ID_GRACENOTE_ID 14
|
|
#define MAINTABLE_ID_PLAYCOUNT 15 // play count
|
|
#define MAINTABLE_ID_FILETIME 16 // file time
|
|
#define MAINTABLE_ID_FILESIZE 17 // file size, kilobytes
|
|
#define MAINTABLE_ID_BITRATE 18 // file bitratea, kbps
|
|
|
|
#include "../nde/nde.h"
|
|
#include <map>
|
|
#include <string>
|
|
|
|
// DataBase manipulations
|
|
class DB
|
|
{
|
|
// construcotrs
|
|
public:
|
|
DB();
|
|
~DB();
|
|
|
|
// methods
|
|
public:
|
|
int Open();
|
|
int Close();
|
|
int Nuke();
|
|
int AddColumn(char* metaKey, int type); // returns index of the new column or -1 on error
|
|
private:
|
|
BOOL Discover(void);
|
|
void ClearMap(void);
|
|
|
|
|
|
// properties
|
|
public:
|
|
void SetTableDir(const char* tableDir);
|
|
const char* GetTableDir();
|
|
int GetColumnsCount();
|
|
int GetColumnId(char *metaKey); // returns index of the column or -1 if can't find
|
|
|
|
// fields
|
|
private:
|
|
char * tableDir;
|
|
Database db;
|
|
Table *table;
|
|
Scanner *sc;
|
|
|
|
std::map< std::string, int> columnsMap;
|
|
|
|
};
|
|
|
|
#endif //NULLSOT_LOCALMEDIA_DB_H
|