Commit graph

61 commits

Author SHA1 Message Date
Zakk
795091c2fc Improve process detection of SyphonInject captures
File based text input can now handle HTML formatted files. You need to set a style in the file for font/font size.
2019-09-26 01:32:55 -04:00
Zakk
a1cad1d7a7 Use an NSPanel for the desktop capture region selection: allows it to float over fullscreen windows in alternate spaces 2019-09-20 18:33:29 -04:00
Zakk
2d5e2707e6 If using metal for rendering, don't adjust the point when finding a clicked on source. 2019-09-16 00:39:44 -04:00
Zakk
7b2aa0416c Remove some NSLogs
Rework Desktop capture display enumeration to take into account displays with no serial number (thanks apple)
2019-06-22 04:46:21 -04:00
Zakk
fe99869347 Update settings files for localization changes Xcode was complaining about.
When restoring audio engine, don't re-attach the default output track
2019-06-06 05:54:15 -04:00
Zakk
ac8355147e Fixed some warnings.
Display capture no longer uses deprecated IOPort functions, now iterates over the IOServices and finds the display via serial number.
Display capture now uses CGDisplay services UUID to identify displays.
2019-02-28 04:33:43 -05:00
Zakk
0954c9025c Removed some NSLogs.
Don't spam observers/mouseevents on an already moused-on source
2019-02-24 05:22:58 -05:00
Zakk
2fc3a35ff3 Create PreviewLayer's CVDisplayLink by using the main display, not 'all displays'.
Improve the feel of Desktop Capture's crop overlay window. (Don't implement resizing and moving manually, let system do them)
Desktop capture no longer destroys+recreates the display stream multiple times when the cropping region is changed.
Desktop capture 'reset crop region' button now works...
Fixed some warnings.
2019-01-02 03:43:48 -05:00
Zakk
4883820f07 Fix some warnings.
Don't crash if an image capture file path doesn't exist
2018-07-31 23:20:26 -04:00
Zakk
dd9b89c258 Update project settings for new Xcode.
added dummyAnimation function to animation input wrapper.
slightly reworked how input.waitAnimation() works; the previous implementation possibly messed with other input timings.
converted input transitions to use input specific waits and dummy animations. This allows scripts/other transitions to run simultaneously
2018-03-31 08:14:13 -04:00
Zakk
c38d69837b Bump version to 2.1.3
Remove some NSLogs
2018-02-04 17:17:45 -05:00
Zakk
4d7e296a8e Sources now use restore/saveWithCoder instead of init/encodeWithCoder. This allows restoring to be a bit smarter about cached sources, replacing them transparently at restore time.
Old style initWithCoder is still functional, just not as cache friendly.
If the capture "device" is changed in the input config window the capture object may be swapped out for a different one depending on caching/flags.
2018-02-03 23:56:32 -05:00
Zakk
b408eb69b8 Renamed 'sticky' inputs to 'pinned'
Live view ignores pinned input status and just replaces entire layout like it should
If a cached source has the allowDedup flag set to false when it is retrieved from cache, it is evicted from the cache and replaced with the 'new' object
Introduced a 'uniqueIdfrompasteboard'; if implemented this allows the caching system to use a cached source on drag+drop
2018-01-30 10:56:23 -05:00
Zakk
add06e927c Run input scripts in isolated animation blocks so their wait calls don't interfere with other inputs.
Added waitScript(), this propagates the timing info of the currently running script into the parent block
2017-12-23 17:34:05 -05:00
Zakk
8f69fd87d1 Fix up some warnings and ffmpeg related deprecations 2017-11-24 23:12:39 -05:00
Zakk
684b4a725f Clean up some config UI issues in various capture plugins 2017-11-13 00:03:15 -05:00
Zakk
55ff80767c Fixed some warnings.
Added video delay feature. Not all sources support it.
2017-11-07 16:16:48 -05:00
Zakk
d4e7404f74 Remove all 'frame update type' settings 2017-11-05 16:38:20 -05:00
Zakk
119e831125 Some warning fixes, memory leak issues with blackmagic 2017-11-04 14:38:35 -04:00
Zakk
1f6876e2b2 Defer setup of scroll layers until first frame tick. This fixes leaky CoreAnimation operations; apparently CA doesn't like it when things are added and removed in the same transaction.
Properly destroy CGL context in IOSurfaceLayer.
Misc small CoreFoundation leak fixes
2017-11-01 12:59:50 -04:00
Zachary Girouard
12c19f5ee5 Change the source outline view so it doesn't leak CFStrings (!?!?!) 2017-10-29 12:08:14 -04:00
Zakk
857e861f3a Converted add input dialog to NSMenu instead of customer popup. 2017-08-26 05:53:47 -04:00
zakk4223
d9dee6611e Merge pull request #81 from MaddTheSane/gitignore
Add .gitignore file
2017-07-02 03:00:43 -04:00
Zakk
1bb640cbe0 Added script-only input type.
First pass at executing input-scripts on layout changes/operations.
2017-07-02 02:36:29 -04:00
Zakk
29eef09f63 More work on having source bounding boxes match up better with their visual area:
InputLayers now use resizeFill content gravity; proper aspect ratio is maintained via InputLayer now.
Cropping now changes the bounds of the source to match the size after cropping. Saving/restore is broken right now.
CAOpenGLLayer based layers are no longer required to self-crop based on the contentsRect property.
Instead of using CSIOSurface layer, just assign IOSurfaces directly to CALayer.contents (seems to work even on 10.9)
2016-12-31 13:00:16 -05:00
Zakk
ada259ac61 Newly added sources are now auto-centered in the layout and sized according to their source size. If the input is bigger than the layout window it is resized to the layout's dimensions. 2016-11-25 12:02:45 -05:00
Zakk
4ead205d8b Add a CALayer based audio level meter that is usable either vertically or horizontally.
Add stream audio controls to main Video tab, with a button that opens up the audio mixer/settings in a new window
2016-08-06 21:52:01 -04:00
Zakk
80f35176ba Move sample animations to Resources directory, fixes a code signing issue.
Bump version to 2.0.6
2016-05-05 07:43:22 -04:00
Zakk
71410c620a Added support for non-h264 compressors. First addition: Apple ProRes.
Some rearrangement internally of configuration interfaces, compressor classes and how libavformat muxers are created.

