dtas 0.13.1 → 0.14.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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/Documentation/.gitignore +1 -0
  3. data/Documentation/GNUmakefile +28 -5
  4. data/Documentation/dtas-archive.pod +74 -0
  5. data/Documentation/dtas-console.pod +94 -0
  6. data/Documentation/{dtas-ctl.txt → dtas-ctl.pod} +21 -19
  7. data/Documentation/dtas-cueedit.pod +38 -0
  8. data/Documentation/dtas-enq.pod +43 -0
  9. data/Documentation/dtas-env.pod +75 -0
  10. data/Documentation/{dtas-msinkctl.txt → dtas-msinkctl.pod} +18 -14
  11. data/Documentation/{dtas-player.txt → dtas-player.pod} +34 -33
  12. data/Documentation/dtas-player_effects.pod +103 -0
  13. data/Documentation/dtas-player_protocol.pod +460 -0
  14. data/Documentation/{dtas-player_sink_examples.txt → dtas-player_sink_examples.pod} +25 -21
  15. data/Documentation/{dtas-sinkedit.txt → dtas-sinkedit.pod} +34 -24
  16. data/Documentation/{dtas-sourceedit.txt → dtas-sourceedit.pod} +34 -25
  17. data/Documentation/dtas-splitfx.pod +271 -0
  18. data/Documentation/dtas-tl.pod +129 -0
  19. data/Documentation/dtas-xdelay.pod +96 -0
  20. data/Documentation/update-footer.rb +16 -12
  21. data/GIT-VERSION-GEN +1 -1
  22. data/GNUmakefile +1 -1
  23. data/INSTALL +3 -3
  24. data/Rakefile +11 -4
  25. data/bin/dtas-console +1 -1
  26. data/bin/dtas-mlib +3 -1
  27. data/bin/dtas-tl +0 -1
  28. data/lib/dtas/format.rb +1 -1
  29. data/lib/dtas/mlib.rb +28 -19
  30. data/lib/dtas/partstats.rb +1 -1
  31. data/lib/dtas/player.rb +1 -1
  32. data/lib/dtas/player/client_handler.rb +18 -4
  33. data/lib/dtas/source/av_ff_common.rb +1 -0
  34. data/lib/dtas/source/mp3gain.rb +1 -1
  35. data/lib/dtas/source/sox.rb +8 -4
  36. data/lib/dtas/source/splitfx.rb +4 -0
  37. data/lib/dtas/tracklist.rb +19 -8
  38. metadata +20 -18
  39. data/Documentation/dtas-archive.txt +0 -62
  40. data/Documentation/dtas-console.txt +0 -73
  41. data/Documentation/dtas-cueedit.txt +0 -36
  42. data/Documentation/dtas-enq.txt +0 -41
  43. data/Documentation/dtas-env.txt +0 -60
  44. data/Documentation/dtas-player_effects.txt +0 -57
  45. data/Documentation/dtas-player_protocol.txt +0 -326
  46. data/Documentation/dtas-splitfx.txt +0 -188
  47. data/Documentation/dtas-tl.txt +0 -96
  48. data/Documentation/dtas-xdelay.txt +0 -76
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 22d6c76202aedaacaf6ed0beb48a801f4d7f5e45
4
- data.tar.gz: f7f54c79b652b9539f8b639c42ffb89bf041b161
3
+ metadata.gz: 6a8368223a46a5e0444391029757906680b7c542
4
+ data.tar.gz: b5c51de31c4fcf739c16c177b07ed593897bf83a
5
5
  SHA512:
6
- metadata.gz: c47a803a3f398c8ceaddfe17f50ff5a23028688effca8baa3d3c0ecaf71d842b8905a91a25b4a8fb2908af00f32bf908f4850011a0bb529e8e218ccbdfcf36f8
7
- data.tar.gz: 9fe65caf3eb58e7faefda98952d2ba44f97b10c45f5d6cc5d7a86780d105e4c5b22fc0f04fb55ff4d6ceaa03e77361caca6776e3bf8dd6235701883b52df50b8
6
+ metadata.gz: 712fb210c0b372c2f3d170345c84f62dce8bd694544c4bc06d04401b5be7eb6e39719d7ad59954f8b2d49aaa9fad24bf20f9b4462c255ece9f864c42fcea6ba3
7
+ data.tar.gz: 694d7d60ff9d65a2cb23b6904821852f613fac748559930d6d889cfc7ebdcea4e75682237a2b19c092ec4bef30fe6e7b734f66daa0ed593b31d94d3328810d26
@@ -3,3 +3,4 @@
3
3
  *.1
4
4
  *.5
5
5
  *.7
6
+ *.txt
@@ -3,12 +3,18 @@
3
3
  all::
4
4
 
5
5
  INSTALL = install
6
- PANDOC = pandoc
7
- PANDOC_OPTS = -f markdown --email-obfuscation=none
8
- pandoc = $(PANDOC) $(PANDOC_OPTS)
6
+ POD2MAN = pod2man
7
+ -include ../GIT-VERSION-FILE
8
+ release := dtas $(VERSION)
9
+ POD2MAN_OPTS = -v -r '$(release)' --stderr -d 1994-10-02 -c 'dtas user manual'
10
+ pod2man = $(POD2MAN) $(POD2MAN_OPTS)
11
+ POD2TEXT = pod2text
12
+ POD2TEXT_OPTS = --stderr
13
+ pod2text = $(POD2TEXT) $(POD2TEXT_OPTS)
9
14
 
10
15
  m1 =
11
16
  m1 += dtas-console
17
+ m1 += dtas-cueedit
12
18
  m1 += dtas-ctl
13
19
  m1 += dtas-enq
14
20
  m1 += dtas-msinkctl
@@ -23,6 +29,7 @@ m1 += dtas-archive
23
29
  m7 =
24
30
  m7 += dtas-player_protocol
25
31
  m7 += dtas-player_sink_examples
32
+ m7 += dtas-player_effects
26
33
  m7 += dtas-env
27
34
 
28
35
  man1 := $(addsuffix .1, $(m1))
@@ -47,8 +54,24 @@ install-man: man
47
54
  $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir)
48
55
  $(INSTALL) -m 644 $(man1) $(DESTDIR)$(man1dir)
49
56
  $(INSTALL) -m 644 $(man7) $(DESTDIR)$(man7dir)
50
- %.1 %.7 : %.txt
51
- $(pandoc) -s -t man < $< > $@
57
+
58
+ %.1 : %.pod
59
+ $(pod2man) -s 1 $< $@+ && mv $@+ $@
60
+
61
+ %.7 : %.pod
62
+ $(pod2man) -s 7 $< $@+ && mv $@+ $@
63
+
64
+ mantxt = $(addsuffix .txt, $(m1) $(m7))
65
+
66
+ txt :: $(mantxt)
67
+
68
+ all :: txt
69
+
70
+ %.txt : %.pod
71
+ $(pod2text) $< $@+
72
+ touch -r $< $@+ 2>/dev/null || true # GNU-ism
73
+ mv $@+ $@
52
74
 
53
75
  clean::
54
76
  $(RM) $(man1) $(man7)
