*
Release 1.1 Start 30/06/2022 End --/--/----
- 30/06/2022
01. First release
- 04/07/2022
02. preinst: redirect svstat output to /dev/null
- 26/09/2022
03. karma.in: exit if getopt returns non-zero
04. mpdhist: new program to display history of last played songs
- 20/10/2022
05. transfer_play: added --play, --no-rm command line options
- 25/10/2022
06. transfer_play: added --clearsrc, --cleardst to clear current playlist on
    source, destination
- 26/10/2022
07. create_services: run mpdev with supplementary groups of user
- 29/10/2022
08. mpdev_rename.in: prevent wrapping of text after 60 characters
- 04/01/2023
09. transfer_play.in: fixed process_cmdline
- 18/05/2023
10. added selinux module for mpd
- 10/06/2023
11. mpdev.c: replaced multiple out() with subprintf()
- 26/06/2023
12. added lcd_display script to print song information to a remote lcd display
    running lcdDaemon
13. create_service: added --lcdhost, --lcdport to add LCD_HOST, LCD_PORT env
    variables
14. player, lcd_display: display song rating on 4th row
- 29/06/2023
15. player, playpause: use $HOME/.mpdev/lcd_display or
    libexec/mpdev/lcd_display
- 30/06/2023
16. create_service: added --lcdfifo argument to create LCD_FIFO env variable
17. player, playpuse: added use of LCD_FIFO to access LCD display
18. lcd_display: refactored code
19. player, lcd_display: added display of play counts
20. playpause: pass RATING, PLAYCOUNT env variable to lcd_display
- 04/07/2023
21. karma: added --love option to mark scrobble as loved
- 26/03/2024
22. songi: display last played in days, hours, mins, secs ago
- 04/04/2024
23. songi: fixed last played when song has never been played
- 08/04/2024
24. karma, moc-scrobbler: added unlove function
- 09/04/2024
25. karma: display command if running on tty
26. moc-scrobbler: added --info option to get track info
- 10/04/2024
27. mpdplaylist.in: fixed command line arguments having space
- 01/08/2024
28. karma.in: fixes for MacOS
- 23/12/2024
29. player.in: do not downgrade karma on pause song
- 17/01/2025
30. create_services: create XDG_RUNTIME_DIR as /run/user/$uid
31. songi: fixed last_played when song has never been played
- 11/02/2025
32. player.in: return db operation 5 times on failure
- 17/11/2025
33. player.in: exit if SONG_URI not set
- 22/11/2025
35. Fix --karma args and added options for --new option

* Thu Jun 30 2022 18:32:58 IST Manvendra Bhangui <mpdev@indimail.org> 1.0-1.1%{?dist}
Release 1.0 Start 02/03/2020 End 30/06/2022
- 15/04/2021
01. Bump Release
02. player: skip db update if NO_DB_UPDATE is defined and non-zero
03. mpdplaylist: added --karma option
04. removed mpdev_maintenaance
- 16/04/2021
05. added --options-file feature to take command line arguments from an
    options file
06. player: upgrade karma as per last_played logic
07. added license, README, changelogs to doc directory
- 17/04/2021
08. mpdplaylist: Fix for space in command line argument values
- 20/04/2021
09. added --silent parmeter to minisvc invocation
10. added debian/source/format
11. added mpdev_rename man page
- 22/04/2021
12. player: skip update of play_count when song is skipped
13. player: display correct playcount in rompr table
- 23/04/2021
14. playpause: fixed end-song, pause-song getting skipped
15. playpause: use SONG_PLAYED instead of ELAPSED_TIME
16. renamed SONG_PLAYED to SONG_PLAYED_DURATION
17. mpdev.c: reset song_played_duration when stopped
18. playpause: display date in yyyy-mm-dd HH:MM:SS during play/pause
- 24/04/2021
19. added new script karma for manipulating song's karma value
20. added more conditions for downgrade karma
21. player, playpause: skip percentage calculation when SONG_PLAYED_DURATION
    is not set
22. mpdev.c: removed unset of SONG_PLAYED_DURATION
23. mpdev.c: fixes for SONG_PLAYED_DURATION
24. mpdev.c: add elapsed time to SONG_PLAYED_DURATION if started when a song
    was already playing
25. player: removed redundant code
- 25/04/2021
26. mpdev.c: removed get_play_state() as it had the same function as
    get_status() function
27. mdev.c: get elapsed time in a single call to get the intial player state
28. mpdev.c: use DISABLE_SCROBBLE env variable to disable scrobbling
29. mpdev.c, player: adde code comments
30. create_service: remove cleanup of /tmp/mpdev as purpose is solved by
    having it as TMPFS
