* [ANN] dtas 0.20.0 - duct tape audio suite for *nix
@ 2022-02-03 5:15 4% 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 4%]
* [PATCH 2/4] splitfx: use Etc.nprocessors for jobs if unspecified
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
We'll take advantage of multicore if available; because even
bums like me have SMP machines these days.
---
bin/dtas-splitfx | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/bin/dtas-splitfx b/bin/dtas-splitfx
index 3ee812e..18ea0b4 100755
--- a/bin/dtas-splitfx
+++ b/bin/dtas-splitfx
@@ -8,7 +8,7 @@
usage = "#$0 [-n|--dry-run][-j [JOBS]][-s|--silent] SPLITFX_FILE.yml [TARGET]"
overrides = {} # FIXME: not tested
default_target = "flac"
-opts = { jobs: 1 }
+opts = { jobs: nil }
OptionParser.new('', 24, ' ') do |op|
op.banner = usage
op.on('-n', '--dry-run') { opts[:dryrun] = true }
@@ -37,6 +37,11 @@
abort '--err-suffix and --sox-pipe are mutually exclusive'
end
+if opts[:jobs].nil?
+ require 'etc'
+ opts[:jobs] = Etc.nprocessors
+end
+
args = []
ARGV.each do |arg|
case arg
^ 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 2/4] splitfx: use Etc.nprocessors for jobs if unspecified 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 2/4] splitfx: use Etc.nprocessors for jobs if unspecified Eric Wong
2022-02-03 5:15 4% [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).