77
+ $(RM) $(addsuffix .txt.gz, $(m1) $(m7))
@@ -0,0 +1,74 @@
1
+ % dtas-archive(1) dtas user manual
2
+
3
+ =head1 NAME
4
+
5
+ dtas-archive - paranoid audio file copy
6
+
7
+ =head1 SYNOPSYS
8
+
9
+ dtas-archive [OPTIONS] SOURCE DESTINATION
10
+
11
+ =head1 DESCRIPTION
12
+
13
+ dtas-archive is intended for archiving audio data to/from laptops,
14
+ marginal USB ports, and computers without ECC memory, attempting
15
+ to read data multiple times in an attempt to detect memory or
16
+ bus corruption. dtas-archive may only be effective on machines
17
+ running the Linux kernel where L<posix_fadvise(2)> can be used to
18
+ drop caches for a particular file after L<fsync(2)>.
19
+
20
+ dtas-archive spawns L<sox(1)> to archive audio data (likely uncompressed
21
+ WAVE) to FLAC and verifies the result using L<sndfile-cmp(1)>, a tool
22
+ implemented by different than sox and less likely to share the same bugs
23
+ (if any) as sox.
24
+
25
+ =head1 OPTIONS
26
+
27
+ =over
28
+
29
+ =item -j, --jobs [JOBS]
30
+
31
+ Number of jobs to run in parallel. Incrementing this may hurt
32
+ performance on slow storage devices. Default: 1
33
+
34
+ =item -n, --dry-run
35
+
36
+ Print, but do not run the commands to be executed
37
+
38
+ =item -s, --quiet, --silent
39
+
40
+ Silent operation, commands are not printed as executed
41
+
42
+ =item -S, --stats
43
+
44
+ Run and save the text output of the sox "stats" effect as
45
+ $DESTINATION_FILE_WITHOUT_SUFFIX.stats next to the output file
46
+
47
+ =item -k, --keep-going
48
+
49
+ Continue after error
50
+
51
+ =item -r, --repeat [COUNT]
52
+
53
+ Number of times to repeat the L<sndfile-cmp(1)> check. Default: 1
54
+
55
+ =back
56
+
57
+ =head1 COPYRIGHT
58
+
59
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
60
+
61
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
62
+
63
+ =head1 CONTACT
64
+
65
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
66
+
67
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
68
+ and L<ftp://lists.gnu.org/dtas-all/>
69
+
70
+ No subscription is necessary to post to the mailing list.
71
+
72
+ =head1 SEE ALSO
73
+
74
+ L<sndfile-cmp(1)>, L<sox(1)>
@@ -0,0 +1,94 @@
1
+ % L<dtas-console(1)> dtas user manual
2
+
3
+ =head1 NAME
4
+
5
+ dtas-console - rudimentary curses console client for dtas-player
6
+
7
+ =head1 SYNOPSIS
8
+
9
+ dtas-console
10
+
11
+ =head1 DESCRIPTION
12
+
13
+ dtas-console displays the elapsed decoder time of the track, which can be
14
+ used as an approximation of the current playback time of a track.
15
+
16
+ It cannot display an accurate playback time due to variable buffering
17
+ in the sinks and pipes.
18
+
19
+ See L<dtas-player_protocol(7)> for a detailed description of the protocol.
20
+
21
+ =head1 KEYBOARD CONTROL
22
+
23
+ Key bindings are inspired partially by L<mplayer(1)>
24
+
25
+ =over
26
+
27
+ =item 'j'/'k' - seek backward/forward 5 seconds
28
+
29
+ =item LEFT/RIGHT - seek backward/forward 10 seconds
30
+
31
+ =item UP/DOWN - seek forward/backward 1 minute
32
+
33
+ =item PGUP/PGDWN - seek forward/backward 10 minutes
34
+
35
+ =item SPACE - toggle play/pause state of the playback
36
+
37
+ =item 'p'/'P' - decrease/increase timer resolution
38
+
39
+ =item BACKSPACE - seek to the beginning of the track
40
+
41
+ =item 7/8 - decrease/increase ReplayGain preamp
42
+
43
+ =item 9/0 - decrease/increase software volume
44
+
45
+ =item '=' - set software volume to 1.0 (no adjustment)
46
+
47
+ =item 'm' - mute set software volume to 0.0 (mute)
48
+
49
+ =item 'f'/'F' - decrease/increase ReplayGain fallback_gain value
50
+
51
+ =item 'r'/'R' - cycle forward/backwards through ReplayGain modes
52
+
53
+ =item 'q'/Ctrl-C - exit dtas-console
54
+
55
+ =item 'o' - toggle display between HH:MM:SS and absolute seconds
56
+
57
+ =back
58
+
59
+ =head1 ENVIRONMENT
60
+
61
+ DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
62
+ This defaults to ~/.dtas/player.sock
63
+
64
+ =head1 CAVEATS
65
+
66
+ Increasing timer resolution increases the number of CPU wakeups and
67
+ power consumption. This defeats the efforts of dtas-player
68
+ configurations which use large buffers (especially in the sink) to
69
+ reduce wakeups and power consumption.
70
+
71
+ In rare cases (or poorly-configured systems), increased wakeups from
72
+ dtas-console will also increase contention with the sound card,
73
+ negatively affecting audio quality even if CPU utilization is not
74
+ a problem.
75
+
76
+ =head1 CONTACT
77
+
78
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
79
+
80
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
81
+ and L<ftp://lists.gnu.org/dtas-all/>
82
+
83
+ No subscription is necessary to post to the mailing list.
84
+
85
+ =head1 COPYRIGHT
86
+
87
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
88
+
89
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
90
+
91
+ =head1 SEE ALSO
92
+
93
+ L<dtas-player(1)>, L<dtas-player_protocol(7)>, L<dtas-ctl(1)>,
94
+ L<dtas-sinkedit(1)>, L<dtas-sourceedit(1)>
@@ -1,29 +1,28 @@
1
1
  % dtas-ctl(1) dtas user manual
