- MilkDrop: I'd love a PR that adds support for ProjectM :D it would be fairly easy to make a custom plug-in that just blits the texture.
Basic code for this would look like that:
struct MilkdropIntegration
{
halp_meta(name, "ProjectM")
halp_meta(c_name, "projectm")
halp_meta(category, "Visuals")
halp_meta(author, "ProjectM authors")
halp_meta(description, " :) ")
halp_meta(uuid, "417534da-3625-404a-b74f-91d003cb64b9")
// By know you know the drill: define inputs, outputs...
struct
{
struct : halp::lineedit<"Program", "">
{
halp_meta(language, "eel2")
} program;
} inputs;
struct
{
struct
{
halp_meta(name, "Out");
halp::rgba_texture texture;
} image;
} outputs;
halp::rgba_texture::uninitialized_bytes bytes;
void operator()()
{
if(bytes.empty())
bytes = halp::rgba_texture::allocate(800, 600); // or whatever resolution you wanna set
// Fill in bytes with your custom pixel data here
outputs.image.texture.update(bytes.data(), 800, 600);
}
};
inside such a template:
https://github.com/ossia-templates/score-avnd-simple-templat...- multi-projector mapping: ossia actually does it directly! it's in git master, will be released in the next version.
It also supports a fair amount of features that MapMap does not have such as:
* soft-edge blending
* blend modes
* custom polygons
* a proper HDR passthrough as well as tonemapping, etc.
* Metal, Vulkan, D3D11/12 support (mapmap is opengl-only)
* Spout, Syphon, NDI, soon pipewire video. Mapmap only supports camera input.
* HAP and DXV, both decoded on GPU.
* Smooth grid distortion. Here's mapmap grid distortion: https://streamable.com/1nhwxg vs ossia with sufficiently high subdivisions: https://streamable.com/hmb1jm
* And of course as mentioned here hw decoding (for some years already),
the new feature adds zero-copy when for instance using vulkan video and the vulkan GPU backend.
* In addition pretty much every YUV pixel format in existence is GPU-decoded (https://github.com/ossia/score/tree/master/src/plugins/score...).
In contrast Mapmap does gstreamer -> Qt ; everything including the Yuv -> RGBA conversion goes through the CPU.
- How to feed BespokeSynth audio and possibly someday video? Pipewire and e.g. Helvum?
yes, pipewire (or jack or blackhole on windows and macOS). Although ossia also supports, VST, VST3, LV2, CLAP, JSFX, and Faust and comes with many audio effects built-in already.