Synesthesia v1.24 Changelog
Desktop Audio + Shadertoy Importer Update
v1.24 brings Desktop Audio Input to Windows, massively expands Shadertoy Import functionality, squashes some long-standing bugs, and adds a few juicy updates to the control panel.
Desktop Audio as Input (Windows Only)
- A special audio input device called Desktop Audio is now available on Windows.
- This will pipe whatever audio is currently being output through your PC back into Synesthesia as input, which makes it easy to capture music playing from streaming apps or media players
- It will capture whatever device you have selected as your current main output in your OS settings, so if you switch from Speakers to Headphones, you'll have to refresh your audio devices in Synesthesia for it to detect the device switch.
- This replaces the need for VBCable or Stereo Mix, although you may still want to use those if you have some advanced inter-app audio routing you're attempting.
- For Mac Users
- Desktop Audio capture is still more difficult to implement on Mac due to their music piracy concerns, but there are signs Apple is trying to make this easier for developers so we may be able to add this to Mac in the future as well.
- In the mean time you can try these third-party options to re-route audio output as input:
Media Lock
- You can now lock media just like you can lock meta or scene controls.
- This is especially useful when you want to change presets but want to be 100% sure your media won't be interrupted (like changing presets and accidentally flashing the wrong musician's logo on the screen, something I'm sure none of us have ever done).
GUI Updates
- Pro: OSC Tooltips - More readable and you can now click the copy button to easily copy/paste an OSC route from Synesthesia into another OSC-enabled program.
- Control Group Visual Update - The new design should be less visually noisy and make it easier to distinguish between groups at a glance.
- New Scene Library Sorting Options - To help you more easily find what you're looking for in the heat of battle.
- Sort by Scene Source
- Sort by whether Color-Code has been set (all color tags to the top)
- Also, now newly imported scenes will appear under the "Recently Edited" sort
- Control Panel Collapse Buttons - buttons now remember your preferred state when changing tabs or closing the app.
- You can use these to make the GUI more compact. For instance, if you lock your meta controls and don't need them for the rest of the show, go ahead and collapse that tab and give yourself more screen space to browse media.
- Or, if a scene has tons of scene controls you don't always need access to, you can set it to "Compact", which will force it into one row with a horizontal scrollbar instead of awkwardly stacking groups down the screen.
- Now on GUI-only crashes (grey screen) the GUI will attempt to recover from the crash and relaunch itself without requiring the user to restart the whole app.
Improved Shadertoy Importing
- Audio
- Now handles Shadertoy audio inputs! This works for types sound, musicstream, and microphone
- Uses Synesthesia's built-in syn_Spectrum to approximate Shadertoy's own sound spectrum input, and rescales input variables to match the spectral range.
- Cubemaps
- Synesthesia now supports cubemaps! Both for Shadertoy Imports and in the scene editor.
- Volume
- Synesthesia now converts Shadertoy's volume textures by replacing them with noise functions.
- This isn't a 1:1 match, and it will throw a warning in the console when we make the substitution. If your scene uses a volume lookup and doesn't look quite right after conversion, it's probably the volume conversion. Still, it's better than the converter creating a non-compiling shader.
- Windows Only: Users who have encountered errors like "Could not find or load image:" on certain import attempts should now find that those Shadertoy scenes can now be imported correctly, images included
- Now correctly handles iFrameRate, iChannelTime[x], and iChannelResolution[x]
- Shadertoy Thumbnail is now downloaded alongside the shader and correctly applied to the scene on .synScene creation
- Added "Create .synScene and Edit" buttons to Shadertoy and ISF importers to save you a click
- Shadertoy tags are now added to the scene.json
- Importer now gives more obvious feedback when it fails (most often due to the original artist not making their work available on the Shadertoy API)
- Adds the original Shadertoy URL to the top of the converted scene code and scene description
- Removes PI if the scene author also tries to declare it. We have our own PI and it's even tastier.
- Safely converts Shadertoy titles with special characters.
Improved Scene Editing
- Scene duplication, renaming, and creation was overhauled and updated. These processes should be more stable across the board. This fixes one longstanding scene renaming crash, but just as a warning, there's still one edge-case crash we're investigating.
- Updated editor config panel for Images. Now you can rename images in the config panel.
- Input validation to ensure you only use valid GLSL variable names for your inputs and images.
- Better OpenGL error reporting.
- When loading a custom scene folder, now you'll get a warning if a duplicate scene is found letting you know which duplicates were ignored and not loaded.
- Added a scene editor config panel for Cubemaps. Now you can build cubemaps, add them to the scene, and rename them using the built-in scene editor. This is a beta feature still undergoing tests. We will be looking to change it based on your feedback, so if you're a scene editor, let us know your thoughts.
Auto Backups
- Synesthesia now automatically backs up your settings, presets, and playlists, so you can even more reliably recover your Synesthesia show setup across software updates or when something goes wrong.