skin_engine: more tags for the recording screen

What the built-in recording screen shows and the skin tags did not:

- %RS  size of the current recording, as "1.5MB"
- %RP  seconds in the pre-record buffer, empty unless pre-recording
- %Rc  clips counted by the peak meter
- %Rt  trigger state by name; as a conditional off, ready, steady, go,
       postrec, retrig, continue
- %Rw  recording warnings in hex, empty while there are none
- %Ri  recording source by name; as a conditional the same on every
       target: mic, line in, digital, FM radio
- %Rg  gain of the source in dB, the left channel's for line in and FM

The manual gets a Recording section covering these and the recording
tags that were there, none of which it described.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Change-Id: I889f95fd472c472c2589393a6c77eff4a4fd5c8f
This commit is contained in:
Marcin Bukat 2026-10-07 11:51:07 +02:00 • committed by Solomon Peachy
parent 7ba413d87d
commit a3227cadb5
4 changed files with 147 additions and 0 deletions

View file

@ -252,6 +252,13 @@ static const struct tag_info legal_tags[] =
TAG(SKIN_TOKEN_REC_SECONDS, "Rs" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_MINUTES, "Rn" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_HOURS, "Rh" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_SIZE, "RS" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_PRERECORD, "RP" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_CLIPCOUNT, "Rc" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_TRIGGER, "Rt" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_WARNING, "Rw" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_SOURCE, "Ri" , "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_REC_GAIN, "Rg" , "", SKIN_REFRESH_DYNAMIC),
/* Skin variables */
TAG(SKIN_TOKEN_VAR_SET, "vs", "SSi|I", SKIN_REFRESH_DYNAMIC),

View file

@ -276,6 +276,13 @@ enum skin_token_type {
SKIN_TOKEN_REC_SECONDS,
SKIN_TOKEN_REC_MINUTES,
SKIN_TOKEN_REC_HOURS,
SKIN_TOKEN_REC_SIZE,
SKIN_TOKEN_REC_PRERECORD,
SKIN_TOKEN_REC_CLIPCOUNT,
SKIN_TOKEN_REC_TRIGGER,
SKIN_TOKEN_REC_WARNING,
SKIN_TOKEN_REC_SOURCE,
SKIN_TOKEN_REC_GAIN,
/* Radio Tokens */