dtas.git  about / heads / tags
duct tape audio suite for *nix
blob 481a5a56d14261d3631613294bc1c844ba3899c7 1489 bytes (raw)
$ git show v0.18.0:test/test_fadefx.rb	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
# Copyright (C) 2013-2020 all contributors <dtas-all@nongnu.org>
# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
# frozen_string_literal: true
require_relative 'helper'
require 'dtas/fadefx'
require 'dtas/format'

class TestFadeFX < Testcase
  def test_fadefx
    ffx = DTAS::FadeFX.new("t1,t3.1;l4,t1")
    assert_equal 't', ffx.out_prev.type
    assert_equal 1, ffx.out_prev.flen
    assert_equal 't', ffx.in_cur.type
    assert_equal 3.1, ffx.in_cur.flen
    assert_equal 'l', ffx.out_cur.type
    assert_equal 4, ffx.out_cur.flen
    assert_equal 't', ffx.in_next.type
    assert_equal 1, ffx.in_next.flen

    fmt = DTAS::Format.new
    fmt.rate = 48000
    tbeg = 0
    tlen = 48000 * 9

    # XXX: this isn't testing much...
    cur = ffx.fade_cur_fx(fmt, tbeg, tlen, %w(vol +3dB))
    assert_equal(%w(trim 0s 432000s vol +3dB
                    fade t 3.1 0 0 fade l 0 432000s 4), cur)
    out = ffx.fade_out_prev_fx(fmt, tbeg, tlen)
    assert_equal(%w(trim 0s
                    fade t 0 48000s 48000s pad 384000s@48000s), out)
    inn = ffx.fade_in_next_fx(fmt, tbeg, tlen)
    assert_equal(%w(trim 384000s 48000s
                    fade t 48000s 0 0 pad 384000s@0s), inn)
  end

  def test_fadefx_no_cur
    ffx = DTAS::FadeFX.new("t1,;,t1")
    assert_equal 't', ffx.out_prev.type
    assert_equal 1, ffx.out_prev.flen
    assert_nil ffx.in_cur
    assert_nil ffx.out_cur
    assert_equal 't', ffx.in_next.type
    assert_equal 1, ffx.in_next.flen
  end
end

git clone git://80x24.org/dtas.git
git clone https://80x24.org/dtas.git