everything related to duct tape audio suite (dtas)
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: dtas-all@nongnu.org
Subject: [PATCH 4/4] dtas-console: add 'i' toggle to show comments (metadata)
Date: Fri,  7 Jan 2022 05:35:44 +0000	[thread overview]
Message-ID: <20220107053544.31240-5-e@80x24.org> (raw)
In-Reply-To: <20220107053544.31240-1-e@80x24.org>

This can be useful in the face of non-descriptive filenames.
---
 bin/dtas-console | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/bin/dtas-console b/bin/dtas-console
index 6172863..0e762bd 100755
--- a/bin/dtas-console
+++ b/bin/dtas-console
@@ -35,6 +35,7 @@
 else
   rg_mode_i = 0
 end
+show_info = false
 
 def update_tfmt(prec, tsec)
   if tsec
@@ -208,6 +209,27 @@ def may_fail(c, req, events)
     Curses.addstr(extra.join(' '))
     pre_mute_vol = cur_vol if cur_vol != 0
 
+    if show_info && current && comments = current['comments']
+      Curses.setpos(lineno += 1, 0)
+      Curses.clrtoeol
+      Curses.addstr('comments:')
+      comments.each do |k,v|
+        v = v.split(/\n+/)
+        k = k.dump if /[[:cntrl:]]/ =~ k
+        if first = v.shift
+          Curses.setpos(lineno += 1, 0)
+          Curses.clrtoeol
+          first = first.dump if /[[:cntrl:]]/ =~ first
+          Curses.addstr("  #{k}: #{first}")
+          v.each do |val|
+            val = val.dump if /[[:cntrl:]]/ =~ val
+            Curses.setpos(lineno += 1, 0)
+            Curses.clrtoeol
+            Curses.addstr("   #{val}")
+          end
+        end
+      end
+    end
     show_events(lineno, screen, events)
 
     Curses.refresh # draw and wait
@@ -277,6 +299,9 @@ def may_fail(c, req, events)
             interval = 1.0 / 10 ** prec_nr
           end
         when 27 # TODO readline/edit mode?
+        when 'i'
+          show_info = !show_info
+          Curses.clear if !show_info
         else
           Curses.setpos(screen.maxy - 1, 0)
           Curses.clrtoeol


  parent reply	other threads:[~2022-01-07  5:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-07  5:35 [PATCH 0/4] a pile of misc improvements Eric Wong
2022-01-07  5:35 ` [PATCH 1/4] archive: support comments, default to none Eric Wong
2022-01-07  5:35 ` [PATCH 2/4] splitfx: use Etc.nprocessors for jobs if unspecified Eric Wong
2022-01-07  5:35 ` [PATCH 3/4] dtas-console: set X11 terminal title iff DISPLAY is set Eric Wong
2022-01-08 16:59   ` James Rowe
2022-01-11 17:29     ` Eric Wong
2022-01-11 18:14       ` James Rowe
2022-01-11 18:26         ` Eric Wong
2022-01-07  5:35 ` Eric Wong [this message]
2022-01-07  9:34 ` [PATCH 5/4] splitfx: fix track_zpad with integer arg Eric Wong
2022-01-07  9:35 ` [PATCH 6/4] doc: drop ordered map from examples Eric Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://80x24.org/dtas/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220107053544.31240-5-e@80x24.org \
    --to=e@80x24.org \
    --cc=dtas-all@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/dtas.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).