Coder Social home page Coder Social logo

wil-b / find-and-play Goto Github PK

View Code? Open in Web Editor NEW
17.0 1.0 0.0 2.53 MB

Feature rich plug-in for foobar2000 that finds and plays music

License: Other

HTML 13.31% CSS 0.27% JavaScript 86.42%
foobar2000 music music-manager spider-monkey autodj lastfm music-charts music-discovery music-recommendation musicbrainz

find-and-play's Introduction

Find and Play

Feature rich media manager and browser for foobar2000 that integrates your music library with web resources.

  • Last.fm:
    • personalised recommendations:
      • standard
      • mix
      • neighbours
      • radio
    • last.fm library, including playcounts & loved
    • music discovery
    • top tracks / last.fm mixes:
      • similar artists
      • sounds like (aka similar songs)
      • genres (including sub-genres & styles), moods, themes, decades, years, locales
      • artists: last 7 days, last 30 days, last 90 days, last 180 days, last 365 days, all time
    • top albums: expandable to show track lists
    • charts: real time & loved
    • statistics if supplied by last.fm
      • playcount or
      • listeners
  • MusicBrainz:
    • albums
    • compilations
    • singles & EPs
    • remixes
    • expandable to show track lists
  • Official charts:
    • any date within range:
    • 1952 to current
  • Intelligent playlist generator
    • smart mix feature
    • configurable
  • AutoDJ
    • inbuilt with smart algorithms or
    • last.fm radio
  • Automatic retrieval of virtual tags from biography (requires biography v1.4.0+ installed)
    • boosts menu choices related to the current track: genres (including sub-genres & styles), moods, themes, locales
    • doesn't alter music files
  • Popularity tagger
    • writes last.fm statistics and a popularity score as a multi-value tag, e.g.
    • Playcount; 4,062,763; Listeners; 547,236; Score; 81
    • see below for more info
  • Search bar
  • Preview browser
    • explore what's available without interfering with playlists
  • Now playing pane
  • Button mode
    • library mixes
    • autoDJ
  • Album art
    • album covers
    • artist photos
  • Play items from:
    Media library
    YouTube (direct)
    YouTube (last.fm links)
    YouTube (cache)
  • ▶️ Play at click of button
    • on the fly options for playback order, track ranges etc (middle click button)
    • shuffle option uses smart shuffle, so same artists should be spread, like used in autoDJ
  • 🔄 Refresh to load new recommendations, mixes or sync last.fm charts in real time
  • Themes (options > display tab):
    • user interface
    • dark
    • blend
    • light
    • random
  • Button size: Ctrl + wheel over buttons to change size if required
  • Text: uses foobar2000 user interface setting by default or Ctrl + wheel over text to change size if required or see options > custom tab
  • m-TAGS: supported for album creation
  • Async: web, addLocations, image loading etc

Top tracks mode + menu options + image background

REQUIREMENTS:

Optional

foo_youtube: required for use of youtube functionality.

INSTALLATION

Install as a package as follows.

New install or update:

  1. Add a spider monkey panel to foobar2000 if required
  2. Close any instances of windows explorer using foobar2000 folders or subfolders
  3. Right click the spider monkey panel while pressing the windows key + shift
  4. Choose configure panel
  5. On the script tab ensure package is selected
  6. Open package manager if it doesn't open automatically
  7. Import the package

Set up tips

  1. If YouTube is used, in foobar2000\preferences\shell integration, it's recommended to uncheck Bring to front when adding new files to ensure that foobar2000 doesn't grab focus away from other applications
  2. Button size: press Ctrl and rotate the mouse wheel while hovering over buttons to change size if required.
  3. Last.fm recommendations require entering a last.fm user name either in options > maintenance or panel properties > Album Manager Lfm User Name. That can be your own name or you can explore others. Scrobbled tracks need to be present at last.fm. It's recommended to use foo_scrobble: https://github.com/gix/foo_scrobble. Button can be hidden in maintenance tab or with panel property Album Manager Lfm User Show Recommendations.
  4. Operating system. Certain options require compliance with the full range of Spider Monkey Panel features. If you're using windows all should be supported. If you're using WINE or something else that isn't fully compliant, browse & search dialog may not be available. Instead the flyout menus have an alternative option.

SUPPORT

The official discussion thread for Find and Play is located at HydrogenAudio and that's a great place to go for questions and other support issues.

Nowplaying panel in feedback mode

Track popularity tagger (context menu > playlists)

  • Writes last.fm playcount (scrobbles), listeners & a combined score (1-100) as a multi-value tag
  • Scores rank the long-term popularity of tracks on a 1-100 scale using total scrobbles and listeners
  • The highest scoring track at last.fm is set to a score of 100
  • Score is used as the default popularity tag (search tab)
  • Access tag values as e.g:
$meta(Track Statistics Last.fm,1[playcount])
$meta(Track Statistics Last.fm,3[listeners])
$meta(Track Statistics Last.fm,5[score])
  • Remove punctuation from playcount & listeners if used in queries, sorting or arithmetic title formatting functions, e.g.
$replace($meta(Track Statistics Last.fm,1[playcount]),',',,.,, ,)

Possible library tree filters:

  • 5* tracks (last.fm score) "$meta(Track Statistics Last.fm,5[score])" GREATER 69
  • 5/4* tracks (last.fm score) "$meta(Track Statistics Last.fm,5[score])" GREATER 59
  • 5/4/3* tracks (last.fm score) "$meta(Track Statistics Last.fm,5[score])" GREATER 49

find-and-play's People

Contributors

wil-b avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.