Documentation
¶
Index ¶
- func ParseCsvToTracks(csv [][]string) (Tracks, ArtistAlbumMap)
- func ParseMp3Glob(mp3Path string) (error, Tracks, ArtistAlbumMap)
- type AlbumMap
- type AlbumSongsMap
- type ArtistAlbumMap
- func (trackMap ArtistAlbumMap) Add(track *Track)
- func (tMap ArtistAlbumMap) Analysis() string
- func (m1 ArtistAlbumMap) Merge(m2 ArtistAlbumMap) ArtistAlbumMap
- func (tMap ArtistAlbumMap) Save(src, dest string) error
- func (tMap ArtistAlbumMap) SaveChunk(src, dest string) error
- func (tMap ArtistAlbumMap) ToAlbumSongsMap() AlbumSongsMap
- type CsvMapRow
- type CsvRows
- type Job
- type JobResult
- type OrigFilenameMap
- type SaveJob
- type SaveJobResult
- type SaveOpts
- type Songs
- type Track
- type TrackRegExpOpts
- type TrackSearch
- type Tracker
- type Tracks
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseCsvToTracks ¶
func ParseCsvToTracks(csv [][]string) (Tracks, ArtistAlbumMap)
note Empty String for Album or Artist is Unknown
func ParseMp3Glob ¶
func ParseMp3Glob(mp3Path string) (error, Tracks, ArtistAlbumMap)
Types ¶
type AlbumSongsMap ¶
type ArtistAlbumMap ¶
"Tool": {
"Fear Innoculumn": [
"Tempest.mp3"
]
}
func (ArtistAlbumMap) Add ¶
func (trackMap ArtistAlbumMap) Add(track *Track)
warn about empty Artists??
func (ArtistAlbumMap) Analysis ¶
func (tMap ArtistAlbumMap) Analysis() string
func (ArtistAlbumMap) Merge ¶
func (m1 ArtistAlbumMap) Merge(m2 ArtistAlbumMap) ArtistAlbumMap
Appears to be broken, need to find a reliable merge library, generics would be amazing for deepMerge
func (ArtistAlbumMap) Save ¶
func (tMap ArtistAlbumMap) Save(src, dest string) error
Save All Tracks via ArtistAlbumMap structure using goroutines and works Async Save All
func (ArtistAlbumMap) SaveChunk ¶
func (tMap ArtistAlbumMap) SaveChunk(src, dest string) error
func (ArtistAlbumMap) ToAlbumSongsMap ¶
func (tMap ArtistAlbumMap) ToAlbumSongsMap() AlbumSongsMap
type JobResult ¶
type JobResult struct {
Err error
Tracks
ArtistAlbumMap
}
type OrigFilenameMap ¶
type SaveJob ¶
type SaveJob struct {
MapChunk ArtistAlbumMap
}
type SaveJobResult ¶
func (SaveJobResult) Error ¶
func (j SaveJobResult) Error() error
type Track ¶
type Track struct {
SupportArtists []string
OrigFilename string
DurationSec string
// Begin id3 Metadata
Format id3.Format
FileType id3.FileType
Title string
Album string
Artist string
AlbumArtist string
Composer string
Year int
Genre string
Picture *id3.Picture
Lyrics string
Comment string
Raw map[string]interface{}
}
func Id3MetadataToTrack ¶
func Id3V2TagToTrack ¶
func ParseId3ToTrack ¶
Main entry to try out different Id3 libs
Also tried:
"github.com/bogem/id3v2/v2" kinda works "github.com/xonyagar/id3" v23 failures not much info but bad frames
func (Track) GetArtistKey ¶
type TrackRegExpOpts ¶
type TrackSearch ¶
type TrackSearch struct {
Basename string
Mp3FileName string
MetaReg *TrackRegExpOpts
OrigFilename string
}
func InitTrackSearch ¶
func InitTrackSearch(origFilename, filePath string) *TrackSearch
Click to show internal directories.
Click to hide internal directories.