A place to put some widgets for super secret projects.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martyn 84f7cb4069
Move the stuff to the widget, not the player
10 months ago
examples Renaming to a more appropriate name 10 months ago
pkg Move the stuff to the widget, not the player 10 months ago
.gitignore Initial commit 12 months ago
LICENSE Initial commit 12 months ago
README.md Renaming to a more appropriate name 10 months ago
cgo.go A horrible list of dependencies 12 months ago
go.mod rebase why 10 months ago
go.sum rebase why 10 months ago

README.md

fyne-widgets

A place to put some widgets for super secret projects. Each has an example in examples/. What's in here?

vumeter

A "progressbar" that displays a VUMeter. Right now, it's like a progressbar with a different renderer, but it has these extra fields you can mess with to change it's display :

Field Type Effect Values
OptimumValueMin float64 Start of the "yellow" range default:75 (expecting %)
OptimumValueMax float64 End of the "yellow" range default:85 (expecting %)
VUMeterDirection iota(int64) Direction of the VUMeter default: VUMeterHorizontal, alternative VUMeterVertical

webcam

A webcam component that displays frames from a selected webcam. Right now, it's based on gocv.io (may change later) and displays a scaled image based on frames from the webcam. It uses a ticker to update itself at a framerate you can specify.

!!! Warning gocv is a CGO library that is a PAIN to get working especially with other CGO libraries like portaudio - this is not "just reference the fyne webcam widget and done". You will almost certainly have to do stuff to your build system to make this work.

Here are the fields you can play with :

Field Type Effect Values
WebcamID int64 The numeric ID of the webcam, this may or may not have gaps, there's no way to learn the name of the webcams, and you might or might not find the webcam ¯\_(ツ)_/¯ default: 0
UpdateFPS int64 FPS for when to get new frames and display them. You might regret setting this higher than your cam can provide. How do we find out what that is? No idea! default:25

vidplayback

Coming soon!

bufferedvid

Same general code as vidplayback but buffers the ENTIRE file to allow for seeking. I do NOT recommend this for general playback but for some purposes, this will suffice.

Audio Waveform

A widget to display an audio waveform plot of []int32 data

Field Type Effect Values
audioData []int32 The data to display in the widget default: []int32{}
StretchSamples bool Resample the samples to fit the widget size or not default:false
TransparentBackground bool Don't draw a background rectangle default:false
OverrideForeground bool Set the foreground color manually, false = use theme foreground default:false
OverrideForegroundColor color.Color Color to override the theme with default:Black
OverrideBackground bool Set the background color manually, false = use theme background default:false
OverrideBackgroundColor color.Color Color to override the theme with default:White
SetMinSize(size) fyne.Size Same as image.SetMinsize() default:200x64

floatingControlsLayout

A layout to have floating controls in any of 9 places overlayed onto another widget/container. Takes exactly TWO renderable objects (canvas.Object or descendants) and overlays them so you can have for example, a close button top right of your full-screen app, or a play button in the middle of your video.

Field Type Effect Values
FloatingControlsLocation iota The location to put the controls over Default: FloatingControlsTopRight Alternatives:FloatingControlsTopLeft / FloatingControlsBottomLeft / FloatingControlsBottomRight / FloatingControlsCenter / FloatingControlsTopMiddle / FloatingControlsRightMiddle / FloatingControlsBottomMiddle / FloatingControlsLeftMiddle