31. player: added log output for scrobbling 
32. player: sync RompR playcounts with stats.db
33. player: skip update of last_played when paused to avoid karma getting
    increased
34. player: refactored update of RompR playcounts
35. player: fixed value of play counts in logs and RompR update
- 26/04/2021
36. mpdev.c: set song_played_duration when calling script for now-playing
37. player: display initial song position in NewSong
38. playpause: display song played duration
39. mpdev.c: increment song_played_duration when prev state is not in pause
    state
40. player: skip RompR playcount update when song is not fully heard
- 27/04/2021
41. mpdev.c: initialize elapsed variable
- 08/09/2021
42. fixed usage string/description in mpdev.c and man page
43. fixed idle handling
44. added output even with OUTPUT devices passed as env variables. Feature
    request from Markus Gerl
- 09/09/2021
45. report OUTPUT changes in env variable OUTPUT_CHANGED
46. added script 'output'
47. set env variable VOLUME on startup and on mixer level change
16/09/2021
48. mpdev.c: BUGFIX: Fixed player not comining out of do idle loop
49. mpdev.c: decrement count when PLAYLIST_EVENT is followed by PLAYER_EVENT
50. player.in: disable UPDATE/INSERT echo statements when NO_DB_UPDATE is set
51. player.in: sanitize shell input
- 17/09/2021
52. mpdev.c: print debug statements for verbose > 1
- 26/09/2021
53. create_service: fix ownership of $HOME/.mpdev
- 28/09/2021
54. player: fix INSERT statement for extra (last_modified) field added to sticker
    table
55. player: skip db update for streams
- 29/09/2021
56. mpdev_update.c: added last_modified column to sticker table
- 30/09/2021
57. karma.in: display karma for current playing song when no options are
    provided
58. use -noheader option to prevent .sqlitrc settings messing with results
59. added songi script to display information from stats.db for any music
    file
- 01/10/2021
60. mpdev_update.c, songi.in: removed name column from song table in stats db
- 06/10/2021
61. karma: fixed sql statements
- 10/10/2021
62. player.in: fixed non-skipping of db update for streams
- 15/10/2021
63. karma: fixed update not working
64. songi: formated for better display
65. karma: set song_uri to current playing song if no options are provided
- 18/11/2021
66. player.in: display mysql error
- 23/12/2021
67. moc-scrobbler.in: removed use of source command to avoid syntax error
caused by data in track.current, track.last
- 16/01/2022
68. player.in: scrobble only when PLAYER_STATE is play
- 06/02/2022
69. mpdplaylist.in: added --incartist, --exlartist option to include/exclude
    comma separated list of artists
70. use tcpopen, pathexec_run, pathexec_env from libqmail
- 10/05/2022
71. karma.in: merged modifications by https://github.com/Plexvol (use getopt)
- 31/05/2022
72. skip service creation if daemontools is not installed
- 20/06/2022
73. create_services.in, Makefile.am, mpdplaylist.in, romprhist.in,
    transfer_play.in, songi.in: set/use directories set by ./configure
74. mpdev_update.c: remove extra arguments passed to print_song
75. player.in, playpause.in: Fixed date syntax for non-gnu date
76. player.in, playpause.in: use directories set in ./configure
77. moc-scrobbler.in: use gnu grep for OSX
- 23/06/2022
78. Mac OSX port
79. moc-scrobbler.in: added --love option to love tracks
80. mpdev service: added lastfm-scrobbler --stop, librefm-scrobbler --stop for
    cleanup
- 24/06/2022
81. mpdev service: use relative path for variables directory
82. moc-scrobbler.in: removed bashishm
- 25/06/2022
83. player.in: scrobble direct when track.last is missing
- 27/06/2022
84. moc-scrobbler.in: replaced echo -n with printf for consistent behaviour
    under /bin/sh
- 30/06/2022
85. Release 1.0

* Thu Apr 15 11:07:09 UTC 2021 - Manvendra Bhangui <mpdev@indimail.org>
Release 0.1 Start 02/03/2020
- 02/03/2020
01. Initial Release
02. added update_stats utility to maintain stats database
03. mpdev.c: set SONG_DURATION as seconds since epoch
04. player can now on its own add entries to stat database
- 14/07/2020
05. mpdev - handle empty playlist with no currentsong playing
06. added mpdev_update, mpdev_cleanup
- 15/07/2020
07. moved mpdev_update, mpdev_cleanup to libexec/mpdev
08. added mpdev_rename script
- 16/07/2020
09. mpdev_rename: added --query option
10. mpdev: use read instead of timeoutread
- 17/07/2020
11. mdpev: added START_TIME, END_TIME variables
12. player: refactored script to update ratings from rompr/sticker/stats
13. player: removed hardcored MySQL connection parameters
14. player: fixed variables getting clobbered by functions
- 19/07/2020
15. player: display sticker insert/updates after NewSong line
16. mpdev_update: added date_added field
17. mpdev_update: use st_mtime, instead of st_ctime for date_added field
18. mpdplaylist: use date_added field instead of last_modified
- 20/07/2020
19. mpdev: send status, currentsong command on player event to set
    ELAPSED_TIME
