extremote

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2021 License: MIT Imports: 4 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Lingos struct {
	ACK                                        `id:"0x0001"`
	GetCurrentPlayingTrackChapterInfo          `id:"0x0002"`
	ReturnCurrentPlayingTrackChapterInfo       `id:"0x0003"`
	SetCurrentPlayingTrackChapter              `id:"0x0004"`
	GetCurrentPlayingTrackChapterPlayStatus    `id:"0x0005"`
	ReturnCurrentPlayingTrackChapterPlayStatus `id:"0x0006"`
	GetCurrentPlayingTrackChapterName          `id:"0x0007"`
	ReturnCurrentPlayingTrackChapterName       `id:"0x0008"`
	GetAudiobookSpeed                          `id:"0x0009"`
	ReturnAudiobookSpeed                       `id:"0x000A"`
	SetAudiobookSpeed                          `id:"0x000B"`
	GetIndexedPlayingTrackInfo                 `id:"0x000C"`
	ReturnIndexedPlayingTrackInfo              `id:"0x000D"`
	GetArtworkFormats                          `id:"0x000E"`
	RetArtworkFormats                          `id:"0x000F"`
	GetTrackArtworkData                        `id:"0x0010"`
	RetTrackArtworkData                        `id:"0x0011"`
	ResetDBSelection                           `id:"0x0016"`
	SelectDBRecord                             `id:"0x0017"`
	GetNumberCategorizedDBRecords              `id:"0x0018"`
	ReturnNumberCategorizedDBRecords           `id:"0x0019"`
	RetrieveCategorizedDatabaseRecords         `id:"0x001A"`
	ReturnCategorizedDatabaseRecord            `id:"0x001B"`
	GetPlayStatus                              `id:"0x001C"`
	ReturnPlayStatus                           `id:"0x001D"`
	GetCurrentPlayingTrackIndex                `id:"0x001E"`
	ReturnCurrentPlayingTrackIndex             `id:"0x001F"`
	GetIndexedPlayingTrackTitle                `id:"0x0020"`
	ReturnIndexedPlayingTrackTitle             `id:"0x0021"`
	GetIndexedPlayingTrackArtistName           `id:"0x0022"`
	ReturnIndexedPlayingTrackArtistName        `id:"0x0023"`
	GetIndexedPlayingTrackAlbumName            `id:"0x0024"`
	ReturnIndexedPlayingTrackAlbumName         `id:"0x0025"`
	SetPlayStatusChangeNotification            `id:"0x0026"`
	SetPlayStatusChangeNotificationShort       `id:"0x0026"`
	PlayStatusChangeNotification               `id:"0x0027"`
	PlayCurrentSelection                       `id:"0x0028"`
	PlayControl                                `id:"0x0029"`
	GetTrackArtworkTimes                       `id:"0x002A"`
	RetTrackArtworkTimes                       `id:"0x002B"`
	GetShuffle                                 `id:"0x002C"`
	ReturnShuffle                              `id:"0x002D"`
	SetShuffle                                 `id:"0x002E"`
	GetRepeat                                  `id:"0x002F"`
	ReturnRepeat                               `id:"0x0030"`
	SetRepeat                                  `id:"0x0031"`
	SetDisplayImage                            `id:"0x0032"`
	GetMonoDisplayImageLimits                  `id:"0x0033"`
	ReturnMonoDisplayImageLimits               `id:"0x0034"`
	GetNumPlayingTracks                        `id:"0x0035"`
	ReturnNumPlayingTracks                     `id:"0x0036"`
	SetCurrentPlayingTrack                     `id:"0x0037"`
	SelectSortDBRecord                         `id:"0x0038"`
	GetColorDisplayImageLimits                 `id:"0x0039"`
	ReturnColorDisplayImageLimits              `id:"0x003A"`
	ResetDBSelectionHierarchy                  `id:"0x003B"`
	GetDBiTunesInfo                            `id:"0x003C"`
	RetDBiTunesInfo                            `id:"0x003D"`
	GetUIDTrackInfo                            `id:"0x003E"`
	RetUIDTrackInfo                            `id:"0x003F"`
	GetDBTrackInfo                             `id:"0x0040"`
	RetDBTrackInfo                             `id:"0x0041"`
	GetPBTrackInfo                             `id:"0x0042"`
	RetPBTrackInfo                             `id:"0x0043"`
}

Functions

func HandleExtRemote

