Bruno Herbelin
33756c775c
Fixed Session load recursion, allow higher level of imbrication
...
Recursive load of SessionFile in a Session is now detected by filename and prevented. Deeper level of integration of sessionfile inside session is thus possible (set to 3). Sessions now have an id, allowing to reference them by id in the logs. Terminology is clarified between level and recursion.
2022-04-08 17:44:39 +02:00
Bruno Herbelin
39b61fe331
Reimplementation of SourceInputCallbacks into Session
...
Session should be the object holding the list of inputs parameters (e.g. synchrony) and the list of source callbacks. This also avoids mixing input when copying sources. Code could be improved but is operational.
2022-03-07 00:23:24 +01:00
Bruno Herbelin
ab040f5268
First working implementation of Inputs Mapping
...
Management of inputs in Control, Management of callbacks creator per input in Source, Saving and Loading in Session, Unified renaming of SourceCallbacks, User interface window for creating and editing input mapping from Keyboard and Numerical keypad, with appropriate Settings.
2022-02-06 00:36:05 +01:00
Bruno Herbelin
81e8d6d99c
Refactoring Session saving
...
use Session::save static method to save a session from a thread (same mechanism as Session::load). It calls Action::takeSnapshot if saving version is required. Mixer is busy during saving, pops up info when done.
2022-01-17 00:38:48 +01:00
Bruno Herbelin
e96444671e
BugFix: give time to Save on exit and stop recordings on Quit
2022-01-16 19:16:51 +01:00
Bruno Herbelin
8bbcef585f
Isolate implementation of RenderSource and new Non-Recursive mode
...
Separate files for RenderSource, make RenderSource playable, and implement two rendering mechanisms
2022-01-16 12:20:28 +01:00
Bruno Herbelin
1cb448c42e
Output session fading fixed for OSC and animation.
...
Linear interpolation (instead of dichotomy converge) for fading at Session update. Mixing View update reads value of session fading to animate the cursor (which was preventing other manipulation of fading). Cleanup fading in OSC controller, with animation options and fade-in and fade-out controls.
2021-12-26 00:41:02 +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
aa4b2967c7
Adding a timestamp to Session instanciation
...
Used to compute runtime of a session
2021-11-21 16:51:19 +01:00
Bruno Herbelin
8bf8f05add
compilation warnings
2021-09-24 00:46:20 +02:00
Bruno
d1e833e0a1
Properties pannel of Session
...
Also added custom thumbnail of session.
2021-08-01 00:29:44 +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
be36662efc
Fixed unique source name algorithm
2021-04-26 23:51:47 +02:00
Bruno
055f5c4c4e
Creating a base toolkit for functions independent from other toolkits
2021-04-25 20:09:22 +02:00
Bruno
f643e80de7
Using std future promises to get thumbnail of render view
2021-04-24 13:14:57 +02:00
Bruno
a50a6e129c
Better implementation of SessionSnapshots saving
2021-04-18 18:22:21 +02:00
Bruno
c90bec36c5
clean useless ptr
2021-04-17 14:10:42 +02:00
brunoherbelin
ebb5fd16bb
Draft implementation of Snapshots, with saving and UI
2021-04-17 10:28:12 +02:00
brunoherbelin
11df7c28b4
More robust clone XML mechanism: use ID
2021-04-13 22:41:57 +02:00
brunoherbelin
ab41a0c5d8
First implementation of Sticky Notes
2021-04-11 15:13:46 +02: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
brunoherbelin
8123e61e34
Cleanup depth management
2021-02-28 14:10:32 +01:00
Bruno
004e1aaead
Compile Views in separate source files
2021-02-26 23:09:51 +01:00
Bruno
e37b21760e
BugFix: interrupting recursive session loading
...
Prevent crash on recursive (infinite) loading of session file (containing itself).
2021-02-14 18:56:48 +01:00
Bruno
84416f566b
Early implementation of groups: SessionGroupSource.
...
Rename SessionSource to SessionFileSource.
2021-02-07 22:01:07 +01:00
brunoherbelin
54c5eb6155
Reordering of Sources in list.
2021-01-25 22:24:08 +01:00
brunoherbelin
15a0bab925
Creating view for APPEARANCE control
2020-11-13 22:35:32 +01:00
brunoherbelin
56dfbc737d
Deep redesign of frame grabbers to prevent multiple frame captures
...
(slow) and optimize distribution of gabbed frames to multiple recording
and streaming pipelines (e.g. record H264 *and* share stream on the
network). New implementation of Loopback source for LINUX using
v4l2loopback (experimental).
2020-11-09 23:56:41 +01:00
brunoherbelin
3a41e59f00
Management of recorders by id in user interface.
2020-10-14 22:37:53 +02:00
brunoherbelin
3a34da9322
Renaming Recorder to FrameGrabber
2020-10-14 21:04:22 +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
616c6c8bdf
First working implementation of ActionManager, but incomplete.
2020-10-04 22:52:23 +02:00
brunoherbelin
5421b5e926
Cleanup Session loading (prepare for session history)
2020-10-03 18:45:30 +02:00
brunoherbelin
d563ee14a9
Cleanup source id management, and improved session merging and source
...
renaming.
2020-10-03 17:54:34 +02:00
brunoherbelin
c777a3d153
work in progress: implementation of stash in MixingView
2020-09-30 12:01:40 +02:00
brunoherbelin
f6588de023
Unified use of std::future for loading sessions in Mixer and
...
SessionSource.
2020-08-16 19:10:23 +02:00
brunoherbelin
5763a9e756
Thread safe loading and saving of session: use of std::future.
2020-08-14 22:28:36 +02:00
brunoherbelin
4f17620cae
Intregration of session fading with transition and session source
...
management.
2020-07-29 19:02:43 +02:00
brunoherbelin
837eb2d569
New: implementation of fading slider in MixingView. Needed to implement
...
decoration Disk and to update picking visitor.
2020-07-29 17:06:08 +02:00
brunoherbelin
3f782736ac
Fixed Recorder and Session to allow transfer of recorders when changing
...
session.
2020-07-27 11:45:15 +02:00
brunoherbelin
60880a1a8b
First operational implementation of video recorder.
2020-07-26 23:54:29 +02:00
brunoherbelin
978bbff9a7
Implementation of Recorder class. For now, only a capture to PNG is
...
available, but the mechanism is in place for video capture.
2020-07-23 23:50:32 +02:00
brunoherbelin
7f3867521e
Fixed mechanism to properly restore last session (verify validity of
...
last file saved, i.e not empty or unsaved session).
2020-07-09 13:13:52 +02:00
brunoherbelin
b5985847bf
Almost done with implementation of Transition! Settings and UI side
...
pannel are operational. View is stable and animation with UpdateCallback
implemented.
2020-07-06 00:06:49 +02:00
brunoherbelin
ee35e52b89
Fixed update of Session Source.
2020-06-23 19:39:00 +02:00
brunoherbelin
40037b3fa6
Work in progress: setting status of source on creation (automatic
...
activation or not?).
2020-06-22 23:52:31 +02:00
brunoherbelin
7ac223819b
Importing of session.
2020-05-23 22:40:03 +02:00