be9229b80d
- Extracted app_context (global AppCtx G definition) - storage: path helpers, LRU, sort, fmt_time, per-episode resume map, state persistence - network: resolve_host, normalize URL, http_get_raw with growing PSRAM buffer, fetch_data - download: dl_ep_raw with progress tracking, cancel, overlay UI (show/hide/update) - player: audio device, stream, play_task with resume seek, start/select/next/prev with position save/restore - ui: build_ui, timers, season picker, button callbacks, periodic save - main: minimal glue, fetch_task, onShow/onHide, app registration - Preserves all previous fixes: download progress overlay, per-episode resume, robust download handling - Build verified: 111 undef, all exported
39 lines
708 B
C
39 lines
708 B
C
#pragma once
|
|
|
|
#include "app_context.h"
|
|
#include <stddef.h>
|
|
#include <stdbool.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Path helpers
|
|
void make_sd_path(char* out, size_t out_len, const char* slug);
|
|
void ensure_dir(void);
|
|
bool has_slug(const char* slug);
|
|
|
|
// LRU cache cleanup
|
|
void lru_check(void);
|
|
|
|
// Sorting
|
|
void sort_seasons(void);
|
|
void sort_eps(void);
|
|
|
|
// Time formatting
|
|
void fmt_time(char* o, int s);
|
|
|
|
// Per-episode resume helpers
|
|
int find_saved_pos_idx(const char* slug);
|
|
int get_saved_pos_for_slug(const char* slug);
|
|
void set_saved_pos_for_slug(const char* slug, int pos);
|
|
void save_current_ep_pos(void);
|
|
|
|
// Persistence
|
|
void save_state(void);
|
|
void load_state(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|