lib: Import ban status from Ocarina 5.x
Now that I have a banned playlist working I can remember the ban status easier. Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
parent
a474712a22
commit
21c80ea1f9
|
@ -25,6 +25,7 @@ struct Callbacks {
|
||||||
void (*on_library_track_add)(unsigned int);
|
void (*on_library_track_add)(unsigned int);
|
||||||
void (*on_library_track_del)(unsigned int);
|
void (*on_library_track_del)(unsigned int);
|
||||||
void (*on_library_track_updated)(unsigned int);
|
void (*on_library_track_updated)(unsigned int);
|
||||||
|
void (*on_library_import_ban)(unsigned int);
|
||||||
|
|
||||||
/* Playlist callbacks */
|
/* Playlist callbacks */
|
||||||
void (*on_playlist_ban)(unsigned int);
|
void (*on_playlist_ban)(unsigned int);
|
||||||
|
|
|
@ -27,6 +27,7 @@ static struct Callbacks callbacks = {
|
||||||
.on_library_track_add = no_op,
|
.on_library_track_add = no_op,
|
||||||
.on_library_track_del = no_op,
|
.on_library_track_del = no_op,
|
||||||
.on_library_track_updated = no_op,
|
.on_library_track_updated = no_op,
|
||||||
|
.on_library_import_ban = no_op,
|
||||||
|
|
||||||
.on_playlist_ban = no_op,
|
.on_playlist_ban = no_op,
|
||||||
.on_playlist_unban = no_op,
|
.on_playlist_unban = no_op,
|
||||||
|
|
|
@ -397,7 +397,7 @@ static void do_import_track(File &f, unsigned int lib_id)
|
||||||
{
|
{
|
||||||
struct ImportData data;
|
struct ImportData data;
|
||||||
std::string artist, album, genre;
|
std::string artist, album, genre;
|
||||||
unsigned int artist_id, album_id, genre_id, track_id, year, tmp;
|
unsigned int artist_id, album_id, genre_id, track_id, year, banned, tmp;
|
||||||
|
|
||||||
data.filepath = f.getline();
|
data.filepath = f.getline();
|
||||||
data.title = f.getline();
|
data.title = f.getline();
|
||||||
|
@ -409,7 +409,7 @@ static void do_import_track(File &f, unsigned int lib_id)
|
||||||
f.getline(); /* lenstr */
|
f.getline(); /* lenstr */
|
||||||
f >> tmp /* id */ >> year >> data.track >> data.count;
|
f >> tmp /* id */ >> year >> data.track >> data.count;
|
||||||
f >> data.last_day >> data.last_month >> data.last_year >> data.length;
|
f >> data.last_day >> data.last_month >> data.last_year >> data.length;
|
||||||
f >> tmp >> tmp >>tmp >> tmp; /* bitrate, sample, channels, banned */
|
f >> tmp >> tmp >>tmp >> banned; /* bitrate, sample, channels, banned */
|
||||||
f.getline(); /* get rest of line */
|
f.getline(); /* get rest of line */
|
||||||
|
|
||||||
artist_id = artist_db.insert(library :: AGInfo(library :: DB_ARTIST, artist));
|
artist_id = artist_db.insert(library :: AGInfo(library :: DB_ARTIST, artist));
|
||||||
|
@ -423,6 +423,9 @@ static void do_import_track(File &f, unsigned int lib_id)
|
||||||
filter::add(album_db[album_id].name, track_id);
|
filter::add(album_db[album_id].name, track_id);
|
||||||
filter::add(track_db[track_id].title, track_id);
|
filter::add(track_db[track_id].title, track_id);
|
||||||
get_callbacks()->on_library_track_add(track_id);
|
get_callbacks()->on_library_track_add(track_id);
|
||||||
|
|
||||||
|
if (banned == true)
|
||||||
|
get_callbacks()->on_library_import_ban(track_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_import_library(std::string &s)
|
static void do_import_library(std::string &s)
|
||||||
|
|
|
@ -11,6 +11,11 @@ static Database<IndexEntry> playlist_db("playlist.db");
|
||||||
static Playqueue playlist_pq(PQ_ENABLED);
|
static Playqueue playlist_pq(PQ_ENABLED);
|
||||||
static std::string cur_pq;
|
static std::string cur_pq;
|
||||||
|
|
||||||
|
static void import_ban_track(unsigned int track_id)
|
||||||
|
{
|
||||||
|
playlist :: add("Banned", track_id);
|
||||||
|
}
|
||||||
|
|
||||||
void playlist :: init()
|
void playlist :: init()
|
||||||
{
|
{
|
||||||
std::set<unsigned int> ids;
|
std::set<unsigned int> ids;
|
||||||
|
@ -21,6 +26,8 @@ void playlist :: init()
|
||||||
playlist_pq.add_sort(SORT_TRACK);
|
playlist_pq.add_sort(SORT_TRACK);
|
||||||
playlist_pq.set_flag(PQ_NEVER_SORT);
|
playlist_pq.set_flag(PQ_NEVER_SORT);
|
||||||
|
|
||||||
|
get_callbacks()->on_library_import_ban = import_ban_track;
|
||||||
|
|
||||||
playlist_db.load();
|
playlist_db.load();
|
||||||
|
|
||||||
ids = get_tracks("Banned");
|
ids = get_tracks("Banned");
|
||||||
|
|
Loading…
Reference in New Issue