Quicktime MOV muxing may still have some quirks...
2016-03-28 07:51:44 -04:00
Zakk
239743fbb5 Combined status and output tabs 2015-11-15 18:24:34 -05:00
Zakk
2749544f71 Added some capture type icons for the library. Library now filterable/searchable 2015-10-25 20:39:10 -04:00
Zakk
87ec750d00 Added background loading of python classes. Nothing uses it of course... 2015-08-29 14:06:31 -04:00
Zakk
6e05be0634 Use thread local storage to store CSAnimationBlock frame data.
Revert setting staging/live layouts in background queues, need to re-think how to do that (of if it is even worth it)
2015-08-29 06:04:37 -04:00
Zakk
2529712e38 Fixed some warnings.
Layout transitions fixed again: don't set to active = NO until transition is finished, keep sending frameTick to 'old' layout until transition is done.
2015-08-24 06:25:39 -04:00
Zakk
30ae53ffb4 CSIOSurfaceLayer keeps track of asynchronous toggles and delays changing it for a few frames. This is an ugly hack that stops some openGL layers from just...not displaying on restore. I hate it but I have no idea otherwise... 2015-08-17 01:28:44 -04:00
Zakk
beb3e9cd6a Bounce Display capture update layer through main thread.
DisplayCapture now properly saves the value of the render type variable
2015-08-16 14:43:56 -04:00
Zakk
5486ff8c70 Converted preview views to layer backed NSViews with CAOpenGLLayer. Resolves some weird behavior of NSOpenGLView.
Staging view is now rendered in a timing loop just like main view.
2015-08-09 15:24:17 -04:00
Zakk
7c0fe02cd9 A layout's render loop timing can now be tied to some types of capture inputs. Most useful when used on video capture cards 2015-07-12 07:04:15 -04:00
Zakk
f8b98d054c Bump version to 1.9.10, include MIKMIDI copyright/license 2015-07-01 09:01:58 -04:00
Zakk
35107d7a04 Add modal dialog during MIDI control learning 2015-05-25 15:44:50 -04:00
Zakk
cfb5fe4f6b Removed some spammy NSLogs 2015-05-03 13:09:25 -04:00
Zakk
d1956a4c4f The glorious return of user defined filters on sources. Now with background, source-only and source-and-all-sublayers varieties. 2015-04-20 09:31:27 -04:00
Zakk
64a3c4a596 The base TextCapture class handles loading the settings interface now and inserts standard text controls (font, alignment) in addition to whatever the actual capture source requires.
Fixed the excessive amounts of blank space in source setting pane(s)
2015-04-18 21:33:48 -04:00
Zakk
1113ad1047 Revert to display stream desktop capture. Seems it sucks on some systems. Fixes #75 2015-03-15 15:45:33 -04:00
Zakk
6bd53f426e Added frame rendering/arrival options to DesktopCapture 2015-03-13 19:29:59 -04:00
Zakk
c3a9a55d8c Converted Desktop Capture to use AVCaptureScreenInput. 2015-03-13 19:17:44 -04:00
Zakk
d1eb892308 Don't change framerate mid-stream on layout change. Fixes #67 2015-02-22 03:56:16 -05:00
Zakk
a84cba9733 Added a 'plugin loaded' call for extraplugins, so they can do any on-load setup they might need to do. Moved application observation in layout switcher to the plugin load call instead of the menu click event. Fixes #65 2015-02-17 01:41:42 -05:00
Zakk
99820090df Cmd-F now fullscreens a layout if it is active; allows editing while fullscreen too 2015-01-30 21:24:58 -05:00
Zakk
88f9c792ad Moved some files around to corral headers into the Pluginheaders directory 2015-01-28 23:52:51 -05:00