Skip to content

A tiny library for decoding FSEQ (.fseq) v2.0+ sequence files

License

Notifications You must be signed in to change notification settings

Cryptkeeper/libtinyfseq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libtinyfseq

A single-file library (~150 LOC) for decoding FSEQ (.fseq) v2.0+ sequence files developed and popularized by the fpp and xLights programs. Additional documentation for the file format is available at Cryptkeeper/fseq-file-format.

Installation

  • Download and copy tinyfseq.h into your project locally, or to your toolchain's include paths
  • #include "tinyfseq.h" as expected (you may need to modify the path).
  • Define TINYFSEQ_IMPLEMENTATION in a single C/C++ source code file (more info on using single-file libraries)

A short example of including libtinyfseq and printing the library version is available in the form of a [test/build.c](unit test).

Compatibility

  • libtinyfseq uses stdint.h for fixed-size int types
  • libtinyfseq only supports FSEQ versions v2.x versions, with the schema initially released in 2018. Older v1.x files can be upgraded using the xLights program.

Usage

libtinyfseq provides decoding functions for the following components of a FSEQ file. See tinyfseq.h for comments describing their specific usage.

Function Schema Type
TFHeader_read https://github.com/Cryptkeeper/fseq-file-format#header TFHeader
TFVarHeader_read https://github.com/Cryptkeeper/fseq-file-format#variable TFVarHeader
TFChannelRange_read https://github.com/Cryptkeeper/fseq-file-format#sparse-range TFChannelRange
TFCompressionBlock_read https://github.com/Cryptkeeper/fseq-file-format#compression-block TFCompressionBlock

All decoding functions return a TFError value, with TF_OK indicating success. If an error occurs, the value will be non-zero. An error string can be retrieved via TFError_string (and should not be freed by the caller).

License

See LICENSE.txt

About

A tiny library for decoding FSEQ (.fseq) v2.0+ sequence files

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published