diff --git a/go.mod b/go.mod index 843d760..3d2301d 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module github.com/gotracker/gomixing -go 1.18 +go 1.21 diff --git a/volume/volume.go b/volume/volume.go index 09eb71b..bf099e9 100644 --- a/volume/volume.go +++ b/volume/volume.go @@ -1,6 +1,7 @@ package volume import ( + "fmt" "math" ) @@ -94,3 +95,13 @@ func (v Volume) WithOverflowProtection() float64 { // overflow, positive return 1.0 } + +func (v Volume) String() string { + var db float64 + if v > 0 { + db = math.Log10(float64(v)) * 20.0 + } else { + db = math.Inf(-1) + } + return fmt.Sprintf("%0.2f (%0.2fdB)", v, db) +}