Commit graph

840 commits

Author SHA1 Message Date
Zakk
f6df032852 Bump version to 2.1.1 2017-12-26 03:05:21 -05:00
Zakk
a67a6d8f5f Get rid of some NSLogs 2017-12-26 02:47:16 -05:00
Zakk
c3854307e6 Add experimental apple HEVC encoder.
Make ffmpeg writer aware of HEVC metadata and have it force set 'hvc1' tag for compatibility with apple utilities.
Fix embarrassing save file vs restore file name mismatch :/
2017-12-26 02:45:30 -05:00
Zakk
c5c2dd9c57 Provide an NSBezierPath -> CGPath method for when we run under 10.9
Make single-view the default view
Save to a 2.1 specific file
Release 2.1.0
2017-12-25 02:38:58 -05:00
Zakk
c5a2d2a940 Changes to main window layout so it properly works in pre 10.11 releases
Call [super layout] where required to suppress warnings in 10.10
Use menuForEvent instead of rightMouseDown; menu now shows up when ctrl-clicking a single button mouse/trackpad
2017-12-24 16:47:42 -05:00
Zakk
f4b4c2fec3 Go live now uses javascript; this allows source scripts to fire 2017-12-23 19:58:41 -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
2cabfce494 Some changes to suppress/fix various runtime warnings 2017-12-17 23:37:00 -05:00
Zakk
b2fe1c3809 Make shape capture type compatible with pre 2.1 saves 2017-12-17 17:57:40 -05:00
Zakk
522ee81b34 Increase width of compressor type label in config window 2017-12-17 16:39:42 -05:00
Zakk
31240748e1 Renamed "AppleVT" compressor to "AppleH264" 2017-12-17 16:08:46 -05:00
Zakk
ed107cf61b Clean up some pixel transfer sessions on dealloc
Prevent double-remove of audio source from the audio engine
Improve memory use of movie source (don't use unreasonably large buffer)
Fix instant recorder output (wasn't writing trailer data)
2017-12-17 15:57:35 -05:00
Zakk
980961137e Re-implement audio level meters as normal NSViews with drawRect instead of CALayers with masks
If a PCM player is in a pending exit state, refuse to queue more PCM samples (so we don't leak them)
When an FFMPEG movie player deallocates, check if we still have a retained CVPixelBuffer and release it if we do.
2017-12-10 07:58:01 -05:00
Zakk
af6c5b1606 Removed a bunch of NSLogs
Audio engine mixer nodes now dynamically allocate input busses as needed, and reuse ones from disconnected nodes.
2017-12-09 09:02:32 -05:00
Zakk
426df6465d Dealloc pixel buffer pool when FFMPegPlayer is realloced 2017-12-06 05:54:06 -05:00
Zakk
cac26cb5e9 Add default implementation of -[CAMultiAudioInput didRemoveInput]
Don't double add inputs to the source layout's presentation list.
2017-12-04 06:14:50 -05:00
Zakk
a7c744bf40 Added a callback for CAMultiAudio node inputs when they are removed from an engine. This allows the PCM player to clean up the pending deallocation queue.
Chased down some more minor memory leaks in the ffmpeg movie player
2017-12-04 05:31:23 -05:00
Zakk
d4238c2224 Allocate one single buffer for planar PCM data, instead of multiple buffers.
Expose the single buffer as a property, so 'external' libraries can write PCM data into it.
Convert FFMPEG player so it uses the new single buffer system.
Add missing audio frame deallocation in ffmpeg movie audio consumer.
2017-12-04 01:37:39 -05:00
Zakk
f8925a449d Fix some movie playback related memory leaks 2017-12-03 15:35:28 -05:00
Zakk
a63c01b009 Properly restore name of movie input 2017-12-01 22:07:52 -05:00
Zakk
5b591cf4bb Set down mixer volume to node volume when mixer is created 2017-12-01 20:53:51 -05:00
Zakk
aafa92bffe Add pcm input creation into CSCaptureBase. This version is audio engine aware, so it will work properly for recorders 2017-11-27 01:06:07 -05:00
Zakk
44c284a122 Emit notifications when audio inputs are added or removed.
Have audio source type listen for audio add notifications in their engine and apply audio settings if it is relevant.
FFMPEG movie source now generates proper UUIDs for the PCMPlayer
2017-11-26 23:32:08 -05:00
Zakk
d66bc5de0d Use correct image name for audio source icon 2017-11-26 15:55:05 -05:00
Zakk
8f69fd87d1 Fix up some warnings and ffmpeg related deprecations 2017-11-24 23:12:39 -05:00
Zakk
0c0baefccb Frame timer based frame fetching now honors the records recordingActive flag and doesn't try to render a new frame (prevents crashing when the preview window takes over rendering)
When failing to encode a frame due to too fast timing, send along the codec_ctx with the audio data (x264 encoder)
2017-11-24 02:17:28 -05:00
Zakk
e046cb436d Restore layout transition functionality. Broken due to previous commit that moved application of animations to the time of commit 2017-11-22 04:35:42 -05:00
Zakk
2464f9d3d6 Hide instant record button when instant record isn't enabled 2017-11-21 05:55:18 -05:00
Zakk
105d4cb9bf Visual improvement of stream/stop button while a stream is active and dark mode is being used 2017-11-21 05:53:36 -05:00
Zakk
829f24c2a2 Some changes to various buttons (via a button cell subclass) to support dark mode 2017-11-19 18:59:12 -05:00
Zakk
9b3d83ebbd Layout buttons now react to dark/light theme changes 2017-11-19 04:32:31 -05:00
Zakk
7205343ea3 Purge user facing kwargs usage; all animation config is function based now 2017-11-19 04:03:51 -05:00
Zakk
026e0fb5e5 Mass apply all animations at commit; this allows animation configuration to take advantage of method chaining instead of "keyword" arguments 2017-11-19 02:51:01 -05:00
Zakk
2cac068b8d Make midi control config window slightly less disgusting 2017-11-19 00:55:45 -05:00
Zakk
a3b28595aa Don't try to highlight non video sources when they are selected in the preview view context menu 2017-11-19 00:25:42 -05:00
Zakk
3aee1a4d56 Added a dark theme.
Move all initialization to the 'willLaunch' callback, which makes the launch less weird
2017-11-18 23:49:53 -05:00
Zakk
a58db937fb Apply infinite animations asynchronously so they don't delay the transaction completion blocks forever 2017-11-18 18:19:53 -05:00
Zakk
585996b0f6 Do input adjustment based on presentation source list 2017-11-18 02:05:08 -05:00
Zakk
56fbf2e14f Don't clobber existing superlayer when adding inputs to a source. This preserves restored parent/child input relationships 2017-11-17 19:41:08 -05:00
Zakk
e3fc99017b Detect lack of 'attr' member in constraint map and skip it 2017-11-17 14:54:45 -05:00
Zakk
8ac26c1f15 Don't build layer constraints until after the transaction that adds the layer to the tree 2017-11-17 14:46:28 -05:00
Zakk
1d41a35c3e Revert back to NSNull based constraints attributes (zero is used as left edge...) 2017-11-17 03:08:26 -05:00
Zakk
83494f06c9 when loading a layout edit window, adjust all the layout inputs to account for possible resolution changes 2017-11-17 00:46:58 -05:00
Zakk
62e7a0a70d Script 'save all' button converted to a 'discard' button that discards all edits to the current script 2017-11-16 22:09:45 -05:00
Zakk
70e4229137 Scripts now save when the window is closed, the tab is changed or another script type is selected 2017-11-16 19:27:16 -05:00
Zakk
3bcdf48a39 Set input edit to double click instead of single click in layout edit window's outline view 2017-11-16 18:33:57 -05:00
Zakk
7cca8eaac4 Updated constraints in various input config tabs 2017-11-16 18:21:18 -05:00
Zakk
ad9522540a Properly reference 'self' in the javascript animation callback.
Fix a bad property/function call in javascript input object.
When cloning an input, create a new UUID
2017-11-16 11:41:39 -05:00
Zakk
6846349b42 Finish script editing interface for audio sources 2017-11-14 23:50:58 -05:00
Zakk
dfb724edce Remove frame arrival setting from Syphon source.
Restore flip functionality to Syphon source
2017-11-14 23:02:29 -05:00