mattorp / synesthesia-ecosystem

This is a place to share, discuss, request, track, and provide feedback for community efforts for Synesthesia.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Synesthesia Ecosystem

This is a place to share, discuss, request, track, and provide feedback for community efforts, tools, guides, etc., for Synesthesia.

The enhancement issues are not meant to be implemented here, but they can link to the implementation, discussions, further descriptions, etc. The main idea with the tag is to provide an overview of feature suggestion and ease collaboration for anyone who wants to help or are already implementing the features.

Contributing

The simplest way to contribute is to join the discussion in the existing Discord community in the #tools and other #channels, or in this repo's discussion tab.

Other ways are to

  • ask for, list, describe, expand on, ..., features/resources/ideas in the issues
  • edit this file
  • or add new files for more in-depth information.

The #feature-suggestions channel in Discord may prove an inspiration. Some of these features can be implemented outside Synesthesia, which lets the team focus on core features instead.

Table of Contents

Shaders

Libraries

Guides

Show variables

Version 1.19 included the ability to set controls from the javascript file. This allows visualising values in the controller view.

For the built in Synesthesia variables add these to your script.js and scene.json files:

This can be used to visualise any value, including combined values, e.g. Math.sin(TIME)+Math.tan(OnBeatTime).

YouTube channels

Art style

Glitch Art

Tools

Texture sharing

With these tools you can send video from one application to another.

Spout and Syphon Recorder are more performant 1. For remote sharing, you can use NDI.

Audio sharing

VSCode extensions

  • glsl-canvas

    The extension opens a live WebGL preview of GLSL shaders within VSCode by providing a Show glslCanvas command.

    • glsl canvas requires small adjustments to the file, which will be solved by #3.
  • snippets

Scripts

APIs

  • syn-http

    This is a HTTP endpoint for Synesthesia.

Projects

Games

  • syn-games

    A suite of tools that allow various interactions with Synesthesia with the goal of creating new types of games: Sports, board games, language learning, song/music lessons, etc.

    • This repo will be refactored into smaller packages soon, and the documentation improved.

Running on Linux

It's possible to let Synesthesia run on Linux via Wine. It was tested on Arch Linux (on 2021-01-07) with Synesthesia (versions 1.18.1.42 and 1.19.0.51), Wine (version 7.0rc4-1) and an NVIDIA GeForce GT 730 (and the NVIDIA drivers in version 470.94-2). You can also install the Wine Gecko package of your Linux distribution (e.g. for Arch Linux available as wine-gecko) or just let Wine download Gecko when it prompts you to (seems to be when Synesthesia updates are available). You also likely need to change the PulseAudio stream Synesthesia is reading from to the monitor of the stream you want to route to Synesthesia (you can verify that it's working when both PulseAudio and Synesthesia show your audio signals).

The Wine prefix itself needs vcrun2015 and corefonts and the trick is to remove the libEGL.dll shipped by the installer, as it (for some reason) doesn't get along with Wine or the rest of its environment. All but Spout works fine (though Spout wasn't really debugged extensively).

The following commands produce a Wine prefix which worked in at least one case:

WINEPREFIX=~/your-prefix-path WINEARCH=win32 wineboot -u # creates a new Wine prefix at the specified path
WINEPREFIX=~/your-prefix-path winetricks -q vcrun2015 # installs Visual C++ Redistributable 2015 into the prefix
WINEPREFIX=~/your-prefix-path winetricks -q corefonts # installs Microsoft core fonts into the prefix
WINEPREFIX=~/your-prefix-path wine synesthesia-installer.msi # installs Synesthesia, just use all the defaults
rm ~/your-prefix-path/drive_c/Program Files/Synesthesia/libEGL.dll # removes the libEGL.ddl shipped directly with Synesthesia, which for some reason doesn't work in Wine
WINEPREFIX=~/your-prefix-path wine pfx/drive_c/Program\ Files/Synesthesia/Synesthesia.exe # finally start Synesthesia through Wine

FAQ

Footnotes

Footnotes

  1. more performant: Syphon/Spout happens on the GPU, where as NDI forces the GPU to sync with the CPU

About

This is a place to share, discuss, request, track, and provide feedback for community efforts for Synesthesia.

License:MIT License


Languages

Language:JavaScript 100.0%