cplay-ng

simple curses audio player
git clone https://git.ce9e.org/cplay-ng.git

commit
1ba49be2c6dc7775cf5f1b2c1be3241eecd34dfd
parent
d2c663c1c67b3e5fe5d4fa055935935f7652aa8e
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-12-28 22:57
convert changelog to markdown

Diffstat

A CHANGES.md 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
R ChangeLog -> ChangeLog.old 248 ------------------------------------------------------------

2 files changed, 205 insertions, 248 deletions


diff --git a/CHANGES.md b/CHANGES.md

@@ -0,0 +1,205 @@
   -1     1 # 5.4.0 (2024-12-28)
   -1     2 
   -1     3 - allow to refresh file list
   -1     4 - automatically pause when playback was interrupted (e.g. because the
   -1     5   device was suspended)
   -1     6 - strip leading v when parsing mpv version
   -1     7 
   -1     8 # 5.3.1 (2024-08-03)
   -1     9 
   -1    10 - fix compatibility with mpv 0.38.0
   -1    11 - do not mess up the terminal when importing the cplay python module
   -1    12 - make `__version__` comply with pep440
   -1    13 
   -1    14 # 5.3.0 (2024-05-20)
   -1    15 
   -1    16 - allow to start URLs with offset (see <https://www.w3.org/TR/media-frags/>)
   -1    17 - fix compatibility with mpv 0.38 and above (thanks to @AlkyoneAoide)
   -1    18 
   -1    19 # 5.2.0 (2023-03-09)
   -1    20 
   -1    21 - use mpv's native volume controls (thanks to @AlkyoneAoide)
   -1    22 - use `XDG_RUNTIME_DIR` for mpv socket
   -1    23 - do not crash on invalid utf-8 from mpv
   -1    24 
   -1    25 # 5.1.0 (2022-11-22)
   -1    26 
   -1    27 - change keys for previous/next search match to [ and ]
   -1    28 - if a stream contains metadata, display the name of the currently playing
   -1    29   track
   -1    30 - use `@DEFAULT_SINK@` instead of hardcoded index to set volume
   -1    31 
   -1    32 # 5.0.1 (2021-08-30)
   -1    33 
   -1    34 - Fix in-app version number
   -1    35 
   -1    36 # 5.0.0 (2021-08-30)
   -1    37 
   -1    38 - changes to playlists are no longer automatically written back to their
   -1    39   files. Instead, a * is appended to the playlist title if there are unsaved
   -1    40   modifications. They can be written to a file with the `w` key.
   -1    41 - cplay now uses a single instance of mpv and its IPC mechanism instead of
   -1    42   parsing command line output.
   -1    43 - fix: stop playback when cplay crashes
   -1    44 - fix: do not crash on tiny screen size
   -1    45 - fix: mpv 0.33 compatibility
   -1    46 
   -1    47 # 4.0.0 (2020-09-07)
   -1    48 
   -1    49 This is a complete rewrite which massively simplifies the code
   -1    50 and intentionally breaks a lot of things in the process.
   -1    51 
   -1    52 - breaking changes:
   -1    53   - drop support for all players except mpv
   -1    54   - drop support for all mixers except pulse
   -1    55   - drop support for all playlists except m3u
   -1    56   - drop support for translations
   -1    57   - drop support for fifo/cnq
   -1    58   - drop support for metadata (mutagen)
   -1    59   - rm all command line arguments
   -1    60   - rm some key bindings, most without replacement
   -1    61     - z for play/pause (use x or Space instead)
   -1    62     - p for previous track
   -1    63     - +/- for volume control (use 0..9 instead)
   -1    64     - </> for horizontal scrolling
   -1    65     - l for list mode
   -1    66     - t/T/u/U/i/Space for tagging
   -1    67     - o for open path
   -1    68     - anything involving the ctrl key
   -1    69     - Q no longer asks for confirmation
   -1    70 - new features:
   -1    71   - state and presentation have been decoupled, resulting in simpler code
   -1    72   - support for unicode input
   -1    73   - interactive recursive search
   -1    74   - it is now possible to open a playlist file and edit it rather than just
   -1    75     adding its contents to the internal playlist
   -1    76 
   -1    77 # 3.0.0 (2019-09-20)
   -1    78 
   -1    79 - breaking changes:
   -1    80   - drop support for python 2
   -1    81   - drop support for configuration
   -1    82   - drop support for macros
   -1    83   - drop support for executing shell commands
   -1    84   - drop support for bookmarks
   -1    85   - drop support for playing videos
   -1    86   - drop support for vlc backend
   -1    87   - drop support for deprecated python-oss
   -1    88   - drop "stop after each track" feature
   -1    89 - new features:
   -1    90   - add `--autoexit` option to close at the end of the playlist
   -1    91   - automatically start playing if a file was passed
   -1    92   - add support for webm
   -1    93   - allow moving the current track if none is tagged
   -1    94 
   -1    95 # 2.4.1 (2018-04-10)
   -1    96 
   -1    97 - fix an issue with translation
   -1    98 - fix outdated references in README
   -1    99 
   -1   100 # 2.4.0 (2018-04-10)
   -1   101 
   -1   102 - do not add individual files when there are playlists
   -1   103 - add support for cue files
   -1   104 - add mpv backend
   -1   105 - a lot of refactoring and small fixes
   -1   106 
   -1   107 # 2.3.0 (2017-06-05)
   -1   108 
   -1   109 - fix various unicode issues
   -1   110 - fix detection of valid song/playlist on URLs
   -1   111 - fix: terminate backend on crash
   -1   112 - internal restructuring to facilitate search plugins
   -1   113 - new backend: ffplay
   -1   114 - add http support to avplay and gst123 backends
   -1   115 - fix: infinite loop in vlc backend
   -1   116 
   -1   117 # 2.2.0 (2017-01-30)
   -1   118 
   -1   119 - fix: space not allowed in extra requirement name
   -1   120 - fix unicode issue with mplayer
   -1   121 - improve sox backend
   -1   122 - allow https in URLs
   -1   123 - add avplay backend
   -1   124 - wrap-around find
   -1   125 
   -1   126 # 2.1.2 (2016-01-03)
   -1   127 
   -1   128 - fix warning when using setup.py without babel installed
   -1   129 - allow http protocol
   -1   130 - various fixes related to mixers
   -1   131 
   -1   132 # 2.1.1 (2015-12-28)
   -1   133 
   -1   134 - add `--version` option
   -1   135 - fix displaying bytestrings in python3
   -1   136 
   -1   137 # 2.1.0 (2015-10-30)
   -1   138 
   -1   139 - dropped support for ncurses
   -1   140 - dropped support for mplayer specific features (speed, equalizer)
   -1   141 - removed lircrc
   -1   142 - removed cplay.list
   -1   143 - added support for VLC
   -1   144 - added support for playing videos
   -1   145 - added `-s` flag to allow saving state on close and restoring on open
   -1   146 - log error instead of crash on invalid cplayrc
   -1   147 - fixed some python3 bytestring issues
   -1   148 - translations are now managed on <https://www.transifex.com/projects/p/cplay-ng/>
   -1   149 - metadata detection has been refactored and should now be more reliable
   -1   150 - a lot of internal restructuring to ease collaboration with Andreas van
   -1   151   Cranenburgh's fork at <https://github.com/andreasvc/cplay>
   -1   152 
   -1   153 # 2.0.3 (2015-03-20)
   -1   154 
   -1   155 - test are now run with python2.7, python3.4 and pypy
   -1   156 - some fixes to the pulseaudio volumn mixer (Andreas van Cranenburgh)
   -1   157 - fix parsing of mpg123 output (times larger than 1h)
   -1   158 
   -1   159 # 2.0.2 (2014-07-13)
   -1   160 
   -1   161 - fix regression where cplay crashed when opened with an argument
   -1   162 - replace getopt by argparse which provides a better command line interface
   -1   163 - allow to select a socket for use with cnq
   -1   164 
   -1   165 # 2.0.1 (2014-06-18)
   -1   166 
   -1   167 This release brings a basic testing environment and some internal
   -1   168 restructuring.  The following bugs have been fixed:
   -1   169 
   -1   170 - cplay:
   -1   171   - fix regular expressions in python3
   -1   172   - only add valid songs to playlist
   -1   173   - don't crash on missing backend
   -1   174   - don't require babel for installation
   -1   175 - cnq:
   -1   176   - declare missing argparse dependency
   -1   177 
   -1   178 # 2.0.0 (2014-06-15)
   -1   179 
   -1   180 cplay has been unmaintained for many years now. I tried to contact the
   -1   181 original developers but without luck. So now I am announcing a fork of
   -1   182 cplay: cplay-ng.
   -1   183 
   -1   184 My short time goal with this was to be able to install cplay from pypi.
   -1   185 This goals has now been reached. Future plans include new features and a
   -1   186 test suite.
   -1   187 
   -1   188 - cplay:
   -1   189   - renamed to cplay-ng
   -1   190   - dropped support for python < 2.6
   -1   191   - python3 compatibility
   -1   192   - pep8 compatibility
   -1   193   - setuptools integration
   -1   194   - pulse mixer support (Andreas van Cranenburgh)
   -1   195   - add gst123 backend which uses gstreamer and therefore supports many audio
   -1   196     formats
   -1   197   - midi support through timidity
   -1   198   - scale key-volume mapping such that 9 is 100%
   -1   199 - cnq:
   -1   200   - renamed to cnq-ng
   -1   201   - complete rework to become a full featured remote control for cplay-ng
   -1   202 
   -1   203 # older releases
   -1   204 
   -1   205 releases before 2.0.0 are listed in ChangeLog.old

diff --git a/ChangeLog b/ChangeLog.old

@@ -1,251 +1,3 @@
    1    -1 2024-12-28  Tobias Bengfort <tobias.bengfort@posteo.de>
    2    -1 
    3    -1 	*** 5.4.0 ***
    4    -1 
    5    -1 	- allow to refresh file list
    6    -1 	- automatically pause when playback was interrupted (e.g. because the
    7    -1 	  device was suspended)
    8    -1 	- strip leading v when parsing mpv version
    9    -1 
   10    -1 2024-08-03  Tobias Bengfort <tobias.bengfort@posteo.de>
   11    -1 
   12    -1 	*** 5.3.1 ***
   13    -1 
   14    -1 	- fix compatibility with mpv 0.38.0
   15    -1 	- do not mess up the terminal when importing the cplay python module
   16    -1 	- make `__version__` comply with pep440
   17    -1 
   18    -1 2024-05-20  Tobias Bengfort <tobias.bengfort@posteo.de>
   19    -1 
   20    -1 	*** 5.3.0 ***
   21    -1 
   22    -1 	- allow to start URLs with offset (see https://www.w3.org/TR/media-frags/)
   23    -1 	- fix compatibility with mpv 0.38 and above (thanks to @AlkyoneAoide)
   24    -1 
   25    -1 2023-03-09  Tobias Bengfort <tobias.bengfort@posteo.de>
   26    -1 
   27    -1 	*** 5.2.0 ***
   28    -1 
   29    -1 	- use mpv's native volume controls (thanks to @AlkyoneAoide)
   30    -1 	- use XDG_RUNTIME_DIR for mpv socket
   31    -1 	- do not crash on invalid utf-8 from mpv
   32    -1 
   33    -1 2022-11-22  Tobias Bengfort <tobias.bengfort@posteo.de>
   34    -1 
   35    -1 	*** 5.1.0 ***
   36    -1 
   37    -1 	- change keys for previous/next search match to [ and ]
   38    -1 	- if a stream contains metadata, display the name of the currently playing
   39    -1 	  track
   40    -1 	- use @DEFAULT_SINK@ instead of hardcoded index to set volume
   41    -1 
   42    -1 2021-08-30  Tobias Bengfort <tobias.bengfort@posteo.de>
   43    -1 
   44    -1 	*** 5.0.1 ***
   45    -1 
   46    -1 	- Fix in-app version number
   47    -1 
   48    -1 2021-08-30  Tobias Bengfort <tobias.bengfort@posteo.de>
   49    -1 
   50    -1 	*** 5.0.0 ***
   51    -1 
   52    -1 	- changes to playlists are no longer automatically written back to their
   53    -1 	  files. Instead, a * is appended to the playlist title if there are unsaved
   54    -1 	  modifications. They can be written to a file with the `w` key.
   55    -1 	- cplay now uses a single instance of mpv and its IPC mechanism instead of
   56    -1 	  parsing command line output.
   57    -1 	- fix: stop playback when cplay crashes
   58    -1 	- fix: do not crash on tiny screen size
   59    -1 	- fix: mpv 0.33 compatibility
   60    -1 
   61    -1 2020-09-07  Tobias Bengfort <tobias.bengfort@posteo.de>
   62    -1 
   63    -1 	*** 4.0.0 ***
   64    -1 
   65    -1 	This is a complete rewrite which massively simplifies the code
   66    -1 	and intentionally breaks a lot of things in the process.
   67    -1 
   68    -1 	* breaking changes:
   69    -1 	- drop support for all players except mpv
   70    -1 	- drop support for all mixers except pulse
   71    -1 	- drop support for all playlists except m3u
   72    -1 	- drop support for translations
   73    -1 	- drop support for fifo/cnq
   74    -1 	- drop support for metadata (mutagen)
   75    -1 	- rm all command line arguments
   76    -1 	- rm some key bindings, most without replacement
   77    -1 		- z for play/pause (use x or Space instead)
   78    -1 		- p for previous track
   79    -1 		- +/- for volume control (use 0..9 instead)
   80    -1 		- </> for horizontal scrolling
   81    -1 		- l for list mode
   82    -1 		- t/T/u/U/i/Space for tagging
   83    -1 		- o for open path
   84    -1 		- anything involving the ctrl key
   85    -1 		- Q no longer asks for confirmation
   86    -1 
   87    -1 	* new features:
   88    -1 	- state and presentation have been decoupled, resulting in simpler code
   89    -1 	- support for unicode input
   90    -1 	- interactive recursive search
   91    -1 	- it is now possible to open a playlist file and edit it rather than just
   92    -1 	  adding its contents to the internal playlist
   93    -1 
   94    -1 2019-09-20  Tobias Bengfort <tobias.bengfort@posteo.de>
   95    -1 
   96    -1 	*** 3.0.0 ***
   97    -1 
   98    -1 	* breaking changes:
   99    -1 	- drop support for python 2
  100    -1 	- drop support for configuration
  101    -1 	- drop support for macros
  102    -1 	- drop support for executing shell commands
  103    -1 	- drop support for bookmarks
  104    -1 	- drop support for playing videos
  105    -1 	- drop support for vlc backend
  106    -1 	- drop support for deprecated python-oss
  107    -1 	- drop "stop after each track" feature
  108    -1 
  109    -1 	* new features:
  110    -1 	- add --autoexit option to close at the end of the playlist
  111    -1 	- automatically start playing if a file was passed
  112    -1 	- add support for webm
  113    -1 	- allow moving the current track if none is tagged
  114    -1 
  115    -1 2018-04-10  Tobias Bengfort <tobias.bengfort@posteo.de>
  116    -1 
  117    -1 	*** 2.4.1 ***
  118    -1 
  119    -1 	- fix an issue with translation
  120    -1 	- fix outdated references in README
  121    -1 
  122    -1 2018-04-10  Tobias Bengfort <tobias.bengfort@posteo.de>
  123    -1 
  124    -1 	*** 2.4.0 ***
  125    -1 
  126    -1 	- do not add individual files when there are playlists
  127    -1 	- add support for cue files
  128    -1 	- add mpv backend
  129    -1 	- a lot of refactoring an small fixes
  130    -1 
  131    -1 2017-06-05  Tobias Bengfort <tobias.bengfort@posteo.de>
  132    -1 
  133    -1 	*** 2.3.0 ***
  134    -1 
  135    -1 	- fix various unicode issues
  136    -1 	- fix detection of valid song/playlist on URLs
  137    -1 	- fix: terminate backend on crash
  138    -1 	- internal restructuring to facilitate search plugins
  139    -1 	- new backend: ffplay
  140    -1 	- add http support to avplay and gst123 backends
  141    -1 	- fix: infinite loop in vlc backend
  142    -1 
  143    -1 2017-01-30  Tobias Bengfort <tobias.bengfort@posteo.de>
  144    -1 
  145    -1 	*** 2.2.0 ***
  146    -1 
  147    -1 	- fix: space not allowed in extra requirement name
  148    -1 	- fix unicode issue with mplayer
  149    -1 	- improve sox backend
  150    -1 	- allow https in URLs
  151    -1 	- add avplay backend
  152    -1 	- wrap-around find
  153    -1 
  154    -1 2016-01-03  Tobias Bengfort <tobias.bengfort@posteo.de>
  155    -1 
  156    -1 	*** 2.1.2 ***
  157    -1 
  158    -1 	- fix warning when using setup.py without babel installed
  159    -1 	- allow http protocol
  160    -1 	- various fixes related to mixers
  161    -1 
  162    -1 2015-12-28  Tobias Bengfort <tobias.bengfort@posteo.de>
  163    -1 
  164    -1 	*** 2.1.1 ***
  165    -1 
  166    -1 	- add --version option
  167    -1 	- fix displaying bytestrings in python3
  168    -1 
  169    -1 2015-10-30  Tobias Bengfort <tobias.bengfort@posteo.de>
  170    -1 
  171    -1 	*** 2.1.0 ***
  172    -1 
  173    -1 	- dropped support for ncurses
  174    -1 	- dropped support for mplayer specific features (speed, equalizer)
  175    -1 	- removed lircrc
  176    -1 	- removed cplay.list
  177    -1 	- added support for VLC
  178    -1 	- added support for playing videos
  179    -1 	- added -s flag to allow saving state on close and restoring on open
  180    -1 	- log error instead of crash on invalid cplayrc
  181    -1 	- fixed some python3 bytestring issues
  182    -1 	- translations are now managed on
  183    -1 	  https://www.transifex.com/projects/p/cplay-ng/
  184    -1 	- metadata detection has been refactored and should now be more reliable
  185    -1 	- a lot of internal restructuring to ease collaboration with Andreas van
  186    -1 	  Cranenburgh's fork at https://github.com/andreasvc/cplay
  187    -1 
  188    -1 2015-03-20  Tobias Bengfort <tobias.bengfort@posteo.de>
  189    -1 
  190    -1 	*** 2.0.3 ***
  191    -1 
  192    -1 	- test are now run with python2.7, python3.4 and pypy
  193    -1 	- some fixes to the pulseaudio volumn mixer (Andreas van Cranenburgh)
  194    -1 	- fix parsing of mpg123 output (times larger than 1h)
  195    -1 
  196    -1 2014-07-13  Tobias Bengfort <tobias.bengfort@gmx.net>
  197    -1 
  198    -1 	*** 2.0.2 ***
  199    -1 
  200    -1 	- fix regression where cplay crashed when opened with an argument
  201    -1 	- replace getopt by argparse which provides a better command line
  202    -1 	  interface
  203    -1 	- allow to select a socket for use with cnq
  204    -1 
  205    -1 2014-06-18  Tobias Bengfort <tobias.bengfort@gmx.net>
  206    -1 
  207    -1 	*** 2.0.1 ***
  208    -1 
  209    -1 	This release brings a basic testing environment and some internal
  210    -1 	restructuring.  The following bugs have been fixed:
  211    -1 
  212    -1 	* cplay:
  213    -1 	- fix regular expressions in python3
  214    -1 	- only add valid songs to playlist
  215    -1 	- don't crash on missing backend
  216    -1 	- don't require babel for installation
  217    -1 
  218    -1 	* cnq:
  219    -1 	- declare missing argparse dependency
  220    -1 
  221    -1 2014-06-15  Tobias Bengfort <tobias.bengfort@gmx.net>
  222    -1 
  223    -1 	*** 2.0.0 ***
  224    -1 
  225    -1 	cplay has been unmaintained for many years now. I tried to contact the
  226    -1 	original developers but without luck. So now I am announcing a fork of
  227    -1 	cplay: cplay-ng.
  228    -1 
  229    -1 	My short time goal with this was to be able to install cplay from pypi.
  230    -1 	This goals has now been reached. Future plans include new features and a
  231    -1 	test suite.
  232    -1 
  233    -1 	* cplay:
  234    -1 	- renamed to cplay-ng
  235    -1 	- dropped support for python < 2.6
  236    -1 	- python3 compatibility
  237    -1 	- pep8 compatibility
  238    -1 	- setuptools integration
  239    -1 	- pulse mixer support (Andreas van Cranenburgh)
  240    -1 	- add gst123 backend which uses gstreamer and therefore supports many audio
  241    -1 	  formats
  242    -1 	- midi support through timidity
  243    -1 	- scale key-volume mapping such that 9 is 100%
  244    -1 
  245    -1 	* cnq:
  246    -1 	- renamed to cnq-ng
  247    -1 	- complete rework to become a full featured remote control for cplay-ng
  248    -1 
  249     1 2011-04-27  Tomi Pieviläinen <tomi.pievilainen@iki.fi>
  250     2 
  251     3 	*** 1.50 ***