ilst

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MediaTypeMovieOld MediaType = iota
	MediaTypeNormalMusic
	MediaTypeAudiobook
	MediaTypeWhackedBookmark = 5
	MediaTypeMusicVideo      = 6
	MediaTypeMovie           = 9
	MediaTypeTVShow          = 10
	MediaTypeBooklet         = 11
	MediaTypeRingtone        = 14
	MediaTypePodcast         = 21
	MediaTypeiTunesU         = 23
)

Variables

View Source
var (
	ErrInvalidLength = errors.New("invalid length")
)

Functions

func EncodedValues added in v0.2.0

func EncodedValues(ilst *ItemList) iter.Seq2[EncodedValue, error]

func Ids

func Ids() iter.Seq[string]

func IterateFieldWriters added in v0.2.0

func IterateFieldWriters(ilst *ItemList) iter.Seq2[string, writableValue]

func NewInternationalText added in v0.1.4

func NewInternationalText(text string) *internationalText

func Values added in v0.2.0

func Values(ilst *ItemList) iter.Seq2[string, any]

Types

type AppleStoreAccountType

type AppleStoreAccountType = int8
const (
	AppleStoreAccountTypeITunes AppleStoreAccountType = iota
	AppleStoreAccountTypeAOL
)

type BoolWithHeader0x15_0 added in v0.1.4

type BoolWithHeader0x15_0 struct {
	Value bool
}

func (BoolWithHeader0x15_0) Bytes added in v0.1.4

func (i BoolWithHeader0x15_0) Bytes() []byte

type DiskNumber

type DiskNumber struct {
	Number int16
	Total  int16
}

func (DiskNumber) Bytes

func (tn DiskNumber) Bytes() ([]byte, error)

type EncodedValue added in v0.2.0

type EncodedValue struct {
	Id    string
	Bytes []byte
}

type Genre

type Genre int8

func (Genre) Bytes

func (g Genre) Bytes() ([]byte, error)

type Int16WithHeader0x15_0 added in v0.1.4

type Int16WithHeader0x15_0 struct {
	Value int16
}

func (Int16WithHeader0x15_0) Bytes added in v0.1.4

func (i Int16WithHeader0x15_0) Bytes() []byte

type ItemList

