Skip to content

A collection of Spider Monkey tools for foobar2000: removing duplicates, wrapped, statistics report, advanced playlist manipulation, dynamic queries, "spotify-like" playlist creation, ... Infinite possibilities.

License

Notifications You must be signed in to change notification settings

regorxxx/Infinity-Tools-SMP

Repository files navigation

Infinity-Tools-SMP

version CodeFactor CodacyBadge GitHub
A collection of Spider Monkey Panel/JSplitter Tools for foobar2000: removing duplicates, wrapped, statistics report, advanced playlist manipulation, dynamic queries, genre analysis, "spotify-like" playlist creation, ... Infinite possibilities. Previous users of my scripts will notice this is a merge of all the previous toolbar scripts, for simplicity, into a new package format.

To use this plugin at its best and to benefit the most from your library, you will want to make sure that your songs have the most possible information: genre, style, key, moods, etc. and a cohesive tagging applied to all files.

WARNING: THESE ARE ADVANCED TOOLS, IF YOU ARE EXPECTING A FOOLPROOF TOOL, LOOK ELSEWHERE. WHILE BUG REPORTS AND CONSTRUCTIVE FEEDBACK ARE WELCOME, DON'T COMPLAIN ABOUT THINGS BEING TOO COMPLEX. THEY ARE MEANT THIS WAY.

{63A745E1-3384-4B77-8E53-1F8997EF0C80}

Features

infinity1

It's impossible to offer a complete list of the things that can be done with these tools, in a few words: anything related to playlist creation, sorting, library maintenance, automation, etc. but a readme for every tool and button can be found using the corresponding menu (on configuration menu, R. Click on the toolbar). Non-exhaustive higlight of features:

  • Macros: record and save menus entries used, as a macro, to be called later.

  • AutoBackup: peridic configuration backups. foo_jesus replacement, compatible with foobar2000 v2+ and x64.

  • ListenBrainz & last.fm: integration with these services, for listening and feedback syncing, and/or recommendations.

  • Wrapped: create a report of your listening habits, like Spotify does, with configurable time ranges. Ready to be shared.

  • Music Map: advanced offline music similarity recommendation service based on genre similarity and not "popularity".

  • Dynamic Queries: queries which adapt to the currently selected track. i.e. placeholders tags are substituted with the actual values of the currently selected track, then the query is evaluated as usual (like $nowplaying{} from Library-Tree).

  • Quick-Search & Quick-Match: expanded version of foo_quicksearch which also works with multiple selections.

  • Pools: playlist creation similar to Random Pools component. Multiple playlists \ library sources (pools) can be set to fill a destination playlist. Configurable selection length per source, query filtering, picking method (random, from start, from end), etc. Dynamic queries are also supported, changing the way the pools behave according to selection (for ex. a pool which outputs tracks with same key than selected track + another one which outputs same genre tracks), the main limitation of Random Pools component.

  • Harmonic mixing: Dj-like selection ordering by key or with special patterns. Compatible with Camelot, Open and Standard keys.

  • Fully configurable submenu entries: Most tools allow to edit the default presets, add your own ones or delete them.

  • Keyboard shortcuts: keyboard shortcuts may be assigned to most of the tools (without requiring panel to be in focus). Shown on the related menu entries tabbed to the right. They are assigned the same than native keyboard shortcuts.

  • Online controller integration (ajquery-xxx): online controller fully compatible with most of the offered tools, which can be called as any other main menu entry. Also available with CMD scripting.

  • Wine - Unix - non IE SOs compatible: all the UI, tools, popups, configuration and external helpers have been carefully designed to work in all systems without requiring IE installation, HTML popups or editing the panel properties. Scripts are expected to work 100% the same in any SO.

  • Configurable UI and accessibility design: most of the UI is configurable (size, colors, position, draggable buttons). All the UI is managed within menus, so it may be used with a narrator (for visual impairment accessibility).

infinity2

Integrates (just for info purposes)

  1. Playlist-Tools-SMP: the origin of these seet of tools.
  2. Search-by-Distance-SMP: creates intelligent "spotify-like" playlist using high-level data from tracks and computing their similarity using genres/styles.
  3. ListenBrainz-SMP: Integrates Listenbrainz's feedback and recommendations.
  4. Autobackup-SMP: Automatic saving and backup of configuration and other data in foobar2000.
  5. Device-Priority-SMP: Automatic output device selection.
  6. Fingerprint-Tools-SMP: ChromaPrint and FooId fingerprinting tools.
  7. Wrapped-SMP: Outputs a report similar to Spotify's wrapped and personalized playlists.
  8. Music-Graph: An open source graph representation of most genres and styles found on popular, classical and folk music.
  9. Camelot-Wheel-Notation: Javascript implementation of the Camelot Wheel, ready to use "harmonic mixing" rules and translations for standard key notation
  10. Menu-Framework-SMP: Helper which allows to easily create customizable and dynamic menus.

infinity3

Requirements (only one host component required)

  1. Spider Monkey Panel or JSplitter: JavaScript host component required to install this. Available in x86 and x64.
  2. Playback Statistics: Optional component required to retrieve playback statistics.
  3. Enhanced Playback Statistics: Optional component required to retrieve playback statistics.
  4. Required fonts: FontAwesome, Segoe UI, Arial Unicode MS
  5. Optional binaries: ffmpeg, essentia. It depends on the tool (check their readme).

Installation

See Wiki or the _INSTALLATION (txt). Not properly following the installation instructions will result in scripts not working as intended. Please don't report errors before checking this.

Support

  1. Issues tracker.
  2. Hydrogenaudio forum.
  3. Wiki.

Nightly releases

Automatic package built from GitHub (using the latest commit). Unzip 'file.zip' downloaded and load the '*-SMP-*-*-*-package.zip' inside as package within your JS host component.

About

A collection of Spider Monkey tools for foobar2000: removing duplicates, wrapped, statistics report, advanced playlist manipulation, dynamic queries, "spotify-like" playlist creation, ... Infinite possibilities.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project