foobar2000 Components

For foobar2000 v1.4 and newer

List components designed for foobar2000 v2.0+

List older components

Components listed here are compatible with foobar2000 v1.4 and newer. They work on Windows XP and do not require any special instruction sets from the CPU.


ComponentDescriptionLast Updated
Audio MD5 v0.6.1A tool for generating and verifying MD5 checksum of audio data. Uses ffmpeg.exe and supports all formats FFmpeg supports.
  • 0.6.1 (2022-01-19): Fixed text truncation in the result dialog statusbar.
  • 0.6 (2021-12-21): Fixed track naming in result dialog to use the configured setting.
  • 0.5 (2021-12-20): Added option to compute the hash from the decoded PCM data with lossless formats.
  • 0.4 (2020-11-15): Made the name of the AudioMD5 tag field configurable.
  • 0.3 (2020-10-17): Made default checksum scan skip tracks with existing AudioMD5 tag. Added a new hidden-by-default context menu command to force scan tracks with existing checksum tag. Removed OK button from the result dialog when there's no need to tag any files. Changed tagging not to touch the files if tag content didn't change. Improved status texts.
  • 0.2 (2020-10-09): Added multithreaded scanning. Moved tagging to background thread.
  • 0.1 (2020-10-07): Initial version.
2022-01-19 15:57
Amplifier DSP v1.0.2A simple volume adjustment DSP allowing the signal amplitude to be both boosted and lowered.
  • 1.0.2 (2018-04-07): Fixed rounding issue on the configuration screen. Dynamic C runtime compile for foobar2000 v1.4+
  • 1.0.1 (2017-02-06): Fixed crash when attempting to open About
  • 1.0 (2017-02-06): Initial version.
2018-04-07 18:10
Crossmix DSP v0.1Mixes the beginning of the next track over the ending of the previous track without any fading.
  • 0.1 (2019-09-01): First version
2019-09-01 14:14
Smart Dither DSP v1.0.7TPDF dither DSP that leaves digital silence untouched.
  • 1.0.7 (2021-11-14): Fixed noise issue introduced in the previous version when target bitdepth was 8 bps or less. Signed signal was passed on as unsigned.
  • 1.0.6 (2020-01-24): Bit depth truncation to 23 and 24 bits introduced very quiet artifacting (sub -144 dBFS). That is now fixed
  • 1.0.5 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 1.0.4 (2017-01-26): Added option to disable high-pass filtering of the dither noise.
  • 1.0.3 (2017-01-05): Fixed DC offset introduced by bitdepth truncation.
  • 1.0.2 (2014-12-16): Truncates the audio signal to target bitdepth.
  • 1.0.1 (2014-07-03): Changed dither scale to 0.1 - 4.0 bits. Supports unlimited number of input channels. Changed default dither amount to 1.0 bits.
  • 1.0 (2014-04-13): Initial version.
2021-11-14 14:01
Downmixer DSP v1.0Downmixes source to the selected output format.
  • 1.0 (2020-08-15): Initial version
2020-08-15 11:43
Fade In/Out DSP v1.0.5Allows adding linear, sine, cosine, or logarithmic shaped fade-in and fade-out effects.
  • 1.0.5 (2019-10-06): Added option to disable track change detection
  • 1.0.4 (2019-09-19): Fixed buffering with Converter
  • 1.0.3 (2018-11-07): Fixed buffer resize bug when channel count changed
  • 1.0.2 (2018-06-04): Changed buffering logic to be more robust. Added rejection for invalid audio chunks
  • 1.0.1 (2018-01-06): Added logarithmic fade option where volume adjusts linearly from -100 db to 0dB. Compiled with dynamic C runtime for foobar2000 v1.4
  • 1.0 (2017-11-27): Initial version
2019-10-06 15:49
Fake Gapless DSP v0.4Briefly fades track changes to silence to avoid glitches with gapless tracks when encoded with lossy codecs. Meant to be used with the Converter component when creating files for portable players.
  • 0.4 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.3 (2014-11-22): Changed fade to cosine shape and made fade length adjustable
  • 0.2 (2010-07-30): First public version
2018-01-07 00:10
Hard Clip DSP v1.0.1Clips peaks forcing foobar2000 output to match players that don't support floating point output.
  • 1.0.1 (2018-01-06): Changed the dll name to include _dsp_. Dynamic C runtime version for foobar2000 v1.4
  • 1.0 (2011-06-05): Initial version
2018-04-07 17:26
mda Dither DSP v0.1Range of dither types for word-length reduction. Almost direct conversion of Paul Kellett's VST plug-in.
  • 0.1 (2018-07-25): Initial version
2018-07-24 23:00
Meier Crossfeed DSP v1.1.1Software implementation of Meier Audio's crossfeed.
  • 1.1.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 1.1 (2016-06-11): Fixed bug that buffers weren't reset after multi-channel audio. Changed level label to strength. Added finer control over the effect strength.
  • 1.0 (2014-07-15): Initial version.
2018-01-07 00:10
Gap Killer DSP v0.4.2Removes silence from track transitions.
  • 0.4.2 (2019-01-26): Added configuration for maximum gap length to remove
  • 0.4.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.4 (2017-02-26): Tries to find best interpolation length on track change automatically. Added short fades to track transitions when sample rate or channel count changes
  • 0.3 (2017-02-18): Converted to work with foobar2000 v1.1+. Removed configuration
  • 0.2.1 (2003-07-26): Added silence removing to the end of playback
  • 0.2.0 (2003-07-17): Major improvements in silence detection code
  • 0.1.5 (2003-05-26): Fixes
  • 0.1.4 (2003-05-23): Console only reports total number of samples skipped at the beginning
  • 0.1.3 (2003-05-21): Added support to smooth cut position, improved unintended silence detector, added config
2019-01-26 21:22
Gap Killer DSP v0.4.4Removes silence from track transitions. Alternative work-in-progress version with manually configurable threshold.
  • 0.4.4 (2020-02-22): Fixed a crash with sample rate change.
  • 0.4.3 (2020-02-16): Re-added silence threshold slider. Changed -100 dB silence threshold to only touch digital silence. Currently all automation and smoothing fades are off
  • 0.4.2 (2019-01-26): Added configuration for maximum gap length to remove
  • 0.4.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.4 (2017-02-26): Tries to find best interpolation length on track change automatically. Added short fades to track transitions when sample rate or channel count changes
  • 0.3 (2017-02-18): Converted to work with foobar2000 v1.1+. Removed configuration
  • 0.2.1 (2003-07-26): Added silence removing to the end of playback
  • 0.2.0 (2003-07-17): Major improvements in silence detection code
  • 0.1.5 (2003-05-26): Fixes
  • 0.1.4 (2003-05-23): Console only reports total number of samples skipped at the beginning
  • 0.1.3 (2003-05-21): Added support to smooth cut position, improved unintended silence detector, added config
2020-02-22 14:32
Pregap DSP v1.0.5Inserts silence before real playback begins. For use with slowly initializing digital receivers.
  • 1.0.5 (2019-12-15): Added some playback callback functionality back to be able to detect manual track changes and skip adding silence when DSP is activated mid-playback. Separated seek and manual track change options.
  • 1.0.4 (2019-04-11): Removed playback callback hacks and the function now works as a plain DSP. Config is still under Tools menu.
  • 1.0.3 (2019-03-23): Removed silence on pause as output buffer prevents it from working correctly.
  • 1.0.2 (2018-01-19): Added option for inserting silence on stream format changes
  • 1.0.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 1.0 (2016-05-08): Moved config to Tools menu. Added option to insert noise instead of silence. Now adds silence after pause and optionally after seek and manual track change.
  • 0.2 (2010-01-18): Added configuration
  • 0.1 (2010-01-17): First version. A test to deal with slow wakeup of external decoders when using digital connection.
2019-12-15 11:22
ReplayGain DSP v0.2.8Alternative RG implementation with smart RG mode selection based on playback mode and playlist contents, automatic loudness estimation for tracks with missing RG info and different methods for clipping prevention.
  • 0.2.8 (2021-07-26): Added protection against apparent invalid gain values.
  • 0.2.7 (2021-07-23): Returned to older SDK to restore Windows XP compatibility. Blacklisted incompatible protocols so they won't be attempted to be decoded.
  • 0.2.6 (2021-03-27): Opening configuration window reverted -14 LUFS target loudness to default because of incorrect range check. Replaced "experimental" in the name with "alternative"
  • 0.2.5 (2020-09-23): Changed decoder initialization flags to allow inaccurate seeking to improve subsong scanning speed
  • 0.2.4 (2019-08-03): Added option to disable automatic replaygain scanning of streams
  • 0.2.3 (2019-07-26): Compression use check had incorrect logic and the feature was off when it was supposed to be on, and vice versa
  • 0.2.2 (2019-01-08): Only calls ReplayGain scanner on valid audio chunks to prevent lock-ups
  • 0.2.1 (2018-11-14): Uses previous scale if RG data is missing and can't be scanned
  • 0.2 (2018-10-27): Altered compression routine. Made the component attempt to scan gain values from unreplaygained tracks.
  • 0.1 (2018-10-24): Initial version
2021-07-26 07:00
Skip Silence DSP v1.0.3Automatically fast forwards over extended periods of silence. Now a built-in feature but this component allows leaving in longer silence.
  • 1.0.3 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 1.0.2 (2014-10-21): Now fades the audio signal around skipped parts
  • 1.0.1 (2014-02-22): Adjusted various limits and defaults. Length is now ajustable between 0.5 seconds and 2 minutes
  • 1.0 (2011-06-26): Ported to foobar2000 v1.1
  • 0.0.2 (2003-06-12): Added config to specify minimum length of silence needed to start skipping
  • 0.0.1 (2003-05-28): First version
2018-01-07 00:10
SRC Resampler DSP v1.0.12Secret Rabbit Code resampler. Uses libsamplerate 0.2.1.
  • 1.0.12 (2021-02-20): Updated to libsamplerate v0.2.1 and the latest foobar2000 SDK
  • 1.0.11 (2019-11-30): Added options to downsample and upsample by predefined factors
  • 1.0.10 (2019-08-05): Fixed extrapolation of very short tracks. Changed config dialog to allow entering 8-digit target sample rate. Maximum allowed sample rate is still limited to what foobar2000 SDK allows, currently 20 MHz
  • 1.0.9 (2018-10-05): Fixed latency reporting to be sample-accurate
  • 1.0.8 (2018-03-24): Added extra checks against malformed audio chunks
  • 1.0.7 (2018-03-19): Fixed resampler being listed twice on DSP Manager
  • 1.0.6 (2018-03-16): Fixed upsampling truncating the ending
  • 1.0.5 (2018-03-15): Added ability to exclude frequencies and frequency ranges. Removed resampler service priority config from the foobar2000 v1.4 version of the component
  • 1.0.4 (2018-01-28): Disabled ability to use linear and ZOH modes with resampler service. Fixed priority config to allow zero priority
  • 1.0.3 (2018-01-21): Added resampler service entry. Priority of the service can be configured in advanced preferences
  • 1.0.2 (2018-01-17): Added signal extrapolation to help with gapless track transitions when converting individual tracks
  • 1.0.1 (2018-01-15): Recompile with faster float-to-int conversion functions enabled
  • 1.0 (2018-01-15): Initial version
2021-02-20 09:58
Trifield LR→LRC Decoder DSP v1.1.2Implementation of Michael Gerzon's Trifield decoder.
  • 1.1.2 (2018-08-27): Fixed left and right channels being reversed
  • 1.1.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 1.1 (2017-06-07): Added more information to the about dialog. Lowered minimum crossover frequency to 350 Hz. Removed 192 kHz upper limit for sampling frequency
  • 1.0 (2017-06-02): Initial version
2018-08-27 15:26
Vocal Exciter DSP v1.0.1Adds harmonically related distortion to high frequencies to give more presence. Based on similarly named Audacity plug-in.
  • 1.0.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 1.0 (2017-07-29): Initial version.
2018-01-07 00:10
Dynamic Decoder Info v1.0.6Exposes the decoded sample rate, number of channels and bitdepth to components that can only use static information natively.
  • 1.0.6 (2020-09-23): Changed decoder initialization flags to allow inaccurate seeking for improved performance
  • 1.0.5 (2020-04-13): Blacklisted Acropolis' foo_input_reverse protocol to prevent the main thread from hanging
  • 1.0.4 (2020-01-26): The dtitle and dartist fields weren't cleared if the new info was empty
  • 1.0.3 (2020-01-22): Moved metadb refresh to main thread callback
  • 1.0.2 (2020-01-19): Fixed multi threaded variable access
  • 1.0.1 (2019-05-31): Added artist and title fields
  • 1.0 (2017-07-06): First experimental version
2020-09-23 19:00
External Tags v1.5.12Adds tagging support for non-taggable file formats.
  • 1.5.12 (2021-11-08): Added option to prevent automatic external tag creation for read-only files. Removed folder tag path parsing failure messages for unknown protocols.
  • 1.5.11 (2020-09-20): Fixed fallback album art writer to only create external tag when the art isn't blank. Fixed album art fallback writer to create external tag for all subsongs of the file and not just hardcoded subsong 0.
  • 1.5.10 (2020-04-10): Fixed external APEv2 reading.
  • 1.5.9 (2020-03-16): External APEv2 with nothing but ReplayGain data was ignored.
  • 1.5.8 (2019-10-21): Made external tag commit able to use the optional file timestamp preservation feature introduced in foobar2000 v1.5.
  • 1.5.7 (2019-10-16): Changed the filesystem wrapper to only be used for file based paths.
  • 1.5.6 (2019-08-27): Added filesystem wrapper for the custom protocols so optional file timestamp preservation works when editing file tags.
  • 1.5.5 (2019-08-22): Fallback album art writer will now create an external tag from current metadata instead of adding art to a blank tag.
  • 1.5.4 (2019-08-22): The previous two components were incorrectly compiled with foobar2000 v1.3 API compability and didn't function properly. Fixed real file access so editing file tags and committing external tags to files works. Added real file access support to album art handlers so "Edit file tags" can show embedded art in a track even if external tag contains different art.
  • 1.5.3 (2019-08-15): Removed redirect flags from decoders to improve compatibility with foobar2000 v1.4.6
  • 1.5.2 (2019-08-13): Updated to new filter API with album art and dynamic info support.
  • 1.5.1 (2019-08-09): Made the writer component reject anything but the component's internal protocols on foobar2000 v1.5. Restored foo_tube blacklist on older foobar2000 version. Youtube links are now taggable on latest foobar2000 and Youtube playlist loading should work again.
  • 1.5 (2019-08-07): Added support for a new metadata filter API on foobar2000 v1.5 beta 8. On the new foobar2000 version the "External Tags (reader)" decoder is hidden and won't be used. External Tag support currently requires manually enabling the component under Preferences -> Tools -> Track Info Filters. The "External Tags (writer)" decoder is still present for certain features, make sure it has the lowest priority so it can't interfere with normal operation.
  • 1.0.34 (2019-07-23): Made component init more robust.
  • 1.0.33 (2019-07-19): Made the component able to handle new decoder-based Skip Track component. Removed unnecessary file opening.
  • 1.0.32 (2019-06-17): Fixed a rare crash.
  • 1.0.31 (2019-06-16): Added the content type of YouTube Source component to blacklist to unbreak its playlist loading feature.
  • 1.0.30 (2019-04-12): Fixed bug with empty tag value handling in SQLite. Updated SQLite to latest version and changed its compile settings to multithreaded. Enabled using "Create external tags" command on already externally tagged tracks when the component is configured to use another tagging format. Fixed external tag removal when configured to always write to preferred format. Fixed the component changing any custom file open exception to a generic exception. Added option to disable album art support.
  • 1.0.29 (2019-04-07): Added option force writing external tags in chosen format. This can be used to convert from one external tag type to another directly without committing tags.
  • 1.0.28 (2019-03-21): Fixed a rare crash. Changed tag commit to use a background thread so it no longer blocks the UI.
  • 1.0.27 (2019-03-16): Changed component to use C++ mutexes. Fixed a problem causing memory copy of folder tag to contain invalid data if tag writing failed.
  • 1.0.26 (2019-02-24): Added option to disable properties dialog opening when external tags are created.
  • 1.0.25 (2019-02-15): Fixed possible crash if multiple threads accessed APEv2 tagged streams simultaneously.
  • 1.0.24 (2019-02-11): Added workaround for tag commit breaking Matroska tags.
  • 1.0.23 (2019-02-09): Fixed folder tag moving with multi-subsong files.
  • 1.0.22 (2019-02-08): Fixed freeze when moving folder tag within same directory.
  • 1.0.21 (2019-01-30): The metadata refresh fix in previous build broke subsong-enabled track tagging. Fixed the fix.
  • 1.0.20 (2019-01-29): Fixed automatic metadata refresh when using "Edit file tags" with files that had no external tags. Added external tag copying from the source file to the copy when using File Operations (only used for folder and APE tags).
  • 1.0.19 (2019-01-05): Fixed SQLite database storing wrong number of tag fields when a field had multiple values.
  • 1.0.18 (2018-12-16): Fixed reading ReplayGain info from APE tags. Added context menu command for finding files that have been edited since External Tag was last modified.
  • 1.0.17 (2018-12-15): Changed 'Edit External Tags' context menu entry to only open properties dialog without doing any tag creation - any tag edits will get saved to external tags. Added new explicit 'Create External Tags' menu entry for old behavior. Added 'Edit file tags' context menu entry that always edits native tags of the target file directly. Fixed moving external tag entries from old files to new ones for APEv2 and folder tags when their directories change.
  • 1.0.16 (2018-12-10): Fixed crash if component is accessed after decoder has finished.
  • 1.0.15 (2018-12-09): Added decoder event logger support. Made non-tagged stream opening faster. More mime-type fixes.
  • 1.0.14 (2018-12-08): Fixed crash.
  • 1.0.13 (2018-12-08): Fixed stream opening to find decoder based on mime-type.
  • 1.0.12 (2018-12-07): Fixed ability to "remove" existing tags with APE tags from a subsong-enabled file.
  • 1.0.11 (2018-12-06): Fixed APE tag subsong handling. Changed SQLite database to be initialized only if it's accessed.
  • 1.0.10 (2018-12-04): Fixed fallback tag writing. Added some (temporary) extra error reporting for folder tag writing.
  • 1.0.9 (2018-11-29): Added support for album art priority control coming in foobar2000 v1.4.2. Changed track wrapping to only be available for files with existing external tags.
  • 1.0.8 (2018-11-19): Fixed converter not getting metadata from external tags.
  • 1.0.7 (2018-11-16): Fixed slow context menu opening if multiple tracks were selected. Fixed external tag editing after tag contains album art. Fixed some tag commit failure conditions. Made tag commit working for playing track.
  • 1.0.6 (2018-11-14): Fixed tag committing to subsong-enabled files. Changed pre tag creation sorting to slower function that works correctly with subsongs.
  • 1.0.5 (2018-11-13): Editing external tags no longer needs to reload info from the tracks.
  • 1.0.4 (2018-11-13): Fixed tag committing crashing on large workload.
  • 1.0.3 (2018-11-12): Art loading didn't work correctly when reading multiple tag formats.
  • 1.0.2 (2018-11-12): Fixed empty APE tag being rejected when tag contained album art.
  • 1.0.1 (2018-11-12): Fixed folder tag data being missing for random tracks.
  • 1.0 (2018-11-11): Fixed ReplayGain info saving in folder tags file. Fixed APEv2 and folder tags being unable to store blank tags for a file. Added cover art support to folder tags file. Made album art tagging on new file save current tags as external tags. Added ability to customize folder tags filename.
  • 0.9.9 (2018-11-09): Added option to use APE tags, SQLite tagging, or to use a combined folder.tags file for all tracks in a directory. Album art support isn't implemented for folder tags. Made external tag creation and removal use background thread to not block UI. Added exception handling to all filesystem access functions to prevent crashing on error situations. Rewrote subsong handling to hopefully be less buggy. Removed support for reading filename.subsong.tag multitrack tag files. Changed path wrapping to allow wrapping local files to take over album art handling.
  • 0.9.8.1 (2018-10-25): Reloads info for tracks immediately after creating External Tags
  • 0.9.8 (2018-10-22): Made the component merge static metadata to dynamic metadata. Changed external tag removal to unwrap tracks. Changed the default wrapper to just exttag://, using parenthesis is only needed when manually adding HLS streams with Add Location.
  • 0.9.7 (2018-10-21): Fixed a crash with malformed tag file.
  • 0.9.6 (2018-10-21): Made external tags follow file renames, moves and deletions. Fixed inability to tag unknown urls. Added exttag://() wrapper handler which allows tagging streams with album art - existing stream links can be converted to wrapped format from context menu.
  • 0.9.5 (2018-10-20): Worked around inability to play HLS streams with the component active. Made non-stream tag modifications refresh instantly.
  • 0.9.4 (2018-10-20): Fixed buggy tag committing.
  • 0.9.3 (2018-10-20): Adding external alternate data stream tag for taggable format didn't work. Added a new context menu command to move external tag contents into native tags.
  • 0.9.2 (2018-09-22): Fixed inability to read tag files embedded in archives. Changed the component to reject file extensions not recognized by foobar2000 inputs - this leaves out all unwanted non-audio files when dragging and dropping folders to foobar2000 playlist.
  • 0.9.1 (2018-08-02): Fixed tag writing when using properties dialog to do the initial tagging.
  • 0.9 (2018-08-01): Option to store tags in NTFS Alternate Data Streams. Setting can be toggled in advanced preferences under Tagging.
  • 0.8 (2018-07-15): Native album art writing works again. Tag reader now also supports tag writing for tracks that have external tags present. That way editing tags for such files forces the edits to go to external tags. Fixed external tagging of cue sheets.
  • 0.7 (2018-07-04): Bugfixes. Tag reader made everything report tagtype as External APEv2. Album art writer will now only activate for files that have external tag file present.
  • 0.6 (2018-06-30): Added album art support and ability to tag streams. Made the component prefer external tags outside archives over the ones stored in archives. Changed reported tag type to "External APEv2". Added context menu command for removing external tags from files. Note that stream tagging requires using "Edit External Tags" context menu command - regular properties dialog doesn't call tag writing functions on streams
  • 0.5 (2018-06-17): Removed error message when trying to remove a non-existing tag file. External tag now allows "removing" existing tags from a file
  • 0.4 (2018-06-17): Changed subsong tagging to not write separate file for each subsong. Added ability to tag files in archives
  • 0.3 (2018-06-16): Fixed a bug that prevented tagging some files
  • 0.2 (2018-06-16): Added support for subsongs
  • 0.1 (2018-06-14): Initial version
2021-11-08 19:32
TAK Decoder v0.5.7A TAK decoder component.
  • 0.5.7 (2022-07-15): Changed channel info reporting to use proper SDK method. Updated TAK dll to version 2.3.3.
  • 0.5.6 (2022-05-08): Fixed MD5 display issue after the SDK change.
  • 0.5.5 (2022-05-08): Updated TAK Decoding Library and TAK SDK to version 2.3.2.
  • 0.5.4 (2021-04-02): Updated TAK Decoding Library to final version 2.3.1. Code cleanups
  • 0.5.3 (2021-03-11): Fixed crash with invalid abort callback
  • 0.5.2 (2020-12-23): Added some safety checks to prevent crashing if called with invalid data
  • 0.5.1 (2020-03-21): Decoder priority listing still used the old name. Fixed seek check to return actual seekability status from the reader
  • 0.5 (2020-03-18): Removed (alt) from the name. Recompiled with the latest SDK
  • 0.3 (2018-11-27): Added album art reading and writing support
  • 0.2 (2018-04-14): Added support for dynamic bitrate reporting and improved reporting about file corruptions
  • 0.1 (2018-04-14): Initial version
2022-07-15 13:52
V2M Decoder v0.2.4Farbrausch V2 module (V2M) decoder.
  • 0.2.4 (2018-04-14): Added tag reading. Without it the written APE tags were quite useless
  • 0.2.3 (2018-01-06): Added support for the new decoder configuration in foobar2000 v1.4. Dynamic C runtime version for foobar2000 v1.4
  • 0.2.2 (2017-07-14): Fixed more potential memory leaks with corrupted files. Allows loading V2M files that have invalid speech data but are otherwise valid
  • 0.2.1 (2014-07-01): Fixed theoretical memory leaks. Fixed a crash caused by uninitialized speech synth memory with some files.
  • 0.2 (2014-06-22): Now uses the original assembler synthesizer when possible. Since it doesn't support multiple instances, additional decoder instances will use the c++ port.
  • 0.1 (2014-06-19): First public version. Contains several stability fixes to the decoder library and optional tag writing support.
2018-04-14 11:52
No Display Standby v1.1.2Disables monitor power saving feature while music is playing.
  • 1.1.2 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 1.1.1 (2017-04-23): Recompile with dynamic CRT
  • 1.1 (2013-03-22): Added a menu option to disable the component. Uses PowerSetRequest instead of SetThreadExecutionState on supported OSes (Windows 7 and newer).
  • 1.0 (2013-03-08): First version
2018-01-07 00:10
No Sleep v1.0Prevents system from entering standby mode while foobar2000 is running.
  • 1.0 (2018-03-06): First version
2018-03-06 18:59
WASAPI shared output v0.6.16Shared mode WASAPI output for Vista and newer Windows versions. This component tries to provide smoother volume adjustment and seek/pause/stop transitions than existing outputs.
  • 0.6.16 (2020-12-27): Added advanced config setting to adjust the quality scale of the automatic resampler.
  • 0.6.15 (2020-10-10): Fixed mix format reading to not require WAVEFORMATEXTENSIBLE structure.
  • 0.6.14 (2020-08-04): Added 22.2 channel downmixer.
  • 0.6.13 (2020-07-25): Fixed playback of very short tracks.
  • 0.6.12 (2020-06-29): Added ability to play over 8 channel audio content with missing channel mapping.
  • 0.6.11 (2020-06-27): Ignore device disappearing error when playback is paused.
  • 0.6.10 (2020-06-24): Improved standby handling. Playback should no longer error out when the machine is resumed from sleep.
  • 0.6.9 (2020-06-16): Added standby event handling.
  • 0.6.8 (2019-09-28): Removed locks from the playback thread. Added error details previously only shown on console to the error popup
  • 0.6.7 (2019-09-03): Fixed stuttering with extreme downsampling ratios. Problem was introduced by the processing change in v0.6.5.
  • 0.6.6 (2019-06-28): Reduced the glitch size when default audio device changes and buffer gets converted to the new format. Fixed player getting stuck when pausing a short track (bug introduced in 0.6.5)
  • 0.6.5 (2019-06-27): Fixed player UI freeze while processing very large audio chunks
  • 0.6.4 (2019-06-22): Fixed noise issue during channel count change when automatic resampling was active
  • 0.6.3a (2019-06-17): Version 0.6.2 introduced glitches when buffer refill events were signalled too early. Restored the retry logic for most parts to match v0.6.1
  • 0.6.3 (2019-06-17): Fixed fade-in missing when initial playback didn't start from the beginning of a track
  • 0.6.2 (2019-06-15): Fixed audio glitches when switching tracks. Changed playback thread not to abort so easily on buffering problems. Increased the fade duration to 50 ms to improve interpolation smoothness
  • 0.6.1 (2019-04-07): Reverted the 0.6 buffering change. Default device change mid-playback will now resample and convert the already buffered samples to new target format. The transition isn't as smooth as with 0.6 but better than in prior versions. Fixed a glitch when seeking while paused
  • 0.6 (2019-03-31): Buffer is no longer flushed when using the default device and the device changes mid-playback. Added a short fade-in after default device change
  • 0.5.8 (2019-03-21): Improved compatibility with audio drivers that signal events incorrectly
  • 0.5.7 (2019-03-14): Mixer setting report now includes channel mask configuration
  • 0.5.6 (2019-03-09): The output device was incorrectly reinitialized when default changed even when not using default output
  • 0.5.5 (2019-03-09): Made default output notice changes and automatically switch to new device
  • 0.5.4 (2019-02-15): Hopefully fixed playback thread init failure related crashing
  • 0.5.3 (2019-01-31): Added COM library initialization to device enumerator
  • 0.5.2 (2018-10-29): Fixed crash on device close
  • 0.5.1 (2018-10-27): Volume adjustment was incorrectly delayed during initial playback start
  • 0.5 (2018-10-18): Fixed glitching with sub 100 ms output buffers, the component incorrectly played silence when its buffer went empty. Eliminated need for Sleep() which should make the component immune to timer resolution fluctuations
  • 0.4.1 (2018-10-15): Fixed device identification by GUID
  • 0.4 (2018-10-13): Improved error handling
  • 0.3 (2018-10-06): Fixed inability to start playback in paused state. Made volume adjustment smoother. Further reduced glitching with seeking. Attempts to reinitialize output device on error
  • 0.2 (2018-09-30): First public version
