summaryrefslogtreecommitdiff
path: root/src/fruits/cmc/ui/widgets/now_playing.h
blob: 5c8994030bffef01df9d38c7d2a148f3557b1a57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include <al/array.h>
#include <notcurses/notcurses.h>

struct cmc_now_playing_visual {
    struct ncvisual *visual;
    struct cmc_list_entry *entry;
};

struct cmc_now_playing {
    struct ncplane *n;
    bool tick;
    u64 last_pos;
    u32 segment_count;
    struct ncplane *wave;
    array(struct cmc_now_playing_visual) visuals;
    struct cmc_list_entry *blitted;
};

void cmc_now_playing_init(struct cmc_now_playing *np);
bool cmc_now_playing_layout(struct cmc_now_playing *np, struct ncplane *parent, u32 y);
bool cmc_now_playing_tick(struct cmc_now_playing *np, struct cmc_list_entry *entry);
void cmc_now_playing_erase(struct cmc_now_playing *np);
void cmc_now_playing_clear(struct cmc_now_playing *np);
void cmc_now_playing_render(struct cmc_now_playing *np, struct cmc_list_entry *entry);