From 8b97a1c8cbab0affb1639170844d76727734f6c3 Mon Sep 17 00:00:00 2001 From: deurstann <tristan.derouet@gmail.com> Date: Fri, 5 Feb 2021 14:14:46 +0100 Subject: [PATCH] Current kara background --- common/lkt.js | 14 ++++++-------- instance/main.js | 23 +++++++++++++++++++---- instance/views/karaQueueListItem.ejs | 2 +- main.js | 10 +++++----- 4 files changed, 31 insertions(+), 18 deletions(-) diff --git a/common/lkt.js b/common/lkt.js index f77a9bd..2261ea0 100644 --- a/common/lkt.js +++ b/common/lkt.js @@ -170,9 +170,8 @@ class LktClient { setInterval(()=>client.m_socket.write(`status\n`),100); client.m_socket.on('data', data => { dataObj = __mpdToObject(data); - //logger.info('lkt', `elapsed:${dataObj.elapsed}, total:${dataObj.duration}`); - if(dataObj.elapsed && dataObj.duration && dataObj.state) { - LktClient.setSongTimeData(parseInt(dataObj.elapsed,10), parseInt(dataObj.duration,10), dataObj.state); + if(dataObj.elapsed && dataObj.duration && dataObj.state && dataObj.song) { + LktClient.setSongTimeData(parseInt(dataObj.elapsed,10), parseInt(dataObj.duration,10), dataObj.state, parseInt(dataObj.song,10)); } }); @@ -202,11 +201,10 @@ class LktClient { LktClient.setPlayState(status.state); } static commandPlayPos(position) { - this.setSongTimeData(0,this.timeData.total,this.timeData.state); + this.setSongTimeData(0,this.timeData.total,this.timeData.state, this.timeData.state); return LktClient.__execSimple(`play ${position}`); } static commandStop() { - //return LktClient.idleActualisation(); return LktClient.__execSimple('stop'); } static commandPrev() { @@ -252,14 +250,14 @@ class LktClient { return this.queue_updated; } - static timeData = {elapsed:0, total:100, state:'stop'}; + static timeData = {elapsed:0, total:100, state:'stop', song:0}; static setPlayState(state) { this.timeData.state = state; } - static setSongTimeData(elapsed, total, state) { - this.timeData = {elapsed:elapsed, total:total, state:state}; + static setSongTimeData(elapsed, total, state, song) { + this.timeData = {elapsed:elapsed, total:total, state:state, song:song}; } static getSongTimeData() { return this.timeData; diff --git a/instance/main.js b/instance/main.js index ce844f6..b04bc42 100644 --- a/instance/main.js +++ b/instance/main.js @@ -175,9 +175,22 @@ ipcRenderer.on('reload-queue-responce', (event, arg) => { ); }); +var currentSong=0; ipcRenderer.on('send-song-time-data', (event,timeData) => { document.getElementById('progressBar').style.width= `${timeData.elapsed/timeData.total*document.documentElement.clientWidth}px`; + if(timeData.state == 'play' || timeData.state == 'pause') + { + if(currentSong !=timeData.song) { + document.getElementsByClassName('karaQueue')[currentSong].style.background = '#4e5d6c'; + currentSong = timeData.song; + } + document.getElementsByClassName('karaQueue')[timeData.song].style.background = '#6b7d8e'; + } + else { + document.getElementsByClassName('karaQueue')[timeData.song].style.background = '#4e5d6c'; + } + }); @@ -235,11 +248,13 @@ function onDragStartQueue(event) { } function onDragEnter(event) { - if (leavedElement != event.currentTarget) { - leavedElement.style.borderTop = ''; + if(event.currentTarget) { + if (leavedElement != event.currentTarget) { + leavedElement.style.borderTop = ''; + } + event.currentTarget.style.borderTop = '3px solid grey'; + dragCounter++; } - event.currentTarget.style.borderTop = '3px solid grey'; - dragCounter++; } function onDragOver(event) { diff --git a/instance/views/karaQueueListItem.ejs b/instance/views/karaQueueListItem.ejs index dea8ed8..052387b 100644 --- a/instance/views/karaQueueListItem.ejs +++ b/instance/views/karaQueueListItem.ejs @@ -1,6 +1,6 @@ <%# vim: ts=4 syntax=html The template for the kara card in lists %> -<li class="card p-2 bd-highlight shadow-none d-flex flex-row bd-highlight mb-3 karaCard" draggable="true"> +<li class="card p-2 bd-highlight shadow-none d-flex flex-row bd-highlight mb-3 karaCard karaQueue" draggable="true"> <span hidden class = "karaID"><%= kara.id %></span> <span class="karaElement text-uppercase p-2 bd-highlight badge badge-light"><b><%= kara.language %></b></span> <span class="karaElement text-uppercase p-2 bd-highlight badge badge-light"><b><%= kara.cat %></b></span> diff --git a/main.js b/main.js index 2789d0b..9efbce3 100644 --- a/main.js +++ b/main.js @@ -244,20 +244,20 @@ ipcMain.on('add-kara-queue-pos', (event,addparams) => { lkt.commandQueueAddId(addparams.id).then(() => lkt.commandMove(addparams.queueSize+1,addparams.position)); }); -var songTimeData = {elapsed:0,total:100,state:'stop'}; +var songTimeData = {elapsed:0,total:100,state:'stop', song:'0'}; var counterTime = 0; ipcMain.on('get-song-time-data', (event,arg) => { var newSongTimeData = lkt.getSongTimeData(); - if(newSongTimeData.elapsed != songTimeData.elapsed) { + if(newSongTimeData.elapsed != songTimeData.elapsed || newSongTimeData.song != songTimeData.song) { songTimeData = newSongTimeData; - event.reply('send-song-time-data',{elapsed:songTimeData.elapsed, total:songTimeData.total}); + event.reply('send-song-time-data',{elapsed:songTimeData.elapsed, total:songTimeData.total, song:songTimeData.song,state:songTimeData.state}); counterTime = 0; } else if(newSongTimeData.state == 'play') { counterTime++; - event.reply('send-song-time-data',{elapsed:songTimeData.elapsed+(counterTime/20.0), total:songTimeData.total}); + event.reply('send-song-time-data',{elapsed:songTimeData.elapsed+(counterTime/20.0), total:songTimeData.total, song:songTimeData.song, state:songTimeData.state}); } else { - event.reply('send-song-time-data',{elapsed:songTimeData.elapsed+(counterTime/20.0), total:songTimeData.total}) + event.reply('send-song-time-data',{elapsed:songTimeData.elapsed+(counterTime/20.0), total:songTimeData.total, song:songTimeData.song, state:songTimeData.state}) } }); \ No newline at end of file -- GitLab