sound

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2021 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteSoundWithGroups added in v1.0.0

func DeleteSoundWithGroups(groupProvider *GroupProvider, soundProvider *SoundProvider, sound *Sound) (err error)

Types

type Group added in v0.2.0

type Group struct {
	Id        string    `json:"id,omitempty" hotcereal:"key"`
	CreatedAt time.Time `json:"created_at,omitempty"`

	Name     string        `json:"name,omitempty" hotcereal:"searchable"`
	Duration time.Duration `json:"duration,omitempty"`
	SoundIds []string      `json:"sounds,omitempty"`
}

func NewGroup added in v0.2.0

func NewGroup() Group

func (*Group) DecodeMsgpack added in v1.0.0

func (s *Group) DecodeMsgpack(dec *msgpack.Decoder) error

func (*Group) EncodeMsgpack added in v1.0.0

func (s *Group) EncodeMsgpack(enc *msgpack.Encoder) error

type GroupMessage added in v1.0.0

type GroupMessage struct {
	Type  websocket.MessageType `json:"type"`
	Group *Group                `json:"group"`
}

type GroupProvider added in v1.0.0

type GroupProvider struct {
	Store store.Store
	// contains filtered or unexported fields
}

func (*GroupProvider) Delete added in v1.0.0

func (p *GroupProvider) Delete(objs ...*Group) error

func (*GroupProvider) FieldKey added in v1.0.0

func (p *GroupProvider) FieldKey(o *Group, fieldName string) store.FieldKey

func (*GroupProvider) Get added in v1.0.0

func (p *GroupProvider) Get(id string) *Group

func (*GroupProvider) Initialize added in v1.0.0

func (p *GroupProvider) Initialize() error

func (*GroupProvider) List added in v1.0.0

func (p *GroupProvider) List() []*Group

func (*GroupProvider) ObjectKey added in v1.0.0

func (p *GroupProvider) ObjectKey(o *Group) store.ObjectKey

func (*GroupProvider) Save added in v1.0.0

func (p *GroupProvider) Save(o *Group) error

func (*GroupProvider) Search added in v1.0.0

func (p *GroupProvider) Search(query string) []*Group

func (*GroupProvider) TypeKey added in v1.0.0

func (p *GroupProvider) TypeKey() store.TypeKey

type PlayMessage added in v1.0.0

type PlayMessage struct {
	Type      websocket.MessageType `json:"type"`
	Sound     Sound                 `json:"sound"`
	Scheduled time.Time             `json:"scheduled"`
}

type Service

type Service struct {
	SoundProvider    *SoundProvider
	GroupProvider    *GroupProvider
	WebsocketService *websocket.Service
	MaxSoundDuration time.Duration
	// contains filtered or unexported fields
}

func (*Service) RegisterRoutes

func (s *Service) RegisterRoutes(router *mux.Router)

func (*Service) Run

func (s *Service) Run(ctx context.Context)

type Sound

type Sound struct {
	Id        string    `json:"id,omitempty" hotcereal:"key"`
	CreatedAt time.Time `json:"created_at,omitempty"`

	Name     string        `json:"name,omitempty" hotcereal:"searchable"`
	Duration time.Duration `json:"duration,omitempty"`
	Hidden   bool          `json:"-"`
	Audio    []byte        `json:"-" hotcereal:"lazy"`
}

func NewSound

func NewSound() Sound

func (*Sound) DecodeMsgpack added in v1.0.0

func (s *Sound) DecodeMsgpack(dec *msgpack.Decoder) error

func (*Sound) EncodeMsgpack added in v1.0.0

func (s *Sound) EncodeMsgpack(enc *msgpack.Encoder) error

type SoundMessage added in v1.0.0

type SoundMessage struct {
	Type  websocket.MessageType `json:"type"`
	Sound *Sound                `json:"sound"`
}

type SoundProvider added in v1.0.0

type SoundProvider struct {
	Store store.Store
	// contains filtered or unexported fields
}

func (*SoundProvider) Delete added in v1.0.0

func (p *SoundProvider) Delete(objs ...*Sound) error

func (*SoundProvider) FieldKey added in v1.0.0

func (p *SoundProvider) FieldKey(o *Sound, fieldName string) store.FieldKey

func (*SoundProvider) Get added in v1.0.0

func (p *SoundProvider) Get(id string) *Sound

func (*SoundProvider) Initialize added in v1.0.0

func (p *SoundProvider) Initialize() error

func (*SoundProvider) List added in v1.0.0

func (p *SoundProvider) List() []*Sound

func (*SoundProvider) NewSound added in v1.0.0

func (p *SoundProvider) NewSound(filename string, audio io.ReadCloser, maxDuration time.Duration) (*Sound, error)

func (*SoundProvider) NewTTSSound added in v1.0.0

func (p *SoundProvider) NewTTSSound(text string, maxDuration time.Duration) (*Sound, error)

func (*SoundProvider) ObjectKey added in v1.0.0

func (p *SoundProvider) ObjectKey(o *Sound) store.ObjectKey

func (*SoundProvider) ReadAudio added in v1.0.0

func (p *SoundProvider) ReadAudio(o *Sound, w io.Writer) error

func (*SoundProvider) Save added in v1.0.0

func (p *SoundProvider) Save(o *Sound) error

func (*SoundProvider) Search added in v1.0.0

func (p *SoundProvider) Search(query string) []*Sound

func (*SoundProvider) TypeKey added in v1.0.0

func (p *SoundProvider) TypeKey() store.TypeKey

func (*SoundProvider) WriteAudio added in v1.0.0

func (p *SoundProvider) WriteAudio(o *Sound, r io.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL