{"id":17991935,"url":"https://github.com/klemola/foobar2000-web-ui","last_synced_at":"2025-03-26T00:31:10.053Z","repository":{"id":13768593,"uuid":"16463468","full_name":"klemola/foobar2000-web-ui","owner":"klemola","description":"Control Foobar2000 from a (remote) web browser","archived":false,"fork":false,"pushed_at":"2023-12-04T07:02:30.000Z","size":1067,"stargazers_count":37,"open_issues_count":4,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-29T20:24:17.685Z","etag":null,"topics":["foobar2000","playback","remote","remote-control","ui"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klemola.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-02T21:18:22.000Z","updated_at":"2024-08-23T21:49:06.000Z","dependencies_parsed_at":"2024-10-29T20:03:11.684Z","dependency_job_id":null,"html_url":"https://github.com/klemola/foobar2000-web-ui","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klemola%2Ffoobar2000-web-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klemola%2Ffoobar2000-web-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klemola%2Ffoobar2000-web-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klemola%2Ffoobar2000-web-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klemola","download_url":"https://codeload.github.com/klemola/foobar2000-web-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245566084,"owners_count":20636390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["foobar2000","playback","remote","remote-control","ui"],"created_at":"2024-10-29T19:26:26.960Z","updated_at":"2025-03-26T00:31:10.047Z","avatar_url":"https://github.com/klemola.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Foobar2000 Web UI\n\n## Notice\n\n\u003e The codebase is being updated to meet 2019 standards. While the goal is too keep the master branch bug-free, I can't guarantee that everything works. Some minor features might be missing from the new version, and will likely be re-instated later.\n\u003e\n\u003e The new version requires a recent version of NodeJS and a modern browser. NodeJS will later be bundled with the application (the application will be self-contained and can be installed without Git). The content below has not been updated yet.\n\nFoobar2000 Web UI application consists of two parts:\n\n-   A Node.js server that controls foobar2000 music player using [native CLI commands](http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Commandline_Guide) and [foo_controlserver component](https://code.google.com/p/foo-controlserver/) (a tcp/ip server for foobar2000)\n\n-   A web application that allows the user to send basic foobar2000 playback commands and adjust application volume level. Information about the track that is currently playing is also displayed and automatically updated when the track or playback status changes.\n\n![ScreenShot](/doc/screenshot.png)\n\nMultiple devices can connect to the server using the local network, and it's up to the user to block unwanted connections. By default the foobar plugin and server allow any connection from the network.\n\n## Features\n\n-   supports all basic foobar2000 controls\n    -   playback (play/pause/stop, next/prev and random track)\n    -   volume (mute, up/down)\n-   current track is displayed (along with artist/album information)\n    -   the track view is updated automatically when track changes\n-   notifications about server and foobar2000 status\n    -   user is notified is the server disconnects\n    -   user is notified when foobar2000 application is closed\n        -   user can start foobar2000 from the UI\n-   extremely fast and reactive UI\n    -   no delay in controls\n    -   volume and track status are updated real-time\n\n## Requirements\n\nRequires Node.js version 12+ and foobar2000 v1+. For older versions of Node (down to 0.10.23), see [this tag](https://github.com/klemola/foobar2000-web-ui/tree/legacy_nodejs).\nfoobar2000 component foo_controlserver is also required. Download the component [from Google code](https://code.google.com/p/foo-controlserver/downloads/list).\n\nSince foobar2000 is only available for Windows, other operating systems are not supported for the server. User is assumed to run the server on the machine that foobar2000 runs on.\n\n## Installation\n\n-   download [foo_controlserver](https://code.google.com/p/foo-controlserver/downloads/list) component and copy the .dll to \"components\" directory in foobar2000 installation directory (restart foobar2000 if needed)\n-   clone this repository\n-   (optional) open config.js in an editor and make necessary changes\n-   navigate to the directory of this project using terminal (cmd.exe) or PowerShell\n-   run command `npm install`\n\n## Starting the server\n\n-   start foobar2000\n-   run command `npm start` in terminal\n\n## Running tests\n\n-   run command `npm test` in terminal\n\n## Web application browser support\n\nWeb UI was tested on newest stable version of\n\n-   Google Chrome\n-   Firefox\n-   Safari\n\nGenerally speaking only recent versions of modern browsers are supported.\n\n## Known issues\n\nFoo_controlserver doesn't update track status if it's playing a track it can't \"follow\". This happens if the user queues tracks from media library and not from a playlist, or \"cursor follows playback\" option is not enabled in foobar2000. Since this is a bug / missing feature in the component, I can't fix the issue.\n\nI will add issues to the issue tracker for things that I'd like to improve or are not working yet.\n\n## Planned features\n\n-   track history\n-   album art through a web service (Discogs, Last.fm)\n-   search music library and queue music / playlist\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklemola%2Ffoobar2000-web-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklemola%2Ffoobar2000-web-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklemola%2Ffoobar2000-web-ui/lists"}