about summary refs log tree commit homepage
path: root/GIT-VERSION-GEN
DateCommit message (Collapse)
2013-12-30dtas 0.7.0 - minor feature and teeny optimizations v0.7.0
dtas-splitfx gained support --no-dither/-D option. dtas-player should work now for non-Linux users without splice(). There are minor optimizations for users of multiple sinks with dtas-player.
2013-10-19dtas 0.6.0 - player tracklist fixes/improvements v0.6.0
* dtas-player - many fixes to tracklist handling Also minor syscall reduction and a fix for non-Linux-splice users. * the "dtas-tl reto" subcommand also works somewhat sanely, now. There's also a bunch of work-in-progress code that's definitely not ready for prime time and will change a lot. I'm just making this release because the work-in-progress stuff is completely orthogonal to the mostly-working stuff, and dtas has users other than myself now(!) dtas is going in several different directions related to audio, not just playback. My immediate focus will probably be on audio editing and hopefully 0.7.0 will have more of that[1]. Of course, critical fixes to components people actually use will take priority (but I think dtas-player is solid, by now. * dtas-partstats - initial partitioning wrapper to the sox stats effect See commit 4f1a73ed584f0f74d6b32241f02ae871f3415f4a for details. This works, but could use some documentation... There's also some stuff which is completely not wired up outside of internal unit tests, but will hopefully be ready in 0.7.0 Eric Wong (21): splitfx: default to default DTAS::Format if unspecified player: add factor out redundant condition check buffer/read_write: fix undefined local variable player: delay tracklist reset until asked to play buffer: remove ioctl syscall in common paths pipe: use memoized IO#nonblock? in blocking case player: "tl add" may trigger player start tracklist: remove_track updates tracklist position player: "tl remove" drops the track from the queue dtas-partstats: initial implementation tracklist: update position when track is added format: common detection code (based on sox) tracklist: fix off-by-one when adding track player: "tl remove" properly stops current track dtas-tl: "reto" command does not scan track IDs IO#nread compatibility for Rubinius (Linux-only) use shorter socket constants for sockets
2013-09-30dtas 0.5.0 v0.5.0
* dtas-*edit - account for editors which rename over files * dtas-player - support optional bypass mode for rate, bits, channel This allows users to avoid any internal resampling at the cost of losing gapless playback when files have different decoded formats - "tl goto" starts playback if idle (and not paused) - support seeking based on embedded cuesheet (FLAC) - rename "tl previous" to "tl prev" See dtas-player_protocol(7) for the protocol extensions * dtas-console - allow exit via 'q' key
2013-09-28rework packaging to use GNU make + gemspec instead of Hoe
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.
2013-09-22dtas 0.4.0 - dtas-splitfx, tracklist in -player v0.4.0
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
2013-09-09Rakefile: add fix_perms dep when building gem
I have restrictive permissions sometimes, do not propagate them to the gem/tarballs.
2013-09-02dtas 0.3.0 - small improvements and tweaks v0.3.0
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
2013-08-28dtas 0.2.0 - minor bugfixes and packaging cleanups v0.2.0
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
2013-08-28add 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.
2013-08-26dtas 0.1.I - zero-one-infinity v0.1.I
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
2013-08-26GIT-VERSION-GEN: :nodoc: the version constant
This is not part of any public API.
2013-08-25more cleanups for packaging and documentation v0.0.0
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.
2013-08-24initial commit