Documentation
¶
Index ¶
- Constants
- Variables
- func SerializeRaw(message *RawMessage) []byte
- type CodeRegistry
- type Connection
- type DiscoveredHost
- type EventHandler
- type EventManager
- type Message
- type MessageHeader
- type OpCode
- type PauseMessage
- type PingMessage
- type PlayMessage
- type PlaybackErrorMessage
- type PlaybackState
- type PlaybackUpdateMessage
- type PongMessage
- type RawMessage
- type ResumeMessage
- type SeekMessage
- type SetSpeedMessage
- type SetVolumeMessage
- type StopMessage
- type VersionMessage
- type VolumeUpdateMessage
Constants ¶
View Source
const (
DefaultPort = 46899
)
Variables ¶
View Source
var ( ErrHeaderTooShort = errors.New("header is too short") ErrBodyTooShort = errors.New("body is too short") )
Functions ¶
func SerializeRaw ¶
func SerializeRaw(message *RawMessage) []byte
Types ¶
type CodeRegistry ¶
type CodeRegistry struct {
// contains filtered or unexported fields
}
type Connection ¶
func Connect ¶
func Connect(host string) (*Connection, error)
func (*Connection) ListenForMessages ¶
func (c *Connection) ListenForMessages(em *EventManager) error
func (*Connection) SendMessage ¶
func (c *Connection) SendMessage(message Message) error
type DiscoveredHost ¶
func Discover ¶
func Discover() ([]DiscoveredHost, error)
type EventHandler ¶
type EventHandler func(message Message)
type EventManager ¶
type EventManager struct {
// contains filtered or unexported fields
}
func (*EventManager) SetHandler ¶
func (em *EventManager) SetHandler(message Message, handler EventHandler)
type MessageHeader ¶
type PauseMessage ¶
type PauseMessage struct{}
type PingMessage ¶
type PingMessage struct{}
type PlayMessage ¶
type PlayMessage struct { Container string `json:"container"` Url string `json:"url,omitempty"` Content string `json:"content,omitempty"` Time int `json:"time"` // start time of playback (s) Speed float32 `json:"speed,omitempty"` // 1=100%, 1 is default Headers map[string]string `json:"headers,omitempty"` // headers to be passed to the server when requesting media }
type PlaybackErrorMessage ¶
type PlaybackErrorMessage struct {
Message string `json:"message"`
}
type PlaybackState ¶
type PlaybackState uint8
const ( Idle PlaybackState = 0 Playing PlaybackState = 1 Paused PlaybackState = 2 )
type PlaybackUpdateMessage ¶
type PlaybackUpdateMessage struct { GenerationTime int64 `json:"generationTime"` // generation time in UNIX (ms) Time float32 `json:"time"` // current time playing (s) Duration float32 `json:"duration"` State PlaybackState `json:"state"` }
type PongMessage ¶
type PongMessage struct{}
type RawMessage ¶
type RawMessage struct { Header MessageHeader // 0-4 Body []byte // 5- }
func DeserializeRaw ¶
func DeserializeRaw(bodyLen, opCode, body []byte) (*RawMessage, error)
func NewMessage ¶
func NewMessage(op OpCode, body []byte) *RawMessage
type ResumeMessage ¶
type ResumeMessage struct{}
type SeekMessage ¶
type SeekMessage struct {
Time int `json:"time"` // time to seek in seconds
}
type SetSpeedMessage ¶
type SetSpeedMessage struct {
Speed float32 `json:"speed"`
}
type SetVolumeMessage ¶
type SetVolumeMessage struct {
Volume float32 `json:"volume"` // range: 0-1
}
type StopMessage ¶
type StopMessage struct{}
type VersionMessage ¶
type VersionMessage struct {
Version float32 `json:"version"`
}
type VolumeUpdateMessage ¶
Click to show internal directories.
Click to hide internal directories.