Crate fretboard_layout
source ·Expand description
Fretboard Layout
fretboard_layout
is a library for turning a set of specifications into a
complete template of a stringed musical instrument fretboard, such as a
guitar, banjo, or mandolin.
| |
| :–: |
| Sample output |
Usage
use fretboard_layout::{Config,Specs};
// the [Specs] struct constains the specifications used to generate the svg
let mut specs = Specs::default();
specs.set_multi(Some(615.0), Some(8.0));
specs.set_scale(675.0);
// the (optional) [Config] struct fine tunes the visual representation
let mut cfg = Config::default();
cfg.set_line_weight(0.5);
let svg = specs.create_document(Some(cfg));
Modules
Structs
All of the configuration values which can be set in config.toml get stored
in this struct
This struct contains multiplication factors used to convert the raw lengths
from bridge to fret into x,y coordinates. It also contains an offset distance
used to correctly orient the two scales in a multiscale design so that the
desired fret is perpendicular to the centerline.
A builder pattern struct for building a
Variant::Multiscale
structAn error occurred parsing the neck’s Handedness from a str
Represents a color as red, green and blue channels with no transparency
Represents a color as red, green and blue channels with an alpha channel
for transparency
This struct contains the user data used to create the svg output file
A Specs builder
Enums
Errors which might occur when validating or converting colors
Whether the output represents a right handed or left handed neck style
An enumeration of primary and secondary colors
Whether to use Metric (millimeters) or Imperial (inches) measurements
Whether to output a traditional
Monoscale
style neck with the same scale
across it’s entire width, or a modern Multiscale
neck, with a shorter scale
along the treble side, also known as fan fret.The weight of the font
Traits
Transformations to and from hexadecimal notation (base 16)