From 1c30b6b7f862e9251c82c202a7b3ad1bc72a14aa Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 3 Feb 2022 05:10:10 +0000 Subject: 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 --- GIT-VERSION-GEN | 4 ++-- INSTALL | 20 +++++++++++++------- README | 2 +- dtas.gemspec | 2 +- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 168baee..ef12348 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,11 +1,11 @@ #!/usr/bin/env ruby -# Copyright (C) 2013-2021 all contributors +# Copyright (C) all contributors # License: GPL-3.0+ # frozen_string_literal: true CONSTANT = "DTAS::VERSION" RVF = "lib/dtas/version.rb" GVF = "GIT-VERSION-FILE" -DEF_VER = "v0.19.0" +DEF_VER = "v0.20.0" vn = DEF_VER # First see if there is a version file (included in release tarballs), diff --git a/INSTALL b/INSTALL index 40019b9..e9ab26c 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,8 @@ -Uncommon for audio software, dtas is currently implemented in Ruby. +Uncommon for audio software, dtas is currently implemented in Ruby +(and some Perl5). The latest stable release or development snapshot of Ruby is recommended. -However, Ruby 1.9.3 and later works, but older versions of Ruby do not. +However, Ruby 2.3 and later works, but older versions of Ruby do not. SoX is a dependency of dtas-player. While not _strictly_ required, dtas-player uses SoX by default and you will need it unless you've @@ -25,14 +26,19 @@ For future upgrades of dtas sudo gem install dtas -# installing dtas via tarball and setup.rb +# installing dtas via tarball Grab the latest tarball from our HTTPS site: - https://80x24.org/dtas/2021/dtas-0.19.0.tar.gz + https://80x24.org/dtas/2022/dtas-0.20.0.tar.gz - $ tar zxvf dtas-0.19.0.tar.gz - $ cd dtas-0.19.0 + $ tar zxvf dtas-0.20.0.tar.gz + $ cd dtas-0.20.0 + + # To install symlinks into ~/bin (assuming your Ruby executable is "ruby") + $ make symlink-install + + # or using setup.rb: $ sudo ruby setup.rb # CONTACT @@ -45,5 +51,5 @@ No subscription is necessary to post to the mailing list. # COPYRIGHT -Copyright 2013-2021 all contributors +Copyright all contributors License: GPL-3.0+ diff --git a/README b/README index 3b51c33..1d619e0 100644 --- a/README +++ b/README @@ -92,7 +92,7 @@ Atom: ## Copyright -Copyright 2013-2021 all contributors +Copyright all contributors License: GPL-3.0+ dtas is copyrighted Free Software by all contributors, see logs diff --git a/dtas.gemspec b/dtas.gemspec index e1bbb38..d5a1916 100644 --- a/dtas.gemspec +++ b/dtas.gemspec @@ -3,7 +3,7 @@ Gem::Specification.new do |s| manifest = File.read('.gem-manifest').split(/\n/) s.name = %q{dtas} - s.version = (ENV["VERSION"] || '0.19.0').dup + s.version = (ENV["VERSION"] || '0.20.0').dup s.authors = ["dtas hackers"] s.summary = "duct tape audio suite for *nix" s.description = File.read("README").split(/\n\n/)[1].strip -- cgit v1.2.3-24-ge0c7