Bruno Herbelin
f921e7610c
New mechanism for source update with callbacks
...
Similarly to Node update callbacks, sources now have SourceCallbacks called at the start of each update. Several SourceCallback are implemented to ensure thread safe update of more complex properties (mixing alpha, depth, etc.).
2021-12-20 00:25:42 +01:00
Bruno Herbelin
731a1af1a6
Defines for ImGuiToolkit icons for source.
2021-12-12 23:10:07 +01:00
Bruno Herbelin
baa6ddb401
Implementation of user defined mixing deactivation limit
...
Mixing view handles to grab and scale limbo area. Saving of user defined limit in Session (and snapshot). Testing for source activation outside of update during session update loop.
2021-12-08 23:55:27 +01:00
Bruno Herbelin
4675be7e2a
Unified notification of source creation with Source info
...
New virtual function source::info used for notification after adding source
2021-12-05 18:32:23 +01:00
Bruno
fc4e40fba3
Display mixing source original texture when inactive
...
Re-using activesurface_ for manipulation and display of the source's input texture in the Mixer icon when inactive.
2021-08-02 22:27:06 +02:00
Bruno
61fa062794
Correct implementation of DeviceSource resize
...
previous commit was bad...
2021-06-19 01:03:21 +02:00
Bruno
b606f479e9
Bugfix change device source resolution
2021-06-19 01:03:21 +02:00
Bruno
e87ef2774b
New SourcePlayer
...
Work in progress; Sources now have play/pause and associated play functions. Media player can play all playable sources, and adapts to control a media player when possible. Selection of play groups (to finalize)
2021-06-19 01:02:12 +02:00
Bruno
a05cd380fb
Using source mode UNINITIALIZED to replace initialized_ bool
...
info about source initialization was duplicated; using the mode state machine only avoids to keep a flag
2021-05-01 10:29:34 +02:00
Bruno
381f68aaae
Change READY state of source
...
a source is ready after rendering one frame (which is after being initialized)
2021-05-01 00:34:58 +02:00
Bruno
d68987be0f
C++ improved declaration of singleton managers
2021-04-18 13:27:19 +02:00
Bruno
2392d844d9
Making classes non-assignable
...
Following CppCheck recomendation, all classes that should not be manipulated by value are made non-assignable to ensure no mistake is made.
2021-04-18 13:04:16 +02:00
Bruno
c6d01c1420
Optimizing iteration
...
prefix ++i is faster than post i++
2021-04-18 11:38:03 +02:00
Bruno
8389010002
CoreSource complement
...
The CORE of a source is all what can be interpolated
2021-04-18 10:59:39 +02:00
brunoherbelin
cc752050f8
SourceCore to isolate core properties of a source
2021-04-17 14:40:00 +02:00
brunoherbelin
17d2a63132
Important change: sources keep their id all lifelong.
...
This simplifies a lot history and testing in session.
2021-04-13 22:26:26 +02:00
brunoherbelin
788fa693fd
Draft implementation of Following mechanism for Image processing
2021-04-06 23:20:13 +02:00
brunoherbelin
1d45ab1d20
Cleanup DummySource (bad bad bad)
2021-04-05 14:55:21 +02:00
brunoherbelin
d3a130d9ba
(continue) Migrating clipboard manipulation to Session XML management
2021-04-05 13:05:38 +02:00
brunoherbelin
dd9c8ac0b8
Added option to choose mirror or repeat texture on source
2021-03-18 19:43:51 +01:00
brunoherbelin
c41d7ee067
BugFix select current
2021-03-12 23:56:49 +01:00
brunoherbelin
5ab5f1b60f
bruteforce and efficient implementation of mixing groups management in
...
session.
2021-03-12 20:25:36 +01:00
brunoherbelin
10f9c1b329
Work in progress Implementation of mixing group
...
link and unlink methods, integration in MixingView, update groups on
source change, undo-redo improved.
2021-03-10 23:38:09 +01:00
brunoherbelin
2d62ab969c
Work in progress: undo & redo of mixing group creation and delete
...
actions.
2021-03-10 00:16:49 +01:00
Bruno
7656113dcc
Large commit for implementation of load&save of MixingGroups
2021-03-07 19:27:00 +01:00
Bruno
56f0165d75
Implementation of mixing group actions
2021-03-06 11:40:00 +01:00
Bruno
134617bbd1
Created new Object MixingGoup
2021-03-03 22:39:36 +01:00
Bruno
004e1aaead
Compile Views in separate source files
2021-02-26 23:09:51 +01:00
Bruno
1964a26fc3
add source find by depth
2021-02-07 20:46:30 +01:00
brunoherbelin
93b6bc9ca4
Bugfix in Recursive loopback of RenderView inside a SessionSource: fixed
...
loading and import into main session.
2021-02-04 23:25:49 +01:00
brunoherbelin
843fa86c00
Depth management: layer actions operate on depth only (Z), and update of
...
source places the icon in LayerView (X,Y)
2021-01-30 12:24:18 +01:00
brunoherbelin
9bfc5b269a
Fixed session source import; merge sources from the inside session,
...
adjust their alpha and depth, and delete former session source
immediately.
2021-01-29 22:32:02 +01:00
Bruno
9c0adb4ce6
Important feature: source locking and workspace.
...
Source locking property, views ability to test if a source is selectable, change of selection when switch view, picking testing locking and workspace.
2021-01-24 17:19:41 +01:00
brunoherbelin
f4048fca04
Increased size of source icon
2021-01-21 23:02:50 +01:00
Bruno
9e865b3677
Preliminary implementation of source locking and layer stage levels
2021-01-16 22:32:02 +01:00
Bruno
398995648a
Mask Paint!! New MaskShader for mouse paiting of masks and associated changes.
...
UI for pain mask, load & save of FrameBuffer Image.
2021-01-10 14:52:57 +01:00
Bruno
34c24d99df
Integration procedural GLSL masks
2020-12-27 14:05:03 +01:00
brunoherbelin
a58c06c617
Fixed display cropped source in AppearanceView and code cleanup.
2020-12-08 23:43:50 +01:00
brunoherbelin
44b888fd04
Work in progress - implementation of cropping in Geometry view instead
...
of AppearanceView. Display of scaled mixing surface in Mixing and Layers
view. Changed stippling shading.
2020-12-07 00:17:10 +01:00
brunoherbelin
61d2a4dcb9
Cleanup GUI and user feedback with crop in AppearanceView.
2020-11-30 21:39:41 +01:00
brunoherbelin
3c55e25432
Finally a working implementation of crop and UV manipulation in
...
AppearanceView! Added saving and loading.
2020-11-30 00:25:02 +01:00
brunoherbelin
93ad971fc0
Improved implementation of crop in AppearanceView. Not yet fully
...
satisfying though...
2020-11-29 23:33:53 +01:00
brunoherbelin
c33796e97c
Beta implementation of FrameBuffer projection change for cropping.
2020-11-22 21:58:04 +01:00
brunoherbelin
4630d39663
New context menu in Geometry and Appearance Views: special handle (upper
...
left corner) with new icon and view-specific context menu on current
source.
2020-11-17 23:28:11 +01:00
brunoherbelin
8c9b753544
First operational version of AppearanceView. Cleanup of symbols for
...
sources and other bugfix.
2020-11-15 23:49:56 +01:00
brunoherbelin
196ce3df1b
Cleanup of surface management in Sources (centralize texturesurface_ in
...
Source class, avoid mistakes in subclasses). Integration of sources in
AppearanceView (not functionnal yet).
2020-11-15 13:01:06 +01:00
brunoherbelin
7c5374552d
set unique surface_ pointer for all source types
2020-11-12 18:38:51 +01:00
brunoherbelin
c674fa0897
Implementation of Copy, Cut & Paste of sources. Keeps description (xml)
...
of source in clipboard for pasting in another session or in the same
(then it clones existing sources).
2020-10-11 23:41:24 +02:00
brunoherbelin
233fc64c4e
Increased size of unique identifier of objects: using uint64 instead of
...
int. Deep change in all concerned objects (Node, Source, Shader, etc.).
No behavior change, just more robust in duration.
2020-10-06 22:45:52 +02:00
brunoherbelin
d563ee14a9
Cleanup source id management, and improved session merging and source
...
renaming.
2020-10-03 17:54:34 +02:00