dtas 0.17.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/Documentation/.gitignore +1 -1
- data/Documentation/GNUmakefile +1 -1
- data/Documentation/dtas-archive.pod +1 -1
- data/Documentation/dtas-console.pod +1 -1
- data/Documentation/dtas-ctl.pod +1 -1
- data/Documentation/dtas-cueedit.pod +1 -1
- data/Documentation/dtas-enq.pod +1 -1
- data/Documentation/dtas-env.pod +1 -1
- data/Documentation/dtas-msinkctl.pod +1 -1
- data/Documentation/dtas-player.pod +1 -1
- data/Documentation/dtas-player_effects.pod +1 -1
- data/Documentation/dtas-player_protocol.pod +1 -1
- data/Documentation/dtas-player_sink_examples.pod +1 -1
- data/Documentation/dtas-sinkedit.pod +2 -2
- data/Documentation/dtas-sourceedit.pod +2 -2
- data/Documentation/dtas-splitfx.pod +42 -9
- data/Documentation/dtas-tl.pod +3 -1
- data/Documentation/dtas-xdelay.pod +1 -1
- data/Documentation/update-footer.rb +1 -1
- data/GIT-VERSION-FILE +1 -1
- data/GIT-VERSION-GEN +2 -2
- data/GNUmakefile +13 -1
- data/HACKING +1 -1
- data/INSTALL +17 -25
- data/NEWS +121 -0
- data/README +13 -7
- data/Rakefile +1 -1
- data/TODO +1 -1
- data/bin/dtas-archive +7 -3
- data/bin/dtas-console +49 -16
- data/bin/dtas-ctl +1 -1
- data/bin/dtas-cueedit +1 -1
- data/bin/dtas-enq +1 -1
- data/bin/dtas-mlib +1 -1
- data/bin/dtas-msinkctl +2 -3
- data/bin/dtas-partstats +3 -9
- data/bin/dtas-player +1 -2
- data/bin/dtas-readahead +11 -25
- data/bin/dtas-sinkedit +3 -4
- data/bin/dtas-sourceedit +3 -4
- data/bin/dtas-splitfx +17 -5
- data/bin/dtas-tl +32 -27
- data/bin/dtas-xdelay +1 -1
- data/dtas-linux.gemspec +1 -1
- data/dtas-mpris.gemspec +1 -1
- data/dtas.gemspec +3 -3
- data/dtas.sh +8 -0
- data/examples/splitfx.sample.yml +1 -1
- data/examples/tfx.sample.yml +1 -1
- data/lib/dtas/buffer/fiddle_splice.rb +217 -0
- data/lib/dtas/buffer/read_write.rb +3 -4
- data/lib/dtas/buffer/splice.rb +5 -2
- data/lib/dtas/buffer.rb +11 -8
- data/lib/dtas/command.rb +1 -1
- data/lib/dtas/cue_index.rb +1 -1
- data/lib/dtas/disclaimer.rb +1 -1
- data/lib/dtas/edit_client.rb +2 -3
- data/lib/dtas/encoding.rb +8 -9
- data/lib/dtas/fadefx.rb +2 -2
- data/lib/dtas/format.rb +1 -1
- data/lib/dtas/mcache.rb +14 -3
- data/lib/dtas/mlib/migrations/0001_initial.rb +1 -1
- data/lib/dtas/mlib.rb +23 -13
- data/lib/dtas/parse_freq.rb +1 -1
- data/lib/dtas/parse_time.rb +1 -1
- data/lib/dtas/partstats.rb +3 -5
- data/lib/dtas/pipe.rb +14 -11
- data/lib/dtas/pipeline.rb +1 -4
- data/lib/dtas/player/client_handler.rb +25 -17
- data/lib/dtas/player.rb +6 -12
- data/lib/dtas/process.rb +3 -5
- data/lib/dtas/replaygain.rb +1 -1
- data/lib/dtas/rg_state.rb +2 -2
- data/lib/dtas/serialize.rb +1 -1
- data/lib/dtas/sigevent/efd.rb +3 -1
- data/lib/dtas/sigevent/fiddle_efd.rb +37 -0
- data/lib/dtas/sigevent/pipe.rb +3 -4
- data/lib/dtas/sigevent.rb +6 -3
- data/lib/dtas/sink.rb +1 -2
- data/lib/dtas/source/av.rb +1 -1
- data/lib/dtas/source/av_ff_common.rb +4 -4
- data/lib/dtas/source/cmd.rb +1 -1
- data/lib/dtas/source/common.rb +1 -1
- data/lib/dtas/source/ff.rb +1 -1
- data/lib/dtas/source/file.rb +1 -1
- data/lib/dtas/source/mp3gain.rb +1 -1
- data/lib/dtas/source/sox.rb +4 -4
- data/lib/dtas/source/splitfx.rb +2 -3
- data/lib/dtas/source.rb +1 -1
- data/lib/dtas/splitfx.rb +22 -10
- data/lib/dtas/state_file.rb +2 -2
- data/lib/dtas/tfx.rb +1 -1
- data/lib/dtas/track.rb +2 -2
- data/lib/dtas/tracklist.rb +1 -1
- data/lib/dtas/unix_accepted.rb +12 -37
- data/lib/dtas/unix_client.rb +2 -2
- data/lib/dtas/unix_server.rb +2 -14
- data/lib/dtas/util.rb +1 -1
- data/lib/dtas/version.rb +1 -1
- data/lib/dtas/watchable/fiddle_ino.rb +78 -0
- data/lib/dtas/watchable/inotify.rb +13 -0
- data/lib/dtas/watchable.rb +58 -58
- data/lib/dtas/writable_iter.rb +1 -1
- data/lib/dtas/xs.rb +1 -1
- data/lib/dtas.rb +13 -21
- data/man/dtas-archive.1 +2 -2
- data/man/dtas-console.1 +2 -2
- data/man/dtas-ctl.1 +2 -2
- data/man/dtas-cueedit.1 +2 -2
- data/man/dtas-enq.1 +2 -2
- data/man/dtas-env.7 +2 -2
- data/man/dtas-msinkctl.1 +2 -2
- data/man/dtas-player.1 +2 -2
- data/man/dtas-player_effects.7 +2 -2
- data/man/dtas-player_protocol.7 +2 -2
- data/man/dtas-player_sink_examples.7 +2 -2
- data/man/dtas-sinkedit.1 +3 -3
- data/man/dtas-sourceedit.1 +3 -3
- data/man/dtas-splitfx.1 +43 -13
- data/man/dtas-tl.1 +4 -2
- data/man/dtas-xdelay.1 +2 -2
- data/{perl → script}/dtas-graph +1 -1
- data/setup.rb +1 -2
- data/test/covshow.rb +1 -1
- data/test/helper.rb +1 -1
- data/test/player_integration.rb +1 -2
- data/test/test_buffer.rb +8 -8
- data/test/test_encoding.rb +2 -3
- data/test/test_env.rb +1 -1
- data/test/test_fadefx.rb +1 -1
- data/test/test_format.rb +1 -1
- data/test/test_format_change.rb +2 -2
- data/test/test_mcache.rb +15 -5
- data/test/test_mlib.rb +1 -1
- data/test/test_parse_freq.rb +1 -1
- data/test/test_pipeline.rb +1 -1
- data/test/test_player.rb +1 -1
- data/test/test_player_client_handler.rb +2 -2
- data/test/test_player_integration.rb +7 -8
- data/test/test_process.rb +1 -1
- data/test/test_rg_integration.rb +9 -9
- data/test/test_rg_state.rb +1 -1
- data/test/test_sigevent.rb +20 -0
- data/test/test_sink.rb +2 -2
- data/test/test_sink_pipe_size.rb +13 -16
- data/test/test_sink_tee_integration.rb +1 -1
- data/test/test_source_av.rb +1 -1
- data/test/test_source_sox.rb +1 -1
- data/test/test_splitfx.rb +2 -5
- data/test/test_tfx.rb +2 -3
- data/test/test_tracklist.rb +1 -1
- data/test/test_unixserver.rb +2 -2
- data/test/test_util.rb +1 -1
- metadata +11 -8
- data/lib/dtas/compat_onenine.rb +0 -17
- data/lib/dtas/nonblock.rb +0 -24
- data/lib/dtas/spawn_fix.rb +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8f1bef240a616d74eeffa033144a1323c2a82b29d270c3620654af293bd2fe42
|
|
4
|
+
data.tar.gz: 2c48a6d95b4d5adebe16ce99bd14e18c997cd9011dd77dae2331d98b7df794de
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a32d0952afed05e71ad637012be3e8622fc889c6217e6baa4322f7bc711c66df1a7c31100cc0f751e8d7f2a862e301789f7e3475ae823f4cd336a7139540661c
|
|
7
|
+
data.tar.gz: d46c3e1b6b48091a9fafeeb0d15af21e01a5f0bfe02d89028165f20fdd0ba026c3de3509308dd959968dd76c5e110fbcc842bc7e86ea2139ec0a0f9cc981ec09
|
data/.gitignore
CHANGED
data/Documentation/.gitignore
CHANGED
data/Documentation/GNUmakefile
CHANGED
|
@@ -56,7 +56,7 @@ Number of times to repeat the L<sndfile-cmp(1)> check. Default: 1
|
|
|
56
56
|
|
|
57
57
|
=head1 COPYRIGHT
|
|
58
58
|
|
|
59
|
-
Copyright 2013-
|
|
59
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
60
60
|
|
|
61
61
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
62
62
|
|
|
@@ -84,7 +84,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
84
84
|
|
|
85
85
|
=head1 COPYRIGHT
|
|
86
86
|
|
|
87
|
-
Copyright 2013-
|
|
87
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
88
88
|
|
|
89
89
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
90
90
|
|
data/Documentation/dtas-ctl.pod
CHANGED
|
@@ -68,7 +68,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
68
68
|
|
|
69
69
|
=head1 COPYRIGHT
|
|
70
70
|
|
|
71
|
-
Copyright 2013-
|
|
71
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
72
72
|
|
|
73
73
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
74
74
|
|
|
@@ -29,7 +29,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
29
29
|
|
|
30
30
|
=head1 COPYRIGHT
|
|
31
31
|
|
|
32
|
-
Copyright 2013-
|
|
32
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
33
33
|
|
|
34
34
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
35
35
|
|
data/Documentation/dtas-enq.pod
CHANGED
|
@@ -34,7 +34,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
34
34
|
|
|
35
35
|
=head1 COPYRIGHT
|
|
36
36
|
|
|
37
|
-
Copyright 2013-
|
|
37
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
38
38
|
|
|
39
39
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
40
40
|
|
data/Documentation/dtas-env.pod
CHANGED
|
@@ -70,6 +70,6 @@ No subscription is necessary to post to the mailing list.
|
|
|
70
70
|
|
|
71
71
|
=head1 COPYRIGHT
|
|
72
72
|
|
|
73
|
-
Copyright 2013-
|
|
73
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
74
74
|
|
|
75
75
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
@@ -51,7 +51,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
51
51
|
|
|
52
52
|
=head1 COPYRIGHT
|
|
53
53
|
|
|
54
|
-
Copyright 2013-
|
|
54
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
55
55
|
|
|
56
56
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
57
57
|
|
|
@@ -115,7 +115,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
115
115
|
|
|
116
116
|
=head1 COPYRIGHT
|
|
117
117
|
|
|
118
|
-
Copyright 2013-
|
|
118
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
119
119
|
|
|
120
120
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
121
121
|
|
|
@@ -98,6 +98,6 @@ No subscription is necessary to post to the mailing list.
|
|
|
98
98
|
|
|
99
99
|
=head1 COPYRIGHT
|
|
100
100
|
|
|
101
|
-
Copyright 2013-
|
|
101
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
102
102
|
|
|
103
103
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
@@ -470,6 +470,6 @@ No subscription is necessary to post to the mailing list.
|
|
|
470
470
|
|
|
471
471
|
=head1 COPYRIGHT
|
|
472
472
|
|
|
473
|
-
Copyright 2013-
|
|
473
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
474
474
|
|
|
475
475
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
@@ -77,7 +77,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
77
77
|
|
|
78
78
|
=head1 COPYRIGHT
|
|
79
79
|
|
|
80
|
-
Copyright 2013-
|
|
80
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
81
81
|
|
|
82
82
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
83
83
|
|
|
@@ -13,7 +13,7 @@ dtas-sinkedit SINKNAME
|
|
|
13
13
|
dtas-sinkedit spawns an editor to allow editing of a sink as a YAML file.
|
|
14
14
|
See L<dtas-player_protocol(7)> for details on SINKARGS.
|
|
15
15
|
|
|
16
|
-
On Linux machines
|
|
16
|
+
On Linux machines, L<inotify(7)>
|
|
17
17
|
is used to monitor the file for changes while the text editor is running.
|
|
18
18
|
Each time a user finishes saving a file, changes are committed immediately.
|
|
19
19
|
This behavior may be disabled by using the -N or --no-watch command-line
|
|
@@ -70,7 +70,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
70
70
|
|
|
71
71
|
=head1 COPYRIGHT
|
|
72
72
|
|
|
73
|
-
Copyright 2013-
|
|
73
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
74
74
|
|
|
75
75
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
76
76
|
|
|
@@ -16,7 +16,7 @@ a pipe or file, it is parsed as YAML and fed to the L<dtas-player(1)> instance
|
|
|
16
16
|
non-interactively. This is useful for loading various profiles from the
|
|
17
17
|
filesystem.
|
|
18
18
|
|
|
19
|
-
On Linux machines
|
|
19
|
+
On Linux machines, L<inotify(7)>
|
|
20
20
|
is used to monitor the file for changes while the text editor is running.
|
|
21
21
|
Each time a user finishes saving a file, changes are committed immediately.
|
|
22
22
|
This behavior may be disabled by using the -N or --no-watch command-line
|
|
@@ -77,7 +77,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
77
77
|
|
|
78
78
|
=head1 COPYRIGHT
|
|
79
79
|
|
|
80
|
-
Copyright 2013-
|
|
80
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
81
81
|
|
|
82
82
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
83
83
|
|
|
@@ -26,7 +26,8 @@ to use L<ecasound(1)>, too.
|
|
|
26
26
|
=item -j, --jobs [JOBS]
|
|
27
27
|
|
|
28
28
|
Number of jobs to run in parallel. If no number is specified, all
|
|
29
|
-
jobs are run in parallel.
|
|
29
|
+
jobs are run in parallel. Default: number of CPUS (dtas 0.20.0+),
|
|
30
|
+
previous versions of dtas defaulted to 1.
|
|
30
31
|
|
|
31
32
|
=item -n, --dry-run
|
|
32
33
|
|
|
@@ -41,6 +42,12 @@ Silent operation, commands are not printed as executed
|
|
|
41
42
|
Disable automatic setting of the DITHERFX env. This also passes
|
|
42
43
|
the option to L<sox(1)> via SOX_OPTS.
|
|
43
44
|
|
|
45
|
+
=item -E, --err-suffix SUFFIX
|
|
46
|
+
|
|
47
|
+
Write the contents of C<stderr>. This is useful for capturing
|
|
48
|
+
the per-track output of the L<sox(1)> C<stats> effect when
|
|
49
|
+
combined with parallel C<--jobs>.
|
|
50
|
+
|
|
44
51
|
=item -O, --outdir OUTDIR
|
|
45
52
|
|
|
46
53
|
Set output directory instead of current directory.
|
|
@@ -70,6 +77,16 @@ outputs the result as a single file with the TRACKNUMBER
|
|
|
70
77
|
of "000". For ease-of-typing, commas in this command-line
|
|
71
78
|
argument are automatically expanded to spaces when passed to sox.
|
|
72
79
|
|
|
80
|
+
This switch may not be combined with L</--filter>
|
|
81
|
+
|
|
82
|
+
=item -f, --filter [FIELD=]VALUE
|
|
83
|
+
|
|
84
|
+
Only process tracks matching a given comment FIELD and VALUE.
|
|
85
|
+
If no C<=> is exists, then all comment fields are matched
|
|
86
|
+
against the specified VALUE.
|
|
87
|
+
|
|
88
|
+
This switch may not be combined with L</--trim>
|
|
89
|
+
|
|
73
90
|
=item -p, --sox-pipe
|
|
74
91
|
|
|
75
92
|
Used in place of an output target to specify outputting audio data in
|
|
@@ -84,9 +101,9 @@ moves printing of output to stderr and disables parallel job invocation.
|
|
|
84
101
|
|
|
85
102
|
=item infile - string, the pathname of the original audio file
|
|
86
103
|
|
|
87
|
-
=item env -
|
|
104
|
+
=item env - hash of environment variables to set for all commands
|
|
88
105
|
|
|
89
|
-
env:
|
|
106
|
+
env:
|
|
90
107
|
FX: gain 3 stats
|
|
91
108
|
|
|
92
109
|
=item comments - hash of common tags for all audio (e.g. ARTIST, ALBUM, YEAR)
|
|
@@ -115,7 +132,12 @@ highest-numbered track. Default: true
|
|
|
115
132
|
|
|
116
133
|
=item targets - hash, see "TARGETS" section
|
|
117
134
|
|
|
118
|
-
=item command -
|
|
135
|
+
=item command - override the default sox invocation
|
|
136
|
+
|
|
137
|
+
This command may be used to specify an alternate command to process each
|
|
138
|
+
track.
|
|
139
|
+
|
|
140
|
+
Default: sox "$INFILE" $COMMENTS $OUTFMT $OUTDST $TRIMFX $FX $RATEFX $DITHERFX
|
|
119
141
|
|
|
120
142
|
=back
|
|
121
143
|
|
|
@@ -127,11 +149,22 @@ segment.
|
|
|
127
149
|
|
|
128
150
|
=over
|
|
129
151
|
|
|
130
|
-
=item t TIME TITLE [fade_in/fade_out=FADE_ARGS]
|
|
152
|
+
=item t TIME TITLE [fade_in/fade_out=FADE_ARGS] [.FIELD=VALUE] [env.X=Y]
|
|
153
|
+
|
|
154
|
+
The start of a new track at TIME with TITLE.
|
|
155
|
+
An optional L</fade_in> and L</fade_out> may be specified for any tracks.
|
|
156
|
+
Per-track comments may be specified in the form of C<.FIELD=VALUE>.
|
|
157
|
+
Using per-track C<.ARTIST=FOO> allows proper tagging of multi-artist
|
|
158
|
+
compilations.
|
|
131
159
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
160
|
+
Per-track environment variables may be specified in the form
|
|
161
|
+
of C<env.K=V> where C<K> is the environment variable name and
|
|
162
|
+
C<V> is its value. Per-track environment variables do not affect
|
|
163
|
+
playback of YAML files via L<dtas-player(1)> nor use of the L</--trim>
|
|
164
|
+
command-line option. However, per-track environment variables do affect
|
|
165
|
+
any tracks written to the filesystem, including those using the L</--filter>
|
|
166
|
+
switch. These environment variables are intended to affect the specified
|
|
167
|
+
L</command> or default L<sox(1)> invocation.
|
|
135
168
|
|
|
136
169
|
=item skip TIME - skip a segment starting at TIME
|
|
137
170
|
|
|
@@ -262,7 +295,7 @@ imbalance in a live concert recording from the audience:
|
|
|
262
295
|
|
|
263
296
|
=head1 COPYRIGHT
|
|
264
297
|
|
|
265
|
-
Copyright
|
|
298
|
+
Copyright all contributors L<mailto:dtas-all@nongnu.org>
|
|
266
299
|
|
|
267
300
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
268
301
|
|
data/Documentation/dtas-tl.pod
CHANGED
|
@@ -60,6 +60,8 @@ optionally seek to POS. POS should be a timestamp in HH:MM:SS.FRAC format.
|
|
|
60
60
|
|
|
61
61
|
=item prev - play the previous track in the tracklist
|
|
62
62
|
|
|
63
|
+
=item prune - cull non-existent pathnames from the tracklist
|
|
64
|
+
|
|
63
65
|
=item repeat 1 - repeat the current track
|
|
64
66
|
|
|
65
67
|
=item repeat false - disable repeat
|
|
@@ -120,7 +122,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
120
122
|
|
|
121
123
|
=head1 COPYRIGHT
|
|
122
124
|
|
|
123
|
-
Copyright
|
|
125
|
+
Copyright all contributors L<mailto:dtas-all@nongnu.org>
|
|
124
126
|
|
|
125
127
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
126
128
|
|
|
@@ -86,7 +86,7 @@ No subscription is necessary to post to the mailing list.
|
|
|
86
86
|
|
|
87
87
|
=head1 COPYRIGHT
|
|
88
88
|
|
|
89
|
-
Copyright 2013-
|
|
89
|
+
Copyright 2013-2020 all contributors L<mailto:dtas-all@nongnu.org>
|
|
90
90
|
|
|
91
91
|
License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
92
92
|
|
data/GIT-VERSION-FILE
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION = 0.
|
|
1
|
+
VERSION = 0.20.0
|
data/GIT-VERSION-GEN
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
# Copyright (C)
|
|
2
|
+
# Copyright (C) all contributors <dtas-all@nongnu.org>
|
|
3
3
|
# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
4
4
|
# frozen_string_literal: true
|
|
5
5
|
CONSTANT = "DTAS::VERSION"
|
|
6
6
|
RVF = "lib/dtas/version.rb"
|
|
7
7
|
GVF = "GIT-VERSION-FILE"
|
|
8
|
-
DEF_VER = "v0.
|
|
8
|
+
DEF_VER = "v0.20.0"
|
|
9
9
|
vn = DEF_VER
|
|
10
10
|
|
|
11
11
|
# First see if there is a version file (included in release tarballs),
|
data/GNUmakefile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2013-
|
|
1
|
+
# Copyright (C) 2013-2021 all contributors <dtas-all@nongnu.org>
|
|
2
2
|
# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
3
3
|
all::
|
|
4
4
|
pkg = dtas
|
|
@@ -74,5 +74,17 @@ $(pkgtgz): .tgz-manifest
|
|
|
74
74
|
|
|
75
75
|
package: $(pkgtgz) $(pkggem)
|
|
76
76
|
|
|
77
|
+
# Install symlinks to ~/bin (which is hopefuly in PATH) which point to
|
|
78
|
+
# this source tree.
|
|
79
|
+
# prefix + bindir matches git.git Makefile:
|
|
80
|
+
prefix = $(HOME)
|
|
81
|
+
bindir = $(prefix)/bin
|
|
82
|
+
symlink-install :
|
|
83
|
+
mkdir -p $(bindir)
|
|
84
|
+
dtas=$(CURDIR)/dtas.sh && cd $(bindir) && \
|
|
85
|
+
for x in $(CURDIR)/bin/*; do \
|
|
86
|
+
ln -sf "$$dtas" $$(basename "$$x"); \
|
|
87
|
+
done
|
|
88
|
+
|
|
77
89
|
.PHONY: all .FORCE-GIT-VERSION-FILE test $(test_units) NEWS
|
|
78
90
|
.PHONY: check-warnings fix-perms
|
data/HACKING
CHANGED
|
@@ -23,5 +23,5 @@ No subscription is necessary to post to the mailing list.
|
|
|
23
23
|
|
|
24
24
|
# COPYRIGHT
|
|
25
25
|
|
|
26
|
-
Copyright 2013-
|
|
26
|
+
Copyright 2013-2020 all contributors <dtas-all@nongnu.org>.\
|
|
27
27
|
License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
|
data/INSTALL
CHANGED
|
@@ -1,33 +1,24 @@
|
|
|
1
|
-
Uncommon for audio software, dtas is implemented in Ruby
|
|
1
|
+
Uncommon for audio software, dtas is currently implemented in Ruby
|
|
2
|
+
(and some Perl5).
|
|
2
3
|
|
|
3
4
|
The latest stable release or development snapshot of Ruby is recommended.
|
|
4
|
-
However, Ruby
|
|
5
|
+
However, Ruby 2.3 and later works, but older versions of Ruby do not.
|
|
5
6
|
|
|
6
7
|
SoX is a dependency of dtas-player. While not _strictly_ required,
|
|
7
8
|
dtas-player uses SoX by default and you will need it unless you've
|
|
8
9
|
reconfigured dtas-player to use something else.
|
|
9
10
|
|
|
10
11
|
mp3gain is required if you want to use ReplayGain with MP3s
|
|
12
|
+
(it is no longer in new versions of Debian)
|
|
11
13
|
|
|
12
14
|
If you only intend to use dtas-cueedit, you will need metaflac(1) from
|
|
13
15
|
the FLAC package.
|
|
14
16
|
|
|
15
|
-
Debian
|
|
17
|
+
Debian 10+ users can install dependencies easily:
|
|
16
18
|
|
|
17
|
-
sudo apt-get install sox libsox-fmt-all
|
|
19
|
+
sudo apt-get install sox libsox-fmt-all flac ruby-dev ruby-charlock-holmes
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
Be sure to have Ruby development headers and a working C compiler.
|
|
22
|
-
This will pull in the sleepy_penguin RubyGems for minor
|
|
23
|
-
speedups. If you cannot be bothered to have a development
|
|
24
|
-
environment, just use "gem install dtas".
|
|
25
|
-
|
|
26
|
-
sudo gem install dtas-linux
|
|
27
|
-
|
|
28
|
-
This should pull in the "sleepy_penguin" RubyGems
|
|
29
|
-
|
|
30
|
-
For future upgrades of dtas (upgrades to dtas-linux will be infrequent)
|
|
21
|
+
For future upgrades of dtas
|
|
31
22
|
|
|
32
23
|
sudo gem update dtas
|
|
33
24
|
|
|
@@ -35,29 +26,30 @@ For future upgrades of dtas (upgrades to dtas-linux will be infrequent)
|
|
|
35
26
|
|
|
36
27
|
sudo gem install dtas
|
|
37
28
|
|
|
38
|
-
# installing dtas via tarball
|
|
29
|
+
# installing dtas via tarball
|
|
39
30
|
|
|
40
31
|
Grab the latest tarball from our HTTPS site:
|
|
41
32
|
|
|
42
|
-
https://80x24.org/dtas/
|
|
33
|
+
https://80x24.org/dtas/2022/dtas-0.20.0.tar.gz
|
|
43
34
|
|
|
44
|
-
$ tar zxvf dtas-0.
|
|
45
|
-
$ cd dtas-0.
|
|
46
|
-
$ sudo ruby setup.rb
|
|
35
|
+
$ tar zxvf dtas-0.20.0.tar.gz
|
|
36
|
+
$ cd dtas-0.20.0
|
|
47
37
|
|
|
48
|
-
|
|
38
|
+
# To install symlinks into ~/bin (assuming your Ruby executable is "ruby")
|
|
39
|
+
$ make symlink-install
|
|
49
40
|
|
|
50
|
-
|
|
41
|
+
# or using setup.rb:
|
|
42
|
+
$ sudo ruby setup.rb
|
|
51
43
|
|
|
52
44
|
# CONTACT
|
|
53
45
|
|
|
54
46
|
Please do not hesitate to send plain-text mail to <dtas-all@nongnu.org>
|
|
55
47
|
regarding installation and to share your notes/experiences.
|
|
56
48
|
Mailing list archives available at <https://80x24.org/dtas-all/> or
|
|
57
|
-
<
|
|
49
|
+
<https://lists.gnu.org/archive/html/dtas-all/>
|
|
58
50
|
No subscription is necessary to post to the mailing list.
|
|
59
51
|
|
|
60
52
|
# COPYRIGHT
|
|
61
53
|
|
|
62
|
-
Copyright
|
|
54
|
+
Copyright all contributors <dtas-all@nongnu.org>
|
|
63
55
|
License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
|
data/NEWS
CHANGED
|
@@ -1,3 +1,124 @@
|
|
|
1
|
+
# 0.20.0 / 2022-02-03
|
|
2
|
+
|
|
3
|
+
dtas 0.20.0 - ruby 3.1+ compatibility, splitfx improvements
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
This release catches up with Psych (YAML) changes in Ruby 3.1+
|
|
7
|
+
Ruby 2.3+ is now the minimum version, though keep in mind the
|
|
8
|
+
ruby-core team already dropped support for it long ago.
|
|
9
|
+
|
|
10
|
+
Most of the features are focused on audio engineering
|
|
11
|
+
capabilities of dtas-splitfx. dtas-splitfx gains the --filter
|
|
12
|
+
switch, along with per-track environment variables and comments.
|
|
13
|
+
These new features have made my workflow significantly better.
|
|
14
|
+
|
|
15
|
+
dtas-archive supports explicit comments, and omits the default
|
|
16
|
+
SoX comment. To better cope with temporary and modified files
|
|
17
|
+
during editing, dtas-player metadata now checks ctime before
|
|
18
|
+
reusing the cache, handy for frequently-modified files.
|
|
19
|
+
"dtas-tl prune" is now supported to cull temporary files from
|
|
20
|
+
the player tracklist.
|
|
21
|
+
|
|
22
|
+
There's a few dtas-console improvements, too.
|
|
23
|
+
|
|
24
|
+
28 changes since v0.19.0 (2021-09-05):
|
|
25
|
+
|
|
26
|
+
archive: support comments, default to none
|
|
27
|
+
splitfx: use Etc.nprocessors for jobs if unspecified
|
|
28
|
+
dtas-console: set X11 terminal title iff DISPLAY is set
|
|
29
|
+
dtas-console: add 'i' toggle to show comments (metadata)
|
|
30
|
+
splitfx: fix track_zpad with integer arg
|
|
31
|
+
doc: drop ordered map from examples
|
|
32
|
+
player: reduce syscalls when splicing to single target
|
|
33
|
+
dtas-console: support Wayland terminal titles, too
|
|
34
|
+
console: workaround safe warnings in outdated `curses' gem
|
|
35
|
+
require Ruby 2.3+
|
|
36
|
+
get rid of DTAS.dedupe_str wrapper
|
|
37
|
+
move dtas-graph into script/, support Perl for dtas.sh
|
|
38
|
+
use YAML.unsafe_load in Psych 4.x (Ruby 3.1+)
|
|
39
|
+
deduplicate and freeze pathnames + metadata
|
|
40
|
+
player: remove omap conversion
|
|
41
|
+
dtas: drop unnecessary "require 'yaml'" statements
|
|
42
|
+
dtas-tl prune: cull missing files from tracklist
|
|
43
|
+
dtas-tl: drop encoding hacks, use binary stdout+stderr
|
|
44
|
+
use IO#wait_readable consistently
|
|
45
|
+
get rid of DTAS::Nonblock wrapper for Ruby <= 2.0
|
|
46
|
+
unix_accepted: drop Ruby < 2.3 support code
|
|
47
|
+
do not check IO#closed? before calling IO#close
|
|
48
|
+
splitfx: support per-track environment variables
|
|
49
|
+
splitfx: add --filter option to limit match to comments
|
|
50
|
+
player: expire sox metadata cache on file st_ctime changes
|
|
51
|
+
readahead: do not call -@ on non-String
|
|
52
|
+
splitfx: disallow combining --trim and --filter
|
|
53
|
+
splitfx: document changes ahead of 0.20.0 release
|
|
54
|
+
|
|
55
|
+
# 0.19.0 / 2021-09-05
|
|
56
|
+
|
|
57
|
+
dtas 0.19.0 - odd pathname fixes
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Non-UTF-8-encoded pathnames now handled properly by dtas-mlib.
|
|
61
|
+
Shell-unfriendly filenames are handled properly if they require
|
|
62
|
+
ffmpeg (they were always handled properly when using sox).
|
|
63
|
+
|
|
64
|
+
Some minor URL and doc updates, too, and there's a new
|
|
65
|
+
"make symlink-install" target for users who lack permissions
|
|
66
|
+
to install RubyGems.
|
|
67
|
+
|
|
68
|
+
6 changes since v0.18.1 (2021-02-13):
|
|
69
|
+
|
|
70
|
+
mlib: pathnames may be blobs
|
|
71
|
+
README: replace NNTP URL with NNTPS
|
|
72
|
+
gemspec: allow building gem without setting VERSION
|
|
73
|
+
build: add "symlink-install" target
|
|
74
|
+
do not shell-quote filenames for environment
|
|
75
|
+
doc: use Tor v3 .onion URLs
|
|
76
|
+
|
|
77
|
+
# 0.18.1 / 2021-02-13
|
|
78
|
+
|
|
79
|
+
dtas 0.18.1
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
Mainly seek improvements to dtas-player. The fallback to use
|
|
83
|
+
charlock-holmes for strangely-encoded files is fixed.
|
|
84
|
+
|
|
85
|
+
7 changes since 0.18.0 (2020-02-03):
|
|
86
|
+
|
|
87
|
+
splitfx: reduce syscalls for writing comments file
|
|
88
|
+
splitfx: support --err-suffix option
|
|
89
|
+
player: fix +/- directional seeks while paused
|
|
90
|
+
README: update and add more URLs for archives
|
|
91
|
+
encoding: use CharlockHolmes properly on first run
|
|
92
|
+
dtas-console: gracefully handle seek failures
|
|
93
|
+
INSTALL: update dependencies for current Debian stable
|
|
94
|
+
|
|
95
|
+
# 0.18.0 / 2020-02-03
|
|
96
|
+
|
|
97
|
+
dtas 0.18.0
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
fiddle is now supported for Linux users without a C compiler or
|
|
101
|
+
Ruby headers installed to take advantage of inotify(7)
|
|
102
|
+
functionality and efficiency improvements with splice(2) and
|
|
103
|
+
eventfd(7).
|
|
104
|
+
|
|
105
|
+
For non-RubyGems users, there's some setup.rb fixes thanks
|
|
106
|
+
to James Rowe.
|
|
107
|
+
|
|
108
|
+
Eric Wong (8):
|
|
109
|
+
doc: fixup leftover ftp://lists.gnu.org links
|
|
110
|
+
pipe: avoid loading sleepy_penguin
|
|
111
|
+
provide fiddle-based eventfd implementation
|
|
112
|
+
buffer: replace sleepy_penguin with fiddle
|
|
113
|
+
watchable: use fiddle for inotify support
|
|
114
|
+
doc: remove most recommendations for sleepy_penguin
|
|
115
|
+
INSTALL: s/bogomips.org/yhbt.net/
|
|
116
|
+
doc: update copyrights for 2020
|
|
117
|
+
|
|
118
|
+
James Rowe (2):
|
|
119
|
+
setup: update to use RbConfig
|
|
120
|
+
setup: fix duplicate variable warning
|
|
121
|
+
|
|
1
122
|
# 0.17.0 / 2019-11-14
|
|
2
123
|
|
|
3
124
|
dtas 0.17.0
|
data/README
CHANGED
|
@@ -74,19 +74,25 @@ All feedback (comments, results, feature requests, bug reports, patches,
|
|
|
74
74
|
pull-requests) via plain-text mail to the mailing list is very much
|
|
75
75
|
appreciated.
|
|
76
76
|
|
|
77
|
-
Please send plain-text mail to the list at <dtas-all@nongnu.org
|
|
78
|
-
HTML mail will not be read. dtas is for GUI-phobes, by GUI-phobes
|
|
79
|
-
Mailing list archives available at <
|
|
80
|
-
|
|
77
|
+
Please send plain-text mail to the list at <dtas-all@nongnu.org>
|
|
78
|
+
HTML mail will not be read. dtas is for GUI-phobes, by GUI-phobes.
|
|
79
|
+
Mailing list archives available at <https://80x24.org/dtas-all/> or
|
|
80
|
+
<https://lists.gnu.org/archive/html/dtas-all/>.
|
|
81
|
+
|
|
81
82
|
No subscription is necessary to post to the mailing list.
|
|
82
83
|
You may also read via:
|
|
83
|
-
NNTP: <
|
|
84
|
-
<nntp://
|
|
84
|
+
NNTP: <nntps://news.public-inbox.org/inbox.comp.audio.dtas>
|
|
85
|
+
<nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.audio.dtas>
|
|
86
|
+
<nntp://news.gmane.io/gmane.comp.audio.dtas.general>
|
|
87
|
+
IMAP: <imaps://anon:mous@public-inbox.org/inbox.comp.audio.dtas.0>
|
|
88
|
+
<imap://anon:mous@7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.audio.dtas.0>
|
|
85
89
|
Atom: <https://80x24.org/dtas-all/new.atom>
|
|
90
|
+
<http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/dtas-all/new.atom>
|
|
91
|
+
(.onion URLs require Tor: <https://www.torproject.org/>)
|
|
86
92
|
|
|
87
93
|
## Copyright
|
|
88
94
|
|
|
89
|
-
Copyright
|
|
95
|
+
Copyright all contributors <dtas-all@nongnu.org>
|
|
90
96
|
License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
|
|
91
97
|
|
|
92
98
|
dtas is copyrighted Free Software by all contributors, see logs
|
data/Rakefile
CHANGED