dtas 0.17.0 → 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- 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