2
- %
3
2
 
4
- # NAME
3
+ =head1 NAME
5
4
 
6
5
  dtas-ctl - low-level client for dtas-player
7
6
 
8
- # SYNOPSYS
7
+ =head1 SYNOPSYS
9
8
 
10
9
  dtas-ctl [ARGS...]
11
10
 
12
- # DESCRIPTION
11
+ =head1 DESCRIPTION
13
12
 
14
13
  dtas-ctl passes command-line arguments as-is to dtas-player. It is mainly
15
14
  useful for simple commands such as ("current", "play_pause", "pause", "play",
16
15
  "rg RGARGS", "seek HH:MM:SS", "skip").
17
16
 
18
- See dtas-player_protocol(7) for a detailed description of the protocol.
17
+ See L<dtas-player_protocol(7)> for a detailed description of the protocol.
19
18
 
20
- # EXAMPLES
19
+ =head1 EXAMPLES
21
20
 
22
21
  display the currently playing track
23
22
 
24
23
  $ dtas-ctl current
25
24
 
26
- enqueue a file for playback (dtas-enq(1) is easier to use, here)
25
+ enqueue a file for playback (L<dtas-enq(1)> is easier to use, here)
27
26
 
28
27
  $ dtas-ctl enq /absolute/path/to/file
29
28
 
@@ -49,28 +48,31 @@ skip to the next track
49
48
  $ dtas-ctl skip
50
49
 
51
50
  To play the output of an arbitrary command (note the quotes) and usage
52
- of $SOXFMT (see dtas-player_protocol(7)).
51
+ of $SOXFMT (see L<dtas-player_protocol(7)>).
53
52
 
54
53
  $ dtas-ctl enq-cmd 'sox -n $SOXFMT - synth 3 pluck'
55
54
 
56
- # ENVIRONMENT
55
+ =head1 ENVIRONMENT
57
56
 
58
57
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
59
58
  This defaults to ~/.dtas/player.sock
60
59
 
61
- # CONTACT
60
+ =head1 CONTACT
61
+
62
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
63
+
64
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
65
+ and L<ftp://lists.gnu.org/dtas-all/>
62
66
 
63
- All feedback welcome via plain-text mail to: <dtas-all@nongnu.org>\
64
- Mailing list archives available at <http://80x24.org/dtas-all/> and
65
- <ftp://lists.gnu.org/dtas-all/>\
66
67
  No subscription is necessary to post to the mailing list.
67
68
 
68
- # COPYRIGHT
69
+ =head1 COPYRIGHT
70
+
71
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
69
72
 
70
- Copyright 2013-2016 all contributors <dtas-all@nongnu.org>.\
71
- License: GPL-3.0+ <http://www.gnu.org/licenses/gpl-3.0.txt>
73
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
72
74
 
73
- # SEE ALSO
75
+ =head1 SEE ALSO
74
76
 
