dtas 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/Documentation/dtas-console.txt +6 -0
  3. data/Documentation/dtas-ctl.txt +6 -0
  4. data/Documentation/dtas-cueedit.txt +6 -0
  5. data/Documentation/dtas-enq.txt +6 -0
  6. data/Documentation/dtas-msinkctl.txt +6 -0
  7. data/Documentation/dtas-player.txt +21 -14
  8. data/Documentation/dtas-player_effects.txt +6 -0
  9. data/Documentation/dtas-player_protocol.txt +14 -0
  10. data/Documentation/dtas-player_sink_examples.txt +30 -0
  11. data/Documentation/dtas-sinkedit.txt +6 -0
  12. data/Documentation/dtas-sourceedit.txt +15 -1
  13. data/Documentation/dtas-xdelay.txt +19 -6
  14. data/GIT-VERSION-GEN +1 -1
  15. data/GNUmakefile +20 -1
  16. data/HACKING +9 -0
  17. data/INSTALL +17 -10
  18. data/README +10 -10
  19. data/Rakefile +3 -1
  20. data/bin/dtas-console +7 -2
  21. data/bin/dtas-ctl +0 -3
  22. data/bin/dtas-cueedit +5 -6
  23. data/bin/dtas-enq +0 -1
  24. data/bin/dtas-msinkctl +0 -1
  25. data/bin/dtas-player +4 -2
  26. data/bin/dtas-sinkedit +0 -1
  27. data/bin/dtas-sourceedit +23 -9
  28. data/bin/dtas-xdelay +1 -1
  29. data/dtas-linux.gemspec +3 -1
  30. data/dtas-mpris.gemspec +0 -1
  31. data/lib/dtas.rb +0 -1
  32. data/lib/dtas/buffer.rb +0 -1
  33. data/lib/dtas/buffer/read_write.rb +0 -1
  34. data/lib/dtas/buffer/splice.rb +0 -1
  35. data/lib/dtas/command.rb +0 -1
  36. data/lib/dtas/compat_onenine.rb +0 -1
  37. data/lib/dtas/disclaimer.rb +5 -6
  38. data/lib/dtas/edit_client.rb +0 -1
  39. data/lib/dtas/format.rb +1 -5
  40. data/lib/dtas/pipe.rb +0 -1
  41. data/lib/dtas/player.rb +6 -2
  42. data/lib/dtas/player/client_handler.rb +33 -3
  43. data/lib/dtas/process.rb +5 -5
  44. data/lib/dtas/replaygain.rb +0 -1
  45. data/lib/dtas/rg_state.rb +3 -2
  46. data/lib/dtas/serialize.rb +0 -1
  47. data/lib/dtas/sigevent.rb +0 -1
  48. data/lib/dtas/sigevent/efd.rb +0 -1
  49. data/lib/dtas/sigevent/pipe.rb +0 -1
  50. data/lib/dtas/sink.rb +0 -1
  51. data/lib/dtas/source.rb +0 -1
  52. data/lib/dtas/source/av.rb +1 -2
  53. data/lib/dtas/source/av_ff_common.rb +67 -24
  54. data/lib/dtas/source/cmd.rb +0 -1
  55. data/lib/dtas/source/common.rb +0 -1
  56. data/lib/dtas/source/ff.rb +1 -2
  57. data/lib/dtas/source/file.rb +0 -1
  58. data/lib/dtas/source/mp3gain.rb +1 -2
  59. data/lib/dtas/source/sox.rb +6 -5
  60. data/lib/dtas/state_file.rb +2 -1
  61. data/lib/dtas/unix_accepted.rb +0 -1
  62. data/lib/dtas/unix_client.rb +5 -3
  63. data/lib/dtas/unix_server.rb +0 -1
  64. data/lib/dtas/util.rb +0 -1
  65. data/lib/dtas/writable_iter.rb +0 -1
  66. data/lib/dtas/xs.rb +14 -0
  67. data/setup.rb +0 -1
  68. data/test/covshow.rb +0 -1
  69. data/test/helper.rb +0 -1
  70. data/test/player_integration.rb +0 -1
  71. data/test/test_buffer.rb +0 -1
  72. data/test/test_format.rb +0 -1
  73. data/test/test_format_change.rb +0 -1
  74. data/test/test_player.rb +0 -1
  75. data/test/test_player_client_handler.rb +12 -1
  76. data/test/test_player_integration.rb +18 -1
  77. data/test/test_process.rb +7 -1
  78. data/test/test_rg_integration.rb +0 -1
  79. data/test/test_rg_state.rb +0 -1
  80. data/test/test_sink.rb +0 -1
  81. data/test/test_sink_pipe_size.rb +0 -1
  82. data/test/test_sink_tee_integration.rb +0 -1
  83. data/test/test_source_av.rb +2 -3
  84. data/test/test_source_sox.rb +0 -1
  85. data/test/test_unixserver.rb +0 -1
  86. data/test/test_util.rb +0 -1
  87. metadata +3 -5
  88. data/Documentation/troubleshooting.txt +0 -18
  89. data/pkg.mk +0 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e9e5176fd82702d4703c039551671370972414c
