everything related to duct tape audio suite (dtas)
 help / color / mirror / code / Atom feed
 Warning: Initial query:
 %22player: %22%22cue prev%22%22 reliably hits previous cue breakpoint%22
 returned no results, used:
 "player: ""cue prev"" reliably hits previous cue breakpoint"
 instead

Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [ANN] dtas 0.15.0 - duct tape audio suite for *nix
@ 2017-04-07  7:58  5% Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2017-04-07  7:58 UTC (permalink / raw)
  To: ruby-talk, dtas-all

Free Software command-line tools for audio playback, mastering, and
whatever else related to audio.  dtas follows the worse-is-better
philosophy and acts as duct tape to combine existing command-line tools
for flexibility and ease-of-development.  dtas is currently implemented
in Ruby (and some embedded shell), but may use other languages in the
future.

Changes:

    dtas 0.15.0
    
    There's a couple of minor bugfixes and features that's been
    sitting around for a while in git.  Internally there's some
    garbage reductions so player processes might be a bit smaller.
    
    21 changes since dtas 0.14.2 (2016-03-18):
    
          player: "cue prev" reliably hits previous cue breakpoint
          README: add link to gmane NNTP server
          player: extra "cue" seeking functionality
          archive: fix suffix replacement for stats
          dtas-readahead: cleanup open files on pause
          readahead: handle queued commands properly
          mlib: use transaction for removing stale entries
          splitfx: more consistently generate fade_in effects
          format.from_file: reduce soxi invocations
          introduce mcache class for caching audio metadata
          source/sox: integrate mcache support to reduce soxi calls
          test/test_rb_state: quiet deprecation warning
          http -> https, and relocate homepage to https://80x24.org/dtas/
          player: freeze sink name to avoid needless dup
          source/sox: simplify conditional, slightly
          buffer/splice: remove MAX_SIZE constant
          rg_state: fix no-op gain detection
          source/sox: relax comment NAME restriction
          readahead: handle queued commands properly (again)
          readahead: fix running commands with non-files
          deduplicate strings using String#-@ (uminus) in Ruby 2.5+

* homepage: https://80x24.org/dtas/README
* https://80x24.org/dtas/INSTALL
* https://80x24.org/dtas/dtas-player.txt
* https://80x24.org/dtas/NEWS.atom
* git clone git://80x24.org/dtas
* dtas-all@nongnu.org (plain-text only, no HTML mail, please)
* mailing list archives: https://80x24.org/dtas-all/
  nntp://news.public-inbox.org/inbox.comp.audio.dtas
  https://80x24.org/dtas-all/new.atom


^ permalink raw reply	[relevance 5%]

* year-end dtas project updates
@ 2016-12-27  7:46  6% Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2016-12-27  7:46 UTC (permalink / raw)
  To: dtas-all

Sorry about the lack of activity, but really, I'm quite
satisfied with plain-old dtas-player for music playback and I
have been working on more general Free Software stuff and less
on audio production, lately.

Adding mpd/mpris compatibility layers is still a goal,
and some internal cleanups should help with that.

Anyways, happy holidays!  Ruby 2.4.0 was also just released,
and I've been running trunk without problems for several years,
including the server which powers https://80x24.org/dtas/
(yes, the homepage is on HTTPS, and I'll be dropping the
 first part of the hostname to speed up HTTPS subjectAltName
 negotiation and cert renewals).

There's a couple of changes sitting in dtas.git

13 changes since v0.14.2:

      player: "cue prev" reliably hits previous cue breakpoint
      README: add link to gmane NNTP server
      player: extra "cue" seeking functionality
      archive: fix suffix replacement for stats
      dtas-readahead: cleanup open files on pause
      readahead: handle queued commands properly
      mlib: use transaction for removing stale entries
      splitfx: more consistently generate fade_in effects
      format.from_file: reduce soxi invocations
      introduce mcache class for caching audio metadata
      source/sox: integrate mcache support to reduce soxi calls
      test/test_rb_state: quiet deprecation warning
      http -> https, and relocate homepage to https://80x24.org/dtas/

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


^ permalink raw reply	[relevance 6%]

* [RFC] player: "cue prev" reliably hits previous cue breakpoint
@ 2016-04-11  2:27  7% Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2016-04-11  2:27 UTC (permalink / raw)
  To: dtas-all

Seeking around a track should not be done relative to
a previous seek, but should rather be analogous to the
"tl prev" command to skip around the tracklist.

I'm not sure what drugs I was on when I originally wrote
this original version, but I'm fairly certain this is a
bugfix and not intentional behavior.
---
  Thoughts?  I'm _pretty_ sure this is the right thing to do;
  will think about it for a bit...

 lib/dtas/player/client_handler.rb | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb
index 7b33967..8a15974 100644
--- a/lib/dtas/player/client_handler.rb
+++ b/lib/dtas/player/client_handler.rb
@@ -745,9 +745,9 @@ def __bp_prev_next(io, msg, cur, bp)
       return io.emit("INVALID TYPE")
     end
     fmt = cur.format
+    ds = __current_decoded_samples
     case msg[0]
     when "next"
-      ds = __current_decoded_samples
       bp.each do |ci|
         next if ci.offset_samples(fmt) < ds
         seek_internal(cur, ci.offset)
@@ -756,11 +756,15 @@ def __bp_prev_next(io, msg, cur, bp)
       # go to the next (real) track if not found
       __current_drop
     when "prev"
-      os = cur.offset_samples # where we currently started
+      prev = nil
       bp.reverse_each do |ci|
-        next if ci.offset_samples(fmt) >= os
-        seek_internal(cur, ci.offset)
-        return io.emit("OK")
+        if prev.nil?
+          next if ci.offset_samples(fmt) >= ds
+          prev = ci
+        else
+          seek_internal(cur, ci.offset)
+          return io.emit("OK")
+        end
       end
       # offset may be nil/zero if we couldn't find a previous breakpoint
       seek_internal(cur, '0')
-- 
EW


^ permalink raw reply related	[relevance 7%]

Results 1-3 of 3 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2016-04-11  2:27  7% [RFC] player: "cue prev" reliably hits previous cue breakpoint Eric Wong
2016-12-27  7:46  6% year-end dtas project updates Eric Wong
2017-04-07  7:58  5% [ANN] dtas 0.15.0 - duct tape audio suite for *nix Eric Wong

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).