hyperblast / beefweb Goto Github PK
View Code? Open in Web Editor NEWWeb interface plugin for DeaDBeeF and foobar2000 players
License: MIT License
Web interface plugin for DeaDBeeF and foobar2000 players
License: MIT License
beefweb: listening on [ipv4:127.0.0.1]:8879
beefweb: failed to bind to address [ipv6:::1]:8879: Cannot assign requested address
Segmentation Fault
backtrace() returned 17 addresses
/home/travis/build/hyperblast/beefweb/tools/deadbeef.x86/deadbeef() [0x804b1e2]
[0xf76decb0]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0xccac) [0xf71b6cac]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x4148b) [0xf71eb48b]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x48323) [0xf71f2323]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x482c3) [0xf71f22c3]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x57eec) [0xf7201eec]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x58dfc) [0xf7202dfc]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x5890c) [0xf720290c]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x5802d) [0xf720202d]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x59a6d) [0xf7203a6d]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x68457) [0xf7212457]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x60df0) [0xf720adf0]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x64d45) [0xf720ed45]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x683a4) [0xf72123a4]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x62cec) [0xf720ccec]
/tmp/api-tests-38526J6e33X8q48bP/.local/lib/deadbeef/beefweb.so(+0x89f1a) [0xf7233f1a]
Those are domain specific, Server
component should have it's own configuration
This could be used to implement authorization, caching etc.
This has several advantages over existing solution:
Currently we use seconds when dumping player status (e.g. current track duration, position).
However when changing current position milliseconds are used.
this
via weak referencedoPollEventSources()
should use work queue of corresponding request handlerProbably we don't need to ways to do the same and stick to one volume control function
This would allow users to try our work before we have stable releases.
We could use axios
library and some import/export magic to make this work.
Error:
[warn] evbuffer_add_file: mmap(14, 0, 0) failed: Invalid argument
Similar bug in libevent: libevent/libevent#306
Since we use this to send static files web UI is unusable until this is fixed.
Swagger currently does not support that, but we still can add it somehow.
Probably pretend to be regular JSON, but describe actual behavior in comments.
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIB_DL
linked by target "test_vhost" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_client" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_query" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_perf" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_basic" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
LIB_RT
linked by target "test_vhost" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_client" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_query" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_perf" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
linked by target "test_basic" in directory /home/data/works/beefweb/server/build/debug/deps/root/src/libevhtp/examples
Depends on #27
This would simplify building with system library if desired.
This library is very small. Linking it statically should not increase binary size too much.
Considering we already use nodejs
for building client using it for API tests would not introduce additional dependencies.
Steps to reproduce:
Currently paths std::string
is converted to Path
for validation, then converted back to pass to player API.
We can avoid this by modifying player API to accept something like std::variant<std::string, Path>
Some libraries have stable API and are generally available.
We should provide an option to use some libraries from system, but build the rest via CMake external projects.
Introduce object model for various setting types (boolean, enum, etc). Those should be self-describing to allow more automatic UI generation. For example setting description, default value, enum names could be defined in setting metadata.
Each setting could be persistent or non-persistent. Second option is useful for global options that are defined by environment. For example "touch support" or "compact UI layout" for small screens.
Persistence should be extracted to separate class. It is useful for testing.
Existing TouchSupport
class could be converted to controller that dynamically updates setting depending on browser capabilities.
MediaSizeController
similarly should use this new setting model.
Actual UX (especially for mobile devices) is to be figured out yet.
We could support check boxes or long taps to enable selection mode or both or whatever.
We should reference playlist items rather than file names on disk, e.g.
/api/artwork/:plref/:item
If no artwork was found default artwork should be provided unless overridden by ?allowDefault=false
Default artwork should be available via explicit query:
/api/artwork/default
This would prevent stucking of event streams when the device is suspended or otherwise looses connection. Automatic reconnection is assumed to be done by browser, but apparently some issues exist.
Since libevhtp development is back to live, probably it's worth keeping up with the upstream.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.