Documentation ¶
Index ¶
- Variables
- func ReadObject(r io.Reader, offset int) (int, interface{}, error)
- type Album
- type AlbumInner
- type AlbumList
- type AlbumListInner
- type ApplicationVersion
- type Artist
- type ArtistInner
- type ArtistList
- type ArtistListInner
- type DataObject
- type DataObjectInner
- type DataSet
- type DataSetInner
- type DataSetType
- type DataType
- type Database
- type DatabaseInner
- type HGHM
- type HGHMInner
- type Loader
- type ObjectSignature
- type PersistentID
- type Playlist
- type PlaylistInner
- type PlaylistItem
- type PlaylistItemInner
- type PlaylistKind
- type PlaylistList
- type PlaylistListInner
- type QueryItem
- type QueryItemInner
- type QueryList
- type QueryListInner
- type ReadableObject
- type Sized
- type SortField
- type StandardObject
- func (o *StandardObject) Buffer() *bytes.Buffer
- func (o *StandardObject) CreateSubObject() ReadableObject
- func (o *StandardObject) GetData() []byte
- func (o *StandardObject) GetOffset() int
- func (o *StandardObject) GetSize() int
- func (o *StandardObject) GetType() string
- func (o *StandardObject) Parse(x interface{}) error
- type Time
- type Track
- type TrackInner
- type TrackList
- type TrackListInner
- type Unhandled
- type UnhandledInner
Constants ¶
This section is empty.
Variables ¶
View Source
var COLUMN_TYPE = map[uint32]string{}
View Source
var DATASET_TYPE = map[uint32]string{}
View Source
var DATA_TYPE = map[uint32]string{}
View Source
var ErrInvalidHeader = errors.New("invalid header")
View Source
var ErrTooBig = errors.New("object bigger than encoded size")
View Source
var ErrUnexpectedObject = errors.New("unexpected object")
View Source
var PLAYLIST_KIND_TYPE = map[uint32]string{}
View Source
var SORT_FIELD_TYPE = map[uint32]string{}
View Source
var SPECIAL_SMART_TYPE = map[uint32]string{}
View Source
var UTF16_TYPES = map[uint32]bool{}
Functions ¶
Types ¶
type Album ¶
type Album struct { *StandardObject Parsed *AlbumInner RecordCount int Sequence int AlbumID PersistentID ArtistID PersistentID AlbumRating int }
haim
type AlbumInner ¶
type AlbumInner struct { Type ObjectSignature Size uint32 SubBytes uint32 RecordCount uint32 Sequence uint32 AlbumID PersistentID `json:",string"` Unknown1 [4]byte ArtistID PersistentID `json:",string"` Unknown2 uint16 AlbumRating int8 }
type AlbumList ¶
type AlbumList struct { *StandardObject Parsed *AlbumListInner RecordCount int }
halm
type AlbumListInner ¶
type AlbumListInner struct { Type ObjectSignature Size uint32 RecordCount uint32 }
type ApplicationVersion ¶
type ApplicationVersion [31]byte
func (ApplicationVersion) Major ¶
func (o ApplicationVersion) Major() (int, error)
func (ApplicationVersion) MarshalJSON ¶
func (o ApplicationVersion) MarshalJSON() ([]byte, error)
func (ApplicationVersion) String ¶
func (o ApplicationVersion) String() string
type Artist ¶
type Artist struct { *StandardObject Parsed *ArtistInner RecordCount int Sequence int ArtistID PersistentID }
hiim
type ArtistInner ¶
type ArtistInner struct { Size uint32 SubBytes uint32 RecordCount uint32 Sequence uint32 ArtistID PersistentID `json:",string"` }
type ArtistList ¶
type ArtistList struct { *StandardObject Parsed *ArtistListInner RecordCount int }
hilm
func (*ArtistList) Read ¶
func (o *ArtistList) Read() error
type ArtistListInner ¶
type ArtistListInner struct { Type ObjectSignature Size uint32 RecordCount uint32 }
type DataObject ¶
type DataObject struct { *StandardObject Parsed *DataObjectInner TypeID DataType Raw []byte Str string }
hohm
func (*DataObject) Read ¶
func (o *DataObject) Read() error
type DataObjectInner ¶
type DataSetInner ¶
type DataSetInner struct { Type ObjectSignature Size uint32 RecordBytes uint32 }
type DataSetType ¶
type DataSetType uint32
func (DataSetType) String ¶
func (dst DataSetType) String() string
type Database ¶
type Database struct { *StandardObject Parsed *DatabaseInner PersistentID PersistentID ApplicationVersion ApplicationVersion MajorVersion int MinorVersion int MaxCryptSize int TZOffset int }
hdfm IIB31sIQIBBBBIIIHHIIIIi
type DatabaseInner ¶
type DatabaseInner struct { Type ObjectSignature Size uint32 A [4]byte B [4]byte StrLen uint8 ApplicationVersion ApplicationVersion `json:",string"` E [4]byte PersistentID PersistentID `json:",string"` G [4]byte H uint8 MajorVersion uint8 J uint8 MinorVersion uint8 L uint32 M [4]byte N [4]byte O uint16 P uint16 Q [4]byte //DatabaseDate Time `json:",string"` R uint32 MaxCryptSize uint32 T uint32 TZOffset int32 }
type HGHM ¶
type HGHM struct { *StandardObject Parsed *HGHMInner RecordCount int LibraryDate time.Time }
hghm
type HGHMInner ¶
type HGHMInner struct { Type ObjectSignature Size uint32 RecordCount uint32 Unknown1 uint32 LibraryDate Time }
type Loader ¶
type Loader struct { *loader.BaseLoader // contains filtered or unexported fields }
func (*Loader) Decrypt ¶
func (l *Loader) Decrypt(f io.ReadCloser) (io.ReadCloser, error)
func (*Loader) Load ¶
func (l *Loader) Load(f io.ReadCloser)
type ObjectSignature ¶
type ObjectSignature [4]byte
func (ObjectSignature) GetEndianness ¶
func (v ObjectSignature) GetEndianness() (string, binary.ByteOrder)
func (ObjectSignature) MarshalJSON ¶
func (v ObjectSignature) MarshalJSON() ([]byte, error)
func (ObjectSignature) String ¶
func (v ObjectSignature) String() string
type PersistentID ¶
type PersistentID uint64
func (PersistentID) MarshalJSON ¶
func (id PersistentID) MarshalJSON() ([]byte, error)
func (PersistentID) String ¶
func (id PersistentID) String() string
type Playlist ¶
type Playlist struct { *StandardObject Parsed *PlaylistInner RecordCount int TrackCount int SortOrderFieldType SortField DateAdded time.Time DateModified time.Time PersistentID PersistentID ParentPersistentID PersistentID Folder bool GeniusTrackID int DistinguishedKind PlaylistKind `json:",string"` Master bool Audiobooks bool Movies bool Music bool Podcasts bool PurchasedMusic bool TVShows bool }
hpim
type PlaylistInner ¶
type PlaylistInner struct { Type ObjectSignature // 0 Size uint32 // 4 Unknown1 uint32 `json:",omitempty"` // 8 RecordCount uint32 // 12 TrackCount uint32 // 16 Unknown2 uint32 `json:",omitempty"` // 20 SortOrderFieldType SortField // 24 Unknown3 uint16 `json:",omitempty"` // 26 DateAdded Time // 28 Unknown4 [36]uint32 `json:",omitempty"` // 32 Unknown5 [65]uint32 `json:",omitempty"` // 176 Unknown6 uint16 `json:",omitempty"` // 436 Unknown7 uint16 `json:",omitempty"` // 438 PersistentID PersistentID // 440 Unknown8 [18]uint32 `json:",omitempty"` // 448 Unknown9 uint16 `json:",omitempty"` // 520 Folder uint16 // 522 Unknown10 uint32 `json:",omitempty"` // 524 ParentPersistentID PersistentID // 528 Unknown11 [7]uint32 `json:",omitempty"` // 536 PersistentID2 PersistentID // 564 Unknown12 [14]uint32 `json:",omitempty"` // 572 DateModified Time // 628 }
type PlaylistItem ¶
type PlaylistItem struct { *StandardObject Parsed *PlaylistItemInner Sequence int TrackID int Position int }
hptm
func (*PlaylistItem) Read ¶
func (o *PlaylistItem) Read() error
type PlaylistItemInner ¶
type PlaylistKind ¶
type PlaylistKind uint32
func (PlaylistKind) String ¶
func (pk PlaylistKind) String() string
type PlaylistList ¶
type PlaylistList struct { *StandardObject Parsed *PlaylistListInner RecordCount int }
hplm
func (*PlaylistList) Read ¶
func (o *PlaylistList) Read() error
type PlaylistListInner ¶
type PlaylistListInner struct { Type ObjectSignature Size uint32 RecordCount uint32 }
type QueryItemInner ¶
type QueryItemInner struct { Type ObjectSignature Size uint32 }
type QueryListInner ¶
type QueryListInner struct { Type ObjectSignature Size uint32 }
type ReadableObject ¶
type StandardObject ¶
type StandardObject struct { Type string Offset int Preface interface{} Size int ByteOrder binary.ByteOrder Data []byte }
func NewStandardObject ¶
func (*StandardObject) Buffer ¶
func (o *StandardObject) Buffer() *bytes.Buffer
func (*StandardObject) CreateSubObject ¶
func (o *StandardObject) CreateSubObject() ReadableObject
func (*StandardObject) GetData ¶
func (o *StandardObject) GetData() []byte
func (*StandardObject) GetOffset ¶
func (o *StandardObject) GetOffset() int
func (*StandardObject) GetSize ¶
func (o *StandardObject) GetSize() int
func (*StandardObject) GetType ¶
func (o *StandardObject) GetType() string
func (*StandardObject) Parse ¶
func (o *StandardObject) Parse(x interface{}) error
type Track ¶
type Track struct { *StandardObject Parsed *TrackInner RecordCount int TrackID int BlockType int FileType string DateModified time.Time FileSize int TotalTime int TrackNumber int TrackCount int Year int BitRate int SampleRate int VolumeAdjustment int StartTime int StopTime int PlayCount int Compilation bool PlayDate time.Time DiscNumber int DiscCount int Rating int BPM int DateAdded time.Time Disabled bool PersistentID PersistentID PurchaseDate time.Time ReleaseDate time.Time AlbumSequence int BackupDate time.Time SampleCount int SkipCount int SkipDate time.Time }
htim
type TrackInner ¶
type TrackInner struct { Type ObjectSignature Size uint32 SubBytes uint32 RecordCount uint32 TrackID uint32 BlockType uint32 Unknown1 uint32 FileType [4]byte DateModified Time FileSize uint32 TotalTime uint32 TrackNumber uint32 TrackCount uint32 Unknown2 uint16 Year uint16 Unknown3 uint16 BitRate uint16 SampleRate uint16 Unknown4 uint16 VolumeAdjustment int32 StartTime uint32 StopTime uint32 PlayCount uint32 Unknown5 uint16 Compilation uint16 Unknown6 [12]byte Unknown7 uint32 PlayDate Time DiscNumber uint16 DiscCount uint16 Rating uint8 BPM uint8 Unknown8 [10]byte DateAdded Time Disabled uint32 PersistentID PersistentID Unknown9 uint32 FileType2 [4]byte Unknown10 [3]uint32 PurchaseDate Time ReleaseDate Time // 39 Unknown11 [13]uint32 Protected uint32 AlbumSequence uint32 BackupDate Time Unknown12 [5]uint32 SampleCount uint32 Unknown13 [7]uint32 SkipCount uint32 SkipDate Time }
type TrackList ¶
type TrackList struct { *StandardObject Parsed *TrackListInner RecordCount int }
htlm
type TrackListInner ¶
type TrackListInner struct { Type ObjectSignature Size uint32 RecordCount uint32 }
type UnhandledInner ¶
type UnhandledInner struct { Type ObjectSignature Size uint32 }
Click to show internal directories.
Click to hide internal directories.