Documentation
¶
Index ¶
- Constants
- Variables
- type BtnEvent
- type Config
- type Event
- type EventKind
- type State
- type StreamDeck
- func (sd *StreamDeck) ClearAllBtns() error
- func (sd *StreamDeck) ClearBtn(btnIndex int) error
- func (sd *StreamDeck) Close() error
- func (sd *StreamDeck) FillColor(btnIndex, r, g, b int) error
- func (sd *StreamDeck) FillImage(btnIndex int, img image.Image) error
- func (sd *StreamDeck) FillImageFromFile(keyIndex int, path string) error
- func (sd *StreamDeck) FillPanel(img image.Image) error
- func (sd *StreamDeck) FillPanelFromFile(path string) error
- func (sd *StreamDeck) Serial() string
- func (sd *StreamDeck) SetBrightness(b uint16) error
- func (sd *StreamDeck) SetBtnEventCb(ev BtnEvent)
- func (sd *StreamDeck) WriteText(btnIndex int, textBtn TextButton) error
- func (sd *StreamDeck) WriteTextOnImage(btnIndex int, imgIn image.Image, lines []TextLine) error
- type TextButton
- type TextLine
Constants ¶
const ( EventUnknown = iota EventKeyPressed EventKeyReleased EventDialPressed EventDialReleased EventDialTurn )
const DialMax = 100
const VendorID = 4057
VendorID is the USB VendorID assigned to Elgato (0x0fd9)
Variables ¶
var AllConfigs = []Config{Original, OriginalMk1, Original2, Plus}
var Debug = false
var MonoMedium *truetype.Font
var MonoRegular *truetype.Font
var Original = Config{ ProductID: 0x60, NumButtonColumns: 5, NumButtonRows: 3, Spacer: 19, ButtonSize: 72, ImageFormat: "bmp", ConvertKey: true, }
Model 20GAA9901
var Original2 = Config{ ProductID: 0x80, NumButtonColumns: 5, NumButtonRows: 3, Spacer: 19, ButtonSize: 72, ImageFormat: "jpg", ImageRotate: true, }
var OriginalMk1 = Config{ ProductID: 0x6d, NumButtonColumns: 5, NumButtonRows: 3, Spacer: 19, ButtonSize: 72, ImageFormat: "jpg", ImageRotate: true, }
Model 20GAA9902
var Plus = Config{
ProductID: 0x0084,
NumButtonColumns: 4,
NumButtonRows: 2,
Spacer: 19,
ButtonSize: 120,
ImageFormat: "jpg",
}
Functions ¶
This section is empty.
Types ¶
type BtnEvent ¶
BtnEvent is a callback which gets executed when the state of a button changes, so whenever it gets pressed or released.
type Config ¶ added in v1.0.0
type Config struct {
ProductID uint16 // ProductID is the USB ProductID
NumButtonColumns int
NumButtonRows int
Spacer int // Spacer is the spacing distance (in pixel) of two buttons on the Stream Deck.
ButtonSize int
ImageFormat string
ImageRotate bool
ConvertKey bool
}
func FindConnectedConfig ¶ added in v1.0.0
func (Config) NumButtons ¶ added in v1.0.0
func (*Config) PanelHeight ¶ added in v1.0.0
PanelHeight is the total screen height of the stream deck (including spacers).
func (*Config) PanelWidth ¶ added in v1.0.0
PanelWidth is the total screen width of the Stream Deck (including spacers).
type StreamDeck ¶
type StreamDeck struct {
Config *Config
// contains filtered or unexported fields
}
StreamDeck is the object representing the Elgato Stream Deck.
func NewStreamDeck ¶
func NewStreamDeck(serial ...string) (*StreamDeck, error)
NewStreamDeck is the constructor of the StreamDeck object. If several StreamDecks are connected to this PC, the Streamdeck can be selected by supplying the optional serial number of the Device. In the examples folder there is a small program which enumerates all available Stream Decks. If no serial number is supplied, the first StreamDeck found will be selected.
func NewStreamDeckWithConfig ¶ added in v1.0.0
func NewStreamDeckWithConfig(c *Config, serial string) (*StreamDeck, error)
NewStreamDeckWithConfig is the constructor for a custom config.
func (*StreamDeck) ClearAllBtns ¶
func (sd *StreamDeck) ClearAllBtns() error
ClearAllBtns fills all keys with the color black
func (*StreamDeck) ClearBtn ¶
func (sd *StreamDeck) ClearBtn(btnIndex int) error
ClearBtn fills a particular key with the color black
func (*StreamDeck) Close ¶
func (sd *StreamDeck) Close() error
Close the connection to the Elgato Stream Deck
func (*StreamDeck) FillColor ¶
func (sd *StreamDeck) FillColor(btnIndex, r, g, b int) error
FillColor fills the given button with a solid color.
func (*StreamDeck) FillImage ¶
func (sd *StreamDeck) FillImage(btnIndex int, img image.Image) error
FillImage fills the given key with an image. For best performance, provide the image in the size of 72x72 pixels. Otherwise it will be automatically resized.
func (*StreamDeck) FillImageFromFile ¶
func (sd *StreamDeck) FillImageFromFile(keyIndex int, path string) error
FillImageFromFile fills the given key with an image from a file.
func (*StreamDeck) FillPanel ¶
func (sd *StreamDeck) FillPanel(img image.Image) error
FillPanel fills the whole panel witn an image. The image is scaled to fit and then center-cropped (if necessary). The native picture size is 360px x 216px.
func (*StreamDeck) FillPanelFromFile ¶
func (sd *StreamDeck) FillPanelFromFile(path string) error
FillPanelFromFile fills the entire panel with an image from a file.
func (*StreamDeck) Serial ¶ added in v0.1.9
func (sd *StreamDeck) Serial() string
Serial returns the Serial number of this Elgato Stream Deck
func (*StreamDeck) SetBrightness ¶ added in v1.0.0
func (sd *StreamDeck) SetBrightness(b uint16) error
b 0 -> 100
func (*StreamDeck) SetBtnEventCb ¶
func (sd *StreamDeck) SetBtnEventCb(ev BtnEvent)
SetBtnEventCb sets the BtnEvent callback which get's executed whenever a Button event (pressed/released) occures.
func (*StreamDeck) WriteText ¶
func (sd *StreamDeck) WriteText(btnIndex int, textBtn TextButton) error
WriteText can write several lines of Text to a button. It is up to the user to ensure that the lines fit properly on the button.
func (*StreamDeck) WriteTextOnImage ¶ added in v1.0.0
WriteText can write several lines of Text to a button. It is up to the user to ensure that the lines fit properly on the button.
type TextButton ¶
TextButton holds the lines to be written to a button and the desired Background color.