4
- data.tar.gz: 0a750d4c6b91e37f2abce38b09e89a01cfd3cc7c
3
+ metadata.gz: 5583678ac4bac1a9255750144a74b243f6344f47
4
+ data.tar.gz: 7635bf1345477bc6ff1ca269be15f79090de639c
5
5
  SHA512:
6
- metadata.gz: b3d5105bf83ec844c6f26c039b463e9f15440301bf775b085a37b5d3ef30f1cd17752b50fbcd5f31089d072a60c885170d6889519f25893f8373e3ca98b6df04
7
- data.tar.gz: c3f9423b2ba17cb6625896c66cbdaa53ec974cd032b33e263d6bd4c3a7f0ecfaa1aab8fcecd1b684e58f5f7bcf3051d2dd371637f841feb50660986e83aef571
6
+ metadata.gz: 15424a207857ad4b102b109c02890db06337a3772ea071230bd6e40fee9da4d64e2c5c1666ba95878d8015b9021f31629a76c38585a37648e60d02cc42a4127d
7
+ data.tar.gz: bfec766d9470d8d0a09f3b7b8d2db33f748de0086d5362923c9aaf773e6cb8dcc773438ec0949ec5fc3c12eb3ac808fc471faae7931994fd29e64fbfba9fd665
@@ -51,6 +51,12 @@ dtas-console will also increase contention with the sound card,
51
51
  negatively affecting audio quality even if CPU utilization is not
52
52
  a problem.
53
53
 
54
+ # CONTACT
55
+
56
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
57
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
58
+ No subscription is necessary to post to the mailing list.
59
+
54
60
  # COPYRIGHT
55
61
 
56
62
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -58,6 +58,12 @@ of $SOXFMT (see dtas-player_protocol(7)).
58
58
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
59
59
  This defaults to ~/.dtas/player.sock
60
60
 
61
+ # CONTACT
62
+
63
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
64
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
65
+ No subscription is necessary to post to the mailing list.
66
+
61
67
  # COPYRIGHT
62
68
 
63
69
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -19,6 +19,12 @@ Use with the metaflac(1) is required.
19
19
 
20
20
  VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
21
21
 
22
+ # CONTACT
23
+
24
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
25
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
26
+ No subscription is necessary to post to the mailing list.
27
+
22
28
  # COPYRIGHT
23
29
 
24
30
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -24,6 +24,12 @@ newly enqueued files in the order given.
24
24
  DTAS_PLAYER_SOCK - the path to the dtas-player listen socket.
25
25
  This defaults to ~/.dtas/player.sock
26
26
 
27
+ # CONTACT
28
+
29
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
30
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
31
+ No subscription is necessary to post to the mailing list.
32
+
27
33
  # COPYRIGHT
28
34
 
29
35
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -40,6 +40,12 @@ Remove SINK3 from the active set
40
40
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
41
41
  This defaults to ~/.dtas/player.sock