func HandleExtRemote(req *ipod.Command, tr ipod.CommandWriter, dev DeviceExtRemote) error

Types

type ACK

type ACK struct {
	Status ACKStatus
	CmdID  uint16
}

type ACKStatus

type ACKStatus uint8
const (
	ACKStatusSuccess ACKStatus = 0x00
	ACKStatusFailed  ACKStatus = 0x02
)

type ArtworkFormat

type ArtworkFormat struct {
	FormatID    uint16
	PixelFormat byte
	ImageWidth  uint16
	ImageHeight uint16
}

type DBCategoryType

type DBCategoryType byte
const (
	DbCategoryPlaylist       DBCategoryType = 0x01
	DbCategoryArtist         DBCategoryType = 0x02
	DbCategoryAlbum          DBCategoryType = 0x03
	DbCategoryGenre          DBCategoryType = 0x04
	DbCategoryTrack          DBCategoryType = 0x05
	DbCategoryComposer       DBCategoryType = 0x06
	DbCategoryAudiobook      DBCategoryType = 0x07
	DbCategoryPodcast        DBCategoryType = 0x08
	DbCategoryNestedPlaylist DBCategoryType = 0x09
)

type DeviceExtRemote

type DeviceExtRemote interface {
	PlaybackStatus() (trackLength, trackPos uint32, state PlayerState)
}

type GetArtworkFormats

type GetArtworkFormats struct {
}

type GetAudiobookSpeed

type GetAudiobookSpeed struct {
}

type GetColorDisplayImageLimits

type GetColorDisplayImageLimits struct {
}

type GetCurrentPlayingTrackChapterInfo

type GetCurrentPlayingTrackChapterInfo struct {
}

type GetCurrentPlayingTrackChapterName

type GetCurrentPlayingTrackChapterName struct {
	ChapterIndex int32
}

type GetCurrentPlayingTrackChapterPlayStatus

type GetCurrentPlayingTrackChapterPlayStatus struct {
	CurrentChapterIndex int32
}

type GetCurrentPlayingTrackIndex

type GetCurrentPlayingTrackIndex struct {
}

type GetDBTrackInfo

type GetDBTrackInfo struct {
}

type GetDBiTunesInfo

type GetDBiTunesInfo struct {
}

type GetIndexedPlayingTrackAlbumName

type GetIndexedPlayingTrackAlbumName struct {
	TrackIndex int32
}

type GetIndexedPlayingTrackArtistName

type GetIndexedPlayingTrackArtistName struct {
	TrackIndex int32
}

type GetIndexedPlayingTrackInfo

type GetIndexedPlayingTrackInfo struct {
	InfoType     TrackInfoType
	TrackIndex   int32
	ChapterIndex int16
}

type GetIndexedPlayingTrackTitle

type GetIndexedPlayingTrackTitle struct {
	TrackIndex int32
}

type GetMonoDisplayImageLimits

type GetMonoDisplayImageLimits struct {
}

type GetNumPlayingTracks

type GetNumPlayingTracks struct {
}

type GetNumberCategorizedDBRecords

type GetNumberCategorizedDBRecords struct {
	CategoryType DBCategoryType
}

type GetPBTrackInfo

type GetPBTrackInfo struct {
}

type GetPlayStatus

type GetPlayStatus struct {
}

type GetRepeat

type GetRepeat struct {
}

type GetShuffle

type GetShuffle struct {
}

type GetTrackArtworkData

type GetTrackArtworkData struct {
	TrackIndex int32
	FormatID   uint16
	Offset     uint32
}

type GetTrackArtworkTimes

type GetTrackArtworkTimes struct {
	TrackIndex   int32
	FormatID     uint16
	ArtworkIndex uint16
	ArtworkCount int16
}

type GetUIDTrackInfo

type GetUIDTrackInfo struct {
}

type PlayControl

type PlayControl struct {
	Cmd PlayControlCmd
}

type PlayControlCmd

type PlayControlCmd byte
const (
	PlayControlToggle      PlayControlCmd = 0x01
	PlayControlStop        PlayControlCmd = 0x02
	PlayControlNextTrack   PlayControlCmd = 0x03
	PlayControlPrevTrack   PlayControlCmd = 0x04
	PlayControlStartFF     PlayControlCmd = 0x05
	PlayControlStartRew    PlayControlCmd = 0x06
	PlayControlEndFFRew    PlayControlCmd = 0x07
	PlayControlNext        PlayControlCmd = 0x08
	PlayControlPrev        PlayControlCmd = 0x09
	PlayControlPlay        PlayControlCmd = 0x0a
	PlayControlPause       PlayControlCmd = 0x0b
	PlayControlNextChapter PlayControlCmd = 0x0c
	PlayControlPrevChapter PlayControlCmd = 0x0d
)

type PlayCurrentSelection

type PlayCurrentSelection struct {
	SelectedTrackIndex int32
}

type PlayStatusChangeNotification

type PlayStatusChangeNotification struct {
	Status byte // finish
}

type PlayerState

type PlayerState byte
const (
	PlayerStateStopped PlayerState = 0x00
	PlayerStatePlaying PlayerState = 0x01
	PlayerStatePaused  PlayerState = 0x02
	PlayerStateError   PlayerState = 0xff
)

type RepeatMode

type RepeatMode byte
const (
	RepeatOff RepeatMode = 0x00
	RepeatOne RepeatMode = 0x01
	RepeatAll RepeatMode = 0x02
)

type ResetDBSelection

type ResetDBSelection struct {
}

ack

type ResetDBSelectionHierarchy

type ResetDBSelectionHierarchy struct {
	Selection byte
}

type RetArtworkFormats

type RetArtworkFormats struct {
	Formats []ArtworkFormat
}

func (RetArtworkFormats) MarshalBinary

func (s RetArtworkFormats) MarshalBinary() ([]byte, error)

func (*RetArtworkFormats) UnmarshalBinary

func (s *RetArtworkFormats) UnmarshalBinary(data []byte) error

type RetDBTrackInfo

type RetDBTrackInfo struct {
}

type RetDBiTunesInfo

type RetDBiTunesInfo struct {
}

type RetPBTrackInfo

type RetPBTrackInfo struct {
}

type RetTrackArtworkData

type RetTrackArtworkData struct {
	PacketIndex uint16
	PixelFormat byte
	ImageWidth  uint16
	ImageHeight uint16

	TopLeftX     uint16
	TopLeftY     uint16
	BottomRightX uint16
	BottomRightY uint16
	RowSize      uint32
	Data         []byte
}

type RetTrackArtworkTimes

type RetTrackArtworkTimes struct {
}

type RetUIDTrackInfo

type RetUIDTrackInfo struct {
}

type RetrieveCategorizedDatabaseRecords

type RetrieveCategorizedDatabaseRecords struct {
	CategoryType DBCategoryType
	Offset       uint32
	Count        int32
}

type ReturnAudiobookSpeed

type ReturnAudiobookSpeed struct {
	Speed byte //add enums
}

type ReturnCategorizedDatabaseRecord

type ReturnCategorizedDatabaseRecord struct {
	RecordCategoryIndex uint32
	String              [16]byte //fix length
}

type ReturnColorDisplayImageLimits

type ReturnColorDisplayImageLimits struct {
	MaxWidth    uint16
	MaxHeight   uint16
	PixelFormat byte
}

type ReturnCurrentPlayingTrackChapterInfo

type ReturnCurrentPlayingTrackChapterInfo struct {
	CurrentChapterIndex int32
	ChapterCount        int32
}

type ReturnCurrentPlayingTrackChapterName

type ReturnCurrentPlayingTrackChapterName struct {
	ChapterName []byte
}

type ReturnCurrentPlayingTrackChapterPlayStatus

type ReturnCurrentPlayingTrackChapterPlayStatus struct {
	ChapterLength   uint32
	ChapterPosition uint32
}

type ReturnCurrentPlayingTrackIndex

type ReturnCurrentPlayingTrackIndex struct {
	TrackIndex int32
}

type ReturnIndexedPlayingTrackAlbumName

type ReturnIndexedPlayingTrackAlbumName struct {
	AlbumName []byte
}

func (ReturnIndexedPlayingTrackAlbumName) MarshalBinary

func (s ReturnIndexedPlayingTrackAlbumName) MarshalBinary() ([]byte, error)

func (*ReturnIndexedPlayingTrackAlbumName) UnmarshalBinary

func (s *ReturnIndexedPlayingTrackAlbumName) UnmarshalBinary(data []byte) error

type ReturnIndexedPlayingTrackArtistName

type ReturnIndexedPlayingTrackArtistName struct {
	ArtistName []byte
}

func (ReturnIndexedPlayingTrackArtistName) MarshalBinary

func (s ReturnIndexedPlayingTrackArtistName) MarshalBinary() ([]byte, error)

