feat(06-01): implement config package with TOML load, merge, validate
- Load() discovers, parses, validates, and merges TOML config over defaults - SoundOverride struct with *float64/*string pointer fields for partial-merge (CFG-04) - parseFile uses BurntSushi/toml DecodeFile + Undecoded() for unknown-key errors (CFG-05) - discoverPath probes ./netsynth.toml then ~/.config/netsynth/config.toml (CFG-02) - merge applies non-nil overrides per class; warns on unknown class names (D-09) - parseWaveform maps sine/square/sawtooth/triangle strings to WaveformType - Harmonics regenerated via WaveformPresetHarmonics when waveform/frequency changes - All 9 tests pass; go vet clean
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk=
|
||||
github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
|
||||
Reference in New Issue
Block a user