20. added rompr_hist play history utility for rompr
21. renamed rompr_hist to romprhist
- 21/07/2020
22. player: added get_rompr_playcount_ts() function to get playcount and
    timestamp from Playcounttable
23. player: option to run without sticker, stats enabled
24. player: create temp file for recording original start time
25. player: added error condition for getting rating from Ratingtable.
26. player: BUG. fixed rating tmp filename
27. player: display rating for RompR in logs in RompR scale
- 22/07/2020
28. added transfer_play
29. player: use AUTO_RATING env variable for automatic rating of unrated songs
30. create_service: fix for raspberrypi, dietpi
- 24/07/2020
31. mpdev_update: removed requirement of -m option for update mode
32. player: exit end-song if END_TIME is not set
33. player: fixed display playcount number in verbose output
- 28/07/2020
34. mpdev_cleanup.c: made -m optional
35. mpdev_update.c: added updation of Disc tag
35. player.in: added zztimestamp filed to Ratingtable
- 02/08/2020
36. set default values for play_count, rating, date_added fields.
37. use %%mtime%% tag from mpd datatabase for date_added filed instead of using stat(2) call
- 03/08/2020
38. mpdplaylist: added --host option to specify mpd host
39. mpdplaylist: added --shuffle option to shuffle playlist
- 05/08/2020
40. mpdplaylist: renamed --save option to --playlist
41. mpdev_rename: use SQL REPLACE instead of sed
- 06/08/2020
42. mpdplaylist: renamed --dummy option to --query
- 08/08/2020
42. mpdev.c, mpdev_cleanup.c: fixed usage/error strings
43. tcpopen.c: added missing return on connect() failure
- 09/08/2020
44. player: use unix domain socket if MYSQL_SOCKET is defined
- 10/08/2020
45. player: skip http urls
46. mpdev: skip submit song when starting from pause state
47. create_rpm: added comments to indicated cwd
48. player: replaced /tmp/mpdev with MPDEV_TMPDIR
49. player: exit now-playing when in pause or stop state
50. mpdev.c: set PLAYER_STATE environment variable when starting
51. mpdev.c: set ELAPSED_TIME, DURATION only when available
52. mpdev.c: fixed setting of initial_state
53. mpdev.c: fixed logic of play/pause/stop
- 11/08/2020
54. mpdev_update.c: adjust date_added for localtime
55. transfer_play: use mpc to play and remove playlist
- 14/08/2020
56. added playpause script
- 26/08/2020
57. player: added self-update of scripts in $HOME/.mpdev
- 27/08/2020
58. player: auto rate if $HOME/.mpdev/AUTO_RATING file is present
59. fixed path of stats.db
- 03/08/2020
60. mpdplaylist: fixed --clear option
- 05/08/2020
61. mpdplaylist: added --limit option
- 08/08/2020
62. mpdev_rename: fixed usage string
- 07/01/2021
63. create_services: fixed cp
04. mpdplaylist.in: added last_played IS NULL to daysnotheard query
- 14/02/2021
65. transer_play - display list of valid host on wrong input
- 25/02/2021
66. /service/mpdev/run - do cleanup of /tmp/mpdev and scrobble logs in
    $HOME/.config
67. moc-scrobbler - create log file in ddmmyy.log format
68. /service/mpd/run - use relative path for variables to allow renaming
    of service directory
- 30/03/2021
69. obs integration
- 10/04/2021
70. mpdplaylist - use $HOME/.mpdplaylist.options for default options when no
    arguments are provided
71. package install/upgrade - refresh service
- 11/04/2021
72. added transfer_play, romprhist man page
73. refactored romprhist
- 14/04/2021
74. update variables only if changed
75. save variables using minisvc --export-variables
76. mpdplaylist: added --playcount option to get songs that match play counts
77. mpdplaylist: added --play option
78. mpdev.c, player: added song played duration in SONG_PLAYED env variable
- 15/04/2021
79. mpdplaylist: downgrade karma if song is partially played
80. mpdev.c: fixed initialization of song played duration
81. create_service: fixed cleanup of /tmp/mpdev
