- allow to refresh file list
- automatically pause when playback was interrupted (e.g. because the device was suspended)
- strip leading v when parsing mpv version
- fix compatibility with mpv 0.38.0
- do not mess up the terminal when importing the cplay python module
- make
__version__
comply with pep440
- allow to start URLs with offset (see https://www.w3.org/TR/media-frags/)
- fix compatibility with mpv 0.38 and above (thanks to @AlkyoneAoide)
- use mpv's native volume controls (thanks to @AlkyoneAoide)
- use
XDG_RUNTIME_DIR
for mpv socket - do not crash on invalid utf-8 from mpv
- change keys for previous/next search match to [ and ]
- if a stream contains metadata, display the name of the currently playing track
- use
@DEFAULT_SINK@
instead of hardcoded index to set volume
- Fix in-app version number
- changes to playlists are no longer automatically written back to their
files. Instead, a * is appended to the playlist title if there are unsaved
modifications. They can be written to a file with the
w
key. - cplay now uses a single instance of mpv and its IPC mechanism instead of parsing command line output.
- fix: stop playback when cplay crashes
- fix: do not crash on tiny screen size
- fix: mpv 0.33 compatibility
This is a complete rewrite which massively simplifies the code and intentionally breaks a lot of things in the process.
- breaking changes:
- drop support for all players except mpv
- drop support for all mixers except pulse
- drop support for all playlists except m3u
- drop support for translations
- drop support for fifo/cnq
- drop support for metadata (mutagen)
- rm all command line arguments
- rm some key bindings, most without replacement
- z for play/pause (use x or Space instead)
- p for previous track
- +/- for volume control (use 0..9 instead)
- </> for horizontal scrolling
- l for list mode
- t/T/u/U/i/Space for tagging
- o for open path
- anything involving the ctrl key
- Q no longer asks for confirmation
- new features:
- state and presentation have been decoupled, resulting in simpler code
- support for unicode input
- interactive recursive search
- it is now possible to open a playlist file and edit it rather than just adding its contents to the internal playlist
- breaking changes:
- drop support for python 2
- drop support for configuration
- drop support for macros
- drop support for executing shell commands
- drop support for bookmarks
- drop support for playing videos
- drop support for vlc backend
- drop support for deprecated python-oss
- drop "stop after each track" feature
- new features:
- add
--autoexit
option to close at the end of the playlist - automatically start playing if a file was passed
- add support for webm
- allow moving the current track if none is tagged
- add
- fix an issue with translation
- fix outdated references in README
- do not add individual files when there are playlists
- add support for cue files
- add mpv backend
- a lot of refactoring and small fixes
- fix various unicode issues
- fix detection of valid song/playlist on URLs
- fix: terminate backend on crash
- internal restructuring to facilitate search plugins
- new backend: ffplay
- add http support to avplay and gst123 backends
- fix: infinite loop in vlc backend
- fix: space not allowed in extra requirement name
- fix unicode issue with mplayer
- improve sox backend
- allow https in URLs
- add avplay backend
- wrap-around find
- fix warning when using setup.py without babel installed
- allow http protocol
- various fixes related to mixers
- add
--version
option - fix displaying bytestrings in python3
- dropped support for ncurses
- dropped support for mplayer specific features (speed, equalizer)
- removed lircrc
- removed cplay.list
- added support for VLC
- added support for playing videos
- added
-s
flag to allow saving state on close and restoring on open - log error instead of crash on invalid cplayrc
- fixed some python3 bytestring issues
- translations are now managed on https://www.transifex.com/projects/p/cplay-ng/
- metadata detection has been refactored and should now be more reliable
- a lot of internal restructuring to ease collaboration with Andreas van Cranenburgh's fork at https://github.com/andreasvc/cplay
- test are now run with python2.7, python3.4 and pypy
- some fixes to the pulseaudio volumn mixer (Andreas van Cranenburgh)
- fix parsing of mpg123 output (times larger than 1h)
- fix regression where cplay crashed when opened with an argument
- replace getopt by argparse which provides a better command line interface
- allow to select a socket for use with cnq
This release brings a basic testing environment and some internal restructuring. The following bugs have been fixed:
- cplay:
- fix regular expressions in python3
- only add valid songs to playlist
- don't crash on missing backend
- don't require babel for installation
- cnq:
- declare missing argparse dependency
cplay has been unmaintained for many years now. I tried to contact the original developers but without luck. So now I am announcing a fork of cplay: cplay-ng.
My short time goal with this was to be able to install cplay from pypi. This goals has now been reached. Future plans include new features and a test suite.
- cplay:
- renamed to cplay-ng
- dropped support for python < 2.6
- python3 compatibility
- pep8 compatibility
- setuptools integration
- pulse mixer support (Andreas van Cranenburgh)
- add gst123 backend which uses gstreamer and therefore supports many audio formats
- midi support through timidity
- scale key-volume mapping such that 9 is 100%
- cnq:
- renamed to cnq-ng
- complete rework to become a full featured remote control for cplay-ng
releases before 2.0.0 are listed in ChangeLog.old