2026.8.31.1328 - Collections updates, fix YouTube videos only having audio, more

Resonite · published

Hello everyone!

I have another update for you! This patches up a number of issues with collections that have been reported and adds a few new nodes as well.

I've also ended up looking more into the issue with YouTube videos and found out a way to make libVLC play videos from two separate URL's (one for video stream one for audio), so YouTube videos should hopefully work better now!

Some that previously didn't load (or were only audio) should now load both and should be better quality as streams can be picked independently.

Since the logic had to be changed a bit, there might be some quality regressions for some videos - please make reports and we'll fine tune the heuristics!

Also all of the components got properly organized by @ryuvi, cleaning out the Uncategorized category!

IMPORTANT: If you use custom renderer, you will need to update it, there are breaking changes to the IPC model in this! See below for details.

New Features:


- Added IsEmpty node for collections (requested by @3x1t_5tyl3, Holy, issue #7068)
-- This will output true if the given collection is empty (0 elements) or null

- Added support for streaming videos from services where video & audio streams are separate
-- Reworked the video/audio stream selection logic to account for this
-- This should fix some videos being audio-only (reported by @code807, @luxkitty, @sylphsylvia, @foxbox. issue #7022)
-- If you notice worsened playback for videos that previously worked, please make a report! It might require some tuning
-- This is implemented by using `--input-slave` option of libVLC, which muxes two streams together (based on request by @karasutengu, issue #6970)

Tweaks:


- Categorize AsyncForEachWithIndex under Flow/Async (based on report by @marsmaantje, issue #7063)
- Sorted all useful components in the Uncategorized Component Attacher category (reported by @reddneko, issue #5662, implemented by @ryuvi)

Locale:


- Merged Japanese locale update by @ginjake
- Merged Chinese locale update by @modimobeikete

Fixes:


- Fixed Quad/Point/BoxArraymesh not clearing the mesh properly when the arrays are fully cleared (reported by @jackthefoxotter, issue #7088)
- Added ARM64 version of MediaMTX to fix screen sharing not working on ARM hosts (reported by @markn2000, issue #7100)
- Fixed constraints for ReadOnlyForEachWithIndex
-- This fixes not being able to use those nodes with collections that *only* implement IReadOnlyList<T> interface
- Fixed null keys for dictionary nodes resulting in an exception and crash (reported by @rynfluff, @arandommeatball, issue #7077)
- Fixed lizzy.resonite.com not being added to default host permissions for existing users (based on request by @jackthefoxotter, issue #7062)


- Add additional source URL to the model for loading video textures
-- See more here: <https://github.com/Yellow-Dog-Man/Renderite/pull/27>
-- **IMPORTANT:** This is a breaking change for the IPC model for loading videos. You will need to update custom renderers to account for this!


- Added RenderTexture readback mechanism
-- **IMPORTANT:** This is a breaking change for the IPC model. You will need to update custom renderers to account for this!
-- See more here: <https://github.com/Yellow-Dog-Man/Renderite/releases>


- Update Renderite to 1.3.0 by @frooxius in #59
- Added a unit test to verify enumerator order by @Earthmark in #58