35 Commits

Author SHA1 Message Date
FeRD (Frank Dana)
6aebb10cea More explicit prefixing in Qt/ and Player classes 2019-09-21 00:14:32 -04:00
FeRD (Frank Dana)
352fd6629a Remaining std:: prefixes 2019-08-04 23:51:02 -04:00
Frank Dana
47d69779b6 Fix override syntax
Overrides go at the end of the declaration. Qt also has the `Q_DECL_OVERRIDE` preprocessor define, which expands to `override` only when building the code using C++11 or higher.
2019-07-16 12:28:00 -04:00
nick black
4a1d133da8 PlayerDemo: declare keyPressEvent() override 2019-07-16 10:37:45 -04:00
FeRD (Frank Dana)
f170fdd009 Update copyright range to current year 2019-06-11 06:48:32 -04:00
FeRD (Frank Dana)
0327c2ab5c Remove license block from documentation comment 2019-06-09 08:31:04 -04:00
Jonathan Thomas
140fbaddff Added new AudioDeviceInfo struct, and populate a vector of them on QtPlayer initialization. This allows a user to overwrite the preferred audio device by using the setting PLAYBACK_AUDIO_DEVICE_NAME. 2019-04-23 16:45:02 -05:00
Jonathan Thomas
9dbb063ded Persist any error returned by JUCE during initialise() method, such as sample rate issues on Windows (when playback and recording sample rates do not match, which breaks WASAPI) 2019-04-04 00:55:47 -05:00
Jeff Shillitto
14fc9a85bb Fix install paths for headers and effects
Fix additional relative paths
2018-06-01 22:34:09 +10:00
Jonathan Thomas
c95db460d6 Big update! Updating all "long int" frame number types to int64_t, so all 3 OSes will produce the same depth and precision on frame numbers. Also removing variable bitrate support temporarily, since it causes more problems than it solves. 2017-09-28 16:03:01 -05:00
Jonathan Thomas
f12ffe692b Migrating tr1 to std, adding C++11 support to build scripts, fixing crash in FFmpegReader (caused by shared_ptr, buffer, and last_video_frame corruption). Much improved stability with this change. Thanks to Craig and Peter for the help! 2017-08-20 17:37:39 -05:00
Jonathan Thomas
b3ca56b5ab Another attempted fix for audio device management. Moving CloseAudioDevice() call to only invoke when quiting OpenShot, and only initializing the JUCE audio manager 1 time. This fixes a audio freeze in Windows when the preview window launches. 2017-03-26 23:51:03 -07:00
Jonathan Thomas
6fe901f359 Refactoring closing of audio devices 2017-03-21 14:38:42 -05:00
Jonathan Thomas
3193ee9701 Wrapping AudioDeviceManager in singleton wrapper, to ensure only a single instance can be created. This solves lots of weird issues with the preview dialog. 2017-03-21 10:56:19 -05:00
Jonathan Thomas
85ac4bf6d2 Updating references to frame number / position to long int, there were still quite a few old "int" declarations, which limits the length of frame number. Also, updated precision of KeyFrames to use double (instead of float) for higher precision, which fixed lots of issues with very long videos (since our FrameMapper used a KeyFrame object to create a map to new frames) 2017-01-24 18:39:17 -06:00
Jonathan Thomas
c53c9364f3 Added new CacheDisk class, which caches frames to the hard drive, dramatically speeding up preview speeds, at the expense of IO operations. New unittests for caching framework. Fixed a few bugs with Frame constructor, which was causing invalid # width & height. Integrated JSON into the cache framework, to quickly share the state of the cache (including ranges of cached frame numbers). Fixed a bug where some Timeline frames could have no audio samples. 2016-09-07 00:40:01 -05:00
Jonathan Thomas
98ccfb5ee1 Fixing cmake build scripts to support 64bit on Windows. Also refactoring some pointer handling to support 64bit on Windows (Linux and Mac have always supported it). Adding instructions for setting up a Windows 64 bit build environment using MSYS2. 2016-08-12 19:15:19 -05:00
Jonathan Thomas
d48ce2068e Refactored some audio thread code, and improved performance of timeline (by removing a 'omp ordered' statement that doesn't seem needed). Also added some performance improvements in Clip and FrameMapper classes (if the frame is the same as the source frame... just use the source frame) 2016-01-18 15:20:55 -06:00
Jonathan Thomas
121cfd342d Fixed a crash when stopping the QtPlayer class (the cache thread was not being correctly ended, and the audio timeslice thread was not being ended). Also fixed a crash when closing the openshot-player executable. 2015-12-04 01:10:40 -06:00
Jonathan Thomas
b612f3339d Replaced ImagMagick with QImage on almost all key methods and classes. Reprogrammed all effects and the entire rendering pipeline to use QImage and QTransforms, primarily for increases in speed and stability. libopenshot is more than 10X faster on many of the most CPU heavy tasks. This was a huge change, and still has a few minor issues relating to BlackMagick Decklink and Text rendering.... which should be resolved very soon.
Also, much work has been done on memory management / leak detection, and optimizations with multi-threading... including a new thread cacher class used by the video playback (which is smoother than ever).
2015-06-01 00:20:14 -07:00
Jonathan Thomas
891766ed29 Added new GetQImage method to get a Qt QImage object from an openshot:Frame object. Also refactored the video playback code to use this new method. 2015-03-16 13:59:11 -05:00
Jonathan Thomas
de1a30b6cb Tons of bug fixes to the Qt Player and video playback functionality
Improved AudioReaderSource to support pausing & fast forward
Video playback works very well now, across a large sampling of test videos
2015-02-04 23:56:43 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
55c52306cc Testing out some experimental audiothread changes. 2014-05-24 16:07:42 -05:00
Jonathan Thomas
6232a1bd41 Refactored and fixed many include paths (not sure how they worked before). Also, refactored SWIG bindings into separate folders, and added Ruby as the 2nd officially supported language for libopenshot. 2014-04-10 22:38:01 -05:00