All Projects → klemola → foobar2000-web-ui

klemola / foobar2000-web-ui

Licence: MIT license
Control Foobar2000 from a (remote) web browser

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to foobar2000-web-ui

Simple Mpv Webui
A web based user interface with controls for the mpv mediaplayer.
Stars: ✭ 58 (+132%)
Mutual labels:  remote-control, remote
Angular5 Iot Dashboard
Multipurpose dashboard admin for IoT softwares, remote control, user interface. Develop your client dashboards in Angular 5 with vast variety of components available.
Stars: ✭ 148 (+492%)
Mutual labels:  remote-control, remote
Ip Kvm Interface
DIY IP-KVM for Remote Desktop Access
Stars: ✭ 62 (+148%)
Mutual labels:  remote-control, remote
Quasar
Remote Administration Tool for Windows
Stars: ✭ 4,897 (+19488%)
Mutual labels:  remote-control, remote
WiFi-remote-for-Bestway-Lay-Z-SPA
Hack - ESP8266 as WiFi remote control for Bestway Lay-Z spa Helsinki
Stars: ✭ 138 (+452%)
Mutual labels:  remote-control, remote
Skyrat
SkyRAT - Powershell Remote Administration Tool
Stars: ✭ 21 (-16%)
Mutual labels:  remote-control, remote
Rat Hodin V2.9
Remote Administration Tool for Linux
Stars: ✭ 97 (+288%)
Mutual labels:  remote-control, remote
Simpleremoter
基于gh0st的远程控制器:实现了终端管理、进程管理、窗口管理、远程桌面、文件管理、语音管理、视频管理、服务管理、注册表管理等功能,优化全部代码及整理排版,修复内存泄漏缺陷,程序运行稳定。项目代码仅限于学习和交流用途。
Stars: ✭ 478 (+1812%)
Mutual labels:  remote-control, remote
pace
Remote Access Tool for Windows.
Stars: ✭ 68 (+172%)
Mutual labels:  remote-control, remote
Ws Scrcpy
Web client prototype for scrcpy.
Stars: ✭ 164 (+556%)
Mutual labels:  remote-control, remote
Irext
Universal IR Remote Control Solution
Stars: ✭ 1,240 (+4860%)
Mutual labels:  remote-control, remote
DcRat
A simple remote tool in C#.
Stars: ✭ 709 (+2736%)
Mutual labels:  remote-control, remote
Spotcommander
The most intuitive and feature-rich remote control for Spotify for Linux
Stars: ✭ 152 (+508%)
Mutual labels:  remote-control, remote
ws-qvh
Server for streaming the screen of iOS devices over WebSocket.
Stars: ✭ 17 (-32%)
Mutual labels:  remote-control, remote
RemoteSupportTool
an easy single click solution for remote maintenance
Stars: ✭ 74 (+196%)
Mutual labels:  remote-control, remote
foo jscript panel
JScript Panel 2
Stars: ✭ 43 (+72%)
Mutual labels:  foobar2000
linux-remote-desktop
Linux based secure, open source, multi-tenant environment for remote work.
Stars: ✭ 89 (+256%)
Mutual labels:  remote
onkyo.js
Onkyo Receiver controller module
Stars: ✭ 21 (-16%)
Mutual labels:  remote-control
wormhole
A minimalistic Ansible-like tool for configuring remote servers via ssh
Stars: ✭ 22 (-12%)
Mutual labels:  remote
PowerShell
Mega collection of 250+ useful cross-platform PowerShell scripts.
Stars: ✭ 274 (+996%)
Mutual labels:  remote-control

Foobar2000 Web UI

Notice

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.

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.

Foobar2000 Web UI application consists of two parts:

  • A Node.js server that controls foobar2000 music player using native CLI commands and foo_controlserver component (a tcp/ip server for foobar2000)

  • 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.

ScreenShot

Multiple 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.

Features

  • supports all basic foobar2000 controls
    • playback (play/pause/stop, next/prev and random track)
    • volume (mute, up/down)
  • current track is displayed (along with artist/album information)
    • the track view is updated automatically when track changes
  • notifications about server and foobar2000 status
    • user is notified is the server disconnects
    • user is notified when foobar2000 application is closed
      • user can start foobar2000 from the UI
  • extremely fast and reactive UI
    • no delay in controls
    • volume and track status are updated real-time

Requirements

Requires Node.js version 12+ and foobar2000 v1+. For older versions of Node (down to 0.10.23), see this tag. foobar2000 component foo_controlserver is also required. Download the component from Google code.

Since 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.

Installation

  • download foo_controlserver component and copy the .dll to "components" directory in foobar2000 installation directory (restart foobar2000 if needed)
  • clone this repository
  • (optional) open config.js in an editor and make necessary changes
  • navigate to the directory of this project using terminal (cmd.exe) or PowerShell
  • run command nmp install

Starting the server

  • start foobar2000
  • run command npm start in terminal

Running tests

  • run command npm test in terminal

Web application browser support

Web UI was tested on newest stable version of

  • Google Chrome
  • Firefox
  • Safari

Generally speaking only recent versions of modern browsers are supported.

Known issues

Foo_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.

I will add issues to the issue tracker for things that I'd like to improve or are not working yet.

Planned features

  • track history
  • album art through a web service (Discogs, Last.fm)
  • search music library and queue music / playlist
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].