minidlna/scanner_sqlite.h
Justin Maggard 4f926639b2 upnpsoap: Add additonal bookmark support
Add support for upnp:playbackCount and upnp:lastPlaybackPosition tags.
These are used by Kodi to keep track of bookmark information as well as
determining whether to show the checkmark to indicate that the video
has been played.

Also add support for the UpdateObject command, which Kodi uses to
update the playbackCount and lastPlaybackPosition information.

This change requires a DB schema update, which should be done
automatically on the first run.

Inspired by SF user Karsten's patch #167.
2017-05-17 12:01:04 -07:00

89 lines
2.6 KiB
C

/* Media table definitions for SQLite database
*
* Project : minidlna
* Website : http://sourceforge.net/projects/minidlna/
* Author : Douglas Carmichael
*
* MiniDLNA media server
* Copyright (C) 2008-2017 Justin Maggard
*
* This file is part of MiniDLNA.
*
* MiniDLNA is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* MiniDLNA is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MiniDLNA. If not, see <http://www.gnu.org/licenses/>.
*/
char create_objectTable_sqlite[] = "CREATE TABLE OBJECTS ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, "
"OBJECT_ID TEXT UNIQUE NOT NULL, "
"PARENT_ID TEXT NOT NULL, "
"REF_ID TEXT DEFAULT NULL, "
"CLASS TEXT NOT NULL, "
"DETAIL_ID INTEGER DEFAULT NULL, "
"NAME TEXT DEFAULT NULL"
");";
char create_detailTable_sqlite[] = "CREATE TABLE DETAILS ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, "
"PATH TEXT DEFAULT NULL, "
"SIZE INTEGER, "
"TIMESTAMP INTEGER, "
"TITLE TEXT COLLATE NOCASE, "
"DURATION TEXT, "
"BITRATE INTEGER, "
"SAMPLERATE INTEGER, "
"CREATOR TEXT COLLATE NOCASE, "
"ARTIST TEXT COLLATE NOCASE, "
"ALBUM TEXT COLLATE NOCASE, "
"GENRE TEXT COLLATE NOCASE, "
"COMMENT TEXT, "
"CHANNELS INTEGER, "
"DISC INTEGER, "
"TRACK INTEGER, "
"DATE DATE, "
"RESOLUTION TEXT, "
"THUMBNAIL BOOL DEFAULT 0, "
"ALBUM_ART INTEGER DEFAULT 0, "
"ROTATION INTEGER, "
"DLNA_PN TEXT, "
"MIME TEXT"
");";
char create_albumArtTable_sqlite[] = "CREATE TABLE ALBUM_ART ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, "
"PATH TEXT NOT NULL"
");";
char create_captionTable_sqlite[] = "CREATE TABLE CAPTIONS ("
"ID INTEGER PRIMARY KEY, "
"PATH TEXT NOT NULL"
");";
char create_bookmarkTable_sqlite[] = "CREATE TABLE BOOKMARKS ("
"ID INTEGER PRIMARY KEY, "
"SEC INTEGER, "
"WATCH_COUNT INTEGER"
");";
char create_playlistTable_sqlite[] = "CREATE TABLE PLAYLISTS ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, "
"NAME TEXT NOT NULL, "
"PATH TEXT NOT NULL, "
"ITEMS INTEGER DEFAULT 0, "
"FOUND INTEGER DEFAULT 0"
");";
char create_settingsTable_sqlite[] = "CREATE TABLE SETTINGS ("
"KEY TEXT NOT NULL, "
"VALUE TEXT"
");";