create waveform seekbar widget; still more to do

This commit is contained in:
Drew Weymouth
2025-07-24 08:51:25 -07:00
parent ae7cb55c8c
commit 43f6d501c9
5 changed files with 140 additions and 29 deletions
+7
View File
@@ -33,6 +33,7 @@ func NewBottomPanel(pm *backend.PlaybackManager, im *backend.ImageManager, contr
bp.ExtendBaseWidget(bp)
pm.OnSongChange(bp.onSongChange)
pm.OnWaveformImgUpdate(bp.updateWaveformImg)
pm.OnPlayTimeUpdate(func(cur, total float64, _ bool) {
fyne.Do(func() {
if !pm.IsSeeking() {
@@ -141,6 +142,12 @@ func (bp *BottomPanel) onSongChange(song mediaprovider.MediaItem, _ *mediaprovid
})
}
func (bp *BottomPanel) updateWaveformImg(img *backend.WaveformImage) {
fyne.Do(func() {
bp.Controls.UpdateWaveformImg(img)
})
}
func (bp *BottomPanel) CreateRenderer() fyne.WidgetRenderer {
bp.ExtendBaseWidget(bp)
return widget.NewSimpleRenderer(bp.container)