Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
8cae08a
avnd: use local implementation of reflection as much as possible with…
jcelerier Jun 26, 2026
2cb36b9
isf: TEX_DIMENSIONS_3D / IMG_SIZE_3D aliases for 3D samplers
jcelerier May 4, 2026
b2d3557
isf: point3d_input AS_COLOR flag for color-swatch display
jcelerier May 4, 2026
a20e68a
isf: parse-time warning on unknown csf_image_input FORMAT
jcelerier May 4, 2026
d0fc601
isf: parser rework — top-level descriptors, uniform inputs, geometry …
jcelerier May 4, 2026
443d97f
3rdparty: add OffsetAllocator submodule
jcelerier May 4, 2026
b794ee3
gfx: add AssetTable + TextureLoader for shared decoded-asset cache
jcelerier May 4, 2026
36731af
gfx: add GpuResourceRegistry — slab-allocated GPU arenas backed by Of…
jcelerier May 4, 2026
8e7ed25
gfx: add CameraMath / GpuTiming / VertexFallback helpers
jcelerier May 4, 2026
fe08d48
gfx: add IsfBindingsBuilder + PipelineStateHelpers
jcelerier May 4, 2026
c697088
gfx: add SceneGPUState — FlatScene + scene packer
jcelerier May 4, 2026
cc7a813
gfx: add OffscreenDevice + RhiPreviewWidget + Metal buffer-copy backend
jcelerier May 4, 2026
ef735c2
gfx: extend ISF / SimpleRenderedISF nodes for new ISF features
jcelerier May 4, 2026
2b41564
csf: rework for scene-aware compute pipeline
jcelerier May 4, 2026
ca033eb
gfx: rework raw raster pipeline (MRT, AUXILIARY, EXECUTION_MODEL) and…
jcelerier May 4, 2026
c20f2a1
gfx: refresh shared graph plumbing for incremental scene pipeline
jcelerier May 4, 2026
d96dcd3
gfx: add ScenePreprocessorNode — scene_spec to flat draws + arena upl…
jcelerier May 4, 2026
047ffa2
gfx: add SceneFilterNode + FlattenedSceneFilterNode + MergeGeometries…
jcelerier May 4, 2026
62bfb96
avnd: split CpuFilter / CpuAnalysis lifecycle into init / initState /…
jcelerier May 4, 2026
f8994ce
avnd: add scene_port concept
jcelerier May 4, 2026
639e252
avnd: split GpuNode lifecycle and add scene_port storage helpers
jcelerier May 4, 2026
5845f54
gfx: extend ShaderProgram for new ISF features
jcelerier May 4, 2026
86b48ba
gfx: refresh Filter / GeometryFilter / TexturePort for new pipeline
jcelerier May 4, 2026
d1e0322
gfx: refresh WindowDevice / Spout / Syphon / WindowCapture
jcelerier May 4, 2026
6b71818
gfx: refresh GfxContext + window / screen / multiwindow nodes for inc…
jcelerier May 4, 2026
065f301
js: gpu node lifecycle rework with deterministic teardown
jcelerier May 4, 2026
536f4bd
wip: many bugfixes across the board
jcelerier May 14, 2026
09dfb42
build: more build fixes
jcelerier May 14, 2026
b7d396d
ci: fixes for older qt versions
jcelerier May 15, 2026
6166817
rhi: populate caps
jcelerier May 15, 2026
2b15d50
ci: try windows fixes
jcelerier May 16, 2026
9ac667e
gfx: restore PhongNode, still used by score-vfx-template
claude Jun 11, 2026
2074467
gfx: keep TextureRenderTarget compatible with addons' aggregate init
claude Jun 11, 2026
d086f17
gfx: do not include mmsystem.h in CommonUBOs.hpp
claude Jun 11, 2026
aa0a91c
gfx: fix build with Qt < 6.9
claude Jun 11, 2026
3bc9c58
gfx: fix designator order after TextureRenderTarget reorder
claude Jun 11, 2026
af3b93e
gfx: fix build with Qt 6.4
claude Jun 11, 2026
ff0fec2
gfx: more Qt 6.4 compatibility guards
claude Jun 11, 2026
d8a8805
gfx: QRhi render-graph core fixes (PR #2050 review)
jcelerier Jun 16, 2026
eee3d9a
gfx: ISF/CSF shader port-routing + codegen coherence (PR #2050)
jcelerier Jun 16, 2026
0303ae3
gfx: harden GfxContext incremental edge updates (PR #2050)
jcelerier Jun 16, 2026
257516f
gfx: scene-preprocessor / SceneGPUState correctness (PR #2050)
jcelerier Jun 16, 2026
2fb46d5
gfx: shader preview manager UAF + port drift (PR #2050)
jcelerier Jun 16, 2026
6b6fdd9
gfx: video output device fixes - GStreamer/Spout/Syphon (PR #2050)
jcelerier Jun 16, 2026
cd2d495
avnd: Crousti GPU-node lifecycle, leaks and build fixes (PR #2050)
jcelerier Jun 16, 2026
4d6d244
js: GPU node engine-keying, asserts and leaks (PR #2050)
jcelerier Jun 16, 2026
41d5658
deps: bump avendish + libossia for PR #2050 fixes
jcelerier Jun 16, 2026
52046fa
threedim: adapt ModelDisplay to Pass::p.pipeline engine API
jcelerier Jun 17, 2026
698d9e5
gfx: fix non-unity macOS + Windows/MSVC builds (PR #2077 CI)
jcelerier Jun 19, 2026
74748b1
ci: minor build fixes with Qt 6.12
jcelerier Jun 26, 2026
e844bb9
deps: bump avendish + libossia for PR #2050 fixes
jcelerier Jun 16, 2026
78996ff
deps: bump avendish + libossia for PR #2050 fixes
jcelerier Jun 16, 2026
1c00857
3rdparty: add ufbx submodule
jcelerier May 4, 2026
e5bbb54
3rdparty: add fastgltf submodule
jcelerier May 4, 2026
8ab1573
threedim: refresh primitives, buffer/geometry helpers; rename ObjLoad…
jcelerier May 4, 2026
de660c9
threedim: add unified AssetLoader on top of FbxParser / GltfParser
jcelerier May 4, 2026
8b8e36d
threedim: add Camera, CameraArray, CameraSwitch, Light, Transform3D
jcelerier May 4, 2026
b7b70f1
threedim: add ScenePreprocessor (replaces SceneFlattener)
jcelerier May 4, 2026
0b755e7
threedim: add SceneFilter + FlattenedSceneFilter + MergeGeometries
jcelerier May 4, 2026
fb96ecd
threedim: add SceneGraphFilter + SceneSwitch + SceneSelector + SceneG…
jcelerier May 4, 2026
fe217fb
threedim: add SceneDuplicator + SceneFromMeshes + SceneInspector + Cr…
jcelerier May 4, 2026
cad34a1
threedim: add InjectBuffer + InjectTexture for live scene-resource in…
jcelerier May 4, 2026
7b68058
threedim: add PBRMesh + MaterialOverride + ConfigurePrimitive + Insta…
jcelerier May 4, 2026
ed7a5ec
threedim: add EnvironmentLoader + improve CubemapLoader / CubemapComp…
jcelerier May 4, 2026
2e9f382
threedim: add AnimationPlayer + Humanoid retargeting + InverseKinematics
jcelerier May 4, 2026
e780c9c
threedim: add TextToMesh + TextToTexture
jcelerier May 4, 2026
6e5255e
threedim: add ExtractBuffer2 + ExtractSceneBuffer + ExtractTexture
jcelerier May 4, 2026
b0d6d0f
threedim: refresh ModelDisplay + RenderPipeline + Splat for scene pip…
jcelerier May 4, 2026
e5e0ce3
wip: many bugfixes across the board
jcelerier May 14, 2026
a27366a
build: more build fixes
jcelerier May 14, 2026
29ba962
deps: add zstd dep everywhere
jcelerier May 16, 2026
6b21b13
deps: redirect find_package(zstd) to the vendored targets
claude Jun 11, 2026
8c96242
deps: provide simdjson on nix & flatpak
claude Jun 11, 2026
f8699b6
model display: fix variable naming
jcelerier Jun 25, 2026
a0bcfef
ci: try more build fix
jcelerier Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/win-builds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ jobs:
fftw:p
ffmpeg:p
SDL2:p
zstd:p

- name: Build
shell: msys2 {0}
Expand Down
15 changes: 15 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,18 @@
[submodule "3rdparty/opengametools"]
path = 3rdparty/opengametools
url = https://github.com/jpaver/opengametools
[submodule "3rdparty/ufbx"]
path = 3rdparty/ufbx
url = https://github.com/ufbx/ufbx
[submodule "3rdparty/fastgltf"]
path = 3rdparty/fastgltf
url = https://github.com/spnda/fastgltf
[submodule "3rdparty/OffsetAllocator"]
path = 3rdparty/OffsetAllocator
url = https://github.com/sebbbi/OffsetAllocator
[submodule "3rdparty/spz"]
path = 3rdparty/spz
url = https://github.com/nianticlabs/spz
[submodule "3rdparty/zstd"]
path = 3rdparty/zstd
url = https://github.com/facebook/zstd
1 change: 1 addition & 0 deletions 3rdparty/3rdparty.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,4 @@ include(3rdparty/shmdata.cmake)
include(3rdparty/snappy.cmake)
include(3rdparty/sndfile.cmake)
include(3rdparty/xtensor.cmake)
include(3rdparty/zstd.cmake)
1 change: 1 addition & 0 deletions 3rdparty/OffsetAllocator
Submodule OffsetAllocator added at 3610a7
2 changes: 1 addition & 1 deletion 3rdparty/avendish
Submodule avendish updated 67 files
+24 −0 .github/scripts/gen_dump_tus.py
+92 −0 .github/workflows/backend_matrix.yml
+11 −11 .github/workflows/build_cmake.yml
+21 −0 cmake/AvendishAddon.cmake
+77 −0 cmake/avendish.cmake
+16 −2 cmake/avendish.dependencies.cmake
+35 −23 cmake/avendish.disableexceptions.cmake
+39 −2 cmake/avendish.dump.cmake
+6 −0 cmake/avendish.max.cmake
+7 −1 cmake/avendish.sources.cmake
+1 −0 cmake/avendish.tests.cmake
+5 −1 cmake/avendish.wasm.cmake
+32 −37 include/avnd/binding/dump/DumpCBOR.hpp
+183 −0 include/avnd/binding/dump/json_writer.hpp
+2 −2 include/avnd/binding/godot/node.hpp
+37 −0 include/avnd/binding/gstreamer/parameters.hpp
+81 −0 include/avnd/binding/gstreamer/utils.hpp
+2 −2 include/avnd/binding/max/attributes_setup.hpp
+20 −0 include/avnd/binding/max/c74_varfun_conformant.hpp
+1 −1 include/avnd/binding/max/from_atoms.hpp
+47 −6 include/avnd/binding/max/jitter_helpers.hpp
+1 −1 include/avnd/binding/max/jitter_texture_format.hpp
+2 −2 include/avnd/binding/max/outputs.hpp
+10 −4 include/avnd/binding/max/processor_common.hpp
+15 −5 include/avnd/binding/max/to_atoms.hpp
+1 −1 include/avnd/binding/pd/inputs.hpp
+2 −2 include/avnd/binding/pd/outputs.hpp
+1 −1 include/avnd/binding/python/processor.hpp
+1 −1 include/avnd/binding/touchdesigner/CHOP_AUDIO.prototype.cpp.in
+1 −1 include/avnd/binding/touchdesigner/CHOP_MESSAGE.prototype.cpp.in
+1 −1 include/avnd/binding/touchdesigner/DAT.prototype.cpp.in
+1 −1 include/avnd/binding/touchdesigner/POP.prototype.cpp.in
+1 −1 include/avnd/binding/touchdesigner/SOP.prototype.cpp.in
+5 −4 include/avnd/binding/touchdesigner/TOP.prototype.cpp.in
+4 −1 include/avnd/binding/touchdesigner/configure.hpp
+2 −2 include/avnd/binding/touchdesigner/parameter_setup.hpp
+3 −3 include/avnd/binding/touchdesigner/parameter_update.hpp
+12 −6 include/avnd/binding/touchdesigner/top/texture_processor.hpp
+5 −5 include/avnd/binding/wasm/controls.hpp
+12 −13 include/avnd/common/aggregates.base.hpp
+4 −1 include/avnd/common/aggregates.hpp
+0 −112 include/avnd/common/aggregates.p1061.hpp
+199 −0 include/avnd/common/aggregates.structured.hpp
+9 −5 include/avnd/common/enum_reflection.hpp
+64 −0 include/avnd/common/enum_reflection.magic_enum.hpp
+92 −0 include/avnd/common/enum_reflection.p2996.hpp
+2 −2 include/avnd/common/for_nth.hpp
+360 −0 include/avnd/common/function_reflection.classic.hpp
+12 −346 include/avnd/common/function_reflection.hpp
+97 −0 include/avnd/common/function_reflection.p2996.hpp
+32 −0 include/avnd/common/message_tag.hpp
+33 −0 include/avnd/common/meta_polyfill.hpp
+31 −0 include/avnd/common/metadata_tag.hpp
+13 −13 include/avnd/common/struct_reflection.hpp
+40 −0 include/avnd/introspection/field_names.hpp
+39 −0 include/avnd/introspection/field_names.p2996.hpp
+1 −0 include/avnd/introspection/messages.hpp
+113 −0 include/avnd/introspection/messages.p2996.hpp
+44 −0 include/avnd/introspection/metadata.p2996.hpp
+2 −2 include/avnd/introspection/widgets.hpp
+22 −0 include/avnd/wrappers/metadatas.hpp
+14 −0 include/gpp/layout.hpp
+15 −20 include/halp/controls.enums.hpp
+13 −0 include/halp/messages.hpp
+9 −0 include/halp/meta.hpp
+12 −0 src/disable_exceptions.cpp
+402 −0 tests/test_reflection.cpp
1 change: 1 addition & 0 deletions 3rdparty/fastgltf
Submodule fastgltf added at ce5218
1 change: 1 addition & 0 deletions 3rdparty/spz
Submodule spz added at 7ae162
1 change: 1 addition & 0 deletions 3rdparty/ufbx
Submodule ufbx added at 83bc7c
1 change: 1 addition & 0 deletions 3rdparty/zstd
Submodule zstd added at 885c79
49 changes: 49 additions & 0 deletions 3rdparty/zstd.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
if(SCORE_USE_SYSTEM_LIBRARIES)
find_package(zstd GLOBAL CONFIG)
endif()

if(NOT TARGET zstd::libzstd_static AND NOT TARGET zstd::libzstd_shared AND NOT TARGET zstd)
set(ZSTD_BUILD_PROGRAMS OFF CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_SHARED OFF CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_STATIC ON CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_DICTBUILDER OFF CACHE INTERNAL "" FORCE)

set(old_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
set(BUILD_SHARED_LIBS OFF)

if(NOT MSVC AND NOT CMAKE_CROSSCOMPILING)
if(CMAKE_BUILD_TYPE MATCHES ".*Deb.*")
set(old_CFLAGS "${CMAKE_C_FLAGS}")
set(old_CXXFLAGS "${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -march=native")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native")
endif()
endif()

add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zstd/build/cmake" EXCLUDE_FROM_ALL)

if(NOT MSVC AND NOT CMAKE_CROSSCOMPILING)
if(CMAKE_BUILD_TYPE MATCHES ".*Deb.*")
set(CMAKE_C_FLAGS "${old_CFLAGS}")
set(CMAKE_CXX_FLAGS "${old_CXXFLAGS}")
endif()
endif()

set(BUILD_SHARED_LIBS ${old_BUILD_SHARED_LIBS})
endif()

# Make later find_package(zstd) calls (e.g. 3rdparty/spz) resolve to the
# targets configured above: some prebuilt SDKs ship zstd configs pointing to
# files that do not exist, and a not-found result would trigger FetchContent
# fallbacks that clash with the vendored targets.
file(WRITE "${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/zstd-config.cmake" [=[
if(TARGET libzstd_static AND NOT TARGET zstd::libzstd_static)
add_library(zstd::libzstd_static INTERFACE IMPORTED GLOBAL)
target_link_libraries(zstd::libzstd_static INTERFACE libzstd_static)
endif()
if(TARGET libzstd_shared AND NOT TARGET zstd::libzstd_shared)
add_library(zstd::libzstd_shared INTERFACE IMPORTED GLOBAL)
target_link_libraries(zstd::libzstd_shared INTERFACE libzstd_shared)
endif()
]=])
3 changes: 2 additions & 1 deletion ci/debian.bookworm.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ $SUDO apt-get install -qq --force-yes \
libavahi-compat-libdnssd-dev libsamplerate0-dev \
portaudio19-dev \
libpipewire-0.3-dev \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
libzstd-dev

source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/debian.bullseye.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ $SUDO apt-get install -qq --force-yes -t bullseye-backports \
libavahi-compat-libdnssd-dev libsamplerate0-dev \
portaudio19-dev \
libpipewire-0.3-dev \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
libzstd-dev

source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/debian.trixie-system.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ $SUDO apt-get install -qq --force-yes \
libzita-alsa-pcmi-dev \
libvst3sdk-dev \
puredata-dev \
libpd-dev
libpd-dev \
libzstd-dev


source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/debian.trixie.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ $SUDO apt-get install -qq --force-yes \
libavahi-compat-libdnssd-dev libsamplerate0-dev \
portaudio19-dev \
libpipewire-0.3-dev \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
libzstd-dev

source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/fedora.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ dnf -y install --allowerasing \
qt6-qtsvg-devel \
qt6-qtconnectivity-devel \
pipewire-devel \
zlib-ng-compat-static zlib-ng-compat-devel
zlib-ng-compat-static zlib-ng-compat-devel \
libzstd-devel

source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/freebsd.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ pkg install -y \
libcoap \
freetype2 harfbuzz fontconfig \
alsa-lib \
jackit
jackit \
zstd

source ci/common.deps.sh FREEBSD
3 changes: 3 additions & 0 deletions ci/nix.build.nix
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,14 @@
, rapidfuzz-cpp
, re2
, rubberband
, simdjson
, snappy
, SDL2
, spdlog
, suil
, udev
, xorg
, zstd
}:

# TODO: figure out LLVM jit
Expand Down Expand Up @@ -88,6 +90,7 @@ clangStdenv.mkDerivation (finalAttrs: {
rapidfuzz-cpp
re2
rubberband
simdjson
snappy
SDL2
spdlog
Expand Down
4 changes: 2 additions & 2 deletions ci/osx.brew.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ set +e

export HOMEBREW_NO_AUTO_UPDATE=1
brew update && (brew list cmake || brew install cmake)
brew install ninja qt boost ffmpeg@7 fftw portaudio jack sdl lv2 lilv suil freetype
brew install ninja qt boost ffmpeg@7 fftw portaudio jack sdl lv2 lilv suil freetype zstd
brew uninstall --ignore-dependencies qt@5 || true

source ci/common.deps.sh MACOS

echo PKG_CONFIG_PATH="/opt/homebrew/opt/ffmpeg@7/lib/pkgconfig" >> "$GITHUB_ENV"
echo PKG_CONFIG_PATH="/opt/homebrew/opt/ffmpeg@7/lib/pkgconfig" >> "$GITHUB_ENV"
3 changes: 2 additions & 1 deletion ci/suse.leap.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ $SUDO zypper -n install \
qt6-qml-devel qt6-qml-private-devel \
qt6-svg-devel \
ffmpeg-4-libavcodec-devel ffmpeg-4-libavdevice-devel ffmpeg-4-libavfilter-devel ffmpeg-4-libavformat-devel ffmpeg-4-libswresample-devel \
curl gzip
curl gzip \
libzstd-devel

curl -L -0 https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-linux-x86_64.tar.gz --output cmake.tgz
tar xaf cmake.tgz
Expand Down
3 changes: 2 additions & 1 deletion ci/suse.tumbleweed.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@ $SUDO zypper -n install \
qt6-qml-devel qt6-qml-private-devel \
qt6-svg-devel \
ffmpeg-7-libavcodec-devel ffmpeg-7-libavdevice-devel ffmpeg-7-libavfilter-devel ffmpeg-7-libavformat-devel ffmpeg-7-libswresample-devel \
zlib-devel zlib-devel-static
zlib-devel zlib-devel-static \
libzstd-devel

3 changes: 2 additions & 1 deletion ci/ubuntu.2604.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ $SUDO apt install -y \
libvulkan-dev \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
file \
dpkg-dev
dpkg-dev \
libzstd-dev


source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/ubuntu.jammy.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ $SUDO apt-get install -y \
libvulkan-dev \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
file \
dpkg-dev
dpkg-dev \
libzstd-dev

source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/ubuntu.lunar.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ $SUDO apt-get install -y \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
file \
dpkg-dev \
lsb-release
lsb-release \
libzstd-dev

source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/ubuntu.noble.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ $SUDO apt-get install -y \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
file \
dpkg-dev \
lsb-release
lsb-release \
libzstd-dev

# needed because GCC does not support -fuse-ld=lld-19
$SUDO rm -rf /usr/bin/lld /usr/bin/ld.lld
Expand Down
3 changes: 2 additions & 1 deletion ci/ubuntu.oracular.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ $SUDO apt-get install -y \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
file \
dpkg-dev \
lsb-release
lsb-release \
libzstd-dev

source ci/common.deps.sh LINUX
3 changes: 2 additions & 1 deletion ci/ubuntu.plucky.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ $SUDO apt-get install -y \
libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libavformat-dev libswresample-dev \
file \
dpkg-dev \
lsb-release
lsb-release \
libzstd-dev

source ci/common.deps.sh LINUX
1 change: 1 addition & 0 deletions cmake/Deployment/Linux/Flatpak/io.ossia.score.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ modules:
- modules/re2.yaml
- modules/libcoap.yaml
- modules/boost.yaml
- modules/simdjson.yaml
- modules/snappy.yaml
- modules/avahi.yaml
- modules/suil.yaml
Expand Down
16 changes: 16 additions & 0 deletions cmake/Deployment/Linux/Flatpak/modules/simdjson.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# JSON parser used by fastgltf (glTF support in score-plugin-threedim).
# Provided here so that fastgltf does not try to download it at configure
# time, which is impossible in the sandboxed flatpak build.
name: simdjson
buildsystem: cmake-ninja
builddir: true
config-opts:
- -Wno-dev
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
- -DBUILD_SHARED_LIBS=ON
- -DSIMDJSON_DEVELOPER_MODE=OFF
sources:
- type: archive
url: https://github.com/simdjson/simdjson/archive/refs/tags/v3.12.3.tar.gz
sha256: d0af071f2f4187d8b26b556e83ef832b634bd5feb4e2f537b9dabbd334d4e334
21 changes: 18 additions & 3 deletions src/plugins/score-lib-process/Process/Drop/ProcessDropHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#include <ossia/detail/algorithms.hpp>

#include <QDebug>
#include <QFile>
#include <QFileInfo>
#include <QSet>
Expand All @@ -19,8 +20,22 @@ void ProcessDropHandler::getCustomDrops(
std::vector<ProcessDropHandler::ProcessDrop>& drops, const QMimeData& mime,
const score::DocumentContext& ctx) const noexcept
{
// Check for special mime handling code
return dropCustom(drops, mime, ctx);
// dropCustom is no longer noexcept (some overrides invoke parsers that
// can throw on malformed input — see ProcessDropHandler.hpp). Catch
// here so a throwing handler never escapes through the noexcept
// public API and tears down the editor.
try
{
dropCustom(drops, mime, ctx);
}
catch(const std::exception& e)
{
qWarning() << "ProcessDropHandler::dropCustom threw:" << e.what();
}
catch(...)
{
qWarning() << "ProcessDropHandler::dropCustom threw an unknown exception";
}
}

void ProcessDropHandler::getMimeDrops(
Expand Down Expand Up @@ -61,7 +76,7 @@ QSet<QString> ProcessDropHandler::fileExtensions() const noexcept

void ProcessDropHandler::dropCustom(
std::vector<ProcessDropHandler::ProcessDrop>&, const QMimeData& data,
const score::DocumentContext& ctx) const noexcept
const score::DocumentContext& ctx) const
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class SCORE_LIB_PROCESS_EXPORT ProcessDropHandler : public score::InterfaceBase
protected:
virtual void dropCustom(
std::vector<ProcessDrop>& drops, const QMimeData& mime,
const score::DocumentContext& ctx) const noexcept;
const score::DocumentContext& ctx) const;

virtual void dropPath(
std::vector<ProcessDrop>& drops, const score::FilePath& path,
Expand Down
30 changes: 29 additions & 1 deletion src/plugins/score-plugin-avnd/Crousti/Concepts.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,35 @@ make_control_in(avnd::field_index<N>, Id<Process::Port>&& id, QObject* parent)
auto [Mx, My, Mz] = c.max;
auto [ix, iy, iz] = c.init;
return new Process::XYZSpinboxes{{mx, my, mz}, {Mx, My, Mz}, {ix, iy, iz},
qname, id, parent};
false, qname, id, parent};
}
}
else if constexpr(widg.widget == avnd::widget_type::xyzw_spinbox)
{
static constexpr auto c = avnd::get_range<T>();
if constexpr(requires {
c.min == 0.f;
c.max == 0.f;
c.init == 0.f;
})
{
return new Process::XYZSpinboxes{
{c.min, c.min, c.min},
{c.max, c.max, c.max},
{c.init, c.init, c.init},
false,
qname,
id,
parent};
}
else
{
auto [mx, my, mz, mw] = c.min;
auto [Mx, My, Mz, Mw] = c.max;
auto [ix, iy, iz, iw] = c.init;
// FIXME we don't have a good 4-way widget
return new Process::XYZSpinboxes{{mx, my, mz}, {Mx, My, Mz}, {ix, iy, iz},
false, qname, id, parent};
}
}
else if constexpr(widg.widget == avnd::widget_type::color)
Expand Down
Loading
Loading