27#define LIB_ID_NONE 0xFFFFFFFFu
#define CORE_PATH_MAX
Maximum path length used by the core (bytes, UTF-8, including terminator).
Definition base.h:39
uint32_t library_load_position(library_t *lib, const char *path)
0 if none
lib_view_t
Definition library.h:29
@ LIB_VIEW_COUNT
Definition library.h:40
@ LIB_VIEW_ARTIST_ALBUMS
parent: artist id. Albums by year, then title
Definition library.h:32
@ LIB_VIEW_AUDIOBOOKS
parent: none. Albums flagged as audiobooks
Definition library.h:39
@ LIB_VIEW_ARTISTS
parent: none. Album artists (fallback: artist)
Definition library.h:30
@ LIB_VIEW_ARTIST_TRACKS
parent: artist id. All tracks of the artist
Definition library.h:34
@ LIB_VIEW_RECENT
parent: none. Newest files first (by mtime)
Definition library.h:38
@ LIB_VIEW_ALBUMS
parent: none. All albums sorted by title
Definition library.h:31
@ LIB_VIEW_TRACKS
parent: none. All tracks sorted by title
Definition library.h:35
@ LIB_VIEW_GENRES
parent: none
Definition library.h:36
@ LIB_VIEW_GENRE_ALBUMS
parent: genre id
Definition library.h:37
@ LIB_VIEW_ALBUM_TRACKS
parent: album id. Disc, track number, title
Definition library.h:33
bool library_translate_ids(library_t *lib, uint32_t *gen, lib_id_t *ids, uint32_t n)
int library_scan(library_t *lib, bool full_rebuild, lib_scan_cb_t cb, void *user)
Incremental scan (new/changed/removed files). Blocking; run it in a worker thread.
uint32_t library_view_count(library_t *lib, lib_view_t view, lib_id_t parent)
Number of rows in a view (parent = LIB_ID_NONE when the view has no parent).
bool(* lib_scan_cb_t)(const lib_scan_progress_t *p, void *user)
Return false to cancel the scan.
Definition library.h:72
int library_get_track(library_t *lib, lib_id_t track_id, lib_track_t *out)
library_t * library_open(const library_config_t *cfg)
loads an existing index if present
void library_close(library_t *lib)
uint32_t library_track_count(const library_t *lib)
int library_save_position(library_t *lib, const char *path, uint32_t position_ms)
Audiobook / long-file positions and simple bookmarks (stored in db_dir/positions.bin).
struct library library_t
Definition library.h:81
uint32_t library_view_track_ids(library_t *lib, lib_view_t view, lib_id_t parent, lib_id_t *out, uint32_t max)
Track ids of a view in display order (for "play all" / queue building).
lib_id_t library_find_path(library_t *lib, const char *path)
LIB_ID_NONE if not indexed.
uint32_t lib_id_t
Definition library.h:26
void(* lib_throttle_cb_t)(void *user)
Scanner pacing, called from the scanning thread: between files and folders (the platform may block he...
Definition library.h:79
int library_view_item(library_t *lib, lib_view_t view, lib_id_t parent, uint32_t index, lib_item_t *out)
uint32_t library_view_find_letter(library_t *lib, lib_view_t view, lib_id_t parent, uint32_t letter)
Index of the first row whose sort letter is >= letter (for jump-to-letter).
uint32_t library_generation(const library_t *lib)
Track ids belong to one snapshot of the index: a completed scan renumbers them.
bool library_is_scanning(const library_t *lib)
uint16_t year
Definition library.h:49
lib_id_t id
id of the artist/album/genre/track this row stands for
Definition library.h:44
uint32_t count
children: albums of an artist, tracks of an album...
Definition library.h:47
uint32_t sort_letter
collate_index_letter() of the sort key
Definition library.h:50
uint32_t duration_ms
tracks: duration; albums: total
Definition library.h:48
uint32_t files_total
0 while still counting
Definition library.h:64
const char * current_path
valid only during the callback
Definition library.h:66
uint32_t tracks_added
Definition library.h:65
uint32_t files_seen
Definition library.h:63
uint32_t file_size
Definition library.h:58
track_tags_t tags
Definition library.h:56
lib_id_t id
Definition library.h:54
lib_id_t album_id
Definition library.h:57
uint32_t mtime
Definition library.h:59
lib_throttle_cb_t throttle
Definition library.h:87
void * throttle_user
Definition library.h:88
const char * db_dir
e.g. "/sdcard/.music/db"
Definition library.h:85
const char * music_root
e.g. "/sdcard" (scanned recursively, hidden dirs skipped)
Definition library.h:84
bool ignore_articles
collation option
Definition library.h:86