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.16.0 - duct tape audio suite for *nix
@ 2019-01-02 21:35  4% Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2019-01-02 21:35 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:

    A bunch of minor fixes and cleanups accumulating for the past
    two years since the last release.  It's tough to remember to
    make releases when I'm always running the latest version from
    git :x

    Most notably, "io_splice" is no longer used for dtas-linux
    users since "sleepy_penguin" includes all the functionality
    we use.  This is to reduce memory overhead from extra DSOs(*)

    There's also some deprecation warning fixes for the
    still-undocumented "dtas-mlib" command.

    12 changes since v0.15.0 (2017-04-07):

          pipeline: new module for running process pipelines
          console: ensure time calculations are done in UTC
          Rakefile: update path for uploads
          player: support guessing encodings for comments
          get rid of Windows-31J regexps
          mlib: compatibility with Sequel 5.x
          mlib: remove redundant tag massaging and encoding
          mlib: use flock to get around SQLite busy errors
          mlib: ignore files with nil times
          dtas/watchable: check SystemCallError
          mlib: fix unused variable warning
          use sleepy_penguin 3.5+ for splice and tee support

    (*) https://udrepper.livejournal.com/8790.html

* 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 https://80x24.org/dtas.git
* 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 4%]

* [PATCH 1/4] mlib: compatibility with Sequel 5.x
  2018-01-30  9:17  5% [PATCH 0/4] mlib: misc updates Eric Wong
@ 2018-01-30  9:17  7% ` Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2018-01-30  9:17 UTC (permalink / raw)
  To: dtas-all

Apparently some degree of thread-safety is being enforced;
not sure I agree, but oh well...
---
 lib/dtas/mlib.rb  | 15 ++++++---------
 test/test_mlib.rb |  4 ++--
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/lib/dtas/mlib.rb b/lib/dtas/mlib.rb
index 24393d5..e217b59 100644
--- a/lib/dtas/mlib.rb
+++ b/lib/dtas/mlib.rb
@@ -37,16 +37,13 @@ class DTAS::Mlib # :nodoc:
 
   def initialize(db)
     if String === db
+      require 'sequel'
+      opts = { single_threaded: true }
       db = "sqlite://#{db}" unless db.include?('://')
-      require 'sequel/no_core_ext'
-      db = Sequel.connect(db, single_threaded: true)
-    end
-    if db.class.to_s.downcase.include?('sqlite')
-      db.transaction_mode = :immediate
-      db.synchronous = :off
-      db.case_sensitive_like = false
-    else
-      warn 'non-SQLite databases may not work in the future'
+      opts[:transaction_mode] = :immediate
+      opts[:synchronous] = :off
+      opts[:case_sensitive_like] = false # only for 'search'
+      db = Sequel.connect(db, opts)
     end
     @db = db
     @pwd = nil
diff --git a/test/test_mlib.rb b/test/test_mlib.rb
index a5c446f..0241314 100644
--- a/test/test_mlib.rb
+++ b/test/test_mlib.rb
@@ -4,7 +4,7 @@
 require_relative 'helper'
 begin
   require 'dtas/mlib'
-  require 'sequel/no_core_ext'
+  require 'sequel'
   require 'sqlite3'
 rescue LoadError => err
   warn "skipping mlib test: #{err.message}"
@@ -13,7 +13,7 @@
 
 class TestMlib < Testcase
   def setup
-    @db = Sequel.sqlite(':memory:')
+    @db = Sequel.sqlite(':memory:', case_sensitive_like: false)
   end
 
   def test_migrate
-- 
EW



^ permalink raw reply related	[relevance 7%]

* [PATCH 0/4] mlib: misc updates
@ 2018-01-30  9:17  5% Eric Wong
  2018-01-30  9:17  7% ` [PATCH 1/4] mlib: compatibility with Sequel 5.x Eric Wong
  0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2018-01-30  9:17 UTC (permalink / raw)
  To: dtas-all

Admittedly, I haven't used mlib in a while, so there was some
bitrot.  However, Sequel 5.x is out and it can benefit from
the encoding tweaks I did the other day.

Eric Wong (4):
      mlib: compatibility with Sequel 5.x
      mlib: remove redundant tag massaging and encoding
      mlib: use flock to get around SQLite busy errors
      mlib: ignore files with nil times

 lib/dtas/mlib.rb  | 66 +++++++++++++++++++++++++++++++------------------------
 test/test_mlib.rb |  4 ++--
 2 files changed, 39 insertions(+), 31 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 --
2018-01-30  9:17  5% [PATCH 0/4] mlib: misc updates Eric Wong
2018-01-30  9:17  7% ` [PATCH 1/4] mlib: compatibility with Sequel 5.x Eric Wong
2019-01-02 21:35  4% [ANN] dtas 0.16.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).