diff --git a/approot/templates.xml b/approot/templates.xml index 8f879ad4..4b7a4e69 100644 --- a/approot/templates.xml +++ b/approot/templates.xml @@ -529,11 +529,20 @@ - ${audio}${prev}${play-pause}${next} -
+ ${audio} + ${prev}${play-pause}${next} + - ${artist}${track}${release}${curtime}${seekbar}${duration}${volume}${shuffle}${repeat}${playlist} +
+ ${track} ${artist}
+ ${seekbar} +
+ ${curtime}${duration} +
+ ${volume} +
+ ${shuffle}${repeat}${playlist} diff --git a/docroot/css/lms.css b/docroot/css/lms.css index 75168549..c6ba8d11 100644 --- a/docroot/css/lms.css +++ b/docroot/css/lms.css @@ -86,6 +86,26 @@ color: #428bca; } +.mediaplayer-info-container { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + width: 100%; + margin: 8px; +} + +.mediaplayer-volume-container { + width: 24px; + height: 64px; + margin: 8px; +} + +.mediaplayer-volume { + height: 64px; + -webkit-appearance: slider-vertical; + writing-mode: bt-lr; +} + .mobile-search-title { font-weight: bold; height: 32px; diff --git a/src/ui/audio/AudioPlayer.cpp b/src/ui/audio/AudioPlayer.cpp index ae70f5e4..4fc43104 100644 --- a/src/ui/audio/AudioPlayer.cpp +++ b/src/ui/audio/AudioPlayer.cpp @@ -45,9 +45,8 @@ AudioPlayer::loadTrack(Database::Track::id_type trackId) return false; } - _trackName->setText(Wt::WString::fromUTF8(track->getName())); - _artistName->setText( Wt::WString::fromUTF8(track->getArtist()->getName())); - _releaseName->setText( Wt::WString::fromUTF8(track->getRelease()->getName())); + bindString("track", Wt::WString::fromUTF8(track->getName())); + bindString("artist", Wt::WString::fromUTF8(track->getArtist()->getName())); _cover->setImageLink(SessionCoverResource()->getTrackUrl(trackId, 64)); _trackDuration->setText( boost::posix_time::to_simple_string( track->getDuration() )); @@ -111,16 +110,12 @@ AudioPlayer::AudioPlayer(Wt::WContainerWidget *parent) InputRange *seekbar = new InputRange(); bindWidget("seekbar", seekbar); - _trackName = new Wt::WText(); - bindWidget("track", _trackName); - - _artistName = new Wt::WText(); - bindWidget("artist", _artistName); - - _releaseName = new Wt::WText(); - bindWidget("release", _releaseName); + bindString("track", "Track"); + bindString("artist", "Artist"); InputRange *volumeSlider = new InputRange(); + volumeSlider->addStyleClass("mediaplayer-volume"); + volumeSlider->setAttributeValue("orient", "vertical"); // firefox bindWidget("volume", volumeSlider); Wt::WText *playlistBtn = new Wt::WText("", Wt::XHTMLText); @@ -162,7 +157,7 @@ AudioPlayer::AudioPlayer(Wt::WContainerWidget *parent) })); Wt::WText *prevBtn = new Wt::WText("", Wt::XHTMLText); - prevBtn->addStyleClass("mediaplayer-btn"); + prevBtn->addStyleClass("mediaplayer-btn hidden-xs"); bindWidget("prev", prevBtn); prevBtn->clicked().connect(std::bind([=] () { @@ -182,9 +177,11 @@ AudioPlayer::AudioPlayer(Wt::WContainerWidget *parent) bindWidget("play-pause", playPauseBtn); Wt::WText *trackCurrentTime = new Wt::WText("00:00"); + trackCurrentTime->addStyleClass("hidden-xs"); bindWidget("curtime", trackCurrentTime); _trackDuration = new Wt::WText("00:00"); + _trackDuration->addStyleClass("hidden-xs"); bindWidget("duration", _trackDuration); this->doJavaScript( diff --git a/src/ui/audio/AudioPlayer.hpp b/src/ui/audio/AudioPlayer.hpp index fdc81607..c2fd80c9 100644 --- a/src/ui/audio/AudioPlayer.hpp +++ b/src/ui/audio/AudioPlayer.hpp @@ -54,8 +54,6 @@ class AudioPlayer : public Wt::WTemplate Wt::WAudio* _audio; Wt::WText* _trackDuration; Wt::WText* _trackName; - Wt::WText* _artistName; - Wt::WText* _releaseName; Wt::WImage* _cover; };