type ItemList struct {
	// iTunesInfo	 `id:"----"` // QuickTime iTunesInfo Tags //? Unsupported
	// ParentShortTitle      *string                `id:"@PST"`
	// ParentProductID       *string                `id:"@ppi"`
	// ParentTitle           *string                `id:"@pti"`
	// ShortTitle            *string                `id:"@sti"`
	// UnknownAACR           *string                `id:"AACR"`
	// UnknownCDEK           *string                `id:"CDEK"`
	// UnknownCDET           *string                `id:"CDET"`
	// GUID                  *string                `id:"GUID"`
	// ProductVersion        *string                `id:"VERS"`
	AlbumArtist *internationalText `id:"aART"`
	// AppleStoreAccountType *AppleStoreAccountType `id:"akID"`
	// Album                 *string                `id:"albm"`
	// AppleStoreAccount     *string                `id:"apID"`
	ArtistID *Int16WithHeader0x15_0 `id:"atID"`
	// Author                *string                `id:"auth"`
	// Category              *string                `id:"catg"`
	// ComposerID            *string                `id:"cmID"`
	// AppleStoreCatalogID   *int32                 `id:"cnID"`
	// CoverArt              *string                `id:"covr"`
	Compilation *BoolWithHeader0x15_0 `id:"cpil"`
	Copyright   *internationalText    `id:"cprt"`
	Description *internationalText    `id:"desc"`
	DiskNumber  *DiskNumber           `id:"disk"`
	// Description           string `id:"dscp"` //? Unsupported
	// EpisodeGlobalUniqueID *string               `id:"egid"`
	// GenreID               *int32                `id:"geID"` // QuickTime GenreID Values
	Genre *Genre `id:"gnre"`
	// Grouping              *string               `id:"grup"`
	// GoogleHostHeader      *string               `id:"gshh"`
	// GooglePingMessage     *string               `id:"gspm"`
	// GooglePingURL         *string               `id:"gspu"`
	// GoogleSourceData      *string               `id:"gssd"`
	// GoogleStartTime       *string               `id:"gsst"`
	// GoogleTrackDuration   *string               `id:"gstd"`
	// HDVideo               *bool                 `id:"hdvd"`
	// ITunesU               *bool                 `id:"itnu"`
	// Keyword               *string               `id:"keyw"`
	// LongDescription       *string               `id:"ldes"`
	// Owner                 *string               `id:"ownr"`
	// Podcast               *bool                 `id:"pcst"`
	// Performer             *string               `id:"perf"`
	DisableInsertPlayGap *BoolWithHeader0x15_0 `id:"pgap"`
	// AlbumID	int32[2]	  `id:"plID"` //? Unsupported, because I can’t understand document.
	// ProductID    *string `id:"prID"`
	// PurchaseDate *string `id:"purd"`
	// PodcastURL   *string `id:"purl"`
	// RatingPercent     *string    `id:"rate"`  //? Unsupported
	ReleaseDate *internationalText `id:"rldt"`
	// Rating            *Rating                `id:"rate"`
	// StoreDescription  *string                `id:"sdes"`
	// AppleStoreCountry *int32                 `id:"sfID"` // QuickTime AppleStoreCountry Values
	// ShowMovement      *bool                  `id:"shwm"`
	// PreviewImage      *string                `id:"snal"`
	SortAlbumArtist *internationalText `id:"soaa"`
	SortAlbum       *internationalText `id:"soal"`
	SortArtist      *internationalText `id:"soar"`
	SortComposer    *internationalText `id:"soco"`
	SortName        *internationalText `id:"sonm"`
	SortShow        *internationalText `id:"sosn"`
	// MediaType         *MediaType             `id:"stik"`
	// Title             *string                `id:"titl"`
	BeatsPerMinute *Int16WithHeader0x15_0 `id:"tmpo"`
	// ThumbnailImage    *string                `id:"tnal"`
	TrackNumber *TrackNumber `id:"trkn"`
	// TVEpisodeID       *string            `id:"tven"`
	// TVEpisode         *int32             `id:"tves"`
	// TVNetworkName     *string            `id:"tvnn"`
	// TVShow            *string            `id:"tvsh"`
	// TVSeason          *int32             `id:"tvsn"`
	// ISRC              *string            `id:"xid "`
	// Year              *string            `id:"yrrc"`
	Artist            *internationalText `id:"(c)ART"`
	AlbumC            *internationalText `id:"(c)alb"`
	ArtDirector       *internationalText `id:"(c)ard"`
	Arranger          *internationalText `id:"(c)arg"`
	AuthorC           *internationalText `id:"(c)aut"`
	Comment           *internationalText `id:"(c)cmt"`
	ComposerC         *internationalText `id:"(c)com"`
	Conductor         *internationalText `id:"(c)con"`
	CopyrightC        *internationalText `id:"(c)cpy"`
	ContentCreateDate *internationalText `id:"(c)day"`
	DescriptionC      *internationalText `id:"(c)des"`
	Director          *internationalText `id:"(c)dir"`
	EncodedBy         *internationalText `id:"(c)enc"`
	GenreC            *internationalText `id:"(c)gen"`
	GroupingC         *internationalText `id:"(c)grp"`
	Lyrics            *internationalText `id:"(c)lyr"`
	// MovementCount     *int16             `id:"(c)mvc"`
	// MovementNumber    *int16             `id:"(c)mvi"`
	MovementName      *internationalText `id:"(c)mvn"`
	TitleC            *internationalText `id:"(c)nam"`
	Narrator          *internationalText `id:"(c)nrt"`
	OriginalArtist    *internationalText `id:"(c)ope"`
	Producer          *internationalText `id:"(c)prd"`
	Publisher         *internationalText `id:"(c)pub"`
	SoundEngineer     *internationalText `id:"(c)sne"`
	Soloist           *internationalText `id:"(c)sol"`
	Subtitle          *internationalText `id:"(c)st3"`
	Encoder           *internationalText `id:"(c)too"`
	Track             *internationalText `id:"(c)trk"`
	Work              *internationalText `id:"(c)wrk"`
	ComposerCWRT      *internationalText `id:"(c)wrt"`
	ExecutiveProducer *internationalText `id:"(c)xpd"`
	GPSCoordinates    *internationalText `id:"(c)xyz"`
}

https://exiftool.org/TagNames/QuickTime.html#ItemList https://developer.apple.com/documentation/quicktime-file-format/user_data_atoms#Media-characteristic-tags Commented out fields are not supported

func (*ItemList) SetDecoded added in v0.2.0

func (il *ItemList) SetDecoded(id string, value []byte) error

type MediaType

type MediaType = int8

type Rating

type Rating = int8
const (
	RatingNone Rating = iota
	RatingExplicit
	RatingClean
	RatingExplicitOld = 4
)

type TrackNumber

type TrackNumber struct {
	Number int16
	Total  int16
}

func (TrackNumber) Bytes

func (tn TrackNumber) Bytes() ([]byte, error)

Jump to

Keyboard shortcuts

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