Re: Timeline-SMP
Reply #4 – 2024-11-12 09:48:17
Some updates since 1.1.0, it's now at 1.5.0.Unreleased Added Data: added support for foo_playcount_2003 tags to check if a source needs to be auto-updated. i.e. '%2003_LAST_PLAYED%', '%2003_PLAYCOUNT%','%2003_LAST_PLAYED_AGO%' and '%2003_LAST_PLAYED_AGO2%'. Data: added support for Dynamic Queries at data filtering. Charts can now be created dynamically according to the current selection/now playing item, for ex. to show distribution of rating for selected artist only, etc. New settings have been added to 'Auto-update dynamic queries' submenu to tweak the behavior. Data updating follows a algorithm to avoid unnecessary re-calculations, i.e. if the new track is the same than the previous one or it would produce the same query, data is not refreshed; thus charts using dynamic queries and displaying data which also changes on playback will not be immediately refreshed (for performance reasons). Data: new setting to avoid data loading on startup. This may be used to calculate data and display the chart only on demand. Previously there was an option to force a data update, but it was available only after loading it at least once. Thus charts associated to the entire library were always calculated at least once at startup, which may had been undesirable. UI: 'fill' chart type. UI: settings button tooltip now shows 'Shift + Win + R. Click' shortcut to open SMP/JSpliter panel menu (which works globally on any script and panel, at any position). UI: settings button tooltip now shows 'Double Click' shortcut to force data update (see above). UI: scrolling cursor is displayed when scrolling using mouse + dragging. UI: added horizontal (x) scrolling using the mouse wheel (for mouses with horizontal moves). UI: X-Axis shown values at display menu now allows any custom value. UI: Y-Axis filter at display menu now allows any custom value for 'greater than'/'lower than' filters. UI: option to filter data between 2 custom values on Y-Axis at display menu. UI: custom option for Z-Axis groups setting at display menu. Debug: added multiple debug logging settings to 'Other settings' menu. Readme: readme is shown as popup on first installation and available at the settings menu. Changed JSplitter (SMP) support for locked playlists. Statistics: general improvements and optimizations of point statistics. Now also show the total number of tracks before deduplication. UI: point menu now allows to select any point along the same Y-Z plane while using lines, scatter or fill charts. Previously it only worked on the point from the first serie (and that's why the other chart types exist though, to properly display multi-dimensional charts). UI: tooltip now shows all points along the same Y-Z plane while using lines, scatter or fill charts. See comment above. UI: axis legend is now shown at tooltip and point statistics popup. UI: X-axis keys are now shown even when not all keys can be displayed, omitting some of the values. This ensures that charts displaying numbers at the axis at least show the initial and some middle values. This applies for bars, lines, scatter, fill and timeline charts. UI: minor adjustments to buttons tooltips. UI: multiple menu entries at 'Display settings' have been renamed for clarity's sake. UI: multiple menu entries at 'Main settings' have been renamed for clarity's sake. UI: chart title now skips the Window name (panel) if it's an UUID. UI: left scrolling button position is now adjusted following Y-Axis display (except for doughnut and pie charts). UI: scrolling buttons are now shown only when the chart is not showing all data (no zoom). Readme: added FAQ section. Helpers: updated helpers. Removed Fixed Statistics: point statistics not working for 2D charts. Data: 'Values shown' option was not applied for async data unless panel was reloaded. Data: 'Force data update' option did not properly apply the current chart settings. UI: zoom button showing '-' instead of '+' if there was no data drawn. UI: minor highlighting errors on 'lines' chart type. UI: color palette 'colorblind safe' setting was not saved properly between sessions. UI: '&' being displayed as '_' on tooltips. 1.5.0 - 2024-10-09 Added Changed UI: axis TF entries can now be cloned or updated with current settings. JSplitter (SMP) support and ES2021 compatibility. Helpers: in case saving a file throws an error due to long paths (+255 chars) a warning popup will be shown. Helpers: updated helpers. Removed Fixed 1.4.1 - 2024-08-13 Added Changed Helpers: updated helpers. Removed Fixed Crash opening the point menu on libraries not fully tagged. 1.4.0 - 2024-04-24 Added Presets: added 'BPM (range)' preset to X axis. UI: added album art caching for panel background whenever selecting/playing track changes but belongs to the same album. It checks for same album name and parent directory. Changed Data: Z-axis can now be disabled, thus allowing to create standard charts for general statistics purposes (for ex. # Tracks per BPM). Data: better handling of async data (and switching between sync and async data). Data: better handling of complex TF expressions and empty values. Helpers: improved performance of duplicates removal in multiple places. Removed Fixed Configuration: .json files at 'foobar2000\js_data\presets\global' not being saved with the calculated properties based on user values from other files. 1.3.0 - 2024-03-21 Added Changed Helpers: updated helpers. Removed Fixed 1.2.0 - 2024-03-15 Added Configuration: expanded user configurable file at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json' with a new setting for panel repaint debugging purpose. Disabled by default. Configuration: expanded user configurable file at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json' with a new setting to check OS features on every panel startup. Enabled by default. This has been the default behavior since OS' features check was implemented, but it can now be disabled to improve init performance a bit, specially at foobar2000 startup (since it seems to hang in some cases when running it on slow HDDs or systems). Configuration: expanded user configurable file at '[FOOBAR PROFILE FOLDER]\js_data\presets\global\globSettings.json' with a new setting for console logging to file. Disabled by default. Now this is a change from the previous behavior, where console was always logged to 'console.log' file at the [FOOBAR PROFILE FOLDER]. It can now be switched, but since it's probably not useful for most users is disabled by default. Changed Helpers: updated helpers. Removed Fixed Current nightly version not only allows to create arbitrary 2D charts (thus not limited to timelines-like charts) which can be used to display any kind of statistics from library, playlists, etc. but latest commits also allow to dynamically create charts according to dynamic queries. i.e queries which change according to selected/playing track (as seen here ). For ex.ARTIST IS #ARTIST# Expands automatically to this when selecting a Jimi Hendrix track(ARTIST IS Jimi Hendrix) AND (ARTIST IS The Jimi Hendrix Experience) (sorry for low quality gifs) This queries are then used to filter any source, for ex. the library. The charts can be created (for ex. # tracks per date) which are dynamically filtered with selection. This gif shows different charts (Date (x) - # Tracks (y)) when changing selection. Note clicking on a point also allows to create playlists based on the chart settings or show advanced stats: