#lighting #parser #previz

gdtf

Tools to read and inspect General Device Type Format (GDTF) files

3 unstable releases

0.2.0 Oct 1, 2024
0.1.1 Sep 29, 2024
0.1.0 Sep 25, 2024

#1049 in Parser implementations

MIT license

285KB
5.5K SLoC

Contains (Zip file, 8KB) Generic@RGBW8@test.gdtf

gdtf-rs

Crates.io Docs.rs MIT licensed Build status

The General Device Type Format (GDTF) is an open standard for describing devices of the entertainment industry. The latest version, 1.2, is standardised as DIN SPEC 15800:2022.

This crate provides tools to read and inspect GDTF files. This is made up of three parts:

  • An object model which closely matches the structure defined in the GDTF specification.
  • A fairly lax parser capable of parsing mostly well-formed GDTF files into the object model.
  • A small number of utilities for validating and inspecting the object model. Importantly, the crate aims to stay close to the GDTF specification. It is not a goal to provide a higher-level interface for fixtures represented by a GDTF file.

Install

Run the following Cargo command in your project directory:

cargo add gdtf

Or add the following line to your Cargo.toml:

gdtf = "0.2"

Example

use gdtf_rs::GdtfFile;

let file = std::fs::File::open("Generic@RGBW8@test.gdtf").expect("failed to read file");
let gdtf = GdtfFile::new(file).expect("failed to parse gdtf");
println!("GDTF file defines {} fixture types", gdtf.description.fixture_types.len());

License

Provided under the MIT license.

Dependencies

~8.5MB
~150K SLoC