More track info
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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++
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user