42
42
 
43
+ # CONTACT
44
+
45
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
46
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
47
+ No subscription is necessary to post to the mailing list.
48
+
43
49
  # COPYRIGHT
44
50
 
45
51
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -53,10 +53,13 @@ created and playing the audio.
53
53
 
54
54
  # TROUBLESHOOTING
55
55
 
56
+ ## Audio playback does not start
57
+
56
58
  The most common problem with dtas-player is the play(1) command
57
- (distributed with SoX) not using the correct audio device. Ensuring the
58
- play(1) command works with dtas-player is important. See the play(1)
59
- documentation for details.
59
+ (distributed with SoX) not using the correct audio device/driver.
60
+ Ensuring the play(1) command works with dtas-player is important.
61
+ Consult SoX documentation and mailing lists for getting play(1) to work,
62
+ first.
60
63
 
61
64
  Once you find the correct AUDIODEV/AUDIODRIVER environment variables,
62
65
  you may set them via dtas-ctl(1):
@@ -65,20 +68,18 @@ To play audio on my favorite USB DAC directly to ALSA, I use:
65
68
 
66
69
  $ dtas-ctl sink ed default env.AUDIODEV=hw:DAC env.AUDIODRIVER=alsa
67
70
 
68
- # ADVANCED EXAMPLES
69
-
70
- To configure a dumper sink (in addition to the "default" sink). Note
71
- the use of $SOXFMT, this will be automatically expanded to match the
72
- internal format of the player. The internal format of the player is
73
- described in dtas-player_protocol(7).
71
+ ## Seeking/playing audio from large video containers (e.g. VOB) fails
74
72
 
75
- $ dtas-ctl sink ed dumper command='sox $SOXFMT - /tmp/dump.sox'
73
+ This is a problem with large VOBs. We recommend breaking up the
74
+ VOB into smaller files or using avconv(1) or ffmpeg(1) to extract
75
+ the desired audio stream.
76
76
 
77
- Non-"default" sinks are not active by default, but may be made active.
77
+ avconv -analyzeduration 2G -probesize 2G \
78
+ -i input.vob -vn -sn -c:a copy -map 0:$STREAM_NR output.ext
78
79
 
79
- $ dtas-ctl sink ed dumper active=true
80
+ # ADVANCED EXAMPLES
80
81
 
81
- Changing it again to "active=false" will deactivate the sink.
82
+ See dtas_player-sink_examples(7) for more sink examples.
82
83
 
83
84
  # ENVIRONMENT
84
85
 
@@ -104,6 +105,12 @@ exist in the source file:
104
105
  ~/.dtas/player_state.yml is a human-readable YAML file used to preserve
105
106
  state across restarts of dtas-player.
106
107
 
108
+ # CONTACT
109
+
110
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
111
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
112
+ No subscription is necessary to post to the mailing list.
113
+
107
114
  # COPYRIGHT
108
115
 
109
116
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -112,4 +119,4 @@ License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
112
119
  # SEE ALSO
113
120
 
114
121
  dtas-player_protocol(7), dtas-ctl(1), dtas-enq(1), dtas-sourceedit(1),
115
- dtas-sinkedit(1), sox(1), play(1), screen(1), tmux(1)
122
+ dtas-sinkedit(1), sox(1), play(1), avconv(1), ffmpeg(1), screen(1), tmux(1)
@@ -44,6 +44,12 @@ They are applied in the order described.
44
44
  - dither
45
45
  - remix (static channel mappings)
46
46
 
47
+ # CONTACT
48
+
49
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
50
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
51
+ No subscription is necessary to post to the mailing list.
52
+
47
53
  # COPYRIGHT
48
54
 
