Commit Graph

309 Commits

Author SHA1 Message Date
brunoherbelin
84caf2da9a Integrated preliminary implementation of Device class with monitoring of
v4l2 device connected to the machine using GstDeviceMonitor.
2020-09-23 23:29:45 +02:00
brunoherbelin
9e160fec51 Fixed Device source by enabling/disabling the sync option of GstAppSink
depending on the live mode of the pipeline (detected at pipeline first
status change). Cleanup and unified info debug messages of all stream
sources.
2020-09-23 17:28:45 +02:00
brunoherbelin
b7d54dfadf Creation of the base class StreamSource. It is intended to become the
base class for all gstreamer pipeline. DeviceSource and PatternSource
inherit from it. A generic stream source class is created for
development tests and hack.
2020-09-22 22:58:37 +02:00
brunoherbelin
9251aff19f Create Device Source and integration of Stream 2020-09-21 22:41:20 +02:00
brunoherbelin
519baf7a3b Unified GUI behavior for source creation. cleanup of history of recent
files after loading error.
2020-09-20 11:28:09 +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
brunoherbelin
b0e54c6ff5 Increased range for UI scaling 2020-09-16 22:04:30 +02:00
brunoherbelin
9e32e4f5b2 Improved user feedback on session loading 2020-09-16 08:34:53 +02:00
brunoherbelin
e03db22092 Fixed selection behavior: bounding box now correctly takes into account
transformations of the sources, and selects only those inside the
selection bounding box.
2020-09-14 23:04:59 +02:00
brunoherbelin
5ebf80b0cd Bugfix: do not add recent folder if user cancel dialog 2020-09-13 23:20:59 +02:00
brunoherbelin
fb2d43b022 Prevent smooth cursor during mouse multiple selection 2020-09-13 22:40:19 +02:00
brunoherbelin
67fa3c9ec8 Visual feedback on smooth cursor 2020-09-13 22:32:52 +02:00
brunoherbelin
5895e203ba Initial implementation of cursor smoothing 2020-09-13 22:02:49 +02:00
brunoherbelin
fa7257fe92 Compilation warnings 2020-09-13 17:44:40 +02:00
brunoherbelin
bcfbf184c6 modifiers for other views 2020-09-13 17:33:22 +02:00
brunoherbelin
32234c4d7c Starting implementation of overlay in GeometryView to inform on the
current action (Rotation, Scaling).
2020-09-08 23:45:36 +02:00
brunoherbelin
90715173f7 Cosmetics. Fixed orientation of mouse cursor for resize 2020-09-06 19:19:25 +02:00
brunoherbelin
cc3f824bfa Unified behavior in Geometry view: SHIFT for discrete transform (unit
translation, rotation, scaling) and ALT key for alternative transform
(central scaling, axis translation)
2020-09-03 00:07:57 +02:00
brunoherbelin
c8ac4b2d95 Added ALT keyboard modifier handling for alternative GUI actions 2020-08-29 13:09:11 +02:00
brunoherbelin
f90964bac8 Do not use first key frame in timeline. 2020-08-24 22:18:43 +02:00
brunoherbelin
e41868d405 Improved GUI context menu timeline 2020-08-24 12:17:18 +02:00
brunoherbelin
240f1fde0a Saving and loading of timeline, with fading and gaps. Applying fading to
MediaSource. Playing with timeline options to facilitate its use.
2020-08-24 00:23:03 +02:00
brunoherbelin
86fd5f21f3 Creation of a new widget to display and edit timeline: combined plot of
lines (for alpha) and histogram (for gaps).
2020-08-23 00:40:44 +02:00
brunoherbelin
0d934c3590 Fixed User seek request with timeline constraints (request go to
position instead of directly seek)
2020-08-22 14:20:00 +02:00
brunoherbelin
9f954d258f tiny bugfix timeline gaps 2020-08-21 23:03:36 +02:00
brunoherbelin
710514b478 Revert behavior of MediaPlayer position to normal and instead fixed the
GUI to match the [start end] range of timeline (instead of shifting
position in MediaPlayer). Fixed Loop mode for bi-directional and stop
modes to react according to Timeline gaps.
2020-08-21 00:58:20 +02:00
brunoherbelin
182f204d80 Working but dirty implementation of GUI for Timeline and gaps of
MediaPlayer.
2020-08-19 23:15:54 +02:00
brunoherbelin
857274c2f3 Re-implemented multi-threaded openning of file dialogs (with tinyfd)
using std::future for cleaner thread-safety.
2020-08-16 22:17:42 +02:00
brunoherbelin
44b9169cdc Changed MediaPlayer discovering process: using thread to perform
discovery (instead of async gstreamer callback).
2020-08-15 09:12:06 +02:00
brunoherbelin
a7ba118562 cleanup thread behavior for file dialog. Added keyboard shortcut
SHIFT+CTRL+O for re-openning current file: not public yet (to validate)
2020-08-12 22:52:25 +02:00
brunoherbelin
bb8dcf088e work in progress cleanum memory leak and crash :( 2020-08-11 00:11:22 +02:00
brunoherbelin
2863a1f3c9 improved text display of time with 3 modes depending on the needs. 2020-08-04 19:05:03 +02:00
brunoherbelin
6f844f722d Improved Media player timeline: adding time indication and enabling to
scroll in a zoomed-in timeline. Display current time in overlay on
frame.
2020-08-04 00:01:30 +02:00
brunoherbelin
66977453e1 Update About dialog to link to new github web page. 2020-08-02 11:41:38 +02:00
brunoherbelin
cc42e5581a Added (hidden) vimix config options in vimix about. 2020-07-30 23:28:28 +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
2eb59f2ffe Fixed mediaplayer loop on EOS for both rate directions. 2020-07-28 21:52:18 +02:00
brunoherbelin
fd30b742b8 Enable using smooth transition when closing/new session. 2020-07-28 19:08:59 +02:00
brunoherbelin
4023b6d32f bugfix: do not use global pointer to recorder 2020-07-28 12:36:40 +02:00
brunoherbelin
e7107ca6c0 Added Timeout to recorder in User Interface and Settings, and duration
query on Recorder.
2020-07-27 23:19:12 +02:00
brunoherbelin
c788187e3b Bugfix: display gstreamer plugins after filter 2020-07-27 16:21:10 +02:00
brunoherbelin
d9a93bb6c6 display Recorder information of actualy running recorder(s). 2020-07-27 16:16:52 +02:00
brunoherbelin
3bb3e66f55 Implementation of Recorder with dual PBO mechanism for best efficiency
and compatibility. Fixed user interface and avoid user creating multiple
recorders.
2020-07-27 15:56:24 +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
9fdc9e6c1a Early testing of video Recorder 2020-07-26 01:28:20 +02:00
brunoherbelin
ffc700c127 Buttons to navigate (< and >) in list of media in media player. 2020-07-24 19:54:36 +02:00
brunoherbelin
18a538a0e9 just a 'next video' button for media player. 2020-07-24 10:29:46 +02:00
brunoherbelin
533d372f9a Changed label and keyboard shortcuts for media player and output
preview.
2020-07-24 00:45:26 +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