Login
1 branch 0 tags
Ben (Desktop/Arch) Improved seeking 9e994ac 1 month ago 28 Commits
moon / firmware / src / screens / audiobook_player_screen.h
#pragma once
#include "../ui.h"
#include "../storage.h"
#include "lvgl.h"

#define MAX_AUDIOBOOK_FILES 128

struct audiobook_player_screen_state {
    lv_obj_t *container;
    lv_obj_t *title_label;
    lv_obj_t *progress_bar;
    lv_obj_t *position_label;
    lv_obj_t *duration_label;
    lv_obj_t *play_btn;
    lv_obj_t *stop_btn;
    bool bookmark_applied;
    uint32_t bookmark_ms;

    // Directory mode fields
    lv_obj_t *chapter_label;
    char dir[STORAGE_MAX_PATH];
    char files[MAX_AUDIOBOOK_FILES][STORAGE_MAX_NAME];
    int file_count;
    int current_file_index;
};

ui_state_t setup_audiobook_player_screen(void);
void free_audiobook_player_screen(audiobook_player_screen_state_t *state);
void update_audiobook_player_screen(audiobook_player_screen_state_t *state);