riff

package
v0.0.0-...-93023be Latest Latest
Warning

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

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

Documentation

Overview

Package riff implements metadata for AVI and WAV files as defined by XMP Specification Part 3.

Index

Constants

This section is empty.

Variables

View Source
var (
	NsRiff = xmp.NewNamespace("riffinfo", "http://ns.adobe.com/riff/info", NewModel)
)

Functions

func NewModel

func NewModel(name string) xmp.Model

Types

type AltString

type AltString xmp.AltString

func (AltString) MarshalXMP

func (x AltString) MarshalXMP(e *xmp.Encoder, node *xmp.Node, m xmp.Model) error

func (AltString) Typ

func (x AltString) Typ() xmp.ArrayType

func (*AltString) UnmarshalText

func (x *AltString) UnmarshalText(data []byte) error

func (*AltString) UnmarshalXMP

func (x *AltString) UnmarshalXMP(d *xmp.Decoder, node *xmp.Node, m xmp.Model) error

type RiffInfo

type RiffInfo struct {
	ArchiveLocation string        `riffinfo:"IARL" xmp:"riffinfo:archivalLocation"`
	Artist          string        `riffinfo:"IART" xmp:"xmpDM:artist"`
	CommissionedBy  StringArray   `riffinfo:"ICMS" xmp:"riffinfo:commissioned"` // list: semicolon+blank separated
	Comments        string        `riffinfo:"ICMT" xmp:"xmpDM:logComment"`
	Copyright       AltString     `riffinfo:"ICOP" xmp:"dc:rights"`      // list: semicolon+blank separated
	CreateDate      xmp.Date      `riffinfo:"ICRD" xmp:"xmp:CreateDate"` // YYYY-MM-DD
	Engineeer       string        `riffinfo:"IENG" xmp:"xmpDM:engineer"` // list: semicolon+blank separated
	Genre           string        `riffinfo:"IGNR" xmp:"xmpDM:genre"`
	Keywords        StringArray   `riffinfo:"IKEY" xmp:"dc:subject"` // list: semicolon+blank separated
	SourceMedium    string        `riffinfo:"IMED" xmp:"dc:source"`
	Title           AltString     `riffinfo:"INAM" xmp:"riffinfo:name"`
	Product         string        `riffinfo:"IPRD" xmp:"riffinfo:product"`
	Description     AltString     `riffinfo:"ISBJ" xmp:"dc:description"`
	Software        xmp.AgentName `riffinfo:"ISFT" xmp:"xmp:CreatorTool"`
	SourceCredit    string        `riffinfo:"ISRC" xmp:"riffinfo:source"`
	SourceType      StringArray   `riffinfo:"ISRF" xmp:"dc:type"`
	Technician      string        `riffinfo:"ITCH" xmp:"riffinfo:technician"`

	// other tags found in the wild
	Rated               string `riffinfo:"AGES" xmp:"riffinfo:Rated"`
	Comment             string `riffinfo:"CMNT" xmp:"riffinfo:Comment"`
	EncodedBy           string `riffinfo:"CODE" xmp:"riffinfo:EncodedBy"`
	Comments2           string `riffinfo:"COMM" xmp:"riffinfo:Comments"`
	Directory           string `riffinfo:"DIRC" xmp:"riffinfo:Directory"`
	SoundSchemeTitle    string `riffinfo:"DISP" xmp:"riffinfo:SoundSchemeTitle"`
	DateTimeOriginal    string `riffinfo:"DTIM" xmp:"riffinfo:DateTimeOriginal"`
	Genre2              string `riffinfo:"GENR" xmp:"riffinfo:Genre"`
	ArchivalLocation    string `riffinfo:"IARL" xmp:"riffinfo:ArchivalLocation"`
	FirstLanguage       string `riffinfo:"IAS1" xmp:"riffinfo:FirstLanguage"`
	SecondLanguage      string `riffinfo:"IAS2" xmp:"riffinfo:SecondLanguage"`
	ThirdLanguage       string `riffinfo:"IAS3" xmp:"riffinfo:ThirdLanguage"`
	FourthLanguage      string `riffinfo:"IAS4" xmp:"riffinfo:FourthLanguage"`
	FifthLanguage       string `riffinfo:"IAS5" xmp:"riffinfo:FifthLanguage"`
	SixthLanguage       string `riffinfo:"IAS6" xmp:"riffinfo:SixthLanguage"`
	SeventhLanguage     string `riffinfo:"IAS7" xmp:"riffinfo:SeventhLanguage"`
	EighthLanguage      string `riffinfo:"IAS8" xmp:"riffinfo:EighthLanguage"`
	NinthLanguage       string `riffinfo:"IAS9" xmp:"riffinfo:NinthLanguage"`
	BaseURL             string `riffinfo:"IBSU" xmp:"riffinfo:BaseURL"`
	DefaultAudioStream  string `riffinfo:"ICAS" xmp:"riffinfo:DefaultAudioStream"`
	CostumeDesigner     string `riffinfo:"ICDS" xmp:"riffinfo:CostumeDesigner"`
	Commissioned        string `riffinfo:"ICMS" xmp:"riffinfo:Commissioned"`
	Cinematographer     string `riffinfo:"ICNM" xmp:"riffinfo:Cinematographer"`
	Country             string `riffinfo:"ICNT" xmp:"riffinfo:Country"`
	Cropped             string `riffinfo:"ICRP" xmp:"riffinfo:Cropped"`
	Dimensions          string `riffinfo:"IDIM" xmp:"riffinfo:Dimensions"`
	DateTimeOriginal2   string `riffinfo:"IDIT" xmp:"-"`
	DotsPerInch         string `riffinfo:"IDPI" xmp:"riffinfo:DotsPerInch"`
	DistributedBy       string `riffinfo:"IDST" xmp:"riffinfo:DistributedBy"`
	EditedBy            string `riffinfo:"IEDT" xmp:"riffinfo:EditedBy"`
	EncodedBy2          string `riffinfo:"IENC" xmp:"-"`
	Lightness           string `riffinfo:"ILGT" xmp:"riffinfo:Lightness"`
	LogoURL             string `riffinfo:"ILGU" xmp:"riffinfo:LogoURL"`
	LogoIconURL         string `riffinfo:"ILIU" xmp:"riffinfo:LogoIconURL"`
	Language            string `riffinfo:"ILNG" xmp:"riffinfo:Language"`
	MoreInfoBannerImage string `riffinfo:"IMBI" xmp:"riffinfo:MoreInfoBannerImage"`
	MoreInfoBannerURL   string `riffinfo:"IMBU" xmp:"riffinfo:MoreInfoBannerURL"`
	MoreInfoText        string `riffinfo:"IMIT" xmp:"riffinfo:MoreInfoText"`
	MoreInfoURL         string `riffinfo:"IMIU" xmp:"riffinfo:MoreInfoURL"`
	MusicBy             string `riffinfo:"IMUS" xmp:"riffinfo:MusicBy"`
	ProductionDesigner  string `riffinfo:"IPDS" xmp:"riffinfo:ProductionDesigner"`
	NumColors           string `riffinfo:"IPLT" xmp:"riffinfo:NumColors"`
	ProducedBy          string `riffinfo:"IPRO" xmp:"riffinfo:ProducedBy"`
	RippedBy            string `riffinfo:"IRIP" xmp:"riffinfo:RippedBy"`
	Rating              string `riffinfo:"IRTD" xmp:"riffinfo:Rating"`
	SecondaryGenre      string `riffinfo:"ISGN" xmp:"riffinfo:SecondaryGenre"`
	Sharpness           string `riffinfo:"ISHP" xmp:"riffinfo:Sharpness"`
	TimeCode            string `riffinfo:"ISMP" xmp:"riffinfo:TimeCode"`
	ProductionStudio    string `riffinfo:"ISTD" xmp:"riffinfo:ProductionStudio"`
	Starring            string `riffinfo:"ISTR" xmp:"riffinfo:Starring"`
	WatermarkURL        string `riffinfo:"IWMU" xmp:"riffinfo:WatermarkURL"`
	WrittenBy           string `riffinfo:"IWRI" xmp:"riffinfo:WrittenBy"`
	Language2           string `riffinfo:"LANG" xmp:"riffinfo:Language2"`
	Location            string `riffinfo:"LOCA" xmp:"riffinfo:Location"`
	Part                string `riffinfo:"PRT1" xmp:"riffinfo:Part"`
	NumberOfParts       string `riffinfo:"PRT2" xmp:"riffinfo:NumberOfParts"`
	Rate                string `riffinfo:"RATE" xmp:"riffinfo:Rate"`
	Starring2           string `riffinfo:"STAR" xmp:"-"`
	Statistics          string `riffinfo:"STAT" xmp:"riffinfo:Statistics"`
	TapeName            string `riffinfo:"TAPE" xmp:"riffinfo:TapeName"`
	EndTimecode         string `riffinfo:"TCDO" xmp:"riffinfo:EndTimecode"`
	StartTimecode       string `riffinfo:"TCOD" xmp:"riffinfo:StartTimecode"`
	Title2              string `riffinfo:"TITL" xmp:"riffinfo:Title"`
	Length              string `riffinfo:"TLEN" xmp:"riffinfo:Length"`
	Organization        string `riffinfo:"TORG" xmp:"riffinfo:Organization"`
	TrackNumber         string `riffinfo:"TRCK" xmp:"riffinfo:TrackNumber"`
	URL                 string `riffinfo:"TURL" xmp:"riffinfo:URL"`
	Version             string `riffinfo:"TVER" xmp:"riffinfo:Version"`
	VegasVersionMajor   string `riffinfo:"VMAJ" xmp:"riffinfo:VegasVersionMajor"`
	VegasVersionMinor   string `riffinfo:"VMIN" xmp:"riffinfo:VegasVersionMinor"`
	Year                string `riffinfo:"YEAR" xmp:"riffinfo:Year"`
}

