Script should be installed as package, using the package manager at the SMP Configuration window. Old method is still supported anyway.
REQUIRES SMP OR JSPLITTER
Download below clicking at '[...]-package.zip'. Check installation instructions here.
See full changelog here.
3.0.0 - 2025-09-20
Added
- Track: added settings for the track displayed, no longer limited to the playing track. Allows to set playing track, selected track and blank as options which can be sorted by priority.
- Track: added an additional option to only render tracks on-demand. In this mode, a new menu entry appears which must be clicked to render the waveform for the selected tack. This waveform will be statically displayed even if selecting changes or other tacks are played (animations and time update will be disabled in such cases). Seeking will play the original source track.
- Multi-channel: added multi-channel support. Requires tracks to be re-analyzed with the setting enabled. Channels are displayed vertically stacked and independent channels may be shown/hidden at the settings. Additionally, there is a down-mixing setting to mix the desired channels into a single one (contrary to single-channel mode, it's only applied to the displayed channels). Note multi-panel support allows to show now one channel per panel too with these new settings.
- Styles: added 'VU Meter' style which mimics other VU Meter components based on bars/gradients. Note accuracy may depend on the mode and analysis setting (resolution, RMS, peak, etc.). It also has multi-channel support (see above).
- Installation: new panel menu, accessed through 'Ctrl + Win + R. Click' (which works globally on any script and panel, at any position), used to export/import panel settings and any other associated data. These entries may be used to fully backup the panel data, help when moving between different JS components (JSplitter <-> SMP) or even foobar2000 installations, without needing to manually backup the panel properties or other external files (like .json, track's analysis data, etc.).
- UI: new menu entry to share current UI settings across all available Seekbar panels within foobar2000. It can be found at the settings menu 'UI' submenu (and also at the panel menu, see above). Every other panel will be highlighted and show a popup asking to import or ignore the new settings.
- UI: added linear and logarithmic scaling settings.
- UI: added dynamic colors support based on track's artwork. It follows the background cover mode settings and must be enabled on 'colors' submenu.
- UI: added scrolling using the mouse wheel (horizontal or vertical). Seek ahead/back steps, unit (s, ms or % of length) and reverse scrolling may be tweaked at the settings (see 'Other settings').
- UI: exposed background gradient focus setting, i.e. where the center color will be at its highest intensity.
- UI: added tooltip to panel adjusted to be shown only after 1.5 seconds and disappear again after that time so it doesn't annoy during seeking.
- UI: exposed color settings via window.NotifyOthers() method for themes/multi-panel support. You may pass a color scheme -size 6 recommended- (output from GetColourScheme()) at 'Colors: set color scheme' (applies to all compatible panels) or 'Seekbar: set color scheme' (applies only to this script), which will set appropriate colors following panel's color logic; alternatively you may set direct color settings at 'Seekbar: set colors' which needs an array of 6 colors or an object {background, main, alt, currPos, mainFuture, altFuture}. Panel has also independent settings to listen to colors from other panels or sending colors (as a color-server) to others. Additionally, local color processing from art may be disabled (in case colors are meant to be set only by server). See this and this.
- Storage: added 3 storage modes to control if data files are saved for any track, only tracks from library or nothing.
- Readme: readme is shown as popup on first installation and available at the settings menu.
- Console: added selective console logging settings.
Changed
- Installation: added popup warnings when scripts are installed outside foobar2000 profile folder. These checks can be tweaked at globSettings.json.
- Installation: script may now be installed at any path within the foobar profile folder, no longer limited to '[FOOBAR PROFILE FOLDER]\scripts\SMP\xxx-scripts' folder. Obviously it may still be installed at such place, which may be preferred if updating an older version.
- Installation: multiple improvements to path handling for portable and non-portable installations. By default scripts will always try to use only relative paths to the profile folder, so scripts will work without any change when exporting the profile to any other installation. This change obviously doesn't apply to already existing installations unless restoring defaults.
- Analysis: exposed resolution setting (previously fixed to a hardcoded value) and unified it across all binary modes. Now both FFprobe (frames/samplerate) and Audiowaveform (px/second) calculate the same amount of data at a given resolution adjusting the setting to the track's samplerate. Resolution is now set in points [of data] per second (every point has 2 values, i.e. + and -), with a default value of 2. This is independent to display settings, so it affects how many data points are available for painting (which can be changed later) but also the data file size (higher resolution, bigger sizes). Note changing the setting will not force re-analysis of previously played tracks; delete previous analysis data files in case you want to apply it.
- Analysis: default TF path pattern for analysis files changed to better handle track with multiple artists, slashes, Cyrillic and special chars and some errors with unwanted spaces. Restore defaults by leaving it empty at the input popup for the setting.
- UI: animations are now also allowed on full mode (entire waveform). On partial mode it only animates the unplayed part.
- UI: adjusted default transparency values on new installations.
- UI: unified script updates settings across all my scripts, look for 'Updates' submenu.
- UI: changed FFprobe default display mode to linear scaling (like Audiowaveform).
- UI: renamed some settings to better show which ones affect the 'unplayed' section. They should be more familiar now to people using foo_wave_minibar_mod component.
- UI: dead items now show a 'Dead or not found item.' message instead of non compatible or being stuck on analyzing. URLs still show the non compatible format.
- UI: workaround for DPI checking under multiple OSes, specially for Wine (Unix).
- UI: better color adjustment of current position when using dynamic colors to ensure high enough contrast against background.
- Readme: added FAQ section.
- Helpers: updated helpers.
- Helpers: general code cleanup on menus internal code. Please report any bug on extra separators or menu entries not working as expected.
- Update audiowaveform binaries to 1.10.1.
Removed
Fixed
- UI: missing transparency setting for current position.
- UI: '&' being displayed as '_' on tooltips.
- UI: wrong position on second background gradient using bigradient mode.
- UI: long time bug in some cases where the current position was not properly painted (in width).
- UI: repaint glitch after pausing due to foobar playback time delayed callback.
- UI: show compatible extensions doesn't show the incompatible file tip if there is no selection available.
- UI: width margins not being adjusted on size change.
- Fixed some cases where stopping playback during analysis or changing the playing track affected shown data. Now files are analyzed (and saved) on the background, independently of what the panel shows (which depends on actual playback).
- Workaround for foobar2000 bug, the reported playback time was a non-safe value and could lead to crashes. See here.
- Fixed some misspelled terms on UI and variables (which also lead to some minor bugs).
