VideoTools/internal/state/manager.go
2026-01-06 17:01:06 -05:00

35 lines
655 B
Go

package state
import (
"fyne.io/fyne/v2/widget"
"sync"
)
type StateManager struct {
mu sync.RWMutex
// Current mode settings
crfMode CRFMode
vbrMode VBRMode
currentQuality string
currentBitrate string
currentCRFValue int64
currentVBRValue int64
// Registered widgets for synchronization
qualityWidgets []*widget.Select
bitrateWidgets []*widget.Select
}
type CRFMode string
type VBRMode string
const (
CRFManual CRFMode = "manual"
CRFQuality CRFMode = "quality"
CRFBitrate CRFMode = "bitrate"
VBRStandard VBRMode = "standard"
VBRHQ VBRMode = "hq"
VBRConstrained VBRMode = "constrained"
)