dtas.git  about / heads / tags
duct tape audio suite for *nix
   commit a738d4fd840e088d9a46dea2429c35ba8100df9d (patch)
   parent cd6065b doc: protocol: question source ed tryorder, minor edits
     tree 559fdb56ce69d480ce50c3fbd89345ab78cc984d
   author Eric Wong <normalperson@yhbt.net>  2013-08-28 00:15:47 +0000
committer Eric Wong <normalperson@yhbt.net>  2013-08-28 00:24:27 +0000

add license/copyright headers/footers to all files

All files we distribute in the tarball need to have a
copyright/license specified for Savannah.

We don't need the example state file anymore.
---
 .gitignore                                  |  2 ++
 Documentation/.gitignore                    |  2 ++
 Documentation/GNUmakefile                   |  2 ++
 Documentation/dtas-console.txt              |  5 +++
 Documentation/dtas-ctl.txt                  |  5 +++
 Documentation/dtas-cueedit.txt              |  5 +++
 Documentation/dtas-enq.txt                  |  5 +++
 Documentation/dtas-msinkctl.txt             |  5 +++
 Documentation/dtas-player.txt               |  5 +++
 Documentation/dtas-player_effects.txt       |  5 +++
 Documentation/dtas-player_protocol.txt      |  5 +++
 Documentation/dtas-player_sink_examples.txt |  5 +++
 Documentation/dtas-sinkedit.txt             |  5 +++
 Documentation/dtas-sourceedit.txt           |  5 +++
 Documentation/dtas-xdelay.txt               |  5 +++
 Documentation/troubleshooting.txt           |  5 +++
 GIT-VERSION-GEN                             |  2 +-
 GNUmakefile                                 |  2 ++
 HACKING                                     |  5 +++
 INSTALL                                     | 47 ++++++++++++++++-------------
 README                                      | 10 +++---
 Rakefile                                    | 10 ++++--
 TODO                                        |  5 +++
 bin/dtas-console                            |  2 +-
 bin/dtas-ctl                                |  2 +-
 bin/dtas-cueedit                            |  2 +-
 bin/dtas-enq                                |  2 +-
 bin/dtas-msinkctl                           |  2 +-
 bin/dtas-player                             |  2 +-
 bin/dtas-sinkedit                           |  2 +-
 bin/dtas-sourceedit                         |  2 +-
 bin/dtas-xdelay                             |  2 +-
 dtas-mpris.gemspec                          |  3 ++
 examples/dtas_state.yml                     | 18 -----------
 lib/dtas.rb                                 |  2 +-
 lib/dtas/buffer.rb                          |  2 +-
 lib/dtas/buffer/read_write.rb               |  2 +-
 lib/dtas/buffer/splice.rb                   |  2 +-
 lib/dtas/command.rb                         |  2 +-
 lib/dtas/compat_onenine.rb                  |  2 +-
 lib/dtas/disclaimer.rb                      |  2 +-
 lib/dtas/edit_client.rb                     |  2 +-
 lib/dtas/format.rb                          |  2 +-
 lib/dtas/pipe.rb                            |  2 +-
 lib/dtas/player.rb                          |  2 +-
 lib/dtas/player/client_handler.rb           |  2 +-
 lib/dtas/process.rb                         |  2 +-
 lib/dtas/replaygain.rb                      |  2 +-
 lib/dtas/rg_state.rb                        |  2 +-
 lib/dtas/serialize.rb                       |  2 +-
 lib/dtas/sigevent.rb                        |  2 +-
 lib/dtas/sigevent/efd.rb                    |  2 +-
 lib/dtas/sigevent/pipe.rb                   |  2 +-
 lib/dtas/sink.rb                            |  2 +-
 lib/dtas/source.rb                          |  2 +-
 lib/dtas/source/av.rb                       |  2 +-
 lib/dtas/source/av_ff_common.rb             |  2 +-
 lib/dtas/source/cmd.rb                      |  2 +-
 lib/dtas/source/common.rb                   |  2 +-
 lib/dtas/source/ff.rb                       |  2 +-
 lib/dtas/source/file.rb                     |  2 +-
 lib/dtas/source/mp3gain.rb                  |  2 +-
 lib/dtas/source/sox.rb                      |  2 +-
 lib/dtas/state_file.rb                      |  2 +-
 lib/dtas/unix_accepted.rb                   |  2 +-
 lib/dtas/unix_client.rb                     |  2 +-
 lib/dtas/unix_server.rb                     |  2 +-
 lib/dtas/util.rb                            |  2 +-
 lib/dtas/writable_iter.rb                   |  2 +-
 perl/dtas-graph                             |  2 +-
 pkg.mk                                      |  2 ++
 test/covshow.rb                             |  2 +-
 test/helper.rb                              |  2 +-
 test/player_integration.rb                  |  2 +-
 test/test_buffer.rb                         |  2 +-
 test/test_format.rb                         |  2 +-
 test/test_format_change.rb                  |  2 +-
 test/test_player.rb                         |  2 +-
 test/test_player_client_handler.rb          |  2 +-
 test/test_player_integration.rb             |  2 +-
 test/test_process.rb                        |  2 +-
 test/test_rg_integration.rb                 |  2 +-
 test/test_rg_state.rb                       |  2 +-
 test/test_sink.rb                           |  2 +-
 test/test_sink_pipe_size.rb                 |  2 +-
 test/test_sink_tee_integration.rb           |  2 +-
 test/test_source_av.rb                      |  2 +-
 test/test_source_sox.rb                     |  2 +-
 test/test_unixserver.rb                     |  2 +-
 test/test_util.rb                           |  2 +-
 90 files changed, 192 insertions(+), 111 deletions(-)

