Clone from the Lumiera Master-Repo (as Test for Forgejo)
https://git.lumiera.org/
What I am building step by step right now is the first draft of a production-grade render buffer management scheme. For this I need suitable implementations of `BufferStag` (and `BufferStore`) These will include a `LocalSlice` to hold thread-local »satelitte services«, which in turn need a connection to some central coordination hub. The thread-local instances can access the hub via our `lib::Depend` (I have just verified that this works as intended, with on-demand creation of the central instance on first access from some thread. This is important, since very likely we need to install a dedicated and speficically wired service instance, which must happen prior to first dependency-request via `lib::Depend`. And since the worker-threads are created by the Engine, we get ample opportunity to do so before starting those threads. Included in this changeset is a first rough draft of the central registry `EngineBufferMetadata` — I have modelled it analogous to the `SimpleBufferStateRegistry`, which is the test-level implementation of the `BufferStage` API. However, we do not want to expose direct buffer allocation operations on the central hub, and thus I have left out the respecive parts of the API. Furthermore, I have added an `abandon()` operation, without there beeing a need for such an operation right now. But since this operation is tricky and potentially dangerous, I prefer implementing it the correct way, since I have a clear understanding what this entails at the moment. |
||
|---|---|---|
| admin | ||
| data | ||
| doc | ||
| po | ||
| research | ||
| src | ||
| target | ||
| tests | ||
| uml | ||
| wiki | ||
| .gitignore | ||
| AUTHORS | ||
| COPYING | ||
| DIR_INFO | ||
| LICENSE | ||
| NEWS | ||
| README | ||
| SConstruct | ||
Lumiera -- the video NLE for Linux ================================== Version: 0.pre.05~dev :Date: 11/2025 ************************************************************* Lumiera is a non-linear video editing and compositing tool. The Application will allow to edit footage using common multimedia formats and audio/video stream codecs. Lumiera features nondestructive editing, compositing tools, a selection of effects plugins, processing in RGB, YUV and RGB-float colour models and the ability to mix media with differing sizes and framerates. Lumiera is especially well suited for large and elaborate professional editing tasks with lots of material, several scenes, nested sequences, colour grading, 3D support, full fledged sound montage and multiple edit versions prepared in parallel. NOTE: as of 11/2025, Lumiera is in early development stage; it is not usable yet. The above describes the Lumiera project vision, the implementation of which will require many more years. Visit https://Lumiera.org and join the mailing list when interested in Lumiera planning and development. **************************************************************** Lumiera pre-Alpha Versions -------------------------- .This source tree doesn't contain a working video editing application yet. Rather, it contains the framework and technology core of the envisioned Application »Lumiera«. What we attempt to build here is innovative, and we must engage in a series of integration steps to search for suitable pathways towards our envisaged architecture. Since 2024, the integration of the Render Engine takes centre stage, in an effort to establish a steady state realtime processing and display pipeline, still relying on generated video data rather than using a library to read and playback a video file. - https://Lumiera.org/documentation/design/governance/integration.html[Integration steps] - See also https://issues.lumiera.org/roadmap[Project roadmap] Build Requirements ------------------ For building Lumiera, you'll need: * C++23 compiler GCC >=14 (Clang fails atm) * Git Version management system * https://www.scons.org/[SCons build system] * https://www.boost.org/[Boost libraries] * https://github.com/bplaum/gavl[GAVL library] * https://www.alsa-project.org/[ALSA (libasound2-dev)] * https://nobug.pipapo.org/[NoBug library] * https://gtkmm.gnome.org/en/[gtkmm] * https://cgit.freedesktop.org/xorg/lib/libXv[libXv] * https://wiki.gnome.org/Projects/LibRsvg[lib rSVG] * https://git.lumiera.org/gitweb?p=debian/gdl;a=summary[lib GDL] * https://git.lumiera.org/gitweb?p=debian/gdlmm;a=summary[GDL-mm bindings] Further information: * Online documentation at https://Lumiera.org/download.html[Build and install]. * Documentation is also available in-tree in 'doc/user/tutorials/building.txt' * Source code can be retrieved with `git clone git://git.lumiera.org/LUMIERA` Debian Package -------------- Hermann Vosseler (aka Ichthyo) maintains a *Debian* packaging of the source tree - the package definition can be pulled from `git://git.lumiera.org/debian/lumiera/` - the package can be built by `git-buildpackage`