Devious Fish
pianod2 music server
profile for Perette at Stack Overflow, Q&A for professional and enthusiast programmers

pianod2

Work in progress

Recent progress

Generated from SVN logs.

Date Revision Description
09 Jan 2025 r410
  • Fix compilation problem in OS X metadata reader.
09 Jan 2025 r409
  • Remove ffmpeg vs libav test (libav is good and dead)
  • Fix AVFoundation check - giving false negatives.
09 Jan 2025 r408
  • Add greeting/TLS setup timeout to avoid lingering Internet probes.
04 Jul 2024 r407
  • Add logging for missing Pandora station info.
04 Jul 2024 r406
  • Pandora: ignore QuickMix contains stations that don't exist.
  • Parsnip: Add test for additionalProperties true, false, and a schema.
28 Dec 2023 r405
  • - Tone generator: reduce clicking at end of tones.
  • - Rework instances of [optional] keywords.
  • - Document get_biased_selections().
  • - Delete unwanted constructors on Lookup<>.
22 Nov 2023 r404
  • Add 'queue' logging flag.
  • Add command to update the algorithm for a playlist
  • Convert lingering tabs in the code to spaces
20 Nov 2023 r403
  • Fix bug in filesystem song selection returning only 1 song, introduced in r395 bugfix to prevent deadlock when selecting songs.
20 Nov 2023 r402
  • Add a better interface to adjusting logging levels.
  • Change logging enum to enum class.
17 Nov 2023 r401
  • - filesystem: provide song pathnames to administrators
  • - library: provide playlist algorithms to owner
  • - In client, adding song as artist seed to another station adds it as a
  • song seed. Required 'TYPE' before seed type.
16 Nov 2023 r400
  • Add option to disable log timestamps; systemd journaling timestamps already
  • File source: Don't allow artist seeds for no-name artists
  • File source: Don't allow album seeds for no-name albums with no-name artists.
  • Fix lost of details on some error messaging.
14 Nov 2023 r399
  • AVDeviceOutput: Fix crash or assertion after failure to open device.
  • Code clarity: Rename "successive_failures" to "sequential_failures".
  • Problem handling: Temporarily disable playback upon repeated failures.
21 Jun 2023 r398
  • Correct revision number in ChangeLog.
21 Jun 2023 r397
  • Fix build error due to unnecessary include in gstreamer metadata reader.
  • Allow audio driver setting to choose gstreamer sink type.
  • Fix protocol bug when waiting on sources to become ready.
21 Jun 2023 r396
  • Fix build error due to unnecessary include in gstreamer metadata reader.
21 Jun 2023 r395
  • Implement cross-fade when skipping
  • Fix infinite loop in music library song selection
28 Sep 2022 r394
  • pianod: Null-terminate the 2-character salt passed to crypt().
  • pianod: Fix crash when non-request sources are queried about requests.
23 Sep 2022 r393
  • configure.ac: update to autoconf 2.71.
  • viewer.ts: ensure 'idle' class is shown when player is idle.
28 Mar 2022 r392
  • Update ncurses check to ensure tiparm() is defined correctly.
27 Mar 2022 r391
  • Fixed failure to restore a source on startup to neither prevent startup nor trigger uncaught exception.
  • Change other initialization exceptions to avoid uncaught exception abort.
  • Fix av_packet_init deprecation warnings.
  • Strip support for ffmpeg < 3.1, which was released ~6 years ago.
  • Improvements suggested by compilation warnings from Clang 13.
26 Mar 2022 r390
  • Make extractOptions() recurse, and move work to non-recursing extract() for calling by constructors.
  • Rework source statistic reporting; JSON report was previously incomplete.
  • common/interpreter.cpp: Fixes to help renderer to correct mismatched brackets and optional option parser detail omissions.
  • Compilation failure: tiparm() not found on MacOS 10.15.
09 Mar 2022 r389
  • Close connection if error setting NOSIGPIPE.
  • Small corrections to parsnip documentation.
20 Dec 2021 r388
  • If unittest is run with wrong shell, print an error and exit with status for test skipped.
