51 lines
899 B
C
51 lines
899 B
C
/*
|
|
* Copyright 2014 (c) Anna Schumaker.
|
|
*/
|
|
#include <core/idle.h>
|
|
#include <core/tags/album.h>
|
|
#include <core/tags/artist.h>
|
|
#include <core/tags/genre.h>
|
|
#include <core/tags/library.h>
|
|
#include <core/tags/tags.h>
|
|
#include <core/tags/track.h>
|
|
|
|
static bool tags_upgrade_done(void *data)
|
|
{
|
|
if (album_db_upgrade_done())
|
|
track_db_commit();
|
|
return true;
|
|
}
|
|
|
|
void tags_init()
|
|
{
|
|
artist_db_init();
|
|
genre_db_init();
|
|
album_db_init();
|
|
library_db_init();
|
|
track_db_init();
|
|
|
|
idle_schedule(IDLE_SYNC, tags_upgrade_done, NULL);
|
|
}
|
|
|
|
void tags_deinit()
|
|
{
|
|
track_db_deinit();
|
|
library_db_deinit();
|
|
genre_db_deinit();
|
|
album_db_deinit();
|
|
artist_db_deinit();
|
|
}
|
|
|
|
bool tags_defragment(void *data)
|
|
{
|
|
bool album = album_db_defrag();
|
|
bool library = library_db_defrag();
|
|
bool track = track_db_defrag();
|
|
|
|
if (library)
|
|
track_db_rekey();
|
|
if (album || library || track)
|
|
track_db_commit();
|
|
return track;
|
|
}
|