profile for Perette at Stack Overflow, Q&A for professional and enthusiast programmers

Devious Fish


Work in progress

  • Refactor out extractOptions() calls, and use constructors?
  • Key cleanup
  • Playlist predicate select by name is case sensitive (reproducible?)
  • Add a better interface to adjusting logging levels
  • Pandora: Retrieve song explanations, and announce explanation at start of message.
  • Pandora: Add station selection-mode setting (narrow, standard, wide)
  • Parsnip
    • Schemas: add JSON reference support
  • Daemon improvements/bugs:
    • Daemon remains stuck reporting Playback Stalled, even after playback resumes.
    • Check on refactor Users to use callbacks and get rid of linkages
    • Tone generator: DTMF generator?
    • Track spacing/ inject specific track between all other tracks.
  • Unit tests needed
    • filter tests
    • playlist create smart
    • playlist create dumb
  • Pianod client improvements
    • Restore --strictNullChecks TypeScript compile flag
    • Client doesn't reflect user actions and ratings on current song upon login
    • Build script: Deliver client locale files to website. Remove deliver target from Makefile
    • TrackView: viewing next song at front of queue disables dequeue option in additional-actions pop-up
    • Show "Various Artists" as artist name for compilation albums
    • Show "Artist unknown" when artist is not known
    • Client: When "Stopped", change Special Playlists->Stop to Resume/Continue.
    • Need to wipe field values on load, or Linux may remember them
    • If multiple rooms, prompt to select one on login. Option for 'always ask' or 'always start here'.
    • Searchview: previous/next search review history buttons
    • Trackview: handle QueueChanged event
    • Trackview: explain song
    • Trackview: Recue current song
    • Trackview: Get history/future data from QueueView.
    • QueueView: Process song messages directly rather than querying STATUS.
    • SearchView: Add all search results as seeds to some playlist
    • SearchView: Shuffle search results
    • Client: Queueview needs to send track rating changes to its subscribers

Recent progress

Generated from SVN logs.

Date Revision Description
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 (occasional on MacOS)
  • Football: Fix buffer overflow in fb_unregister
  • Rework PLAY/SELECT commands/requests.
  • Parsnip: Allow keyword optionals at end of option sequence.
27 Jan 2021 r360
  • Fix: SelectedSource and Privileges updates being dropped.
  • Client: Fix seed toggle buttons, which were always toggling song seed.
  • Football: Add service option for ping interval.
  • Football: Send websocket close just before connection closure.
  • Football: Fix `pong` response, resolving spurious disconnects.
26 Jan 2021 r359
  • Fix compile issues with gstreamerplayer and OS X player.
26 Jan 2021 r358
  • Add alternate libparsnip build & tests with comments & file position enabled.
  • Return responses through ResponseCollector, DataResponse & CommandReply rather than transmit directly.
  • Scrub docu-comment issues identified by Doxygen.
24 Jan 2021 r357
  • Return command responses through ResponseCollector/DataResponse "funnel"
  • Fixes to Parsnip JSON parsing when comments enabled.
10 Jan 2021 r354
  • Add PARSNIP_JSON_TRACK_POSITION to report line+character number of JSON parse errors.
09 Jan 2021 r353
  • Fix warning issue in failurecounter.h (part of unit tests).
09 Jan 2021 r352
  • Parsnip: Add RegEx to command line protocol
  • Unittest: don't enable color if not writing to a terminal
  • Address issues reported by static analyzer.
07 Jan 2021 r351
  • Clean up/reformat Pandora message creation.
  • Parsnip: Implement schema creation from JSON Schema definitions.
30 Dec 2020 r350
  • - Workaround for compile error: default initialization of const with =default constructor.
30 Dec 2020 r349
  • Implement JSON requests
  • Parsnip: Allow apostrope-demarked strings in JSON
  • Add JSON request support to `piano` shell script
  • Refactor away StringDictionary; keep source parameters in JSON dictionary.
14 Dec 2020 r348
  • Fixes for Makefiles.
14 Dec 2020 r347
  • Reimplement help
  • Clean up some error formatting
  • Remove 'include' directory; modify #includes for Parsnip & Football
10 Dec 2020 r346
  • Enable all warnings (-Wall) when configured with --enable-debug
  • Scrub warnings
  • Detect/set C++ standard for Objective C++ compiler
06 Dec 2020 r345
  • Corrections to makefiles, unit test timing issue.
06 Dec 2020 r344
  • Replace Football parser with Parsnip parser.
08 Jun 2020 r343
  • Fix Pandora items reporting as queueable.
  • Fix occasional Pandora search failures
19 May 2020 r342
  • Provide greeting or query string upon HTTP/HTTPS port connections.
19 May 2020 r341
  • Allow inline and non-iterative forms of option parsers.
15 May 2020 r340
  • Fix potential out-of-buffer reference, clean up in numeric evaluators.
15 May 2020 r339
  • New Parsnip command line parser.
  • Parsnip refactoring.
  • Upgrades to unit tests.
06 May 2020 r338
  • Parsnip: rename some things to clean up.
05 May 2020 r337
  • Fix build issues.
05 May 2020 r336
  • Merge autconf changes from Proximmon.
  • Update to use new macros
  • Refactor MusicLibrary to reduce template use.
04 May 2020 r335
  • Merge changes from proximmon.
29 Apr 2020 r328
  • Documentation updates to remove Proximmon.
29 Apr 2020 r326
  • Split proximmon out into its own project.
28 Apr 2020 r325
  • configure: add checks for header files needed for ping.
  • configure: add compiler check for "@autoreleasepool", an Apple/clang extension.
  • Add checks for Snow Leopard, #ifdef OS X bluetooth code to support legacy API.
  • Don't log arp_get errors when they mean not found.
27 Apr 2020 r324
  • Fix mac compile issues.
27 Apr 2020 r323
  • Proximity: Add level checks aroung all logging
  • Refactor presence/departure settings; read settings from configuration file.
  • Better error handling for invalid JSON, no pinger or ARP fallback.
  • Allow compilation without libdnet.
27 Apr 2020 r322
  • proximity: Implement Bluetooth monitoring for OS X.