« get me outta code hell

Frame delay = 50 on normal client, 100 on telnet - mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorrie <towerofnix@gmail.com>2019-07-19 16:11:23 -0300
committerFlorrie <towerofnix@gmail.com>2019-07-19 16:11:56 -0300
commit2e23b93ca1737859d3052bcd813be402a513b987 (patch)
treecdf0bda3881ede017504a1e27a3d2d5c01099116
parent2a758cbaf1e4bbb4d72047a1729040f8f342d69b (diff)
Frame delay = 50 on normal client, 100 on telnet
-rw-r--r--client.js4
-rwxr-xr-xindex.js1
-rw-r--r--telnet-server.js1
-rw-r--r--todo.txt5
4 files changed, 9 insertions, 2 deletions
diff --git a/client.js b/client.js
index 190c087..a899c2d 100644
--- a/client.js
+++ b/client.js
@@ -16,7 +16,7 @@ const {
   }
 } = require('./tui-lib')
 
-const setupClient = async ({backend, writable, interfacer, appConfig}) => {
+const setupClient = async ({backend, writable, interfacer, appConfig, frameRate = 50}) => {
   const cleanTerminal = () => {
     writable.write(ansi.cleanCursor())
     writable.write(ansi.disableAlternateScreen())
@@ -81,7 +81,7 @@ const setupClient = async ({backend, writable, interfacer, appConfig}) => {
   const renderInterval = setInterval(() => {
     root.renderTo(flushable)
     flushable.flush()
-  }, 100)
+  }, frameRate)
 
   return {appElement, cleanTerminal, flushable, renderInterval}
 }
diff --git a/index.js b/index.js
index a36eceb..2b6978b 100755
--- a/index.js
+++ b/index.js
@@ -69,6 +69,7 @@ async function main() {
 
   const { appElement, renderInterval } = await setupClient({
     backend,
+    frameRate: 50,
     interfacer: new CommandLineInterfacer(),
     writable: process.stdout
   })
diff --git a/telnet-server.js b/telnet-server.js
index d8d8e07..72869a2 100644
--- a/telnet-server.js
+++ b/telnet-server.js
@@ -29,6 +29,7 @@ class TelnetServer extends EventEmitter {
       backend: this.backend,
       writable: socket,
       interfacer,
+      frameRate: 100,
       appConfig: {
         canControlPlayback: false,
         canControlQueue: true,
diff --git a/todo.txt b/todo.txt
index 1e491d4..f4b93f4 100644
--- a/todo.txt
+++ b/todo.txt
@@ -268,3 +268,8 @@ TODO: A "reverse" option in the order picker! Also a "reverse order of groups"
 TODO: The context menu crashes when the input spans across the screen! Need to
       figure out some kind of "fix layout according to max dimensions" code in
       general - it'd be useful here.
+
+TODO: Work out frame rate shenanigans. :) This is a huge task, though (to get
+      it exactly right) - to begin, just make it so telnet and ordinary clients
+      get different framerates.
+      (Done!)