Documentation
¶
Index ¶
- Constants
- type BtnEvent
- type BtnState
- type Logger
- type Page
- type ReadErrorCb
- type StdLogger
- func (stdLogger *StdLogger) Debug(args ...interface{})
- func (stdLogger *StdLogger) Debugf(format string, args ...interface{})
- func (stdLogger *StdLogger) Error(args ...interface{})
- func (stdLogger *StdLogger) Errorf(format string, args ...interface{})
- func (stdLogger *StdLogger) Info(args ...interface{})
- func (stdLogger *StdLogger) Infof(format string, args ...interface{})
- func (stdLogger *StdLogger) Warn(args ...interface{})
- func (stdLogger *StdLogger) Warnf(format string, args ...interface{})
- type StreamDeck
- func (sd *StreamDeck) ClearAllBtns()
- 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) IsConnected() bool
- func (sd *StreamDeck) OnConnect(callback func())
- func (sd *StreamDeck) Serve(stop chan bool) error
- func (sd *StreamDeck) SetBtnEventCb(ev BtnEvent)
- func (sd *StreamDeck) WriteText(btnIndex int, textBtn TextButton) error
- type TextButton
- type TextLine
- type USBDevice
- func (usbDevice *USBDevice) Close() error
- func (usbDevice *USBDevice) Connect() error
- func (usbDevice *USBDevice) GetProductID() uint16
- func (usbDevice *USBDevice) GetSerialNumber() (string, error)
- func (usbDevice *USBDevice) GetVendorID() uint16
- func (usbDevice *USBDevice) IsConnected() bool
- func (usbDevice *USBDevice) SetConnected(connected bool)
Constants ¶
const ButtonSize = 72
ButtonSize is the size of a button (in pixel).
const DefaultReconnectionTime = time.Second * 1
const NumButtonColumns = 5
NumButtonColumns is the number of columns on the Stream Deck.
const NumButtonRows = 3
NumButtonRows is the number of button rows on the Stream Deck.
const NumButtons = 15
NumButtons is the total amount of Buttons located on the Stream Deck.
const OutEndpointBufferSize = 17
Stream Deck output endpoint buffer size
const PanelHeight = NumButtonRows*ButtonSize + Spacer*(NumButtonRows-1)
PanelHeight is the total screen height of the stream deck (including spacers).
const PanelWidth = NumButtonColumns*ButtonSize + Spacer*(NumButtonColumns-1)
PanelWidth is the total screen width of the Stream Deck (including spacers).
const ProductID = 0x0060
ProductID is the USB ProductID assigned to Elgato's Stream Deck
const Spacer = 19
Spacer is the spacing distance (in pixel) of two buttons on the Stream Deck.
const VendorID = 0x0fd9
VendorID is the USB VendorID assigned to Elgato
Variables ¶
This section is empty.
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 get's pressed or released.
type Logger ¶
type Logger interface {
Debug(args ...interface{})
Debugf(format string, args ...interface{})
Info(args ...interface{})
Infof(format string, args ...interface{})
Warn(args ...interface{})
Warnf(format string, args ...interface{})
Error(args ...interface{})
Errorf(format string, args ...interface{})
}
type Page ¶
Page contains the configuration of one particular page of buttons. Pages can be nested to an arbitrary depth.
type ReadErrorCb ¶
type ReadErrorCb func(err error)
ReadErrorCb is a callback which gets executed in case reading from the Stream Deck fails (e.g. the cable get's disconnected).
type StreamDeck ¶
StreamDeck is the object representing the Elgato Stream Deck.
func NewStreamDeck ¶
func NewStreamDeck(logger Logger, 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 (*StreamDeck) ClearAllBtns ¶
func (sd *StreamDeck) ClearAllBtns()
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) IsConnected ¶
func (sd *StreamDeck) IsConnected() bool
func (*StreamDeck) OnConnect ¶ added in v0.0.3
func (sd *StreamDeck) OnConnect(callback func())
func (*StreamDeck) Serve ¶
func (sd *StreamDeck) Serve(stop chan bool) error
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.
type TextButton ¶
TextButton holds the lines to be written to a button and the desired Background color.
type TextLine ¶
type TextLine struct {
Text string
PosX int
PosY int
Font *truetype.Font
FontSize float64
FontColor color.Color
}
TextLine holds the content of one text line.
type USBDevice ¶
func NewUSBDevice ¶
func (*USBDevice) GetProductID ¶
func (*USBDevice) GetSerialNumber ¶
func (*USBDevice) GetVendorID ¶
func (*USBDevice) IsConnected ¶
func (*USBDevice) SetConnected ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
examples
|
|
|
icons
command
|
|
|
labels
command
|
|
|
led_buttons
command
|
|
|
pages
command
|
|
|
slideshow
command
|
|
|
textbuttons
command
|
|
