Date | Commit message (Collapse) |
|
Currently, this allows us to use different manpage paths for the
tarball and gem; as gem-man and setup.rb expect different paths
for manpages.
Additionally, Hoe is designed for Ruby projects. dtas may include
Perl/shell/Python/whatever in the future. So use GNU make as it
is more suited for language agnosticism.
|
|
There is a new dtas-splitfx command intended for splitting up
single-track recordings into multiple tracks and applying
effects/comments to each of them. It was made for splitting recordings
of vinyl records and live concert recordings. dtas-splitfx is
independent of dtas-player (but shares some code/conventions).
The dtas-player also gains tracklist support (based on the MPRIS 2.0
spec). This is another step toward having an MPRIS 2.0-compliant
interface. There is a "dtas-tl" command helper for using/testing
tracklist functionality. This helper may be folded into a higher-level
client soon, so it is not recommended as a a stable interface.
There are also some minor bugfixes in dtas-player.
Eric Wong (51):
source/sox: correctly extend xs for try_to_fail_harder
test/*.rb: test/unit compatibility
test/player_integration: thread-safety fix
test/*: compatibility class for both minitest 4 and 5
test/helper: delay at_exit registration for tmpfifo
dtas-console: show paused track when paused
test/helper: fix var shadowing
add dtas-splitfx - .cuesheets + make(1)
splitfx: round instead of truncate for CDDA
GNUmakefile: enable warnings by default for tests
implement environment variable expansion
splitfx: flesh out functionality + integration test
test/helper: rescue on NameError instead of checking defined?
sink: remove unnecessary writable_iter
pipe: remove pipe_size call for non-Linux platforms
test_splitfx: remove parallelize_me!
splitfx: minor bugfixes, use strings for commands/targets
tracklist: preliminary tracklist class
player: implement basic tracklist functionality
player/client_handler: "tl add" returns track_id of added track
dtas-tl: add add-tail command
tracklist: fix go_to functionality
player: do not repeat first track on start if using playlist
dtas-tl: expand paths before using them
player/client_handler: prevent seek from excessive requeue
dtas-console: avoid using current if it is nil
player: reset tracklist when idle stat is detected
tracklist: next_track -> advance_track
player: implement previous/next commands
player: "tl goto" takes optional offset arg in HHMMSS.SUBSEC
tracklist: previous! only wraps around when repeat is enabled
tracklist: implement single-track repeat
player: s/echo/wall/ for broadcasting to all watchers
player/client_handler: return count for list-style responses
dtas-tl: add a handy "clear" command
Rakefile: add fix_perms dep when building gem
doc: nodoc new classes
player: do not reset tracklist if paused
test_player_integration: avoid premature sink death
dtas-tl: add-{tail,head} -> add{tail,head}
document dtas-tl(1) and the "tl" commands in the protocol
splitfx: add opus and flac-cdda outputs
player (tl add): do not repeat first track when idle
splitfx: add "skip" directive
splitfx: preserve original rate/channels/bits for generic targets
player: stop sinks whenever we're out-of-tracks to play
dtas-tl: add "reto" command
splitfx: rename "opus" target to "opusenc"
doc: add manpage for dtas-splitfx
splitfx: nodoc the Skip class
README: update for dtas-splitfx and tracklist in -player
|
|
I have restrictive permissions sometimes, do not propagate them
to the gem/tarballs.
|
|
There is now a mailing list hosted by Savannah: dtas-all@nongnu.org
No subscription is necessary to post (please Cc: all on replies).
This release should be compatible with Ruby 1.9.3 built with Syck,
as this seems to be the case with Debian wheezy systems. Hopefully
dtas is easier for Debian GNU/Linux users not familiar with Ruby.
Probing via avprobe/ffprobe for audio in large containers (e.g.
VOBs) should have a higher probability of success, but seeking with
large containers is still broken. My suggestion is to use
avconv/ffmpeg to extract the raw audio (without transcoding) from
VOBs/DVDs and just play that.
dtas-sourceedit learned to load YAML from stdin (same format
as "dtas-ctl source cat $SOURCENAME").
player protocol changes:
- "state dump [FILENAME]" allows dumping the current state (in case
an unexpected shutdown happens and at_exit does not run)
- "env" (no args) returns the environment
note: I'm still considering revamping the protocol completely
Eric Wong (23):
dtas-console: support terminal resize
README: add explicit copyright for this file
remove "encoding: binary" header use
rg: avoid adding gain if fallback_gain + preamp is near zero
av_ff_common: fix undefined var in astream fallback
disclaimer: disambiguate between dtas/$PROGNAME
GNUmakefile: combine with pkg.mk
Rakefile: additional pointer to git-set-file-times
Rakefile: wrap long line
dtas-sourcedit: allow loading YAML from stdin
test_source_av: fix test to actually run
source/{av,ff}: probe harder for audio in weird containers
doc: reorganize sections around dtas-player
doc: sink_examples: reference dtas-xdelay and friends
doc: add contact info to all documentation
INSTALL: update installation instructions
player: add "state dump" command to serialize state
doc/dtas-xdelay: reference sox/play env, update email address
dtas-xdelay: pass -q flag to play(1) by default
player/client_handler: cleanup to avoid redundant code
player: explicitly stop+wait for sink death at_exit
player/client_handler: support for dumping individual env
test/test_player_client_handler: rename shadowed method
|
|
Most notable is the addition of the dtas-player_sink_examples
manpage. Minor bugfixes and documentation updates.
Note: I'm considering a major revamp of the protocol now that
things function reasonably well.
Eric Wong (10):
Rakefile: fix NEWS generation
player: fix sink auto-restart on "sink ed" changes
doc: dtas-player_sink_examples manpage
av_ff_common: zero samples on streams of unknown length
doc: add more examples to dtas-player_sink_examples
doc: dtas-player_protocol: note proposed revamp
Rakefile: use git set-file-times for consistent mtimes
doc: cleanup makefile formatting/naming
doc: protocol: question source ed tryorder, minor edits
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.
|
|
This release refactors dtas-player internals and adds lightly-tested
avconv (from libav) and ffmpeg support. It should also be much easier
for us to add direct support for other non-SoX decoders in the future.
The "source ed" and "source cat" protocol commands now both require a
SOURCENAME argument, one of "sox", "av" (avconv), or "ff" (ffmpeg).
"source ed" also supports a new "tryorder" integer parameter to control
the order in which sox, av, and ff are tried.
dtas-console now displays ReplayGain status and allows controlling
ReplayGain mode, fallback_gain, and preamp values via hotkeys.
There are also many corner-case bugfixes and small minor features, see
"git log" for details.
Eric Wong (40):
README: include a pointer to the plain-text docs
set REPLAYGAIN_* vars for source command as documented
dtas-*edit: properly fall back to 'vi' as documented
use require_relative for loading 1.9 compatibility
dtas-console: implement better ReplayGain and format support
dtas-console: swap 'j' / 'k' bindings to match docs
doc: document new dtas-console key bindings
Rakefile: rsync task uploads gzipped files, too
test_rg_integration: avoid unused variable warning
unix_client: remove non-SOCK_SEQPACKET support
tests: use unix_client in tests to kill some redundant code
command: remove kill, we no longer rely on it
player: remove unreachable branch
split out source handling to prepare for avconv/ffmpeg support
format: decouple from soxi
preliminary support for avconv/avprobe from libav
source/av: handle multiple audio streams w/ proper sample rate
dtas-console: always show ReplayGain line
format: fix switching to floating point samples
player: fix logic around sink death/respawns
doc: add note about increased wakeups with dtas-console
process: allow passing env to qx
process: remove redundant "xs" method
process (qx): disambiguate err/err_str, add no_raise
cleanup multi-source handling between sox and av
player: flesh out multi-source in protocol/sourceedit
dtas-{sink,source}edit: reduce redundant code
player: sink ed pipe_size= disallows nils
player: restart sinks on "sink ed" modification
player: break out gracefully if a file is totally unplayable
source/sox: bail out if zero samples are detected
test_source_av: disable if avprobe/avconv are not available
add lightly-tested ffmpeg support
README: remove avconv/ffmpeg item
source/sox: cleanup error handling, quiet redundant warnings
player: do not assign @current until successful spawn
client_handler: remove redundant checks for @current.pid
av_ff_common: :nodoc: this constant and add TODO item
GIT-VERSION-GEN: :nodoc: the version constant
:nodoc: core classes in 1.9 compat layer
|
|
This is not part of any public API.
|
|
Rename COPYRIGHT -> COPYING, as that seems to be the more common
name for the GPLv3 license file. Kill all rdoc, since I don't
agree with HTML documentation and we do not expose any Ruby APIs.
|
|
|