diff --git a/.gitignore b/.gitignore
index d40e467..6552961 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
+# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 /Manifest.txt
 /NEWS
 /pkg
diff --git a/Documentation/.gitignore b/Documentation/.gitignore
index 56fdc90..0eaac99 100644
--- a/Documentation/.gitignore
+++ b/Documentation/.gitignore
@@ -1,3 +1,5 @@
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
+# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 *.1
 *.5
 *.7
diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile
index db484ab..431e856 100644
--- a/Documentation/GNUmakefile
+++ b/Documentation/GNUmakefile
@@ -1,3 +1,5 @@
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
+# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 all::
 
 INSTALL = install
diff --git a/Documentation/dtas-console.txt b/Documentation/dtas-console.txt
index ac1bca2..8de066b 100644
--- a/Documentation/dtas-console.txt
+++ b/Documentation/dtas-console.txt
@@ -51,6 +51,11 @@ dtas-console will also increase contention with the sound card,
 negatively affecting audio quality even if CPU utilization is not
 a problem.
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player(1), dtas-player_protocol(7), dtas-ctl(1), dtas-sinkedit(1),
diff --git a/Documentation/dtas-ctl.txt b/Documentation/dtas-ctl.txt
index 68b6c74..e6029d6 100644
--- a/Documentation/dtas-ctl.txt
+++ b/Documentation/dtas-ctl.txt
@@ -58,6 +58,11 @@ of $SOXFMT (see dtas-player_protocol(7)).
 DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
 This defaults to ~/.dtas/player.sock
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player(1), dtas-player_protocol(7), dtas-enq(1), dtas-sinkedit(1),
diff --git a/Documentation/dtas-cueedit.txt b/Documentation/dtas-cueedit.txt
index 4d73721..2602697 100644
--- a/Documentation/dtas-cueedit.txt
+++ b/Documentation/dtas-cueedit.txt
@@ -19,6 +19,11 @@ Use with the metaflac(1) is required.
 
 VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 metaflac(1)
diff --git a/Documentation/dtas-enq.txt b/Documentation/dtas-enq.txt
index 1ef636c..77223f4 100644
--- a/Documentation/dtas-enq.txt
+++ b/Documentation/dtas-enq.txt
@@ -24,6 +24,11 @@ newly enqueued files in the order given.
 DTAS_PLAYER_SOCK - the path to the dtas-player listen socket.
 This defaults to ~/.dtas/player.sock
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player(1), dtas-ctl(1)
diff --git a/Documentation/dtas-msinkctl.txt b/Documentation/dtas-msinkctl.txt
index d6acb4c..bca2710 100644
--- a/Documentation/dtas-msinkctl.txt
+++ b/Documentation/dtas-msinkctl.txt
@@ -40,6 +40,11 @@ Remove SINK3 from the active set
 DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
 This defaults to ~/.dtas/player.sock
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player(1), dtas-player_protocol(7), dtas-ctl(1), dtas-sinkedit(1)
diff --git a/Documentation/dtas-player.txt b/Documentation/dtas-player.txt
index 7e8fbe4..0ec52c3 100644
--- a/Documentation/dtas-player.txt
+++ b/Documentation/dtas-player.txt
@@ -104,6 +104,11 @@ exist in the source file:
 ~/.dtas/player_state.yml is a human-readable YAML file used to preserve
 state across restarts of dtas-player.
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player_protocol(7), dtas-ctl(1), dtas-enq(1), dtas-sourceedit(1),
diff --git a/Documentation/dtas-player_effects.txt b/Documentation/dtas-player_effects.txt
index b6aab2b..2ea7264 100644
--- a/Documentation/dtas-player_effects.txt
+++ b/Documentation/dtas-player_effects.txt
@@ -43,3 +43,8 @@ They are applied in the order described.
   - rate
   - dither
   - remix (static channel mappings)
