everything related to duct tape audio suite (dtas)
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [ANN] dtas 0.17.0 - duct tape audio suite for *nix
@ 2019-11-14  1:56  4% Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2019-11-14  1:56 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.17.0

    dtas-player automatically pauses on sink death (e.g. when an
    external DAC is unplugged), thanks to Rene Maurer for the
    feature suggestion.

    zsh completions are also bundled in the examples/ directory
    thanks to James Rowe.

    There's also a couple of minor bugfixes and documentation
    updates.

    There's also kwarg warning fixes for Ruby 2.7.0dev.  Future
    components will probably use a more stable glue language
    than Ruby, and we already have dtas-graph which is Perl5.

    Eric Wong (11):
          doc: remove inaccurate comment about "GNU-ism"
          doc: update homepage to point to cgit /about/
          dtas-graph: show inode number in hex, too
          dtas-graph: add a short blurb about what it does
          dtas-console: remove unused variables
          dtas-console: pass kwargs as-is to String#encode
          buffer/splice: pass kwargs as-is to tee/splice
          player: automatically pause if last sink dies
          readahead: avoid Array#compact and Array#max on `false'
          doc: use new HTTPS address at lists.gnu.org
          TODO: add a note about using a more stable glue language

    James Rowe (2):
          doc: trivial typo fixes
          Add zsh completion support

* homepage: https://80x24.org/dtas.git/about
* https://80x24.org/dtas/INSTALL
* https://80x24.org/dtas/dtas-player.txt
* https://80x24.org/dtas/NEWS.atom
* git clone https://80x24.org/dtas.git
* dtas-all@nongnu.org (plain-text only, no HTML mail, please)
* mail 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 4%]

* [PATCH 3/3] buffer/splice: pass kwargs as-is to tee/splice
  2019-10-31 10:00  5% [PATCH 0/3] fixup annoying Ruby 2.7.0dev warnings Eric Wong
@ 2019-10-31 10:00  7% ` Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2019-10-31 10:00 UTC (permalink / raw)
  To: dtas-all

Ruby 2.7.0dev will warn when hashes are passed and intended
for use as kwargs unless we expand the hash via "**TRY",
but "**" is Ruby 2.0+ syntax and I guess we still support
1.9.3 for the time being.
---
 lib/dtas/buffer/splice.rb | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/dtas/buffer/splice.rb b/lib/dtas/buffer/splice.rb
index 281ecfd..2e86d0a 100644
--- a/lib/dtas/buffer/splice.rb
+++ b/lib/dtas/buffer/splice.rb
@@ -12,7 +12,6 @@ module DTAS::Buffer::Splice # :nodoc:
   MAX_AT_ONCE_1 = 65536
   F_MOVE = SleepyPenguin::F_MOVE
   F_NONBLOCK = SleepyPenguin::F_NONBLOCK
-  TRY = { exception: false }.freeze
 
   def buffer_size
     @to_io.pipe_size
@@ -32,7 +31,8 @@ def discard(bytes)
   def broadcast_one(targets, limit = nil)
     # single output is always non-blocking
     limit ||= MAX_AT_ONCE_1
-    s = SleepyPenguin.splice(@to_io, targets[0], limit, F_MOVE|F_NONBLOCK, TRY)
+    s = SleepyPenguin.splice(@to_io, targets[0], limit, F_MOVE|F_NONBLOCK,
+                             exception: false)
     if Symbol === s
       targets # our one and only target blocked on write
     else
@@ -71,7 +71,8 @@ def __broadcast_tee(blocked, targets, chunk_size)
     targets.delete_if do |dst|
       begin
         t = (dst.nonblock? || most_teed == 0) ?
-            SleepyPenguin.tee(@to_io, dst, chunk_size, F_NONBLOCK, TRY) :
+            SleepyPenguin.tee(@to_io, dst, chunk_size, F_NONBLOCK,
+                              exception: false) :
             __tee_in_full(@to_io, dst, chunk_size)
         if Integer === t
           if t > most_teed
@@ -119,7 +120,8 @@ def broadcast_inf(targets, limit = nil)
     begin
       targets << last
       if last.nonblock? || most_teed == 0
-        s = SleepyPenguin.splice(@to_io, last, bytes, F_MOVE|F_NONBLOCK, TRY)
+        s = SleepyPenguin.splice(@to_io, last, bytes, F_MOVE|F_NONBLOCK,
+                                 exception: false)
         if Symbol === s
           blocked << last
 


^ permalink raw reply	[relevance 7%]

* [PATCH 0/3] fixup annoying Ruby 2.7.0dev warnings
@ 2019-10-31 10:00  5% Eric Wong
  2019-10-31 10:00  7% ` [PATCH 3/3] buffer/splice: pass kwargs as-is to tee/splice Eric Wong
  0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2019-10-31 10:00 UTC (permalink / raw)
  To: dtas-all

Testing Ruby 2.7.0dev reveals more annoying warnings, which
end users (not hackers) would suffer from :<

*sigh*

Eric Wong (3):
  dtas-console: remove unused variables
  dtas-console: pass kwargs as-is to String#encode
  buffer/splice: pass kwargs as-is to tee/splice

 bin/dtas-console          | 11 +++--------
 lib/dtas/buffer/splice.rb | 10 ++++++----
 2 files changed, 9 insertions(+), 12 deletions(-)



^ permalink raw reply	[relevance 5%]

Results 1-3 of 3 | reverse | sort options + mbox downloads above
-- links below jump to the message on this page --
2019-10-31 10:00  5% [PATCH 0/3] fixup annoying Ruby 2.7.0dev warnings Eric Wong
2019-10-31 10:00  7% ` [PATCH 3/3] buffer/splice: pass kwargs as-is to tee/splice Eric Wong
2019-11-14  1:56  4% [ANN] dtas 0.17.0 - duct tape audio suite for *nix Eric Wong

Code repositories for project(s) associated with this inbox:

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