mirror of
https://github.com/gabehf/music-importer.git
synced 2026-03-07 13:38:14 -08:00
add lyric fetching
This commit is contained in:
parent
6480f93bb5
commit
66e52469db
2 changed files with 199 additions and 0 deletions
33
main.go
33
main.go
|
|
@ -186,6 +186,11 @@ func RunImporter() {
|
|||
continue
|
||||
}
|
||||
|
||||
fmt.Println("→ Fetching synced lyrics from LRCLIB:")
|
||||
if err := DownloadAlbumLyrics(albumPath); err != nil {
|
||||
fmt.Println("Failed to download synced lyrics.")
|
||||
}
|
||||
|
||||
// Apply album-wide ReplayGain
|
||||
fmt.Println("→ Applying ReplayGain to album:", albumPath)
|
||||
if err := applyReplayGain(albumPath); err != nil {
|
||||
|
|
@ -207,6 +212,14 @@ func RunImporter() {
|
|||
}
|
||||
}
|
||||
|
||||
lyrics, _ := getLyricFiles(albumPath)
|
||||
|
||||
for _, file := range lyrics {
|
||||
if err := moveToLibrary(libraryDir, md, file); err != nil {
|
||||
fmt.Println("Failed to move lyrics:", file, err)
|
||||
}
|
||||
}
|
||||
|
||||
// Move album cover image
|
||||
if coverImg, err := media.FindCoverImage(albumPath); err == nil {
|
||||
if err := moveToLibrary(libraryDir, md, coverImg); err != nil {
|
||||
|
|
@ -241,6 +254,26 @@ func getAudioFiles(dir string) ([]string, error) {
|
|||
return tracks, nil
|
||||
}
|
||||
|
||||
func getLyricFiles(dir string) ([]string, error) {
|
||||
entries, err := os.ReadDir(dir)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var lyrics []string
|
||||
for _, e := range entries {
|
||||
if e.IsDir() {
|
||||
continue
|
||||
}
|
||||
ext := strings.ToLower(filepath.Ext(e.Name()))
|
||||
if ext == ".lrc" {
|
||||
lyrics = append(lyrics, filepath.Join(dir, e.Name()))
|
||||
}
|
||||
}
|
||||
|
||||
return lyrics, nil
|
||||
}
|
||||
|
||||
func getAlbumMetadata(albumPath, trackPath string) (*MusicMetadata, error) {
|
||||
fmt.Println("→ Tagging track with beets:", trackPath)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue