Commit Graph

187 Commits

Author SHA1 Message Date
Jonathan Thomas
eb328f1190 Refactored the Settings::Instance()->MAX_WIDTH and Settings::Instance()->MAX_HEIGHT out of the Cilp class. GetFrame() now has an overload which specifies the width, height, and samples needed. Otherwise, it returns the Clip image based on the source reader (width, height, num samples). 2020-10-19 15:46:42 -04:00
Jonathan Thomas
000c9d6d4c - Refactoring all Timeline drawing code into the Clip class
- Making Clip a proper Reader (so it can be used directly, instead of a Timeline)
2020-10-19 15:45:37 -04:00
Jonathan Thomas
ef80439b62 Merge pull request #530 from ferdnyc/omp-and-ffmpeg-classes
Move off deprecated OpenMP API, fix FFmpeg code paths
2020-10-16 14:45:20 -05:00
Frank Dana
20c75ff227 Const temporary variable 2020-09-10 18:39:24 -04:00
FeRD (Frank Dana)
41af336d11 Add GetMaxTime 2020-09-02 01:04:29 -04:00
FeRD (Frank Dana)
f49a795749 Timeline: Add id-lookup API and GetMaxFrame 2020-09-01 23:05:04 -04:00
FeRD (Frank Dana)
3f13ed87f0 Timeline: const-ref path arg in constructor, docs 2020-06-08 16:07:55 -04:00
FeRD (Frank Dana)
96d84311c6 OpenMP: Move off deprecated allow_nested boolean
- Replacement openmp_set_max_active_levels() takes an int argument
  - In OpenMP 5.0 it can be set to openmp_get_supported_active_levels()
  - Below 5.0, we just set it to our processor count
- Move configuration of OpenMP from ad-hoc locations to constructors
  for FFmpegWriter/Reader and Timeline
2020-06-08 16:07:04 -04:00
Jonathan Thomas
10ed4baae3 Merge pull request #496 from OpenShot/emojis
Transform Improvements (Keyframe origin point)
2020-05-25 17:41:55 -05:00
Frank Dana
6336f30ee3 Various: Remove unused variables (#467)
Several data members and local variables were flagged by static
analysis tools as never being used anywhere in the code.
2020-04-22 02:02:55 -04:00
Jonathan Thomas
2bea436f3e Adding keyframable origin point (for shear and rotation) 2020-04-13 16:55:29 -05:00
Jonathan Thomas
4ea362380a Adding support for proper absolute/canonical path detection and replacement 2020-03-10 17:35:21 -05:00
Jonathan Thomas
8b3167a99a Adding ability for a Clip to auto-detect and instantiate a Timeline Reader from the *.osp file type. Added new Timeline constructor, to auto load UTF-8 JSON file, and regex convert all paths to absolute. Fixed a dead lock issue when a Timeline loads another Timeline. 2020-03-09 16:49:06 -05:00
Frank Dana
8ea7449363 Merge branch 'develop' into json-parsing 2020-01-20 15:25:40 -05:00
Jonathan Thomas
482aef4769 Merge pull request #395 from SuslikV/patch-4
Skip painter transform for the Clip when video disabled
2020-01-03 14:51:02 -06:00
SuslikV
1cefa65794 Skip painter transform by using shortcut
Fixes issue for clip being rendered as black rectangle even if the
has_video at the frame is set to zero.

Co-authored-by: Frank Dana <ferdnyc@users.noreply.github.com>
2020-01-03 23:45:28 +02:00
Jonathan Thomas
4e91a2acf3 Merge pull request #387 from ferdnyc/switch-enums
Ensure switch statements on enums cover all values
2020-01-02 14:38:08 -06:00
FeRD (Frank Dana)
e49f62247e Use C++11 range-based for loops where we can 2019-12-28 09:50:09 -05:00
FeRD (Frank Dana)
22bf6edfba Enhance Json data handling
- Parsing from string to Json::Value is now done by utility function
  openshot::stringToJson() in Json.cpp, all SetJson() methods call it.
- Expand use of const member functions and args where appropriate.
- Use std::to_string() to format int/float values as strings.
- Correct mentions of nonexistent Json::JsonValue type in docstrings
2019-12-27 08:51:51 -05:00
FeRD (Frank Dana)
e502f97d8a Don't compare differently-signed types 2019-12-15 14:22:59 -05:00
FeRD (Frank Dana)
bd4d2bfdc4 Cover all values in switch(enum_type) 2019-12-15 12:40:32 -05:00
Jonathan Thomas
0347ad2073 Merge pull request #374 from musteresel/new-keyframe-implementation
New Keyframe implementation
2019-12-06 17:10:11 -06:00
Frank Dana
c04dc94cc8 Wrap assignment in conditional with () (#379) 2019-12-02 10:45:06 -05:00
Daniel Jour
504ea0c1ff Make Keyframe::Values and Keyframe::Points vectors private
The Values vector should only be accessed from the outside through the
GetValue() function.  The Points vector should only be accessed using
the AddPoint(), RemovePoint(), .. functions.

This helps maintain internal invariants (e.g. keeping Points sorted)
and allows for future removal / lazy evaluation of Values.

The size() of the vectors had been accessed from various parts of the
code; the GetLength() (for Values) and GetCount() (for Points) member
functions provide access to this information and are already part of
the public API.
2019-11-19 23:43:28 +01:00
Frank Dana
8bde07682c Merge branch 'develop' into std-prefixes 2019-10-22 21:00:27 -04:00