75
- dtas-player(1), dtas-player_protocol(7), dtas-enq(1), dtas-sinkedit(1),
76
- dtas-sourceedit(1)
77
+ L<dtas-player(1)>, L<dtas-player_protocol(7)>, L<dtas-enq(1)>,
78
+ L<dtas-sinkedit(1)>, L<dtas-sourceedit(1)>
@@ -0,0 +1,38 @@
1
+ % dtas-cueedit(1) dtas user manual
2
+
3
+ =head1 NAME
4
+
5
+ dtas-cueedit - edit embedded cuesheets in audio files
6
+
7
+ =head1 SYNOPSYS
8
+
9
+ dtas-cueedit /path/to/audio.flac
10
+
11
+ =head1 DESCRIPTION
12
+
13
+ dtas-cueedit spawns an editor to edit the embedded cuesheet in FLAC files.
14
+ In the future, other audio formats with embedded cuesheets may be supported.
15
+ Use with the L<metaflac(1)> is required.
16
+
17
+ =head1 ENVIRONMENT
18
+
19
+ VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
20
+
21
+ =head1 CONTACT
22
+
23
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
24
+
25
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
26
+ and L<ftp://lists.gnu.org/dtas-all/>
27
+
28
+ No subscription is necessary to post to the mailing list.
29
+
30
+ =head1 COPYRIGHT
31
+
32
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
33
+
34
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
35
+
36
+ =head1 SEE ALSO
37
+
38
+ L<metaflac(1)>
@@ -0,0 +1,43 @@
1
+ % dtas-enq(1) dtas user manual
2
+
3
+ =head1 NAME
4
+
5
+ dtas-enq - enqueue audio files for playback with dtas-player
6
+
7
+ =head1 SYNOPSYS
8
+
9
+ dtas-enq [FILE...]
10
+
11
+ =head1 DESCRIPTION
12
+
13
+ dtas-enq will enqueue a list of files given on the command-line to a
14
+ running instance of L<dtas-player(1)>. dtas-player will start playing
15
+ the newly enqueued files in the order given.
16
+
17
+ =head1 EXAMPLE
18
+
19
+ $ dtas-enq /path/to/your/favorite/album/*.flac
20
+
21
+ =head1 ENVIRONMENT
22
+
23
+ DTAS_PLAYER_SOCK - the path to the dtas-player listen socket.
24
+ This defaults to ~/.dtas/player.sock
25
+
26
+ =head1 CONTACT
27
+
28
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
29
+
30
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
31
+ and L<ftp://lists.gnu.org/dtas-all/>
32
+
33
+ No subscription is necessary to post to the mailing list.
34
+
35
+ =head1 COPYRIGHT
36
+
37
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
38
+
39
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
40
+
41
+ =head1 SEE ALSO
42
+
43
+ L<dtas-player(1)>, L<dtas-ctl(1)>
@@ -0,0 +1,75 @@
1
+ % dtas-env(7) dtas user manual
2
+
3
+ =head1 NAME
4
+
5
+ dtas-env - environment variables used through DTAS
6
+
7
+ =head1 DESCRIPTION
8
+
9
+ As dtas uses Bourne shell and exposes it to users, dtas should have
10
+ a cohesive set of common environment variables across its audio
11
+ production and playback environments. This attempts to document
12
+ them. Most of these environments are set and managed by dtas
13
+ itself, but users editing commands (e.g. via L<dtas-sourcedit(1)>
14
+ should be aware of them.
15
+
16
+ =head1 ENVIRONMENT
17
+
18
+ =over
19
+
20
+ =item ECAFMT
21
+
22
+ A snippet of command-line switches for ecasound describing
23
+ audio format parameters (such as word length, channels, sample rate),
24
+ see L<dtas-player_protocol(7)> for more info. (e.g. "-fs32_le,2,44100")
25
+
26
+ =item INFILE
27
+
28
+ The primary input file for playback or processing. (e.g. "/path/to/ex.flac")
29
+
30
+ =item RGFX
31
+
32
+ The sox effect used for applying ReplayGain compensation.
33
+ Only used during playback in dtas-player. (e.g. "gain -6.0").
34
+ Removing this prevents ReplayGain from working and may damage
35
+ playback equipment with loudly mastered music.
36
+
37
+ =item SOXFMT
38
+
39
+ A snippet of command-line switches for sox describing
40
+ audio format parameters (such as word length, channels, sample rate),
41
+ see L<dtas-player_protocol(7)> for more info. (e.g. "-ts32 -c2 -r44100")
42
+
43
+ =item TRIMFX
44
+
45
+ The sox effect used for seeking during playback with dtas-player
46
+ and track offsets for dtas-splitfx. (e.g. "trim 36000s")
47
+
48
+ Additionally, L<dtas-splitfx(1)> documents more environment variables
49
+ which are not used elsewhere.
50
+
51
+ =back
52
+
53
+ =head1 ENVIRONMENT FOR OTHER EXECUTABLES
54
+
55
+ By virtue of running other programs, dtas indirectly uses many
56
+ commonly-accepted environment variables such as EDITOR / VISUAL for
57
+ selecting a text editor, and SOX_OPTS, AUDIODEV, AUDIODRIVER for L<sox(1)>
58
+ and L<play(1)> commands and LADSPA_PATH for anything using LADSPA plugins
59
+ (including sox). The TMPDIR environment variable controls where
60
+ temporary files are placed for most programs.
61
+
62
+ =head1 CONTACT
63
+
64
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
65
+
66
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
67
+ and L<ftp://lists.gnu.org/dtas-all/>
68
+
69
+ No subscription is necessary to post to the mailing list.
70
+
71
+ =head1 COPYRIGHT
72
+
73
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
74
+
75
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>