TB2026-YDS Firmware
Loading...
Searching...
No Matches
now_playing.c File Reference
#include "now_playing.h"
#include "playlist_browser.h"
#include "output_select.h"
#include "navigator.h"
#include "gfx.h"
#include "icons.h"
#include "status_bar.h"
#include "player.h"
#include "playlist.h"
#include "track_meta.h"
#include "volume.h"
#include "adc.h"
#include <string.h>
#include <stdio.h>

Data Structures

struct  ctrl_xy_t
struct  scroll_t

Macros

#define CONT_W   152
#define CONT_CX   76
#define NAV_ICON_GAP   2
#define NAV_TOP_IX   ((CONT_W - (ICON_ARROW_UP_W + NAV_ICON_GAP + 16 * GFX_CHAR_W)) / 2)
#define NAV_BOT_IX   ((CONT_W - (ICON_ARROW_DOWN_W + NAV_ICON_GAP + 8 * GFX_CHAR_W)) / 2)
#define NAV_TOP_Y   (STATUS_BAR_H + 2)
#define TITLE_Y   (STATUS_BAR_H + 30)
#define ARTIST_Y   (TITLE_Y + 20)
#define ALBUM_Y   (ARTIST_Y + 10)
#define QUALITY_Y   (ALBUM_Y + 10)
#define CTRL_Y   (ALBUM_Y + 30)
#define PROG_ROW_Y   (CTRL_Y + 22)
#define TIME_Y   (PROG_ROW_Y + 18)
#define NAV_BOT_Y   164
#define CTRL_PREV_X   (CONT_CX - 40)
#define CTRL_PLAY_X   (CONT_CX - 8)
#define CTRL_NEXT_X   (CONT_CX + 24)
#define PROG_MARGIN   4
#define PROG_LOOP_X   PROG_MARGIN
#define PROG_BAR_X   (PROG_LOOP_X + ICON_LOOP_W + 2)
#define PROG_BAR_W   108
#define PROG_BAR_Y   (PROG_ROW_Y + 6)
#define PROG_BAR_H   4
#define SHUF_ICON_X   (PROG_BAR_X + PROG_BAR_W + 2)
#define VOL_ICON_X   156
#define VOL_ICON_Y   (STATUS_BAR_H + 4)
#define VOL_BAR_X   160
#define VOL_BAR_Y   (VOL_ICON_Y + 20)
#define VOL_BAR_W   8
#define VOL_BAR_H   (NAV_BOT_Y - VOL_BAR_Y)
#define TEXT_X0   PROG_LOOP_X /* 4 */
#define TEXT_X1   (SHUF_ICON_X + ICON_SHUFFLE_W) /* 148 */
#define TEXT_MAX_W   (TEXT_X1 - TEXT_X0) /* 144 */
#define SCROLL_SPEED   8
#define SCROLL_PAUSE   2
#define CACHED_PATH_MAX   128

Functions

screen_tnow_playing_screen (void)
 Get the singleton Now Playing screen.

Detailed Description

Note
Développé avec l'assistance de Claude Opus 4.8 (Anthropic), sous la direction de Y. Dos Santos : spécification, revue et validation sur cible par l'auteur.

Macro Definition Documentation

◆ ALBUM_Y

#define ALBUM_Y   (ARTIST_Y + 10)

◆ ARTIST_Y

#define ARTIST_Y   (TITLE_Y + 20)

◆ CACHED_PATH_MAX

#define CACHED_PATH_MAX   128

◆ CONT_CX

#define CONT_CX   76

◆ CONT_W

#define CONT_W   152

◆ CTRL_NEXT_X

#define CTRL_NEXT_X   (CONT_CX + 24)

◆ CTRL_PLAY_X

#define CTRL_PLAY_X   (CONT_CX - 8)

◆ CTRL_PREV_X

#define CTRL_PREV_X   (CONT_CX - 40)

◆ CTRL_Y

#define CTRL_Y   (ALBUM_Y + 30)

◆ NAV_BOT_IX

#define NAV_BOT_IX   ((CONT_W - (ICON_ARROW_DOWN_W + NAV_ICON_GAP + 8 * GFX_CHAR_W)) / 2)

◆ NAV_BOT_Y

#define NAV_BOT_Y   164

◆ NAV_ICON_GAP

#define NAV_ICON_GAP   2

◆ NAV_TOP_IX

#define NAV_TOP_IX   ((CONT_W - (ICON_ARROW_UP_W + NAV_ICON_GAP + 16 * GFX_CHAR_W)) / 2)

◆ NAV_TOP_Y

#define NAV_TOP_Y   (STATUS_BAR_H + 2)

◆ PROG_BAR_H

#define PROG_BAR_H   4

◆ PROG_BAR_W

#define PROG_BAR_W   108

◆ PROG_BAR_X

#define PROG_BAR_X   (PROG_LOOP_X + ICON_LOOP_W + 2)

◆ PROG_BAR_Y

#define PROG_BAR_Y   (PROG_ROW_Y + 6)

◆ PROG_LOOP_X

#define PROG_LOOP_X   PROG_MARGIN

◆ PROG_MARGIN

#define PROG_MARGIN   4

◆ PROG_ROW_Y

#define PROG_ROW_Y   (CTRL_Y + 22)

◆ QUALITY_Y

#define QUALITY_Y   (ALBUM_Y + 10)

◆ SCROLL_PAUSE

#define SCROLL_PAUSE   2

◆ SCROLL_SPEED

#define SCROLL_SPEED   8

◆ SHUF_ICON_X

#define SHUF_ICON_X   (PROG_BAR_X + PROG_BAR_W + 2)

◆ TEXT_MAX_W

#define TEXT_MAX_W   (TEXT_X1 - TEXT_X0) /* 144 */

◆ TEXT_X0

#define TEXT_X0   PROG_LOOP_X /* 4 */

◆ TEXT_X1

#define TEXT_X1   (SHUF_ICON_X + ICON_SHUFFLE_W) /* 148 */

◆ TIME_Y

#define TIME_Y   (PROG_ROW_Y + 18)

◆ TITLE_Y

#define TITLE_Y   (STATUS_BAR_H + 30)

◆ VOL_BAR_H

#define VOL_BAR_H   (NAV_BOT_Y - VOL_BAR_Y)

◆ VOL_BAR_W

#define VOL_BAR_W   8

◆ VOL_BAR_X

#define VOL_BAR_X   160

◆ VOL_BAR_Y

#define VOL_BAR_Y   (VOL_ICON_Y + 20)

◆ VOL_ICON_X

#define VOL_ICON_X   156

◆ VOL_ICON_Y

#define VOL_ICON_Y   (STATUS_BAR_H + 4)

Function Documentation

◆ now_playing_screen()

screen_t * now_playing_screen ( void )

Get the singleton Now Playing screen.

Main music screen: shows track metadata, transport controls, progress bar, and volume level. Reached from the root menu; UP → output selector, DOWN → playlist browser.