From 51bae19191c9539c6fe139378b76a4b0694fe66b Mon Sep 17 00:00:00 2001 From: Deluan Date: Wed, 2 Mar 2016 22:43:31 -0500 Subject: [PATCH] Added Genre and Track Number to getMusicDirectory --- api/get_music_directory.go | 1 + domain/album.go | 1 + domain/media_file.go | 2 ++ scanner/itunes_scanner.go | 2 ++ scanner/scanner.go | 3 +++ scanner/track.go | 2 ++ 6 files changed, 11 insertions(+) diff --git a/api/get_music_directory.go b/api/get_music_directory.go index 60ee855ff..e32807fd0 100644 --- a/api/get_music_directory.go +++ b/api/get_music_directory.go @@ -46,6 +46,7 @@ func (c *GetMusicDirectoryController) Get() { dir.Child[i].Album = al.Name dir.Child[i].Year = al.Year dir.Child[i].Artist = a.Name + dir.Child[i].Genre = al.Genre } } else { beego.Info("Artist", id, "not found") diff --git a/domain/album.go b/domain/album.go index 7a424d4a2..dbf56152b 100644 --- a/domain/album.go +++ b/domain/album.go @@ -8,6 +8,7 @@ type Album struct { Year int Compilation bool Rating int + Genre string } type AlbumRepository interface { diff --git a/domain/media_file.go b/domain/media_file.go index 7de4e7076..e5aa34878 100644 --- a/domain/media_file.go +++ b/domain/media_file.go @@ -12,6 +12,8 @@ type MediaFile struct { Artist string AlbumArtist string AlbumId string `parent:"album"` + Track int + Genre string Compilation bool CreatedAt time.Time UpdatedAt time.Time diff --git a/scanner/itunes_scanner.go b/scanner/itunes_scanner.go index fafdb4d9e..b967a5919 100644 --- a/scanner/itunes_scanner.go +++ b/scanner/itunes_scanner.go @@ -22,8 +22,10 @@ func (s *ItunesScanner) LoadFolder(path string) []Track { mediaFiles[i].Title = unescape(t.Name) mediaFiles[i].Artist = unescape(t.Artist) mediaFiles[i].AlbumArtist = unescape(t.AlbumArtist) + mediaFiles[i].Genre = unescape(t.Genre) mediaFiles[i].Compilation = t.Compilation mediaFiles[i].Year = t.Year + mediaFiles[i].TrackNumber = t.TrackNumber path, _ = url.QueryUnescape(t.Location) mediaFiles[i].Path = strings.TrimPrefix(path, "file://") mediaFiles[i].CreatedAt = t.DateAdded diff --git a/scanner/scanner.go b/scanner/scanner.go index 622a91335..59b2b5208 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -74,12 +74,15 @@ func parseTrack(t *Track) (*domain.MediaFile, *domain.Album, *domain.Artist) { Path: t.Path, CreatedAt: t.CreatedAt, UpdatedAt: t.UpdatedAt, + Track: t.TrackNumber, + Genre: t.Genre, } album := &domain.Album{ Name: t.Album, Year: t.Year, Compilation: t.Compilation, + Genre: t.Genre, } artist := &domain.Artist{ diff --git a/scanner/track.go b/scanner/track.go index 9fd61161b..008689bfc 100644 --- a/scanner/track.go +++ b/scanner/track.go @@ -11,6 +11,8 @@ type Track struct { Album string Artist string AlbumArtist string + Genre string + TrackNumber int Year int Compilation bool CreatedAt time.Time