Releases: whistlechips/SMP_PlayControl
Releases · whistlechips/SMP_PlayControl
Release list
SMP_PlayControl 2.0.51 - Fixed a Last.fm authorization crash
Fixed a Last.fm authorization crash caused by a leftover reference to the obsolete panel.list_objects collection.
SMP_PlayControl 2.0.50 — Generalized Title Formatting
SMP_PlayControl 2.0.50
Generalized Title Formatting
This release updates PlayControl's Title Formatting handling so that
Title Formatting expressions are evaluated directly by foobar2000.
Changes
- Updated the
tfoclass to useEvalWithMetadb()for Title Formatting
evaluation. - PlayControl can now use the full foobar2000 Title Formatting language
without requiring individual functions to be implemented in JavaScript. - Functions such as
$max(),$min(),$if(),$ifgreater(), and other
native Title Formatting functions are now processed by foobar2000. - Retained special handling for
$rgb()so it can continue to control
text color within PlayControl's drawing routines. - No intentional changes were made to panel geometry, playback controls,
artwork, wallpaper, Last.fm functionality, or other existing behavior.
Testing
The new Title Formatting implementation was tested with:
$max(%play_count%,10)[%codec%] • $max(%bitrate%,320) kbps$rgb(255,128,0)%codec%$rgb() • $max(%bitrate%,320) kbps
All tested successfully.
Files
The release package contains the consolidated PlayControl script and
updated project README.
This is a maintenance release within the 2.0.x development series.
SMP_Playcontrol 2.0.49
SMP_Playcontrol 2.0.49
This release establishes the consolidated single-file SMP_Playcontrol project.
Highlights
- Consolidated the earlier multi-file PlayControl implementation into
SMP_Playcontrol.js. - Integrated the required helper, panel, seekbar, volume, album-art, and Last.fm functionality.
- Removed obsolete external dependencies and legacy configuration.
- Preserved Last.fm authorization and existing configuration behavior.
- Corrected startup initialization ordering.
- Added dynamic playback-state handling for elapsed/track time colors.
- Includes the tested performance improvements from the 2.0.x development series.
Project Structure
The repository now consists of:
SMP_Playcontrol.jsREADME.mdLICENSE.gitignore
Version 2.0.49 has been tested in foobar2000 and is the current stable baseline for continued development.
PlayControl1.5.5
v1.5.5 Changes:
- function drawSummaryText() now paints all summay text in Normal color unless mouse is hovering over, at which it changes to Highlight color.
- function on_mouse_lbtn_up() now allows Left-clicking on the Summary Title and Album (lines 1 and 2) and if enabled, launches a FB2K Context Command via the foo_run component, which must be installed. See https://www.foobar2000.org/components/view/foo_run for more info and download link. The Property VALUE is a Named Service in this component (FB2K: Preferences > Tools > Run services).
- Right-click now loads full Help menu.
- 2026-05-25 12:38:02 - duplicate 'over' variable declarations removed (global).
- 2026-05-20 10:15:46 - Revert blinking Play button changes. Unintended side effects. (requires more time for development & testing).
- 2026-08-15: Added ppt.btn_bg_alpha for user selectable colors.ButtonBackground.
PlayControl1.5.4
- function getAlternatingColor() sets an interval for blinking the Play button. Alternates between TextNormal and TextHighlight when Foobar2000 is playing. When paused blinking is stopped and only TextNormal is used.
PlayControl1.5.3
v1.5.3 Changes:
- drawSummaryText() function now computes its own width to allow longer TF strings for Now Playing Line 2 and 3.
- Combined duplicate parameters passed between functions btn() and make_button().
- Updated make_rgb() function to use both Hyphen and Comma-separated formats
- Made second line of Now Playing Text bold.
PlayControl v1.5.2
v1.5.2 Changes:
- Fixed lost summ.w assignment in drawSummaryText().
- Fix the "Unexpected token >" error and correctly expand shorthand hex colors.
- Modified code with try...catch blocks added around the two FillRoundRect calls in drawButtonsBgBorder().
PlayControl v1.5.1
v1.5.1 Changes:
- Button Tool Tips modularization.
- Changed inline button functions into a consolidated structure btnHandlers.
PlayControl v1.5.0
v1.5.0 Changes:
- Folded drawVolumeBar() function into drawSeekbar().
- Combined Shortcut and Transport button background and border settings into one.
- Updated drawButtons() to accomodate above combination.
- Changed colors.ButtonBackground to be a color overlay of wallpaper using alpha _RGBA(0, 0, 0, 96).
- Seekbar: Paused and Playing Colors are no longer used. Value shared with buttonBackground.
- Various other minor code clean-ups.
- Optimized make_rgb() function that supports both:
- RGB(A) comma-separated strings like "255,128,64" or "255,128,64,128"
- Hex color strings like "#FF8040", "FF8040", or even short format "#F83"
v1.4.1
v1.4.1 Changes:
- New Property added: "Album Art Run". Left-clicking on the Album Art (if enabled) launches a FB2K Context Command via the foo_run component, which must be installed. See https://www.foobar2000.org/components/view/foo_run for more info and download link. The Property VALUE is a Named Service in this component (FB2K: Preferences > Tools > Run services). Default is the included 'Google Artist + Title' service. This can be changed to another or a new service can be added and this VALUE can be edited.
- Old SAVE button is now "Button: Shortcut Run". It sends its VALUE to the same foo_run component. Again, this can be changed to another FB2K Context Command or a new service can be added and this VALUE can be edited.
- To get these to display on the Properties screen/tab: click the CLEAR button, then APPLY.