* [ANN] dtas 0.20.0 - duct tape audio suite for *nix
@ 2022-02-03 5:15 5% Eric Wong
0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2022-02-03 5:15 UTC (permalink / raw)
To: dtas-all, ruby-talk
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, Perl5, and some embedded shell, but may use other languages in
the future.
Changes:
dtas 0.20.0 - ruby 3.1+ compatibility, splitfx improvements
This release catches up with Psych (YAML) changes in Ruby 3.1+
Ruby 2.3+ is now the minimum version, though keep in mind the
ruby-core team already dropped support for it long ago.
Most of the features are focused on audio engineering
capabilities of dtas-splitfx. dtas-splitfx gains the --filter
switch, along with per-track environment variables and comments.
These new features have made my workflow significantly better.
dtas-archive supports explicit comments, and omits the default
SoX comment. To better cope with temporary and modified files
during editing, dtas-player metadata now checks ctime before
reusing the cache, handy for frequently-modified files.
"dtas-tl prune" is now supported to cull temporary files from
the player tracklist.
There's a few dtas-console improvements, too.
28 changes since v0.19.0 (2021-09-05):
archive: support comments, default to none
splitfx: use Etc.nprocessors for jobs if unspecified
dtas-console: set X11 terminal title iff DISPLAY is set
dtas-console: add 'i' toggle to show comments (metadata)
splitfx: fix track_zpad with integer arg
doc: drop ordered map from examples
player: reduce syscalls when splicing to single target
dtas-console: support Wayland terminal titles, too
console: workaround safe warnings in outdated `curses' gem
require Ruby 2.3+
get rid of DTAS.dedupe_str wrapper
move dtas-graph into script/, support Perl for dtas.sh
use YAML.unsafe_load in Psych 4.x (Ruby 3.1+)
deduplicate and freeze pathnames + metadata
player: remove omap conversion
dtas: drop unnecessary "require 'yaml'" statements
dtas-tl prune: cull missing files from tracklist
dtas-tl: drop encoding hacks, use binary stdout+stderr
use IO#wait_readable consistently
get rid of DTAS::Nonblock wrapper for Ruby <= 2.0
unix_accepted: drop Ruby < 2.3 support code
do not check IO#closed? before calling IO#close
splitfx: support per-track environment variables
splitfx: add --filter option to limit match to comments
player: expire sox metadata cache on file st_ctime changes
readahead: do not call -@ on non-String
splitfx: disallow combining --trim and --filter
splitfx: document changes ahead of 0.20.0 release
* homepage: https://80x24.org/dtas/
* 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/
nntps://news.public-inbox.org/inbox.comp.audio.dtas
imaps://anon:mous@public-inbox.org/inbox.comp.audio.dtas.0
nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.audio.dtas
imap://anon:mous@7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.audio.dtas.0
https://80x24.org/dtas-all/new.atom
note: .onion URLs require Tor: <https://www.torproject.org/>
^ permalink raw reply [relevance 5%]
* [PATCH 1/4] archive: support comments, default to none
2022-01-07 5:35 5% [PATCH 0/4] a pile of misc improvements Eric Wong
@ 2022-01-07 5:35 7% ` Eric Wong
0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2022-01-07 5:35 UTC (permalink / raw)
To: dtas-all
The default "Processed by SoX" comment is pointless, and I often
want to archive + tag something in one step to reduce FS I/O.
---
bin/dtas-archive | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/bin/dtas-archive b/bin/dtas-archive
index dd3b537..c88873e 100755
--- a/bin/dtas-archive
+++ b/bin/dtas-archive
@@ -29,6 +29,7 @@
stats = false
keep_going = false
compression = []
+comment = []
OptionParser.new('', 24, ' ') do |op|
op.banner = usage
@@ -36,6 +37,7 @@
op.on('-C', '--compression [FACTOR]', 'compression factor for sox') { |c|
compression = [ '-C', c ]
}
+ op.on('--comment=TEXT', String) { |c| comment.push('--comment', c) }
op.on('-j', '--jobs [JOBS]', Integer) { |j| jobs = j }
op.on('-S', '--stats', 'save stats on the file') { stats = true }
op.on('-k', '--keep-going', 'continue after error') { keep_going = true }
@@ -53,6 +55,8 @@
op.parse!(ARGV)
end
+comment.push('--comment', '') if comment.empty?
+
dst = ARGV.pop
src = ARGV.dup
@@ -137,7 +141,7 @@
if dry_run || !silent
names = job.map { |x| Shellwords.escape(x) }
- cmd = [ 'sox', *names ]
+ cmd = [ 'sox', names[0], *compression, *comment, names[1] ]
if stats
cmd << 'stats'
cmd << "2>#{Shellwords.escape(stats_out)}"
@@ -151,7 +155,7 @@
end
end
- cmd = [ 'sox', input, *compression, output ]
+ cmd = [ 'sox', input, *compression, *comment, output ]
if stats
cmd << 'stats'
cmd = [ *cmd, { err: stats_out } ]
^ permalink raw reply related [relevance 7%]
* [PATCH 0/4] a pile of misc improvements
@ 2022-01-07 5:35 5% Eric Wong
2022-01-07 5:35 7% ` [PATCH 1/4] archive: support comments, default to none Eric Wong
0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2022-01-07 5:35 UTC (permalink / raw)
To: dtas-all
I should send these out before I accidentally nuke my root FS
on accident, again :x
Eric Wong (4):
archive: support comments, default to none
splitfx: use Etc.nprocessors for jobs if unspecified
dtas-console: set X11 terminal title iff DISPLAY is set
dtas-console: add 'i' toggle to show comments (metadata)
bin/dtas-archive | 8 ++++++--
bin/dtas-console | 32 +++++++++++++++++++++++++++++++-
bin/dtas-splitfx | 7 ++++++-
3 files changed, 43 insertions(+), 4 deletions(-)
^ permalink raw reply [relevance 5%]
Results 1-3 of 3 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2022-01-07 5:35 5% [PATCH 0/4] a pile of misc improvements Eric Wong
2022-01-07 5:35 7% ` [PATCH 1/4] archive: support comments, default to none Eric Wong
2022-02-03 5:15 5% [ANN] dtas 0.20.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).