Parse TSO2 (seems that ffmpeg does not process this tag in some situations)
This commit is contained in:
@@ -29,10 +29,12 @@ func (m *Metadata) Title() string { return m.getTag("title", "sort
|
|||||||
func (m *Metadata) Album() string { return m.getTag("album", "sort_album") }
|
func (m *Metadata) Album() string { return m.getTag("album", "sort_album") }
|
||||||
func (m *Metadata) Artist() string { return m.getTag("artist", "sort_artist") }
|
func (m *Metadata) Artist() string { return m.getTag("artist", "sort_artist") }
|
||||||
func (m *Metadata) AlbumArtist() string { return m.getTag("album_artist", "albumartist") }
|
func (m *Metadata) AlbumArtist() string { return m.getTag("album_artist", "albumartist") }
|
||||||
func (m *Metadata) SortTitle() string { return m.getSortTag("title", "name") }
|
func (m *Metadata) SortTitle() string { return m.getSortTag("", "title", "name") }
|
||||||
func (m *Metadata) SortAlbum() string { return m.getSortTag("album") }
|
func (m *Metadata) SortAlbum() string { return m.getSortTag("", "album") }
|
||||||
func (m *Metadata) SortArtist() string { return m.getSortTag("artist") }
|
func (m *Metadata) SortArtist() string { return m.getSortTag("", "artist") }
|
||||||
func (m *Metadata) SortAlbumArtist() string { return m.getSortTag("albumartist", "album_artist") }
|
func (m *Metadata) SortAlbumArtist() string {
|
||||||
|
return m.getSortTag("tso2", "albumartist", "album_artist")
|
||||||
|
}
|
||||||
func (m *Metadata) Composer() string { return m.getTag("composer", "tcm", "sort_composer") }
|
func (m *Metadata) Composer() string { return m.getTag("composer", "tcm", "sort_composer") }
|
||||||
func (m *Metadata) Genre() string { return m.getTag("genre") }
|
func (m *Metadata) Genre() string { return m.getTag("genre") }
|
||||||
func (m *Metadata) Year() int { return m.parseYear("date") }
|
func (m *Metadata) Year() int { return m.parseYear("date") }
|
||||||
@@ -235,9 +237,9 @@ func (m *Metadata) getTag(tags ...string) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Metadata) getSortTag(tags ...string) string {
|
func (m *Metadata) getSortTag(originalTag string, tags ...string) string {
|
||||||
formats := []string{"sort%s", "sort_%s", "sort-%s", "%ssort", "%s_sort", "%s-sort"}
|
formats := []string{"sort%s", "sort_%s", "sort-%s", "%ssort", "%s_sort", "%s-sort"}
|
||||||
var all []string
|
all := []string{originalTag}
|
||||||
for _, tag := range tags {
|
for _, tag := range tags {
|
||||||
for _, format := range formats {
|
for _, format := range formats {
|
||||||
name := fmt.Sprintf(format, tag)
|
name := fmt.Sprintf(format, tag)
|
||||||
|
|||||||
Reference in New Issue
Block a user