More track info

This commit is contained in:
Deluan
2016-03-02 23:51:26 -05:00
parent 1f31de589a
commit eabee8b502
5 changed files with 30 additions and 3 deletions
+6 -2
View File
@@ -11,8 +11,8 @@ import (
type GetMusicDirectoryController struct {
BaseAPIController
artistRepo domain.ArtistRepository
albumRepo domain.AlbumRepository
mFileRepo domain.MediaFileRepository
albumRepo domain.AlbumRepository
mFileRepo domain.MediaFileRepository
}
func (c *GetMusicDirectoryController) Prepare() {
@@ -58,6 +58,10 @@ func (c *GetMusicDirectoryController) Get() {
dir.Child[i].Artist = mf.AlbumArtist
dir.Child[i].Genre = mf.Genre
dir.Child[i].Track = mf.Track
dir.Child[i].Duration = mf.Duration
dir.Child[i].Size = mf.Size
dir.Child[i].Suffix = mf.Suffix
dir.Child[i].BitRate = mf.BitRate
}
} else {
beego.Info("Id", id, "not found")
+4
View File
@@ -14,6 +14,10 @@ type MediaFile struct {
AlbumId string `parent:"album"`
Track int
Year int
Size string
Suffix string
Duration int
BitRate int
Genre string
Compilation bool
CreatedAt time.Time
+12 -1
View File
@@ -5,6 +5,8 @@ import (
"net/url"
"os"
"strings"
"path/filepath"
"strconv"
)
type ItunesScanner struct{}
@@ -26,8 +28,17 @@ func (s *ItunesScanner) LoadFolder(path string) []Track {
mediaFiles[i].Compilation = t.Compilation
mediaFiles[i].Year = t.Year
mediaFiles[i].TrackNumber = t.TrackNumber
if t.Size > 0 {
mediaFiles[i].Size = strconv.Itoa(t.Size)
}
if t.TotalTime > 0 {
mediaFiles[i].Duration = t.TotalTime / 1000
}
mediaFiles[i].BitRate = t.BitRate
path, _ = url.QueryUnescape(t.Location)
mediaFiles[i].Path = strings.TrimPrefix(path, "file://")
path = strings.TrimPrefix(path, "file://")
mediaFiles[i].Path = path
mediaFiles[i].Suffix = strings.TrimPrefix(filepath.Ext(path), ".")
mediaFiles[i].CreatedAt = t.DateAdded
mediaFiles[i].UpdatedAt = t.DateModified
i++
+4
View File
@@ -77,6 +77,10 @@ func parseTrack(t *Track) (*domain.MediaFile, *domain.Album, *domain.Artist) {
Track: t.TrackNumber,
Genre: t.Genre,
Year: t.Year,
Size: t.Size,
Suffix: t.Suffix,
Duration: t.Duration,
BitRate: t.BitRate,
}
album := &domain.Album{
+4
View File
@@ -14,6 +14,10 @@ type Track struct {
Genre string
TrackNumber int
Year int
Size string
Suffix string
Duration int
BitRate int
Compilation bool
CreatedAt time.Time
UpdatedAt time.Time