Commit Graph

88 Commits

Author SHA1 Message Date
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
brunoherbelin
f32b85a656 Centralizing and unifying the generator of object identifiers. 2020-10-03 14:05:28 +02:00
brunoherbelin
83a2da6b2b Setup icon (i,j coordinates in ImGui Toolkit) for each Source class, and
use this icon in GUI to indicate the type of class.
2020-10-01 22:57:49 +02:00
brunoherbelin
c777a3d153 work in progress: implementation of stash in MixingView 2020-09-30 12:01:40 +02:00
brunoherbelin
59db2cf57c Implementation of new type of source: Pattern generator (GUI, icons,
saving). A new class for gstreamer stream (Stream) is defined for
generic pipeline sources; to be integrated (inheritance) into
MediaPlayer.
2020-09-20 00:26:39 +02:00