clean up scanner func order

This commit is contained in:
sentriz
2019-06-11 15:02:46 +01:00
parent da21b5cae0
commit 827c463255
2 changed files with 26 additions and 27 deletions

View File

@@ -283,8 +283,7 @@ func (s *Scanner) handleTrack(it *item) error {
// set album if this is the first track in the folder
folder := s.curFolder()
if !folder.ReceivedPaths || folder.ReceivedTags {
// the folder hasn't been modified
// or already has it's tags
// the folder hasn't been modified or already has it's tags
return nil
}
folder.TagTitle = tags.Album()

View File

@@ -8,6 +8,31 @@ import (
"github.com/pkg/errors"
)
type tags struct {
map_ map[string]string
props *audiotags.AudioProperties
}
func readTags(path string) (*tags, error) {
map_, props, err := audiotags.Read(path)
if err != nil {
return nil, errors.Wrap(err, "audiotags module")
}
return &tags{
map_: map_,
props: props,
}, nil
}
func (t *tags) firstTag(keys ...string) string {
for _, key := range keys {
if val, ok := t.map_[key]; ok {
return val
}
}
return ""
}
func intSep(in, sep string) int {
if in == "" {
return 0
@@ -20,20 +45,6 @@ func intSep(in, sep string) int {
return out
}
type tags struct {
map_ map[string]string
props *audiotags.AudioProperties
}
func (t *tags) firstTag(keys ...string) string {
for _, key := range keys {
if val, ok := t.map_[key]; ok {
return val
}
}
return ""
}
func (t *tags) Title() string { return t.firstTag("title") }
func (t *tags) Artist() string { return t.firstTag("artist") }
func (t *tags) Album() string { return t.firstTag("album") }
@@ -43,14 +54,3 @@ func (t *tags) TrackNumber() int { return intSep(t.firstTag("tracknumber"), "
func (t *tags) DiscNumber() int { return intSep(t.firstTag("discnumber"), "/") } // eg. 1/2
func (t *tags) Length() int { return t.props.Length }
func (t *tags) Bitrate() int { return t.props.Bitrate }
func readTags(path string) (*tags, error) {
map_, props, err := audiotags.Read(path)
if err != nil {
return nil, errors.Wrap(err, "audiotags module")
}
return &tags{
map_: map_,
props: props,
}, nil
}