19 Dec 2021 r387
  • Last of the using namespace std fixes, hopefully.
19 Dec 2021 r386
  • Fix a few more using namespace std issues.
19 Dec 2021 r385
  • Fixes for removal of using namespace std
19 Dec 2021 r384
  • Fix crash when Pandora ads had no company name or no title.
19 Dec 2021 r383
  • Code cleanup: Remove `using namespace std` several places
  • Modernization: Remove #ifdef guards in favor of #pragma once
30 Aug 2021 r382
  • JSON Protocol: Add missing JSON requests for source add/use/etc.
  • Pandora: Prime/Refresh cache if needed before getting song rating.
  • Update documentation, adding protocol overview and adding JSON
  • request names to respective command overview.
  • Parsnip: Add PARSNIP_JSON_HEXADECIMAL_NUMBERS option.
27 Aug 2021 r381
  • - Fix bug in getHistory/getQueue requests with negative indicies.
27 May 2021 r380
  • Client: Fix HTML validation error by providing default target for A element.
24 May 2021 r379
  • :vi Change
24 May 2021 r378
  • Fix compile errors generated by latest TypeScript compiler & jQuery definitions.
  • Fix linking flag "-lsdl" to "-lSDL".
  • Makefiles: Retrieve node.js paths with "npm config get prefix"
  • Makefiles: TypeScript: use "--moduleResolution node" to find jQuery definitions.
  • Fix compile errors generated by latest TypeScript compiler & jQuery definitions.
  • Credit to Martin Stumpf for identifying these issues and submitting patches.
23 May 2021 r377
  • Fix missing #include <memory> in audiooutput.cpp.
17 Apr 2021 r376
  • Fix assert after Pandora request failed with error #0.
  • Fix some static analyzer complaints.
01 Apr 2021 r375
  • Rework ThingieList and other collections to avoid template code bloat
  • Client-Console: Fix shutdown command
24 Mar 2021 r374
  • Rework seeds/ratings handling for protocol omissions on internal-tuner
  • Don't save altered source parameters unless asked to.
20 Mar 2021 r373
  • - Fix assertion when searching with a source that isn't ready
  • - Fix problem/assertion when rating currently playing song
  • - Reintegrate using old ("JSON v5") protocol
  • - Constipate source pointers thoughout code base.
16 Mar 2021 r372
  • Reintegrate Pandora using older "JSON" protocol.
  • Fix crash related to JSON protocol when rating current song.
19 Feb 2021 r371
  • Fix makefile issue.
18 Feb 2021 r370
  • JSON protocol: Add missing albumName on albums and songs
  • Client: deliver as ECMAScript 6; ditch Node.js toolchains.
  • Rewrite viewer using JSON protocol.
13 Feb 2021 r369
  • Workaround for GCC 6 compile issue.
13 Feb 2021 r368
  • Adjust code to compile on GCC 7. Add install note GCC 6 no longer works.
  • Fix a few typos.
  • Some cleanup in json_format.cpp.
13 Feb 2021 r367
  • Add "greeting=<none,brief,full>" option when connecting
  • JSON protocol: Fix several events being omitted
  • JSON protcol: Fix version number reporting
  • json_format: add flatten, validate validation, and man page
  • Schemas: allow additionalProperties schemas
  • Schema creation/validation: Better location reporting
08 Feb 2021 r366
  • Fix durations in replies going to whole service.
07 Feb 2021 r365
  • Fixes for Mac compile.
07 Feb 2021 r364
  • Add missing #includes causing compile errors on Macs.
07 Feb 2021 r363
  • Football: Fix rounding issue with fractional poll intervals.
  • Fix to ffmpeg/AVDevices output.
  • Implement JSON tranmission, document protocol.
02 Feb 2021 r362
  • Refactor MusicThingie tranmission.
  • Football: Bug fix for service member count upon rejected connection.
31 Jan 2021 r361
  • Football: Reject connections from 0.0.0.0 (occasional on MacOS)
  • Football: Fix buffer overflow in fb_unregister
  • Rework PLAY/SELECT commands/requests.
  • Parsnip: Allow keyword optionals at end of option sequence.