2020-12-27 07:37
WASAPI shared output (debug) v0.6.16dShared mode WASAPI output debug version. Monitors buffer filling timings and some other issues and reports problems on console.
  • 0.6.16d (2020-12-27): Added advanced config setting to adjust the quality scale of the automatic resampler.
  • 0.6.15d (2020-10-10): Fixed mix format reading to not require WAVEFORMATEXTENSIBLE structure.
  • 0.6.14d (2020-08-04): Added 22.2 channel downmixer.
  • 0.6.13d (2020-07-25): Fixed playback of very short tracks. Removed unnecessary reporting of buffer going empty at the end of playback.
  • 0.6.12d (2020-06-29): Added ability to play over 8 channel audio content with missing channel mapping.
  • 0.6.11d (2020-06-27): Ignore device disappearing error when playback is paused.
  • 0.6.10d (2020-06-24): Improved standby handling. Playback should no longer error out when the machine is resumed from sleep.
  • 0.6.9d (2020-06-16): Added standby event handling.
  • 0.6.8d (2019-09-28): Removed locks from the playback thread. Added error details previously only shown on console to the error popup
2020-12-27 07:36
Play Next v0.2.1Adds the selected track to the beginning of the playback queue to be played next.
  • 0.2.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.2 (2016-06-12): Uses the playlist based queue when possible. Fixed inability to queue the same track multiple times.
  • 0.1 (2016-06-11): Initial version.
2018-01-07 00:10
Enqueue Random v0.4.1Enqueues random item from current playlist.
  • 0.4.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.4 (2009-06-21): Corrected the name from Queue Random to Enqueue Random. DLL name stays the same.
  • 0.3 (2009-06-20): Fixed bug that random track number could be one above the number of tracks in the playlist. Uses random number generator from core. Tries to prevent enqueueing same tracks.
  • 0.2 (2009-06-19): Different behavior when playback order "Shuffle (album)" or "Shuffle (folder)" selected
  • 0.1 (2009-06-19): Initial version
2018-01-07 00:10
Recorder v0.2.1Record audio from selected sound card input.
  • 0.2.1 (2019-04-11): Added back ability to record more than two channels.
  • 0.2 (2019-04-07): Moved configuration to a proper preferences page. Added ability to select specific recording device.
  • 0.1.2 (2018-01-11): Fixed crash on error.
  • 0.1.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.1 (2010-01-23): First version converted from old sources. Only usable with record:// playlist entry syntax.
2019-04-11 11:32
Renamer v0.3.0An alternative file renamer for people who wish to configure reserved character replacement rules manually.
  • 0.3.0 (2020-04-19): Fixed crash when Unicode Normalization Form KC turned characters into illegal filesystem characters. Made the component skip normalizing its own replacement characters. The component now moves files from the source dir to target dir if target directory already exists and source can't be renamed to it.
  • 0.2.9 (2019-02-10): Separate quote treating was buggy so the change was backed out. Changed subsong check to not rely on subsong indexes but query the decoder to get real subsong count. Added ability to exclude tracks matching specified search query. Fixed preferences page group layout
  • 0.2.8 (2019-02-09): Added prevention against trying to rename tracks with subsong index above 0. Made quote replacing treat each tag field separately
  • 0.2.7 (2019-02-03): Fixed character replacement rule configuration saving
  • 0.2.6 (2018-05-25): Fixed $directory functions not working. Added character replacement rule for solo double quote
  • 0.2.5 (2018-03-30): Smarter metadata refresh after rename
  • 0.2.4 (2018-03-28): Reloads metadata after rename
  • 0.2.3 (2018-03-25): Allows changing just case
  • 0.2.2 (2018-03-24): Playlist modifications now skip autoplaylists. Reserved names like NUL are now handled. Path components are truncated to maximum length supported by the target filesystem. Status is reported on the same dialog that shows previews of name changes.
  • 0.2.1 (2018-03-20): Fixed preferences page
  • 0.2 (2018-03-19): Removed "allow dot at the end of a name" option
  • 0.1 (2018-03-19): Initial version
2020-04-19 09:10
Seek to Time v0.3Allows defining timestamps to directly seek to with keyboard shortcuts.
  • 0.3 (2019-12-03): Added support for setting target positions as percentage points and changed default positions to percentages
  • 0.2 (2019-10-08): Made timestamps configurable
  • 0.1 (2019-09-30): Initial version
2019-12-03 16:24
Skip Track v1.35Skips tracks that match user configurable title formatting string. By default skips over each track with Rating set to 1.
  • 1.35 (2022-07-01): Fixed incorrect time parsing when millisecond accuracy was used.
  • 1.34 (2021-08-05): Fixed converter DSP not resetting partial skip list after each track. Reverted to older SDK to restore Windows XP compatibility.
  • 1.33 (2021-03-21): Fixed playlist length not changing when changing playback to another playlists.
  • 1.32 (2020-11-29): Added support for skipping streams. This requires enabling the setting "treat query as titleformat string" and writing the skip string as a regular titleformat string. If the string evaluates to anything but empty string or 0 the track will be skipped.
  • 1.31 (2020-10-17): Added Columns UI button state support.
  • 1.30 (2020-09-13): Removed all restrictions from bookmarking code that limited it to function only with local files and changed bookmarks to use foobar's metadb index store instead of file tags.
  • 1.29 (2020-07-10): Improved performance of playlist length computation.
  • 1.28 (2020-06-22): Changed behavior with "Repeat (track)" playback order. Now manually selecting a skippable track will allow the track to play once but not continue looping.
  • 1.27 (2020-06-21): Fixed skipping not working with "Repeat (track)" playback order. Added tracking of skip counts - visible in the properties dialog and accessible with title format field %skip_count%. Added rounding to playlist_length functionality and made $playlist_length() function return one as a minimum value instead of zero.
  • 1.26 (2020-05-16): Fixed playback resume to be treated like manual track selection. Added new titleformat variable %playlist_length% which returns the total duration of the playing playlist in minutes. Added new function $playlist_length(unit, percentage) which returns the wanted percentage of the total duration of the playlist in chosen unit.
  • 1.25 (2020-04-09): Fixed the timestamp skip check.
  • 1.24 (2020-04-09): Reverted the change introduced in version 1.17. Instead SKIP isn't treated as a timestamp if it doesn't include colon or decimal dot.
  • 1.23 (2020-03-28): Automatic bookmarking will ignore the playing track if the bookmark is manually removed. Adjusted autobookmarking behavior with seeking. Added new titleformat variable %playback_reason% to further control skip behavior.
  • 1.22 (2020-03-25): Fixed autobookmarking of tracks outside media library to also require 10 seconds of playback before being triggered. Added 10 second playback requirement after forward seek until new position is used for autobookmarking. Renamed bookmark menu entries to include mention of Skip Track.
  • 1.21 (2020-03-24): Added setting to allow automatically bookmarking tracks outside media library too. Added option to restrict bookmarking to tracks that match a query string.
  • 1.20 (2020-03-14): Made %playlist_name% and %playback_order% checks case insensitive. Fixed %playlist_name% to reflect playing playlist and not active playlist.
  • 1.19 (2020-03-07): Fixed dynamic_assert failure with repeated skip.
  • 1.18 (2020-02-24): Switching component on or off unintentionally triggered the bookmarking command.
  • 1.17 (2020-02-10): Doesn't use %SKIP% tag for time based partial skipping if it's used in the skip query.
  • 1.16 (2019-10-04): Reintroduced bookmarking support (requires foobar2000 v1.5 series).
  • 1.15 (2019-08-24): The DSP is automatically enabled when playback is started on foobar2000 v1.5 series and disabled on foobar2000 v1.4 series.
  • 1.15beta2 (2019-08-20): Restored the ability to force play a skippable track that got broken in beta 1. Made the component not skip the playing track mid-playback if the decoder gets reinitialized for any reason.
  • 1.15beta1 (2019-08-07): Added support for arbitrary number of skip positions. Added support for new APIs introduced with foobar2000 v1.5. The new interface makes the component fully compatible with External Tags and partial skipping works without altering track lengths and remains compatible with DSP effects. The component needs to be inserted into the DSP chain on foobar2000 v1.5.
  • 1.10.3 (2019-07-29): Removed the restrictions added for 1.10 that excluded the component from streams and prevented it from using input redirectors
  • 1.10.2 (2019-07-19): Removed External Tags exclusion when new-enough version of the component is installed. Restored partial skip support for tracks that would normally be skipped
  • 1.10.1 (2019-07-17): Fixed delay insertion when continuously skipping tracks. Fixed "stop playback after repeated skips" to work when looping backwards. Fixed manual skip override to work with m-TAGS
  • 1.10 (2019-07-16): Added configuration to select if full track skipping should be active outside normal playback. Fixed queue not being able to force play tracks that would normally be skipped. Fixed Previous button being able to jump backwards in history over skipped tracks. Removed bookmark support
  • 1.10 beta 2 (2019-07-14): Made "Skip even manually selected tracks" setting work. Prevented the component from being able to freeze the player on continuous track skipping.
  • 1.10 beta 1 (2019-07-14): Removed DSPs and made the skip component work as an input decoder. Added option to stop playback on repeated skips
  • 1.9.10 (2018-01-06): Skip timestamp parser doesn't overflow from decimals so easily anymore. Dynamic C runtime version for foobar2000 v1.4
  • 1.9.9 (2017-08-15): Skipping the end of a track prevented Stop after current from working. Now playback is stopped in this case. Unfortunately cursor won't advance to the next track like it normally would
  • 1.9.8 (2016-04-17): Fixed incorrect behavior when using Previous-command after skipping a track
  • 1.9.7 (2015-01-05): Fixed conflicts between SKIP tag and other components that try to seek
  • 1.9.6 (2014-12-03): Fixed DSP part playing silence if component was enabled while playing a track that should be skipped
  • 1.9.5 (2014-11-06): Fixed to work with other DSPs that request track change marks
  • 1.9.4 (2014-10-13): Added safety checks to callbacks to stop all action after on_quit is called
  • 1.9.3 (2014-09-30): Fixed query string length limit
  • 1.9.2 (2014-09-29): Moved settings from advanced preferences to main preferences
  • 1.9.1 (2014-09-20): Bugfixes
  • 1.9 (2014-08-05): Fixed muted output when resuming in paused state. SKIP and BOOKMARK fields no longer override playback resume position. Allows other components to seek to any position on track start regardless of SKIP field's presence.
  • 1.8.9 (2014-07-19): Changed not to skip tracks if skip query is empty.
  • 1.8.8 (2014-07-06): Fixed %playlist_name% handling.
  • 1.8.7 (2014-05-01): Fixed playback skipping not always working.
  • 1.8.6 (2014-04-28): Properly fixed Converter DSP failing to skip parts. Fixed playback failing to skip ending of track if SKIP tag specified also beginning of track.
  • 1.8.5 (2014-04-27): Fixed Converter DSP failing to skip end of track.
  • 1.8.4 (2014-04-20): Fixed skip check for the next track if component was enabled during playback. Added status printing for queue sourced tracks.
  • 1.8.3 (2014-03-06): Removed the DSP change checks introduced in version 1.7.3. These were misbehaving with at least foo_playlist_attributes.
  • 1.8.2 (2014-03-04): Now considers queued tracks to be manually selected and uses the appropriate skip rule.
  • 1.8.1 (2014-02-27): Recompile with SSE2 optimizations disabled.
  • 1.8 (2014-02-23): Moved track skip logic to be performed entirely in the DSP. Fixed partial skipping with SKIP tag. Now also comes with an additional DSP for Converter use. Converter behavior when skipping entire tracks depends on output codec. WAV for example produces zero byte file and converter reports error, FLAC produces no output.
  • 1.7.8 (2013-04-13): Changed DSP skip check to allow core callbacks more time to skip track before giving up
  • 1.7.7 (2013-03-24): Fixed bug that component did not respect playback queue
  • 1.7.6 (2013-03-23): Documented all the special fields skip query supports
  • 1.7.5 (2013-01-26): Added support for $rand() function
  • 1.7.4 (2011-07-02): Bookmark tag isn't updated if another component changes playback position immediately after track is opened. Fixed 'Skip to end' behavior with 'Repeat (track)' playback mode. Allowed use of 'Skip to end' feature together with bookmarks.
  • 1.7.3 (2011-06-29): Fixed DSP chain adjustments causing pauses in audio. Fixed bookmarks disappearing unintentionally in some cases.
  • 1.7.2 (2011-06-25): Fixes to bookmarking related features. Changed autobookmarking not to tag files during the first ten seconds of playback.
  • 1.7.1 (2011-06-25): Added an option to keep bookmarks of manually bookmarked tracks updated too. Now updates bookmark also when playback is stopped.
  • 1.7 (2011-06-25): Added support for bookmarking tracks. Can also automatically bookmark tracks that are in Media Library.
  • 1.6 (2011-06-20): Added support for querying current playback order name using %playback_order%
  • 1.5.1 (2011-03-27): Fixed an issue where the DSP could start playing silence in some situations when using time expressions.
  • 1.5 (2011-03-12): Fixed manual playback of files from Media Library Search window. Added support for time expressions in the skip string (time expressions in the DSP component require foobar2000 v1.1.6 or newer).
  • 1.3 (2010-08-23): Allows skipping both the beginning and the end of a track.
  • 1.2 (2010-07-04): Allows skipping a part inside a track. Syntax SKIP=[from-time]-[to-time]. Changed status bar description for main menu entry to show current skip query string.
  • 1.1 (2010-07-04): Added support for querying current playlist name using %playlist_name%. Added support for skipping the beginning or the end of a track by using tag field SKIP. To skip the beginning, use syntax SKIP=-<time>. To skip the end, use SKIP=<time>-.
  • 1.0 (2010-05-02): Previous version broke gapless playback. Simplified the DSP code. Skip Track should be the last DSP in the chain.
  • 0.9 (2010-05-02): Beginning of a skipped track was still played even when using DSP.
  • 0.8 (2010-04-24): Bugfix: DSP component skipped some short tracks always. Added console notification about skipped track.
  • 0.7 (2010-01-16): Better thread safety. Should no longer hang playback when changing DSP configuration while playing. Added support for dynamic title change detection.
  • 0.6 (2010-01-16): Added optional DSP component for increased skipping accuracy. Changed configuration to use search query syntax.
  • 0.5 (2009-12-25): Added option to force skip tracks even when manually selecting them.
  • 0.4 (2009-01-03): Behavior change: track is not skipped if formatting string evaluates to 0.
  • 0.3 (2008-11-03): Bugfix: backwards skipping didn't work properly when there were more than one track to skip.
  • 0.2 (2008-11-02): Doesn't skip manually selected track or currently playing track when foobar resumes after restart. Skips to previous track when to-be-skipped track was reached by user pressing Prev-button.
2022-07-01 16:38
Skip Album v0.3Allows quickly jumping to the next or previous album.
  • 0.3 (2020-06-15): Made Shuffle (albums) and Shuffle (folders) playback modes work a lot faster
  • 0.2 (2018-04-08): Added ability to jump to previous album. Uses playlist to select the track to jump to with playback orders that respect the playlist
  • 0.1 (2014-11-29): Initial version. Simply called Next until album changed
2020-06-15 19:17
Stop After Queue v1.2.1Stops playback at the end of the playback queue.
  • 1.2.1 (2020-10-18): Columns UI's button state didn't update with "Reset Stop After Queue when stopping".
  • 1.2 (2020-10-17): Added Columns UI button state support.
  • 1.1.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4.
  • 1.1 (2017-08-16): Reverted the change from v1.0 as it was a misunderstood feature request. Improved Stop after current state restoring.
  • 1.0 (2017-08-14): Allows disabling overriding the Stop after current setting.
  • 0.9 (2017-08-09): Doesn't stop at the end of the queue if user clears the queue.
  • 0.8 (2017-08-09): Fixed a potential unitialized variable use.
  • 0.7 (2016-08-09): Disables Stop after current when stopping if it was off initially.
  • 0.6 (2016-08-07): Doesn't touch Stop after current state when playback stops.
  • 0.5 (2016-08-04): Restores Stop after current state when appropriate.
  • 0.4 (2016-08-02): Made the component disable Stop after current when adding new tracks to the queue. Fixed playback not stopping when the last track gets removed from the queue while playing the second last track.
  • 0.3 (2016-06-11): Added option to reset after stop in Advanced Preferences -> Playback.
  • 0.2 (2016-06-09): Changed the stopping method to use Stop after current functionality.
  • 0.1 (2009-06-19): Initial version.
2020-10-18 06:11
Stop on Current v0.6.1Stops playback at the end of currently playing track.
  • 0.6.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.6 (2016-08-22): Removed leftover debug code, fixed Stop after current state resetting
  • 0.5 (2016-08-21): Fixed bugs
  • 0.4 (2009-06-18): Fix for failure to stop with very short tracks
  • 0.3 (2009-06-17): Changed stop to utilize Core's 'Stop After Current' + playback queue
  • 0.2 (2009-06-10): Changed stopping to work based on timer. One second accuracy only
  • 0.1 (2009-06-08): First version
2018-01-07 00:10
Stop on Error v0.6Stops playback after user configurable number of tracks that fail to be decoded.
  • 0.6 (2018-05-06): Now checks for decoding errors with other protocols than file:// too.
  • 0.5 (2018-05-05): Can now stop playback also when files exist but can't be decoded.
  • 0.4.1 (2018-01-06): No changes in functionality. Dynamic C runtime version for foobar2000 v1.4
  • 0.4 (2013-03-22): Fixed stopping on streams
  • 0.3 (2010-01-14): Detects file open errors a bit better now
  • 0.2 (2010-01-13): Fixed a crash bug on non standard input files (such as tone://). Added little configuration and removed playback menu entry
  • 0.1 (2010-01-10): First version
2018-05-06 10:20
Tag Normalizer v0.2Normalizes Unicode characters in tags.
  • 0.2 (2018-03-16): Added information about the character changes to the result dialog. Possible file access problems are listed on the result dialog.
  • 0.1 (2018-03-11): Initial version
2018-03-15 23:57
UPnP WAV Playback Workaround DSP v1.1Workaround DSP for UPnP receivers that do not support LPCM. If the receiver is sent continuous WAV stream the playback stops once maximum size is reached. To be used with foo_out_upnp.
  • 1.1 (2019-07-07): Added the workaround processor to dynamic track change too so it should work with streams
  • 1.0.1 (2018-05-06): No functional changes. Dynamic C runtime compile for foobar2000 v1.4+
  • 1.0 (2017-12-23): Initial version
2019-07-07 15:26
Waveform Minibar (mod) v1.0.51Seekbar that shows the waveform of the track. Lighter, fully software implemented version of the original Waveform Seekbar. Heavily based on zao's excellent Minibar component.
  • 1.0.51 (2022-09-03): Fixed custom color adjustment to update the UI properly. Right click context menu cancels active seek drag.
  • 1.0.50 (2022-08-20): Added option to scale waveform by ReplayGain values.
  • 1.0.49 (2022-04-24): Fixed the preferences page font some more.
  • 1.0.48 (2022-04-20): Fixed component hanging on sources without length.
  • 1.0.47 (2022-04-06): Enhanced half wave mode to always show the larger peaks instead of always showing just the top half. Added half wave mode to the UI element context menu. Changed the preferences page to use the default dialog font. Made the waveform regeneration of the currently visible track take immediate effect.
  • 1.0.46 (2022-03-06): Fixed UI element flashing white on start. Enhanced rate limiting for render progress updates so drawing frequency is automatically reduced if machine can't keep up. Added option to blank waveform display after playback stops. Added option to render only half of the waveform.
  • 1.0.45 (2021-05-09): Latest foobar2000 SDK generates code that requires Vista+. Reverted to 2019-11-29 SDK. Also reverted to older SQLite for reduced binary size.
  • 1.0.44 (2021-05-08): Fixed seek tooltip showing invalid timestamps when dragging the slider beyond the minibar. Updated to latest SDK and SQLite.
  • 1.0.43 (2020-11-22): Further increased the allowed length mismatch before scan results are discarded.
  • 1.0.42 (2020-11-22): Waveform scan result is no longer discarded if the decoded length is slightly shorter than the file info indicates.
  • 1.0.41 (2020-10-19): Added milliseconds as an optional unit for wheel scroll.
  • 1.0.40 (2020-10-18): Fixed a crash bug with the new scan feature.
  • 1.0.39 (2020-10-18): Added Columns UI button state support for the halt command. Added context menu command for generating missing waveforms.
  • 1.0.38 (2020-09-23): Changed decoder initialization flags to allow inaccurate seeking to improve subsong scanning speed.
  • 1.0.37 (2020-08-17): Removed useless console debug output.
  • 1.0.36 (2020-08-09): Stores the lengths of unseekable tracks in memory. Added a workaround for unseekable file seeking failing if foo_skip is installed.
  • 1.0.35 (2020-08-08): Improved downmixing of multichannel audio. Moved length scanning of tracks with unknown length to a background thread. Restored length scanner to respect the speed-based abort option. Fixed unscanned tracks to be shown as blank.
  • 1.0.34 (2020-04-12): Changed waveform scale normalization to take place after image scaling to improve its accuracy.
  • 1.0.33 (2020-01-29): Fixed a crash bug introduced by the error reporting change.
  • 1.0.32 (2020-01-29): Fixed %filesize% formatting not working. Improved error reporting in case of an error after requested decoder release.
  • 1.0.31 (2019-10-21): Added file lock manager support to allow tagging files during waveform scanning.
  • 1.0.30 (2019-10-19): Fixed waveform rendering stopping on its own when non-playing waveform was viewed for too long.
  • 1.0.29 (2019-10-18): Changed render loop to stop update timer on pause only after playback actually stops progressing - previously progress during output component's fade-out was not shown. Added render target preference and halt processing settings to context menu.
  • 1.0.28 (2019-08-02): Made the seek hack DSP hidden. Added configuration option to select which scan results to store in the database. Moved the "do not revert..." option to "track to prefer" dropdown.
  • 1.0.27 (2019-07-23): Added optional translucency support for cursor.
  • 1.0.26 (2019-07-07): Fixed waveform display of short tracks.
  • 1.0.25 (2019-03-23): The old cursor render code was used for case where waveform was missing or disabled.
  • 1.0.24 (2019-03-18): Added basic right click context menu that allows switching between linear and logarithmic modes quickly and has a shortcut to open the configuration screen.
  • 1.0.23 (2019-03-17): Added configuration options to seek shorter distances with mouse wheel. Improved cursor motion smoothness. Made cursor width configurable.
  • 1.0.22 (2019-02-14): Setting minibar width or height to 5 pixels or less will turn the element blank. Improved waveform render canceling with stop. Now the canceled waveform is cleared.
  • 1.0.21 (2018-12-06): Fixed waveform not updating while paused if seeking without using minibar. Waveform extraction for playing track is aborted when playback is stopped. Unhalting waveform processing refreshes current track automatically.
  • 1.0.20 (2018-11-18): Added option to disable waveform extraction speed check.
  • 1.0.19 (2018-08-24): Added optional logarithmic scale for waveform display.
  • 1.0.18 (2018-08-14): Removed buggy color client entry from Columns UI color configuration. Made border style adjustment take effect immediately.
  • 1.0.17 (2018-07-16): Render cursor even in halted mode.
  • 1.0.16 (2018-07-14): Changed halt status into a saved setting. Unhalting will now automatically process the current waveform. Added experimental feature where automatic waveform extraction gets terminated when decoding happens too slowly.
  • 1.0.15 (2018-06-18): Added third waveform display method that prefers playing track and reverts to selected track in stopped state. Added menu command to temporarily stop waveform processing.
  • 1.0.14 (2018-05-29): Added option to reverse the mouse wheel seeking direction.
  • 1.0.13 (2018-05-27): Added vertical scaling setting for waveform. Fixed config having unintentionally editable comboboxes.
  • 1.0.12 (2018-03-02): Fixed a typo in the code so sync-with-library can actually be started. Changed SQLite not to allow opening the database in read-only mode. Made the component refuse to perform long scan operations if database can't be written. Added file names to console scan reports. Switched compression routines to use the zlib1.dll bundled by the player. Whitelisted tone:// and sweep:// protocols so their waveforms are shown.
  • 1.0.11 (2018-02-28): Added support for seeking with mouse wheel.
  • 1.0.10 (2018-02-25): Fixed crash with decode errors.
  • 1.0.9 (2018-02-23): Enabled waveform display for local files that report no length. Added a hack to allow seeking in non-seekable local files.
  • 1.0.8 (2018-01-21): Fix to waveform not updating when stopping from a paused state. Made waveform not disappear when layout is modified.
  • 1.0.7 (2018-01-20): Made refresh rate configurable. Screen updating is halted while playback is paused or stopped.
  • 1.0.6 (2018-01-10): Added option not to show the waveform for active track when player is started and nothing is playing.
  • 1.0.5 (2018-01-06): Fixed a situation where database was loaded too late and the first track after player start was rescanned unnecessarily. Dynamic C runtime version for foobar2000 v1.4
  • 1.0.4 (2017-12-16): Fixed a bug that waveforms scanned with the context menu tool were always saved in the database. Added option to always show playback position cursor. Normally it's visible only when waveform can't be shown.
  • 1.0.3 (2017-12-11): Seekbar now allows starting playback of the viewed track from the selected position by clicking on the waveform. Modified selection based waveform viewing to require single selected track.
  • 1.0.2 (2017-12-09): Moved configuration from advanced preferences to regular preferences. Added ability to use UI colors and changed the waveform to use UI colors by default.
  • 1.0.1 (2017-12-08): Fixed scanning hanging with very short files
  • 1.0 (2017-12-07): First released modified version of zao's Waveform Minibar component. Changed database name not to conflict with the original. Added some safety checks to prevent crashing on errors. Modified the waveform display to show waveform shape for short files. Fixed RMS rendering not to overlap with waveform. Added ability to optionally show waveform for selected track instead of currently playing track.
2022-09-03 09:01
Bookmark File v0.1Keeps the name and the playback position of the last played track stored in an external bookmark file. Allows synchronizing playback position between different machines you use foobar2000 on.
  • 0.1 (2018-03-09): Initial version
2018-03-09 18:45