+
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
diff --git a/Documentation/dtas-player_protocol.txt b/Documentation/dtas-player_protocol.txt
index aa3eca4..6abe6fd 100644
--- a/Documentation/dtas-player_protocol.txt
+++ b/Documentation/dtas-player_protocol.txt
@@ -206,3 +206,8 @@ Commands here should be alphabetized according to `LC_ALL=C sort'
 * watch - adds the client to the passive watch list for notifications.
   It is recommended clients issue no further commands and open
   another client socket to issue non-watch commands.
+
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
diff --git a/Documentation/dtas-player_sink_examples.txt b/Documentation/dtas-player_sink_examples.txt
index eb3e1e1..cb85aa8 100644
--- a/Documentation/dtas-player_sink_examples.txt
+++ b/Documentation/dtas-player_sink_examples.txt
@@ -42,5 +42,10 @@ the above Ogg-Vorbis example.
     name: ssh-remote
     command: ssh $HOST env AUDIODEV=... play -q $SOXFMT -
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 sox(1), play(1), oggfwd(1), ssh(1), ssh_config(5), env(1)
diff --git a/Documentation/dtas-sinkedit.txt b/Documentation/dtas-sinkedit.txt
index 892320a..36316a5 100644
--- a/Documentation/dtas-sinkedit.txt
+++ b/Documentation/dtas-sinkedit.txt
@@ -36,6 +36,11 @@ VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
 DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
 This defaults to ~/.dtas/player.sock
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player(1), dtas-player_protocol(7), dtas-ctl(1)
diff --git a/Documentation/dtas-sourceedit.txt b/Documentation/dtas-sourceedit.txt
index 2a80dce..4a47107 100644
--- a/Documentation/dtas-sourceedit.txt
+++ b/Documentation/dtas-sourceedit.txt
@@ -35,6 +35,11 @@ VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
 DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
 This defaults to ~/.dtas/player.sock
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player(1), dtas-player_protocol(7), dtas-ctl(1)
diff --git a/Documentation/dtas-xdelay.txt b/Documentation/dtas-xdelay.txt
index e6544f1..610abeb 100644
--- a/Documentation/dtas-xdelay.txt
+++ b/Documentation/dtas-xdelay.txt
@@ -52,6 +52,11 @@ The author of this knows little about signal processing and is just
 parroting things he's learned on the sox documentation and mailing list.
 Corrections greatly appreciated (email Eric Wong e@80x24.org)
 
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
+
 # SEE ALSO
 
 dtas-player(1), dtas-player_protocol(7), dtas-ctl(1), sox(1)
diff --git a/Documentation/troubleshooting.txt b/Documentation/troubleshooting.txt
index e46b873..60fb68f 100644
--- a/Documentation/troubleshooting.txt
+++ b/Documentation/troubleshooting.txt
@@ -11,3 +11,8 @@ and ecasound(1).
 
   Consult SoX documentation and mailing lists for getting play(1) to work,
   first.
+
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 27fa311..ec0acbc 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,5 +1,5 @@
 #!/usr/bin/env ruby
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 CONSTANT = "DTAS::VERSION"
 RVF = "lib/dtas/version.rb"
diff --git a/GNUmakefile b/GNUmakefile
index 10399b4..5b7cf68 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,3 +1,5 @@
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
+# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 all::
 include pkg.mk
 
diff --git a/HACKING b/HACKING
index 88b675b..3f411ba 100644
--- a/HACKING
+++ b/HACKING
@@ -10,3 +10,8 @@ serialization (dtas-player)
 
 * we avoid serializing default values to make the state file shorter and
   more suitable for human viewing and editing.
+
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
diff --git a/INSTALL b/INSTALL
index 44c02f3..9b1b5ec 100644
--- a/INSTALL
+++ b/INSTALL
@@ -17,37 +17,42 @@ Debian users can install sox, mp3gain, and flac dependencies easily:
 
   apt-get install sox libsox-fmt-all mp3gain flac
 
-= installing dtas RubyGem on GNU/Linux (Linux kernel 2.6.32+)
+# installing dtas RubyGem on GNU/Linux (Linux kernel 2.6.32+)
 
-  Be sure to have Ruby development headers and a working C compiler.
-  This will pull in the io_splice and sleepy_penguin RubyGems for minor
-  speedups.  If you cannot be bothered to have a development
-  environment, just use "gem install dtas"
+Be sure to have Ruby development headers and a working C compiler.
+This will pull in the io_splice and sleepy_penguin RubyGems for minor
+speedups.  If you cannot be bothered to have a development
+environment, just use "gem install dtas"
 
-    gem install dtas-linux
+        gem install dtas-linux
 
-  This should pull in the "io_splice" and "sleepy_penguin" RubyGems
+This should pull in the "io_splice" and "sleepy_penguin" RubyGems
 
-  For future upgrades of dtas (upgrades to dtas-linux will be infrequent)
+For future upgrades of dtas (upgrades to dtas-linux will be infrequent)
 
-    gem update dtas
+        gem update dtas
 
-= installing the dtas RubyGem on non-GNU/Linux or old GNU/Linux systems
+# installing the dtas RubyGem on non-GNU/Linux or old GNU/Linux systems
 
-  gem install dtas
+        gem install dtas
 
-= installing dtas via tarball and setup.rb
+# installing dtas via tarball and setup.rb
 
-  Grab the latest tarball from our HTTP site:
+Grab the latest tarball from our HTTP site:
 
-  http://dtas.80x24.org/2013/dtas-0.1.I.tar.gz
+        http://dtas.80x24.org/2013/dtas-0.1.I.tar.gz
 
-  $ tar zxvf dtas-0.1.I.tar.gz
-  $ cd dtas-0.1.I
-  $ ruby setup.rb
+        $ tar zxvf dtas-0.1.I.tar.gz
+        $ cd dtas-0.1.I
+        $ ruby setup.rb
 
-  GNU/Linux users may optionally install "io_splice" and
-  "sleepy_penguin" packages:
+GNU/Linux users may optionally install "io_splice" and
+"sleepy_penguin" packages:
 
-  io_splice - http://bogomips.org/ruby_io_splice/
-  sleepy_penguin - http://bogomips.org/sleepy_penguin/
+    * io_splice - http://bogomips.org/ruby_io_splice/
+    * sleepy_penguin - http://bogomips.org/sleepy_penguin/
+
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
diff --git a/README b/README
index d25c7a1..d5f7457 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-= dtas - duct tape audio suite for *nix
+# dtas - duct tape audio suite for *nix
 
 Free Software command-line tools for audio playback, mastering, and
 whatever else related to audio.  dtas follows the worse-is-better
@@ -55,7 +55,7 @@ Coming:
 * better error handling, many bugfixes, etc...
 * better documentation
 
-== Source code
+## Source code
 
   git clone git://80x24.org/dtas
 
@@ -66,16 +66,16 @@ with git(7)) and send them via email.
 
 See http://www.git-scm.com/ for more information on git.
 
-== Contact
+## Contact
 
 Feedback (results, bug reports, patches, pull-requests) via plain-text
 email is very much appreciated.
 
-Please send plain-text email to Eric Wong <normalperson@yhbt.net>,
+Please send plain-text email to Eric Wong <normalperson@yhbt.net>.
 HTML will not be read.  dtas is for GUI-phobes, by GUI-phobes.
 Public mailing list coming soon.
 
-== License
+## Copyright
 
 dtas is copyrighted Free Software by all contributors, see logs
 in revision control for names and email addresses of all of them.
diff --git a/Rakefile b/Rakefile
index 27d7960..dd4f8b2 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,3 +1,5 @@
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
+# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 load "./GIT-VERSION-GEN"
 manifest = "Manifest.txt"
 gitidx = File.stat(".git/index") rescue nil
@@ -31,12 +33,16 @@
       time = Time.at(tagger.split(/ /)[-2].to_i).utc
       date = time.strftime("%Y-%m-%d")
 
-      fp.write("=== #{version} / #{date}\n\n#{subject}\n\n#{body}")
+      fp.write("# #{version} / #{date}\n\n#{subject}\n\n#{body}")
     end
     fp.flush
     if fp.size <= 5
       fp.puts "Unreleased"
     end
+
+    fp.write("\n# COPYRIGHT\n")
+    fp.puts "Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors"
+    fp.puts "License: GPLv3 or later (http://www.gnu.org/licenses/gpl-3.0.txt)"
   end
 end
 
@@ -96,7 +102,7 @@
 task tarball: "pkg/#{base}" do
   Dir.chdir("pkg") do
     tgz = "#{base}.tar.gz"
-    tmp = "#{tmp}.#$$"
+    tmp = "#{tgz}.#$$"
     sh "tar cf - #{base} | gzip -9 > #{tmp}"
     File.rename(tmp, tgz)
   end
diff --git a/TODO b/TODO
index ff966e3..c830916 100644
--- a/TODO
+++ b/TODO
@@ -2,3 +2,8 @@
   Obviously we can't have untrusted users executing arbitrary commands
 
 * tests for bin/*
+
+# COPYRIGHT
+
+Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.\
+License: GPLv3 or later <http://www.gnu.org/licenses/gpl-3.0.txt>
diff --git a/bin/dtas-console b/bin/dtas-console
index 682afc7..f60ae13 100755
--- a/bin/dtas-console
+++ b/bin/dtas-console
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 #
 # Note: no idea what I'm doing, especially w.r.t. curses
diff --git a/bin/dtas-ctl b/bin/dtas-ctl
index c05dc28..1c0a242 100755
--- a/bin/dtas-ctl
+++ b/bin/dtas-ctl
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'dtas/unix_client'
 
diff --git a/bin/dtas-cueedit b/bin/dtas-cueedit
index 3c03a78..ece4af1 100755
--- a/bin/dtas-cueedit
+++ b/bin/dtas-cueedit
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'tempfile'
 require 'shellwords'
diff --git a/bin/dtas-enq b/bin/dtas-enq
index e8ebd66..287c3f7 100755
--- a/bin/dtas-enq
+++ b/bin/dtas-enq
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'dtas/unix_client'
 c = DTAS::UNIXClient.new
diff --git a/bin/dtas-msinkctl b/bin/dtas-msinkctl
index a3cb8ce..00d8540 100755
--- a/bin/dtas-msinkctl
+++ b/bin/dtas-msinkctl
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'yaml'
 require 'dtas/unix_client'
diff --git a/bin/dtas-player b/bin/dtas-player
index 8b78771..75ec6a6 100755
--- a/bin/dtas-player
+++ b/bin/dtas-player
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 Thread.abort_on_exception = $stderr.sync = $stdout.sync = true
 require 'yaml'
diff --git a/bin/dtas-sinkedit b/bin/dtas-sinkedit
index bf97020..3e12415 100755
--- a/bin/dtas-sinkedit
+++ b/bin/dtas-sinkedit
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'dtas/edit_client'
 include DTAS::EditClient
diff --git a/bin/dtas-sourceedit b/bin/dtas-sourceedit
index 2a61e36..3de1c11 100755
--- a/bin/dtas-sourceedit
+++ b/bin/dtas-sourceedit
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'dtas/edit_client'
 include DTAS::EditClient
diff --git a/bin/dtas-xdelay b/bin/dtas-xdelay
index d5b6533..5ac63ae 100755
--- a/bin/dtas-xdelay
+++ b/bin/dtas-xdelay
@@ -1,6 +1,6 @@
 #!/usr/bin/env ruby
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 USAGE = "Usage: #$0 [-x FREQ] [-l] /dev/fd/LO /dev/fd/HI DELAY [DELAY ...]"
 require 'optparse'
diff --git a/dtas-mpris.gemspec b/dtas-mpris.gemspec
index bb42286..c6dd808 100644
--- a/dtas-mpris.gemspec
+++ b/dtas-mpris.gemspec
@@ -1,4 +1,7 @@
 # -*- encoding: binary -*-
+# Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.
+# License: GPLv2 or later <http://www.gnu.org/licenses/gpl-2.0.txt>
+# This is GPLv2+ instead of GPLv3+ because ruby-dbus is LGPLv2.1 (only)
 Gem::Specification.new do |s|
   s.name = %q{dtas-mpris}
   s.version = '0.0.0'
diff --git a/examples/dtas_state.yml b/examples/dtas_state.yml
deleted file mode 100644
index 592a93a..0000000
--- a/examples/dtas_state.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-socket: .dtas/player.sock
-sinks:
-- name: ODAC
-  command: |-
-    sox -t $SOX_FILETYPE -r $RATE -c $CHANNELS - \
-      -t s$SINK_BITS -r $SINK_RATE -c $SINK_CHANNELS - | \
-    aplay -D hw:DAC_1 -v -q -M --buffer-size=500000 --period-size=500 \
-      --disable-softvol --start-delay=100 \
-      --disable-format --disable-resample --disable-channels \
-      -t raw -c $SINK_CHANNELS -f S${SINK_BITS}_3LE -r $SINK_RATE
-  env:
-    SINK_BITS: 24
-    SINK_RATE: 44100
-    SINK_CHANNELS: 2
-- name: play
-  prio: -2
-  command: env AUDIODEV=hw:DAC play -t $SOX_FILETYPE -r $RATE -c $CHANNELS -
diff --git a/lib/dtas.rb b/lib/dtas.rb
index 43232fb..d51e8bd 100644
--- a/lib/dtas.rb
+++ b/lib/dtas.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 module DTAS # :nodoc:
 end
diff --git a/lib/dtas/buffer.rb b/lib/dtas/buffer.rb
index 1198b0c..6ae3cfc 100644
--- a/lib/dtas/buffer.rb
+++ b/lib/dtas/buffer.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../dtas'
 
diff --git a/lib/dtas/buffer/read_write.rb b/lib/dtas/buffer/read_write.rb
index aa8e0f6..5e816b2 100644
--- a/lib/dtas/buffer/read_write.rb
+++ b/lib/dtas/buffer/read_write.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'io/wait'
 require 'io/nonblock'
diff --git a/lib/dtas/buffer/splice.rb b/lib/dtas/buffer/splice.rb
index cc52f0d..2cbd16d 100644
--- a/lib/dtas/buffer/splice.rb
+++ b/lib/dtas/buffer/splice.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'io/wait'
 require 'io/nonblock'
diff --git a/lib/dtas/command.rb b/lib/dtas/command.rb
index 67f5768..b1b52ce 100644
--- a/lib/dtas/command.rb
+++ b/lib/dtas/command.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 # common code for wrapping SoX/ecasound/... commands
 require_relative 'serialize'
diff --git a/lib/dtas/compat_onenine.rb b/lib/dtas/compat_onenine.rb
index c78e7f2..f8040a5 100644
--- a/lib/dtas/compat_onenine.rb
+++ b/lib/dtas/compat_onenine.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 
 # Make Ruby 1.9.3 look like Ruby 2.0.0 to us
diff --git a/lib/dtas/disclaimer.rb b/lib/dtas/disclaimer.rb
index 5747971..9a02a28 100644
--- a/lib/dtas/disclaimer.rb
+++ b/lib/dtas/disclaimer.rb
@@ -1,6 +1,6 @@
 # -*- encoding: binary -*-
 # :enddoc:
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 DTAS_PROGNAME = File.basename($0)
 DTAS_DISCLAIMER = <<EOF
diff --git a/lib/dtas/edit_client.rb b/lib/dtas/edit_client.rb
index 3a6a9e9..50c8444 100644
--- a/lib/dtas/edit_client.rb
+++ b/lib/dtas/edit_client.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'tempfile'
 require 'yaml'
diff --git a/lib/dtas/format.rb b/lib/dtas/format.rb
index 98aa9db..35682a7 100644
--- a/lib/dtas/format.rb
+++ b/lib/dtas/format.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 # class represents an audio format (type/bits/channels/sample rate/...)
 require_relative '../dtas'
diff --git a/lib/dtas/pipe.rb b/lib/dtas/pipe.rb
index d61ac7a..c3cebca 100644
--- a/lib/dtas/pipe.rb
+++ b/lib/dtas/pipe.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 begin
   require 'io/splice'
diff --git a/lib/dtas/player.rb b/lib/dtas/player.rb
index a508488..73342bb 100644
--- a/lib/dtas/player.rb
+++ b/lib/dtas/player.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'yaml'
 require 'shellwords'
diff --git a/lib/dtas/player/client_handler.rb b/lib/dtas/player/client_handler.rb
index a85785b..f29db36 100644
--- a/lib/dtas/player/client_handler.rb
+++ b/lib/dtas/player/client_handler.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 module DTAS::Player::ClientHandler # :nodoc:
 
diff --git a/lib/dtas/process.rb b/lib/dtas/process.rb
index 8e2ca1b..5b11f14 100644
--- a/lib/dtas/process.rb
+++ b/lib/dtas/process.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'shellwords'
 require 'io/wait'
diff --git a/lib/dtas/replaygain.rb b/lib/dtas/replaygain.rb
index cbe7b57..8845b90 100644
--- a/lib/dtas/replaygain.rb
+++ b/lib/dtas/replaygain.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 #
 # Represents ReplayGain metadata for a DTAS::Source
diff --git a/lib/dtas/rg_state.rb b/lib/dtas/rg_state.rb
index 7244b75..bf6f972 100644
--- a/lib/dtas/rg_state.rb
+++ b/lib/dtas/rg_state.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 #
 # provides support for generating appropriate effects for ReplayGain
diff --git a/lib/dtas/serialize.rb b/lib/dtas/serialize.rb
index bd9e199..449c8d3 100644
--- a/lib/dtas/serialize.rb
+++ b/lib/dtas/serialize.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 module DTAS::Serialize # :nodoc:
   def ivars_to_hash(ivars, rv = {})
diff --git a/lib/dtas/sigevent.rb b/lib/dtas/sigevent.rb
index 402c06f..282dad9 100644
--- a/lib/dtas/sigevent.rb
+++ b/lib/dtas/sigevent.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 begin
   raise LoadError, "no eventfd with _DTAS_POSIX" if ENV["_DTAS_POSIX"]
diff --git a/lib/dtas/sigevent/efd.rb b/lib/dtas/sigevent/efd.rb
index 4de4df1..1fef013 100644
--- a/lib/dtas/sigevent/efd.rb
+++ b/lib/dtas/sigevent/efd.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 class DTAS::Sigevent < SleepyPenguin::EventFD # :nodoc:
   include SleepyPenguin
diff --git a/lib/dtas/sigevent/pipe.rb b/lib/dtas/sigevent/pipe.rb
index 34be51c..d85a81b 100644
--- a/lib/dtas/sigevent/pipe.rb
+++ b/lib/dtas/sigevent/pipe.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 class DTAS::Sigevent # :nodoc:
   attr_reader :to_io
diff --git a/lib/dtas/sink.rb b/lib/dtas/sink.rb
index 7ecc52b..0ce6237 100644
--- a/lib/dtas/sink.rb
+++ b/lib/dtas/sink.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'yaml'
 require_relative '../dtas'
diff --git a/lib/dtas/source.rb b/lib/dtas/source.rb
index 1093b18..4608150 100644
--- a/lib/dtas/source.rb
+++ b/lib/dtas/source.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../dtas'
 
diff --git a/lib/dtas/source/av.rb b/lib/dtas/source/av.rb
index 403048c..6005344 100644
--- a/lib/dtas/source/av.rb
+++ b/lib/dtas/source/av.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../../dtas'
 require_relative 'av_ff_common'
diff --git a/lib/dtas/source/av_ff_common.rb b/lib/dtas/source/av_ff_common.rb
index 36919e6..666adbd 100644
--- a/lib/dtas/source/av_ff_common.rb
+++ b/lib/dtas/source/av_ff_common.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../../dtas'
 require_relative '../source'
diff --git a/lib/dtas/source/cmd.rb b/lib/dtas/source/cmd.rb
index 2507101..3ea2049 100644
--- a/lib/dtas/source/cmd.rb
+++ b/lib/dtas/source/cmd.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../../dtas'
 require_relative '../source'
diff --git a/lib/dtas/source/common.rb b/lib/dtas/source/common.rb
index bece82c..7cc5f7c 100644
--- a/lib/dtas/source/common.rb
+++ b/lib/dtas/source/common.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 module DTAS::Source::Common # :nodoc:
   attr_reader :dst_zero_byte
diff --git a/lib/dtas/source/ff.rb b/lib/dtas/source/ff.rb
index db0e609..b8e6f6b 100644
--- a/lib/dtas/source/ff.rb
+++ b/lib/dtas/source/ff.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../../dtas'
 require_relative 'av_ff_common'
diff --git a/lib/dtas/source/file.rb b/lib/dtas/source/file.rb
index 3663d8d..d79dd88 100644
--- a/lib/dtas/source/file.rb
+++ b/lib/dtas/source/file.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../../dtas'
 require_relative '../source'
diff --git a/lib/dtas/source/mp3gain.rb b/lib/dtas/source/mp3gain.rb
index 03bc37a..fe0b642 100644
--- a/lib/dtas/source/mp3gain.rb
+++ b/lib/dtas/source/mp3gain.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../process'
 
diff --git a/lib/dtas/source/sox.rb b/lib/dtas/source/sox.rb
index 8ac7573..d030628 100644
--- a/lib/dtas/source/sox.rb
+++ b/lib/dtas/source/sox.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../../dtas'
 require_relative '../source'
diff --git a/lib/dtas/state_file.rb b/lib/dtas/state_file.rb
index b6f3617..05015ae 100644
--- a/lib/dtas/state_file.rb
+++ b/lib/dtas/state_file.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'yaml'
 require 'tempfile'
diff --git a/lib/dtas/unix_accepted.rb b/lib/dtas/unix_accepted.rb
index f1f08d4..c995364 100644
--- a/lib/dtas/unix_accepted.rb
+++ b/lib/dtas/unix_accepted.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'socket'
 require 'io/wait'
diff --git a/lib/dtas/unix_client.rb b/lib/dtas/unix_client.rb
index 0811ad4..1a0de90 100644
--- a/lib/dtas/unix_client.rb
+++ b/lib/dtas/unix_client.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'dtas'
 require 'socket'
diff --git a/lib/dtas/unix_server.rb b/lib/dtas/unix_server.rb
index ed96a1e..07e16b4 100644
--- a/lib/dtas/unix_server.rb
+++ b/lib/dtas/unix_server.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require 'socket'
 require_relative '../dtas'
diff --git a/lib/dtas/util.rb b/lib/dtas/util.rb
index 0b89346..f785b37 100644
--- a/lib/dtas/util.rb
+++ b/lib/dtas/util.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../dtas'
 
diff --git a/lib/dtas/writable_iter.rb b/lib/dtas/writable_iter.rb
index e15bd2f..0694085 100644
--- a/lib/dtas/writable_iter.rb
+++ b/lib/dtas/writable_iter.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require_relative '../dtas'
 
diff --git a/perl/dtas-graph b/perl/dtas-graph
index a668d47..0b0abca 100755
--- a/perl/dtas-graph
+++ b/perl/dtas-graph
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 use strict;
 use Graph::Easy; # for ASCII-art graphs
diff --git a/pkg.mk b/pkg.mk
index c531dbb..bfb303c 100644
--- a/pkg.mk
+++ b/pkg.mk
@@ -1,3 +1,5 @@
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
+# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 RUBY = ruby
 RAKE = rake
 RSYNC = rsync
diff --git a/test/covshow.rb b/test/covshow.rb
index e50c368..bc9a3e5 100644
--- a/test/covshow.rb
+++ b/test/covshow.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 #
 # this works with the __covmerge method in test/helper.rb
diff --git a/test/helper.rb b/test/helper.rb
index e4643ae..f5cb68d 100644
--- a/test/helper.rb
+++ b/test/helper.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 $stdout.sync = $stderr.sync = Thread.abort_on_exception = true
 
diff --git a/test/player_integration.rb b/test/player_integration.rb
index 72f6039..79d4304 100644
--- a/test/player_integration.rb
+++ b/test/player_integration.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/player'
diff --git a/test/test_buffer.rb b/test/test_buffer.rb
index 32ae986..249321f 100644
--- a/test/test_buffer.rb
+++ b/test/test_buffer.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'stringio'
diff --git a/test/test_format.rb b/test/test_format.rb
index bc08cb4..bbf64bf 100644
--- a/test/test_format.rb
+++ b/test/test_format.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'tempfile'
diff --git a/test/test_format_change.rb b/test/test_format_change.rb
index b6edd7e..0dcfb79 100644
--- a/test/test_format_change.rb
+++ b/test/test_format_change.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/player_integration'
 require 'tmpdir'
diff --git a/test/test_player.rb b/test/test_player.rb
index 78feff9..5eff8ff 100644
--- a/test/test_player.rb
+++ b/test/test_player.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'tempfile'
diff --git a/test/test_player_client_handler.rb b/test/test_player_client_handler.rb
index 9324101..6f59d59 100644
--- a/test/test_player_client_handler.rb
+++ b/test/test_player_client_handler.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/player'
diff --git a/test/test_player_integration.rb b/test/test_player_integration.rb
index 23a73ab..d1cbfb3 100644
--- a/test/test_player_integration.rb
+++ b/test/test_player_integration.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/player_integration'
 class TestPlayerIntegration < Minitest::Unit::TestCase
diff --git a/test/test_process.rb b/test/test_process.rb
index 012f18f..ad2b641 100644
--- a/test/test_process.rb
+++ b/test/test_process.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/process'
diff --git a/test/test_rg_integration.rb b/test/test_rg_integration.rb
index b2e39cb..a3f15b7 100644
--- a/test/test_rg_integration.rb
+++ b/test/test_rg_integration.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/player_integration'
 class TestRgIntegration < Minitest::Unit::TestCase
diff --git a/test/test_rg_state.rb b/test/test_rg_state.rb
index f591ac8..72ff45f 100644
--- a/test/test_rg_state.rb
+++ b/test/test_rg_state.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/rg_state'
diff --git a/test/test_sink.rb b/test/test_sink.rb
index 959bbf0..4d9e159 100644
--- a/test/test_sink.rb
+++ b/test/test_sink.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/sink'
diff --git a/test/test_sink_pipe_size.rb b/test/test_sink_pipe_size.rb
index ce79b56..6b8eccd 100644
--- a/test/test_sink_pipe_size.rb
+++ b/test/test_sink_pipe_size.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 begin
   require 'io/splice'
diff --git a/test/test_sink_tee_integration.rb b/test/test_sink_tee_integration.rb
index 082c1d5..bd01529 100644
--- a/test/test_sink_tee_integration.rb
+++ b/test/test_sink_tee_integration.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/player_integration'
 class TestSinkTeeIntegration < Minitest::Unit::TestCase
diff --git a/test/test_source_av.rb b/test/test_source_av.rb
index 1be1296..072e2aa 100644
--- a/test/test_source_av.rb
+++ b/test/test_source_av.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/source/av'
diff --git a/test/test_source_sox.rb b/test/test_source_sox.rb
index 4dec808..4ba9ba3 100644
--- a/test/test_source_sox.rb
+++ b/test/test_source_sox.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/source/sox'
diff --git a/test/test_unixserver.rb b/test/test_unixserver.rb
index 46ddb49..bc63305 100644
--- a/test/test_unixserver.rb
+++ b/test/test_unixserver.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'tempfile'
diff --git a/test/test_util.rb b/test/test_util.rb
index 9c0e218..19e47ab 100644
--- a/test/test_util.rb
+++ b/test/test_util.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net>
+# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
 # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
 require './test/helper'
 require 'dtas/util'


glossary
--------
Commit objects reference one tree, and zero or more parents.

Single parent commits can typically generate a patch in
unified diff format via `git format-patch'.

Multiple parents means the commit is a merge.

Root commits have no ancestor.  Note that it is
possible to have multiple root commits when merging independent histories.

Every commit references one top-level tree object.

git clone git://80x24.org/dtas.git
git clone https://80x24.org/dtas.git