func FindModel

func FindModel(d *xmp.Document) *RiffInfo

func MakeModel

func MakeModel(d *xmp.Document) (*RiffInfo, error)

func (*RiffInfo) Can

func (m *RiffInfo) Can(nsName string) bool

func (*RiffInfo) CanTag

func (x *RiffInfo) CanTag(tag string) bool

func (*RiffInfo) GetTag

func (x *RiffInfo) GetTag(tag string) (string, error)

func (*RiffInfo) ListTags

func (x *RiffInfo) ListTags() (xmp.TagList, error)

Lists all non-empty tags.

func (*RiffInfo) Namespaces

func (m *RiffInfo) Namespaces() xmp.NamespaceList

func (*RiffInfo) SetTag

func (x *RiffInfo) SetTag(tag, value string) error

func (*RiffInfo) SyncFromXMP

func (x *RiffInfo) SyncFromXMP(d *xmp.Document) error

func (*RiffInfo) SyncModel

func (x *RiffInfo) SyncModel(d *xmp.Document) error

func (*RiffInfo) SyncToXMP

func (x *RiffInfo) SyncToXMP(d *xmp.Document) error

type StringArray

type StringArray xmp.StringArray

func (StringArray) MarshalXMP

func (x StringArray) MarshalXMP(e *xmp.Encoder, node *xmp.Node, m xmp.Model) error

func (StringArray) Typ

func (a StringArray) Typ() xmp.ArrayType

func (*StringArray) UnmarshalText

func (x *StringArray) UnmarshalText(data []byte) error

func (*StringArray) UnmarshalXMP

func (x *StringArray) UnmarshalXMP(d *xmp.Decoder, node *xmp.Node, m xmp.Model) error

Jump to

Keyboard shortcuts

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