func (*ReturnIndexedPlayingTrackArtistName) UnmarshalBinary

func (s *ReturnIndexedPlayingTrackArtistName) UnmarshalBinary(data []byte) error

type ReturnIndexedPlayingTrackInfo

type ReturnIndexedPlayingTrackInfo struct {
	InfoType TrackInfoType
	Info     interface{}
}

func (ReturnIndexedPlayingTrackInfo) MarshalBinary

func (s ReturnIndexedPlayingTrackInfo) MarshalBinary() ([]byte, error)

func (*ReturnIndexedPlayingTrackInfo) UnmarshalBinary

func (s *ReturnIndexedPlayingTrackInfo) UnmarshalBinary(data []byte) error

type ReturnIndexedPlayingTrackTitle

type ReturnIndexedPlayingTrackTitle struct {
	Title []byte
}

func (ReturnIndexedPlayingTrackTitle) MarshalBinary

func (s ReturnIndexedPlayingTrackTitle) MarshalBinary() ([]byte, error)

func (*ReturnIndexedPlayingTrackTitle) UnmarshalBinary

func (s *ReturnIndexedPlayingTrackTitle) UnmarshalBinary(data []byte) error

type ReturnMonoDisplayImageLimits

type ReturnMonoDisplayImageLimits struct {
	MaxWidth    uint16
	MaxHeight   uint16
	PixelFormat byte
}

type ReturnNumPlayingTracks

type ReturnNumPlayingTracks struct {
	NumTracks uint32
}

type ReturnNumberCategorizedDBRecords

type ReturnNumberCategorizedDBRecords struct {
	RecordCount int32
}

type ReturnPlayStatus

type ReturnPlayStatus struct {
	TrackLength   uint32
	TrackPosition uint32
	State         PlayerState
}

type ReturnRepeat

type ReturnRepeat struct {
	Mode RepeatMode
}

type ReturnShuffle

type ReturnShuffle struct {
	Mode ShuffleMode
}

type SelectDBRecord

type SelectDBRecord struct {
	CategoryType DBCategoryType
	RecordIndex  int32
}

type SelectSortDBRecord

type SelectSortDBRecord struct {
	CategoryType DBCategoryType
	RecordIndex  int32
	SortType     byte // add enum
}

type SetAudiobookSpeed

type SetAudiobookSpeed struct {
	Speed byte //add enums
}

type SetCurrentPlayingTrack

type SetCurrentPlayingTrack struct {
	TrackIndex int32
}

type SetCurrentPlayingTrackChapter

type SetCurrentPlayingTrackChapter struct {
	ChapterIndex int32
}

type SetDisplayImage

type SetDisplayImage struct {
}

type SetPlayStatusChangeNotification

type SetPlayStatusChangeNotification struct {
	EventMask uint32
}

type SetPlayStatusChangeNotificationShort

type SetPlayStatusChangeNotificationShort struct {
	Enabled bool
}

SetPlayStatusChangeNotificationShort is another possible version of SetPlayStatusChangeNotification, that uses a single bit instead of a bitmask to enable/disable all play-status-change notifications

type SetRepeat

type SetRepeat struct {
	Mode RepeatMode
}

type SetShuffle

type SetShuffle struct {
	Mode ShuffleMode
}

type ShuffleMode

type ShuffleMode byte
const (
	ShuffleOff    ShuffleMode = 0x00
	ShuffleTracks ShuffleMode = 0x01
	ShuffleAlbums ShuffleMode = 0x02
)

type TrackCaps

type TrackCaps struct {
	Caps         uint32
	TrackLength  uint32
	ChapterCount uint16
}

type TrackInfoType

type TrackInfoType byte
const (
	TrackInfoCaps         TrackInfoType = 0x00
	TrackInfoPodcastName  TrackInfoType = 0x01
	TrackInfoReleaseDate  TrackInfoType = 0x02
	TrackInfoDescription  TrackInfoType = 0x03
	TrackInfoLyrics       TrackInfoType = 0x04
	TrackInfoGenre        TrackInfoType = 0x05
	TrackInfoComposer     TrackInfoType = 0x06
	TrackInfoArtworkCount TrackInfoType = 0x07
)

type TrackLongText

type TrackLongText struct {
	Flags       byte
	PacketIndex uint16
	Text        byte // string
}

type TrackReleaseDate

type TrackReleaseDate struct {
	Pad uint64
}

Jump to

Keyboard shortcuts

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