Comments (10)
Ah yes, sorry about that... due to the newly integrated GUI and standalone operating mode, the libnymphcast dependency was added to the server.
I'll be updating the README to reflect these changes :)
from nymphcast.
The RmlUI dependency has been removed in the current version.
from nymphcast.
Maybe it would be good to just split out repositories. NymphRPC being a dep isn't a problem as it's treated as a separate package, libnymphcast could do the same. It would need it's own releases but I guess it could just release in sync with NymphCast.
For development you can just include it as a git submodule.
from nymphcast.
Yup, builds successfully now with libnymphcast as it's own package 👍
Can also confirm that the default video config now does exactly what I want: only popup when something is being cast to it.
Now I just need a new (alpha) release of all involved packages (nymphrpc, libnymphcast and nymphcast) 😄
from nymphcast.
I have added a new option to the configuration file, enable_screensaver
, which can be used to enable the screensaver mode. The provided nymphcast_video_config.ini
file now enables video playback without screensaver (window hidden when no playback), and nymphcast_screensaver_config.ini
to enable video playback with screensaver active.
Please let me know if it's working for you :)
from nymphcast.
I'd love to try, but the latest git master fails to build for me (using latest nymphrpc from git) 😅
In file included from gui.cpp:10:
gui.h:23:10: fatal error: nymphcast_client.h: No such file or directory
23 | #include "nymphcast_client.h"
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from nc_apps.cpp:16:
nc_apps.h:33:10: fatal error: nymphcast_client.h: No such file or directory
33 | #include "nymphcast_client.h"
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
g++ -Os -fomit-frame-pointer -Wall -fPIC -fno-strict-aliasing -o obj-x86_64-alpine-linux-musl/as_builder.o -c ../../source/as_builder.cpp
make: *** [Makefile:142: obj/x86_64-alpine-linux-musl/gui.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:142: obj/x86_64-alpine-linux-musl/nc_apps.o] Error 1
In file included from ffplay/types.h:39,
from ffplay/ffplay.h:29,
from NymphCastServer.cpp:33:
ffplay/cmdutils.h:640:34: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
640 | snprintf(name, sizeof(name), "0x%"PRIx64, ch_layout);
| ^
In file included from NymphCastServer.cpp:64:
nc_apps.h:33:10: fatal error: nymphcast_client.h: No such file or directory
33 | #include "nymphcast_client.h"
| ^~~~~~~~~~~~~~~~~~~~
from nymphcast.
So it comes down to installing src/client_lib
before compiling src/server
? Yeah no can do in distribution packaging. We don't install stuff to the system, we install it to a packaging specific directory which then gets packaged into a installable-by-the-systems-package-manager archive. Also, building and installing are strictly separate steps in at least the Alpine build system. You're just not supposed to install anything when you're still building everything.
It seems the following does the trick for now though:
make -C src/client_lib
cp src/client_lib/nymphcast_client.h src/server/
make -C src/server
A bit of a hack but it works 🤷
EDIT: Never mind, I didn't get to the linking part yet...
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lrmlui
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lnymphcast
from nymphcast.
Libnymphcast is a dependency much like NymphRPC at this point, I guess. That definitely raises a lot of interesting questions regarding the build process and indeed packaging. I'd be more than happy to entertain thoughts on how to improve/fix this :)
from nymphcast.
I had almost forgotten about Git submodules. That might be the appropriate use for them. Perhaps an overarching 'NymphCast' project which has all of the current functionality in it as individual submodules. Somewhat like a virtual package :)
I'm currently cleaning up the codebase as development on V0.1-alpha is winding down (slight detour in the GUI mode). This is probably the right time to do the repo split before moving to the Beta testing phase.
from nymphcast.
That sounds good yes. At some point you could consider moving the repos to it's own nymphcast org 😉
Anyway for distribution packaging, just make sure every repo used gets it's own releases or at least git tags. Git submodules are great for development, not so much for packaging.
from nymphcast.
Related Issues (20)
- Build issues, Clang, C++11 or C++17, FreeBSD HOT 3
- Player: video seeking not working HOT 3
- Nymphcast "Server" Naming
- raspberrypi nymphcast_server[9460]: /usr/local/bin/nymphcast_server: error while loading shared libraries: libPocoUtil.so.70: cannot open shared object file: No such file or directory HOT 5
- Integration with Home Assistant HOT 1
- Client app in Kirigami HOT 1
- Firefox addon
- Integration with Plasma Bigscreen HOT 5
- Flatpak package
- Need help getting started HOT 4
- Failure to install Android APK "App not installed as package appears to be invalid" HOT 4
- Playing status is not synced over clients on launch HOT 7
- Groups are not listed under "Group remotes" and thus can not be removed or renamed HOT 1
- Unable to play to group because of "Please check that all remotes in the group are online" error HOT 8
- NymphCast-MediaServer no longer build on Arch Linux HOT 3
- NymphCastPlayer no longer build on Arch Linux HOT 4
- Feature Request :-) HOT 2
- [Feature request] Add a PipeWire client so system audio can be casted to a receiver HOT 3
- Raspberry Pi Server: Audio works through the receiver, but doesn't output video HOT 7
- Calling media status callback failed: Provided handle was not found HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nymphcast.