Zakk
6255c32992
Don't place a 'live' pointer to output tracks in a CAMultiAudioInput's save data dictionary; copy it instead.
...
Text file source now supports all file types that NSAttributedString does (html, RTF/RTFD, DOC, XML etc).
Added a font size adjustment option to text file source.
2019-11-02 18:28:33 -04:00
Zakk
1b2209f12a
Use MKV container for live record buffer: better compatibility with various codecs. (fragmented mp4 can't contain ProRes????)
...
Some fixes to layout editing window
Up bitrate of built in hardware h264 encoder for live recording.
Properly restore muted status of default system input
2019-11-02 03:27:30 -04:00
Zakk
2822956358
Control-clicking instant record button now brings up a menu of various durations of live buffer to write to a recording.
...
AppleScript instantRecord command now takes integer argument of duration. Defaults to the configured buffer length if unset
2019-10-31 09:16:16 -04:00
Zakk
6fd1223bdc
Removed 'force format' from global output settings; individual plugins are responsible for specifying output formats and allowing users to change them.
...
Support segmentation for file output. This is based on libavformat's segment muxer. May move it to a custom internal file rotator in the future.
Changed instant record buffer to a rotating disk based buffer. Saving a live recording now just remuxes a time range of the on-disk buffer to a new file.
2019-10-30 04:30:36 -04:00
Zakk
414ab28774
Set deployment target to 10.12
...
Don't save default system audio input in the system audio uuid maps; it gets added automatically and doesn't need restoring on launch
2019-10-24 20:51:31 -04:00
Zakk
de9605ad1a
Don't call InputSource commonInit twice: this causes double KVO of constraints and leads to...bad things
2019-10-23 17:28:33 -04:00
Zakk
0d35f3516c
Don't call displayIfNeeded, instead call setNeedsDisplay and let Core Animation update on the normal cycle.
...
Update midi code to reflect recent changes in live/staging handling
2019-10-23 01:59:01 -04:00
Zakk
24f5d7e6c0
Change internal handling of staging and live views to improve consistency and reduce side-effects/order dependencies when loading and saving.
2019-10-22 14:54:16 -04:00
Zakk
9f1ad626f4
Allow multiple instances of the same hardware audio input so they can be attached to different output tracks with separate volume/effects etc.
...
Added a flag to audio inputs (in layouts) that toggles if they cause a new instance of a hardware input to be created, or use one that already exists (if it does)
2019-10-20 20:42:34 -04:00
Zakk
d08893309e
Create multiple audio instances for layout sources: one for each output track
2019-10-17 14:33:46 -04:00
Zakk
abb0e07c19
When creating temporary/clone audio engines, mirror the system output tracks into them.
...
Change layout renderer back to CARenderer: SceneKit now does complex colorspace/gamma and not all capture sources provide the proper formatting to look correct.
Change layout capture source so it pretends to an OutputDestination attached to a Passthrough compressor.
Added default Passthrough compressor with noCopy set.
2019-10-16 13:21:43 -04:00
Zakk
9e7091ecae
When a layout audio source is deallocated, use the audioNode's engine to remove it. Fixes audio inputs not removing themselves from the mixer if you delete them manually from a layout
2019-10-01 05:04:06 -04:00
Zakk
9a7805833c
Fix a rare(-ish) crash in the source list UI due to race conditions when the layout's source list is being updated
...
Some changes to how audio inputs are removed so they're properly released instead of just dangling unattached to an audio graph.
2019-10-01 03:39:23 -04:00
Zakk
53da8ccce6
Don't set default duration on input based transitions; this way the global duration gets used.
...
For de-dupable sources, set the cache when the unique id is mapped to a device, so caching works when the device list is delayed/async
2019-09-28 01:14:39 -04:00
Zakk
b02687862d
File text source: bounce all file writing through an async queue
...
Rework auto fitting so it functions on sources that don't call frame updates regularly. (example: static images)
2019-09-27 04:31:36 -04:00
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
91f9b444c5
Remove some NSLogs
2019-09-17 05:22:38 -04:00
Zakk
1b06902b7d
Version 2.1.10
2019-09-17 05:20:18 -04:00
Zakk
e4dd27c730
Add a 'shouldLoad' class method to plugins. If this returns NO the plugin is skipped.
...
Apple browser plugin only loaded on 10.13+
When restoring settings, only restore layout recording directory/format if the key exists (don't clobber defaults on first run)
2019-09-17 05:07:58 -04:00
Zakk
a1114d9cbc
Store metal renderer setting in NSUderPreferences, so it is available to loaded XIBs early on in application startup.
...
Refactor main window and main menu xibs. MainMenu.xib creates Application,AppDelegate,Sparkle Updater. MainWindow.xib is loaded by AppDelegate in applicationWillLaunch and creates CaptureController and the Main window.
2019-09-16 05:25:47 -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
e5fe2dbd20
Add recording option to menubar menu
2019-08-08 00:51:14 -04:00
Zakk
6567ea8a65
Add preference to toggle between OpenGL or metal renderer.
...
On 10.13 and above, support changing the metal device the layout renderers use.
Both of these require a restart
2019-08-05 22:39:04 -04:00
Zakk
92e8845b95
Remove and re-add CALayer to SCNPlane on resize. If plane is resized with it attached it doesn't render correctly.
...
Change metal texture to _sRGB, for better color mapping. (maybe an option in the future?)
2019-08-04 00:41:48 -04:00
Zakk
5f30700387
Use a SceneKit renderer to render layouts. This works around a bug in CARenderer where CIFilter based transitions would not render at all
2019-08-03 23:22:08 -04:00
Zakk
2b3374bd1e
NDI output now updates statistics properly.
...
Recording outputs are now part of the normal Output window and can be configured and toggled from there.
Added flag to set an output as either streaming or recording.
Stream button -> start streaming outputs, record button -> start recording outputs.
2019-07-28 05:29:45 -04:00
Zakk
535afc378f
Add AppleScript support for main recording
2019-07-27 07:21:38 -04:00
Zakk
59e32cff22
Send twitchAPI v5 accept headers
2019-07-26 04:35:20 -04:00
Zakk
ae17ab821b
Add record button for live layout
2019-07-14 02:18:14 -04:00
Zakk
03a29ada0b
Use non-versioned NDI call for the 'finder' object to prevent crash with newer NDI lib
2019-07-10 04:19:40 -04:00
Zakk
6e8a2fc1ca
Defer adding non layer backed sources (audio etc) to layout until after the transition is finished
2019-07-07 02:13:10 -04:00
Zakk
4e13c52965
Remove NSLog
2019-07-06 23:36:06 -04:00
Zakk
05098828e3
Fix potential crash if a compressor is edited while a layoutrecorder/instantrecording is active
2019-07-01 06:32:44 -04:00
Zakk
4309aaed91
Add blank/null entry to x264 tune settings so user can remove any currently set tune
2019-07-01 05:46:13 -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
3d9f0de198
Made NDI output aware of multi track audio
...
Fix live/staging layouts not saving resolution or background settings
Added default settings to x264 encoder
2019-06-14 04:41:55 -04:00
Zakk
b2784fc0d5
Downmixer now disables/enables outputs when the enabled property is toggled. Restores muting of stream output
2019-06-12 04:24:23 -04:00
Zakk
a3909cd9d8
Don't let initial staging hide/reveal clobber saved staging.
...
Change javascript syntax to hopefully fix older macOS versions
2019-06-12 03:32:13 -04:00
Zakk
8b416c97f0
Update version of saved settings file
2019-06-11 04:27:04 -04:00
Zakk
8e25e41a48
Properly order out OAuth window before setting it to nil
2019-06-11 01:44:49 -04:00
Zakk
4909d0f2b3
Manually create the mixer level data structure so mixer crosspoint volumes restore correctly (bug in CoreAudio?)
...
Fix outputs not picking up default audio track.
Audio engine default output track wasn't properly being assigned an encoder node.
2019-06-10 05:26:56 -04:00
Zakk
40ec0b03ee
Input based transitions now have a default hold duration of 0.25 seconds
2019-06-08 21:24:51 -04:00
Zakk
b60b75f0fe
System audio inputs are now properly enabled when initially added to an audio engine
2019-06-08 02:59:07 -04:00
Zakk
5c618b6721
Fix transition config pane showing on config-less initial load even though the default isn't to use transitions
2019-06-08 01:59:44 -04:00
Zakk
e11c6ef0c4
Wrap layout renderer 'currentImg' method in CATransaction: without it resizing a live layout with a renderer attached fails to resize properly
2019-06-07 18:42:11 -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
ae1228abea
Remove 12 layout minimum.
...
Bump to version 2.1.9 (sooooon)
2019-06-05 04:30:22 -04:00
Zakk
af01e18475
Add AppleScript glue to list audio tracks
...
Add 'create debug' menu item. Writes a zip file to the user's desktop with saved settings and log data
2019-06-03 03:11:20 -04:00
Zakk
66404cef3a
Add AppleScript glue to list audio tracks
...
Add 'create debug' menu item. Writes a zip file to the user's desktop with saved settings and log data
2019-05-28 05:16:33 -04:00