npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

scenic-core

v4.0.10

Published

Node.js manager for Switcher

Downloads

16

Readme

Scenic Core

Scenic Logo

Scenic is a stage teleconference system that allows for real-time transmission of audiovisual and arbitrary data over any IP network. Telepresence systems can be used in various artistic contexts, so that two different creative spaces can communicate with each other or present a combined performance. Scenic Core is a rewrite and improvement of the previous Scenic software.

Scenic Core is a web server which can be used with a compatible user interface using WebSocket commands. The Scenic graphical user interface can be downloaded separately from its source. As part of the Scenic stack, Scenic Core acts as a bridge and gatekeeper between Switcher (telepresence engine) and Scenic.

Scenic Core is currently developed by the Société des Arts Technologiques [SAT], a non-profit artistic entity based in Montreal, Canada. The current version of Scenic Core has been tested with Ubuntu 20.04.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Dependencies

| Name | Version | Command | Description | |----------------------------------|-------------|---------|-----------------------------------------------------------------------| | Git | latest | sudo apt install git | Distributed version control system used to get Scenic Core source code | | NodeJS | == 10 | See NodeJS installation instructions | JavaScript runtime which helps to build the Scenic engine | | NPM | >= 6.14.4 | Included with the NodeJS installation | JavaScript package manager used to build internal dependencies | | libicu-dev | latest | sudo apt install libicu-dev | Development library for handling of unicode characters | | Shmdata | latest | See Shmdata documentation | Library to share flows of data frames between processes via shared memory | | Switcher | == 2.1.41 | See Switcher documentation | C++ engine allowing the streaming of data over IP networks | | Node-Switcher | latest | - | NodeJS add-on to allow communication Switcher. Will be automatically installed with Scenic Core |

WARNING: Scenic Core is NOT compatible with Switcher version 2.2 and and upwards.

Installation

Install from NPM

Install the npm package globally:

npm install -g scenic-core

Install from Source

Your default g++ compiler must be 8.0 or greater. (sudo apt install g++-8 on ubuntu)

| Step | Command |----------------------------------|------------------------- | Clone the Scenic Core repository | git clone https://gitlab.com/sat-mtl/tools/scenic/scenic-core.git | Move into Scenic Core folder | cd scenic-core | Build the application | make build | Install the application | sudo make install

Node-Switcher Add-On

The NodeJS add-on for Switcher, which was once part of Scenic Core, has been moved to its own repository and renamed Node-Switcher. It is specified as a dependency of Scenic Core in its package.json, and will therefore be automatically installed with the server.

Usage

Starting the Server

scenic --help # display all scenic options
scenic-core [options]

Options:
  -l, --logLevel  Set the log level  [choices: "error", "warn", "switcher", "debug", "info", "verbose", "scenic"] [default: "switcher"]
  -p, --port      Set a specific port for websocket connections                                                [number] [default: 8000]
  -S, --savePath  Override default Scenic save file directory             [string] [default: "/home/scenicbox/Documents/Scenic/Scenes"]
  -L, --logPath   Override default log directory                    [string] [default: "/home/scenicbox/.local/state/scenic-core/logs"]
  --version, -v   Show version number                                                                                         [boolean]
  --help, -h      Show help                                                                                                   [boolean]

By default, Scenic Core is publishing all its logs into the directory defined by the XDG_STATE_HOME variable. It writes all logs from:

| Program source | Folder destination | |-----------------|---------------------------------| | Internal logger | ${XDG_STATE_HOME}/scenic-core | | Switcher | ${XDG_STATE_HOME}/scenic-core | | Scenic client | ${XDG_STATE_HOME}/scenic |

Starting the Server for Debug with gdb

scenic-debug # start pre-configurated gdb script

Docker deployment

To setup Scenic using Docker, follow the instructions in the Docker usage page.

Development information on Docker images build system is available on the Docker build page

Technologies

Scenic Core is a custom assembly of ExpressJS and Socket.io, using NodeJS 10.20.1. It uses a NodeJS add-on to communicate with Switcher and the WebSocket protocol to communicate with Scenic.

The SAT uses Ubuntu 20.04, so testing priority is given to this version.

Contributing

Check out our Contributing Guide to get started!

Versioning

SemVer is used for versioning. For the versions available, see the tags on this repository.

Authors

See here.

License

This project is licensed under the GNU General Public License version 3 - see the LICENSE file for details.

Acknowledgments

This project was made possible by the Société des Arts Technologiques [SAT].