Skip to main content


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.
Recent Posts
3rd Party Plugins - (fb2k) / Re: foo_skipcount (discussion)
Last post by fjara -
Hey, I just released a semi-beta version of 2.0 on github and the upload thread. I am not going to put it on the foobar2000 website repository just yet in case there are problems as I added and changed quite a bit.

I can added a date-time column, I wasn't sure if there would be anyone that would use it. I will add it in 2.0.1. I do not know exactly how foo_skip works currently, but I will check it out and see what is possible.
Uploads - (fb2k) / Re: foo_skipcount
Last post by fjara -
Version 2.0.0

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

Feature changes:

  • %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
  • 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
3rd Party Plugins - (fb2k) / Re: foo_uie_lyrics3
Last post by marc2k3 -
If it looks in the playing file's folder by default, I guess Lyrics\%filename% would do but I don't use the component.

%filename% discards the .mp3/.flac - you might have to append .lrc or whatever the file format is.
General Audio / Re: deduplicate files -> and create symlinks / softlinks instead
Last post by Porcus -
The reason I have "wishlisted" that feature is not deduplication though - it is to expand padding to take up all the space that the file is anyway going to use on disk. Bigger padding and fewer full rewrites, costlessly.
But when you do have deduplication, aligning the start of the audio makes the most sense because it ensures the audio will never share a block with metadata. ZFS won't waste an entire recordsize block for the end of the file as long as you enable some form of compression.
If you have an "ideal" file system that can sneak in more blocks "midway" in a file - and a tagger that can do it and thus "maintain deduplication" - then that is the way, especially if you don't know the audio length upon encoding. (If you knew, you might as well write an encoder that starts at the end.)

But if you don't have that luxury, then starting audio with z bytes zeroes and a bytes audio shouldn't be much different to the file system than ending it with a bytes audio and z bytes zeroes. You can always keep those z bytes if you want, but you have the additional advantage of writing tag data into it if and when you are in a situation where doing so saves a full tag rewrite. You simply have z bytes more padding, and that is not a downside.

Instead of course, you can use audio formats with (APEv2) tags at the end. Disadvantages and advantages to either solution.