49
55
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -203,10 +203,24 @@ Commands here should be alphabetized according to `LC_ALL=C sort'
203
203
  1. input type (flac/opus/mp3/etc)
204
204
  2. transport protocol (local FS/http/ftp/sftp/etc)
205
205
 
206
+ * state dump [FILENAME]
207
+ Immediately dump the state of the player. If a FILENAME is specified,
208
+ the state is written to that file. Otherwise, the default state file
209
+ (configured via DTAS_PLAYER_STATE environment variable, defaulting
210
+ to ~/.dtas/player_state.yml) is written to. This does not use fsync(2),
211
+ users requiring fsync should open(2) that file and fsync(2) it
212
+ themselves if necessary.
213
+
206
214
  * watch - adds the client to the passive watch list for notifications.
207
215
  It is recommended clients issue no further commands and open
208
216
  another client socket to issue non-watch commands.
209
217
 
218
+ # CONTACT
219
+
220
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
221
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
222
+ No subscription is necessary to post to the mailing list.
223
+
210
224
  # COPYRIGHT
211
225
 
212
226
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -11,6 +11,8 @@ dtas-sinkedit SINKNAME
11
11
 
12
12
  # EXAMPLES
13
13
 
14
+ ## Streaming Ogg-Vorbis to Icecast
15
+
14
16
  To use oggfwd(1) and Icecast, the following sink works.
15
17
  Warning: the following example will likely expose your Icecast source
16
18
  password to any local users on the system.
@@ -20,6 +22,8 @@ password to any local users on the system.
20
22
  name: oggfwd
21
23
  command: sox $SOXFMT - -t ogg - | oggfwd $HOST $PORT $PASS /dtas.ogg
22
24
 
25
+ ## Stream to a remote host via ssh
26
+
23
27
  Alternatively, if you have play(1) installed on any remote host and
24
28
  a slow connection using Ogg-Vorbis:
25
29
 
@@ -42,10 +46,36 @@ the above Ogg-Vorbis example.
42
46
  name: ssh-remote
43
47
  command: ssh $HOST env AUDIODEV=... play -q $SOXFMT -
44
48
 
49
+ ## Dump audio to a file during playback
50
+
51
+ To configure a dumper sink (in addition to the "default" sink). Note
52
+ the use of $SOXFMT, this will be automatically expanded to match the
53
+ internal format of the player. The internal format of the player is
54
+ described in dtas-player_protocol(7).
55
+
56
+ $ dtas-ctl sink ed dumper command='sox $SOXFMT - /tmp/dump.sox'
57
+
58
+ Non-"default" sinks are not active by default, but may be made active.
59
+
60
+ $ dtas-ctl sink ed dumper active=true
61
+
62
+ Changing it again to "active=false" will deactivate the sink.
63
+
64
+ ## Apply a short delay to low frequencies to improve time-alignment
65
+
66
+ See dtas-xdelay(1).
67
+
68
+ # CONTACT
69
+
70
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
71
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
72
+ No subscription is necessary to post to the mailing list.
73
+
45
74
  # COPYRIGHT
46
75
 
47
76
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
48
77
  License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
49
78
 
50
79
  # SEE ALSO
80
+ dtas-ctl(1), dtas-sinkedit(1), dtas-xdelay(1),
51
81
  sox(1), play(1), oggfwd(1), ssh(1), ssh_config(5), env(1)
@@ -36,6 +36,12 @@ VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
36
36
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
37
37
  This defaults to ~/.dtas/player.sock
38
38
 
39
+ # CONTACT
40
+
41
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
42
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
43
+ No subscription is necessary to post to the mailing list.
44
+
39
45
  # COPYRIGHT
40
46
 
41
47
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -12,7 +12,10 @@ dtas-sourceedit {sox | av | ff}
12
12
  # DESCRIPTION
13
13
 
14
14
  dtas-sourceedit spawns an editor to allow editing of a source as a YAML file.
15
- See dtas-player_protocol(7) for details on SOURCEARGS.
15
+ See dtas-player_protocol(7) for details on SOURCEARGS. If standard input is
16
+ a pipe or file, it is parsed as YAML and fed to the dtas-player(1) instance
17
+ non-interactively. This is useful for loading various profiles from the
18
+ filesystem.
16
19
 
17
20
  # EXAMPLES
18
21
 
@@ -20,6 +23,11 @@ Invoking dtas-sourceedit will spawn your favorite text editor on "sox":
20
23
 
21
24
  $ dtas-sourceedit sox
22
25
 
26
+ To load an existing YAML profile for sox. saved.yml could be the output
27
+ of a previous "dtas-ctl source cat sox" invocation:
28
+
29
+ $ dtas-sourceedit sox < saved.yml
30
+
23
31
  To change the way dtas-player calls avconv (part of libav):
24
32
 
25
33
  $ dtas-sourceedit av
@@ -35,6 +43,12 @@ VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
35
43
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
36
44
  This defaults to ~/.dtas/player.sock
37
45
 
46
+ # CONTACT
47
+
48
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
49
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
50
+ No subscription is necessary to post to the mailing list.
51
+
38
52
  # COPYRIGHT
39
53
 
40
54
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
@@ -40,17 +40,30 @@ To set this via dtas-player to delay the high frequencies by 20ms.
40
40
 
41
41
  # ENVIRONMENT
42
42
 
43
- SOXFMT - this environment is automatically set if used as a dtas-player
44
- sink
43
+ SOXFMT, CHANNELS - these environment variables are automatically set if
44
+ used as a dtas-player sink
45
45
 
46
46
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
47
47
  This defaults to ~/.dtas/player.sock
48
48
 
49
+ AUDIODEV, AUDIODRIVER - these influence the device/driver used by play(1)
50
+ Consult play(1) for details.
51
+
52
+ SOX_OPTS - this influences options passed to sox(1) or play(1)
53
+ Consult sox(1) for details.
54
+
49
55
  # NOTES
50
56
 
51
- The author of this knows little about signal processing and is just
52
- parroting things he's learned on the sox documentation and mailing list.
53
- Corrections greatly appreciated (email Eric Wong e@80x24.org)
57
+ The author of this (Eric Wong) knows little about signal processing and
58
+ is just parroting things he's learned on the sox documentation and
59
+ mailing list. Corrections to the <dtas-all@nongnu.org> mailing list are
60
+ greatly appreciated.
61
+
62
+ # CONTACT
63
+
64
+ All feedback welcome via plain-text mail to <dtas-all@nongnu.org>\
65
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
66
+ No subscription is necessary to post to the mailing list.
54
67
 
55
68
  # COPYRIGHT
56
69
 
@@ -59,4 +72,4 @@ License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
59
72
 
60
73
  # SEE ALSO
61
74
 
62
- dtas-player(1), dtas-player_protocol(7), dtas-ctl(1), sox(1)
75
+ dtas-player(1), dtas-player_protocol(7), dtas-ctl(1), sox(1), play(1)
@@ -3,7 +3,7 @@
3
3
  # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
4
4
  CONSTANT = "DTAS::VERSION"
5
5
  RVF = "lib/dtas/version.rb"
6
- DEF_VER = "v0.2.0"
6
+ DEF_VER = "v0.3.0"
7
7
  vn = DEF_VER
8
8
 
9
9
  # First see if there is a version file (included in release tarballs),
@@ -1,7 +1,23 @@
1
1
  # Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
2
2
  # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
3
3
  all::
4
- include pkg.mk
4
+
5
+ RUBY = ruby
6
+ GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
7
+ @./GIT-VERSION-GEN
8
+ -include GIT-VERSION-FILE
9
+ lib := lib
10
+
11
+ all:: test
12
+ test_units := $(wildcard test/test_*.rb)
13
+ test: test-unit
14
+ test-unit: $(test_units)
15
+ $(test_units):
16
+ $(RUBY) -I $(lib) $@ $(RUBY_TEST_OPTS)
17
+
18
+ check-warnings:
19
+ @(for i in $$(git ls-files '*.rb'| grep -v '^setup\.rb$$'); \
20
+ do $(RUBY) -d -W2 -c $$i; done) | grep -v '^Syntax OK$$' || :
5
21
 
6
22
  check: test
7
23
  coverage: export COVERAGE=1
@@ -9,3 +25,6 @@ coverage:
9
25
  > coverage.dump
10
26
  $(MAKE) check
11
27
  $(RUBY) ./test/covshow.rb
28
+
29
+ .PHONY: all .FORCE-GIT-VERSION-FILE test $(test_units)
30
+ .PHONY: check-warnings
data/HACKING CHANGED
@@ -11,6 +11,15 @@ serialization (dtas-player)
11
11
  * we avoid serializing default values to make the state file shorter and
12
12
  more suitable for human viewing and editing.
13
13
 
14
+ # CONTACT
15
+
16
+ We use git(7) and develop dtas on a public mailing list like git
17
+ developers do. Please send patches via git-send-email(1) to the public
18
+ mailing list at <dtas-all@nongnu.org>. Pull requests should be
19
+ formatted using git-request-pull(1).\
20
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
21
+ No subscription is necessary to post to the mailing list.
22
+
14
23
  # COPYRIGHT
15
24
 
16
25
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
data/INSTALL CHANGED
@@ -13,38 +13,38 @@ mp3gain is required if you use ReplayGain with MP3s
13
13
  If you only intend to use dtas-cueedit, you will need metaflac(1) from
14
14
  the FLAC package.
15
15
 
16
- Debian users can install sox, mp3gain, and flac dependencies easily:
16
+ Debian 7 users can install dependencies easily:
17
17
 
18
- apt-get install sox libsox-fmt-all mp3gain flac
18
+ sudo apt-get install sox libsox-fmt-all mp3gain flac ruby-dev
19
19
 
20
20
  # installing dtas RubyGem on GNU/Linux (Linux kernel 2.6.32+)
21
21
 
22
22
  Be sure to have Ruby development headers and a working C compiler.
23
23
  This will pull in the io_splice and sleepy_penguin RubyGems for minor
24
24
  speedups. If you cannot be bothered to have a development
25
- environment, just use "gem install dtas"
25
+ environment, just use "gem install dtas".
26
26
 
27
- gem install dtas-linux
27
+ sudo gem install dtas-linux
28
28
 
29
29
  This should pull in the "io_splice" and "sleepy_penguin" RubyGems
30
30
 
31
31
  For future upgrades of dtas (upgrades to dtas-linux will be infrequent)
32
32
 
33
- gem update dtas
33
+ sudo gem update dtas
34
34
 
35
35
  # installing the dtas RubyGem on non-GNU/Linux or old GNU/Linux systems
36
36
 
37
- gem install dtas
37
+ sudo gem install dtas
38
38
 
39
39
  # installing dtas via tarball and setup.rb
40
40
 
41
41
  Grab the latest tarball from our HTTP site:
42
42
 
43
- http://dtas.80x24.org/2013/dtas-0.1.I.tar.gz
43
+ http://dtas.80x24.org/2013/dtas-0.3.0.tar.gz
44
44
 
45
- $ tar zxvf dtas-0.1.I.tar.gz
46
- $ cd dtas-0.1.I
47
- $ ruby setup.rb
45
+ $ tar zxvf dtas-0.3.0.tar.gz
46
+ $ cd dtas-0.3.0
47
+ $ sudo ruby setup.rb
48
48
 
49
49
  GNU/Linux users may optionally install "io_splice" and
50
50
  "sleepy_penguin" packages:
@@ -52,6 +52,13 @@ GNU/Linux users may optionally install "io_splice" and
52
52
  * io_splice - http://bogomips.org/ruby_io_splice/
53
53
  * sleepy_penguin - http://bogomips.org/sleepy_penguin/
54
54
 
55
+ # CONTACT
56
+
57
+ Please do not hesitate to send plain-text mail to <dtas-all@nongnu.org>
58
+ regarding installation and to share your notes/experiences.
59
+ Mailing list archives available at <ftp://lists.gnu.org/dtas-all/>\
60
+ No subscription is necessary to post to the mailing list.
61
+
55
62
  # COPYRIGHT
56
63
 
57
64
  Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\