about summary refs log tree commit homepage
path: root/bin
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-12-31 02:37:55 +0000
committerEric Wong <e@80x24.org>2015-12-31 02:37:55 +0000
commit1caccb72485e06a17cae6cf2c03c54d434d32949 (patch)
tree85051dbad356c288c361cbc85fe0a2c729def8b0 /bin
parenta86268bfee552912d1e460989581f3634d39a824 (diff)
downloaddtas-1caccb72485e06a17cae6cf2c03c54d434d32949.tar.gz
It probably makes sense for the -console user to know if tracklist
repeat and trim are enabled.  Have player emit these in "current"
output and let the console client track them for now.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/dtas-console18
1 files changed, 11 insertions, 7 deletions
diff --git a/bin/dtas-console b/bin/dtas-console
index 18f42b6..909f307 100755
--- a/bin/dtas-console
+++ b/bin/dtas-console
@@ -149,16 +149,14 @@ begin
         fmt = "(#{fmt} > #{fmt})"
       end
     elsif cur['paused'] && infile = cur['current_paused']
+      fmt = '(paused)'
       paused = true
       if Array === infile
         infile, elapsed = infile
         elapsed = elapsed.to_i
-        samples = qx(%W(soxi -s #{infile})).to_i rescue 0
-        rate = 0
+        samples = rate = 0
         begin
-          fmt = DTAS::Format.from_file({}, infile)
-          rate = fmt.rate
-          fmt = "(#{fmt_to_s(fmt.to_hash)})"
+          rate = qx(%W(soxi -r #{infile})).to_i
         rescue => e
           warn "#{e.message} (#{e.class})"
         end
@@ -174,7 +172,7 @@ begin
       Curses.setpos(lineno += 1, 0)
       Curses.clrtoeol
       Curses.addstr(infile)
-      total = " [#{Time.at(samples / rate).strftime(tfmt)}]"
+      total = " [#{Time.at(samples / rate).strftime(tfmt)}]" if samples != 0
       Curses.setpos(lineno += 1, 0)
       Curses.clrtoeol
       Curses.addstr("#{Time.at(elapsed).strftime(tfmt)}#{total} #{fmt}")
@@ -195,7 +193,13 @@ begin
     Curses.setpos(lineno += 1, 0)
     Curses.clrtoeol
     cur_vol = rg['volume'] || 1.0
-    Curses.addstr("volume=#{cur_vol}")
+    extra = [ "volume=#{cur_vol}" ]
+    repeat = 'false'
+    tl = cur['tracklist'] || {}
+    extra << "repeat=#{tl['repeat'] || 'false'}"
+    trim = cur['trim'] || 'off'
+    extra << "trim=#{trim}"
+    Curses.addstr(extra.join(' '))
     pre_mute_vol = cur_vol if cur_vol != 0
 
     show_events(lineno, screen, events)