fplayer
C99 Falcon Sequence (fseq) file player for Light-O-Rama hardware (like xLights)
|
FSEQ sequence file loading implementation. More...
#include "seq.h"
#include <assert.h>
#include <stdint.h>
#include <stdlib.h>
#include "tinyfseq.h"
#include "fseq/writer.h"
#include "std2/errcode.h"
#include "std2/fc.h"
#include "comblock.h"
Macros | |
#define | VARHEADER_SIZE 4 |
Size of a FSEQ file format variable header in bytes. | |
Functions | |
int | Seq_open (struct FC *fc, struct tf_header_t **seq) |
Reads a FSEQ header and initializes the header struct with the sequence's metadata. The caller is responsible for freeing the header. | |
static int | Seq_readVar (uint8_t **head, const int remaining, struct fseq_var_s *var) |
Reads a variable from the variable table and populates the provided var struct with the variable id, size, and value. The variable value is allocated and must be freed by the caller. | |
int | Seq_getMediaFile (struct FC *fc, const struct tf_header_t *seq, char **value) |
Retrieves the audio file path from the sequence for playback by searching the FSEQ's variable table for the mf (media file) variable. | |
FSEQ sequence file loading implementation.
#define VARHEADER_SIZE 4 |
Size of a FSEQ file format variable header in bytes.
int Seq_getMediaFile | ( | struct FC * | fc, |
const struct tf_header_t * | seq, | ||
char ** | value ) |
Retrieves the audio file path from the sequence for playback by searching the FSEQ's variable table for the mf
(media file) variable.
fc | target file controller instance |
seq | sequence header for file layout information |
value | the value of the mf variable if found, otherwise set to NULL |
int Seq_open | ( | struct FC * | fc, |
struct tf_header_t ** | seq ) |
Reads a FSEQ header and initializes the header struct with the sequence's metadata. The caller is responsible for freeing the header.
fc | target file controller instance |
seq | the sequence header to populate with the FSEQ metadata |
|
static |
Reads a variable from the variable table and populates the provided var
struct with the variable id, size, and value. The variable value is allocated and must be freed by the caller.
head | pointer to the current variable table position, updated to the next variable position on return |
remaining | the number of bytes remaining in the variable table |
var | the variable struct to populate with the read variable |