Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_skipcount (Read 11919 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_skipcount

Reply #1
    Version: 1.5.0

    Tested 2.0 x86/x64 and 1.6 on Win10.

    Features added:
    • Log all skips with times in Javascript format and system formatting. Alternatively, it can just track the most recent skip only. Both are off by default, but can be enabled in preferences. Note that enabling logging all skips will also enable logging the most recent skip due to how it is internally processed. These are accessible with %last_skip%, %skip_times_raw%, and %skip_times_js%.
    • Context menus allow for clearing the most recently logged skip or all logged skips.
    • Track properties will display all 3 formats (human date, system time, and js time) if focused on one track. Multiple selections will list the most recent skip between them and their total skip counts along with the individual skip types.
    • Add previous-skip protection: Off by default, when enabled, pressing previous will allow a 1-second grace period so accidental skips are avoided. (This may be expanded to generic protection for all actions and a customizable grace period duration if either are requested)
    • The above offsets the skip logging by 1 second, so if your preferences say 5 seconds, it will actually be 5 seconds after the 1-second grace period.

    Technical notes:
    • foo_skip changed the field so there is no longer a clash between the two now.
    • Updated many types and functions to use explicit, more consistent, or better built-in types.
    • More consistent naming, formatting and, ordering.



Discussion Topic

Re: foo_skipcount

Reply #2
Version: 1.9.0

Tested 2.0 x86/x64 and 1.6 on Win10.

Feature changelog:
  • Add skip protection toggles for all 3 actions as well as delay duration for each. So, after pressing 'Next song', if next protection is enabled, for 1 second (the default, but customizable) into the next song any skip action will not count. This will delay the window for skips to count. That means, if the duration setting above is set to 5 seconds, the skip will count from 1-6 instead of 0-5.
  • Preference requires re-apply: Changed skip logging setting to be a dropdown as the previous settings would conflict. Now choose between No logging, just last skip, or log all skips.
  • Updated settings dialog window for formatting and grouping.
  • Added context menu clear option to remove all timestamps except the most recent.

Technical:
  • Merged context menu functions into one
  • Preferences utilize more built-in helper functions
  • Created contextmenu header
  • Created fields header
  • Utilized inline on some functions

Discussion topic



Re: foo_skipcount

Reply #5
Version 2.0.0

Tested on foobar2k 2.0 x86/x64 and 1.6 on Win10, however not extremely thoroughly.

Feature changes:

Fields:
  • %latest_skip% is identical to %last_skip%
  • %first_skip% which is identical to %oldest_skip%, both are new
Context menus:
  • Clear oldest timestamp
  • Settings have been added to preferences page:
  • Copy/Paste skip statistics. The "None" option does not overwrite timestamps.*
  • Writing/Importing Tags with skip statistics
Misc:
  • If tracks share the same hash after tags are changed, the records are combined rather than one being overwritten.
  • Fixed a couple minor bugs like the Last skip track property in the details menu displaying
Technical changes:
  • Replace pragma once with #ifndef statements
  • Created separate file for record methods and structs
  • setRecord uses dynamic allocation, getRecord is confirmed to not be able to
  • Converted some types to more platform-agnostic types
  • Various optimizations for execution-time and visual space
  • Create constants for various things for easier access and avoiding some things updating while others are not
  • Converted for loops to use for-ranges where possible
  • General re-organization of methods, variables, and definitions
  • Renamed enums and their values to more acceptable names
  • Replaced auto definitions with actual types
  • Debugging now launches the portable foobar2000 installations with the plugin running
New dependancies:
  • Tinyxml2 for XML exporting to file

I am treating this almost as a beta release because I changed a lot and did testing but I want to be very sure there are no errors before officially releasing the update automatically. Please let me know on the Discussion thread or on the issue tracker on Github of any crashes, bugs, or errors. If anything is not functioning as you would expect*, I am willing to make adjustments.

Discussion topic

Re: foo_skipcount

Reply #6
Version 2.0.1

Tested on foobar2k 2.0 x86/x64 and 1.6 on Win10.

Feature changes:
  • Logging for double-click track seelction
  • Date-time timestamp field under %skip_times%

Discussion topic