Introduce Metadata and MetadataExtractor interfaces

This commit is contained in:
Deluan
2020-09-04 10:55:06 -04:00
committed by Deluan Quintão
parent 6a6d4c3f87
commit 0beec552b1
5 changed files with 96 additions and 51 deletions
+33
View File
@@ -0,0 +1,33 @@
package scanner
import "time"
type Metadata interface {
Title() string
Album() string
Artist() string
AlbumArtist() string
SortTitle() string
SortAlbum() string
SortArtist() string
SortAlbumArtist() string
Composer() string
Genre() string
Year() int
TrackNumber() (int, int)
DiscNumber() (int, int)
DiscSubtitle() string
HasPicture() bool
Comment() string
Compilation() bool
Duration() float32
BitRate() int
ModificationTime() time.Time
FilePath() string
Suffix() string
Size() int64
}
type MetadataExtractor interface {
Extract(files ...string) (map[string]Metadata, error)
}