From 1d89390e2c90ac9d23879c07349f4848b01d50d9 Mon Sep 17 00:00:00 2001 From: WTFKr0 Date: Fri, 1 Dec 2017 13:45:00 +0100 Subject: [PATCH 1/2] Init --- handlers.go | 20 ++++++++++++++++---- templates/play.html | 7 ++++--- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/handlers.go b/handlers.go index a835759..bc810ab 100644 --- a/handlers.go +++ b/handlers.go @@ -48,10 +48,11 @@ type response struct { // Search Query string - List *List - Lists []*List - Media *Media - Medias []*Media + List *List + Lists []*List + Media *Media + Medias []*Media + DefaultMediaID int ActiveMedias []*Media QueuedMedias []*Media @@ -470,6 +471,17 @@ func playList(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { var medias []*Media db.Model(&list).Related(&medias, "Medias") res.Medias = medias + res.DefaultMediaID = 0 + + if query := strings.TrimSpace(r.FormValue("m")); query != "" { + // Default media ID + for k, m := range res.Medias { + if m.ID == query { + res.DefaultMediaID = k + } + } + } + html(w, "play.html", res) } diff --git a/templates/play.html b/templates/play.html index 22947a1..53f5a66 100644 --- a/templates/play.html +++ b/templates/play.html @@ -243,10 +243,11 @@

// set initial item to first one. - $player.attr('src', playlist[0]); - $player.data('index', 0); + var id = {{$.DefaultMediaID}}; + $player.attr('src', playlist[id]); + $player.data('index', id); $('.player-item').removeClass('active'); - $('#player-item-0').addClass('active'); + $('#player-item-'+id).addClass('active'); // $player.focus(); // set volume From c8c1f834d8674fff5d97511f8c21f5215f595655 Mon Sep 17 00:00:00 2001 From: WTFKr0 Date: Fri, 1 Dec 2017 14:02:04 +0100 Subject: [PATCH 2/2] Add time --- handlers.go | 17 ++++++++++++----- templates/play.html | 6 ++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/handlers.go b/handlers.go index bc810ab..d0ab8ce 100644 --- a/handlers.go +++ b/handlers.go @@ -48,11 +48,12 @@ type response struct { // Search Query string - List *List - Lists []*List - Media *Media - Medias []*Media - DefaultMediaID int + List *List + Lists []*List + Media *Media + Medias []*Media + DefaultMediaID int + DefaultMediaTime int64 ActiveMedias []*Media QueuedMedias []*Media @@ -472,6 +473,7 @@ func playList(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { db.Model(&list).Related(&medias, "Medias") res.Medias = medias res.DefaultMediaID = 0 + res.DefaultMediaTime = 0 if query := strings.TrimSpace(r.FormValue("m")); query != "" { // Default media ID @@ -482,6 +484,11 @@ func playList(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { } } + if query := strings.TrimSpace(r.FormValue("t")); query != "" { + // Default time + res.DefaultMediaTime, _ = strconv.ParseInt(query, 10, 64) + } + html(w, "play.html", res) } diff --git a/templates/play.html b/templates/play.html index 53f5a66..fc376cf 100644 --- a/templates/play.html +++ b/templates/play.html @@ -250,8 +250,14 @@

$('#player-item-'+id).addClass('active'); // $player.focus(); + // Set cur time + $player[0].currentTime = {{$.DefaultMediaTime}}; + // set volume $player.prop('volume', {{$.Config.Volume}}); + + // Auto Play + console.log($player); });