dtas 0.13.1 → 0.14.0

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