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
4952335ece
Update to latest Sparkle framework
...
Outputs now always query the underlying stream service plugin for the destination string.
Output format is now determined by asking the stream service what format to use. Format can be forced via the stream service config dialog.
2016-02-21 22:13:58 -05:00
Zakk
e7f1e21b34
Split input source configs into an advanced tab.
...
Layouts are now drag and drop reorder able.
Go live button hides when only one preview view is visible
2016-02-02 09:18:13 -05:00
Zakk
d2306f8662
Animation Items now have a uuid and are refcounted/tracked just like inputs across layout merges/removes/replaces.
...
Start of animation UI for individual layout edits
2015-12-07 09:51:35 -05:00
Zakk
d13a237af9
1.9 imports were sometimes causing the live layout to be a reference to one of the 'normal' layouts, which broke preview/edits. Detect this condition and make a copy instead
2015-11-28 05:53:32 -05:00
Zakk
504c4f3fa7
Moved compressor configuration to output configuration dialog. All outputs MUST have a chosen compressor now. Two default compressors named "x264" and 'AppleVT" are created if they don't exist. If a "default" compressor exists it is renamed to the appropriate new default compressor.
...
To create new compressor "profiles" just save one of the default ones to a new name.
2015-11-23 07:55:04 -05:00
Zakk
876dd087ac
Slightly rearrange how adding outputs works, WIP
2015-11-14 22:40:55 -05:00
Zakk
f6b3067ddd
Start of the 'input library' feature
2015-10-23 23:15:35 -04:00
Zakk
ebac4d9a57
Added a layout edit contextual menu to layout buttons.
...
When a layout is set to single-source (via cmd-click) the target now inherits the resolution and frameRate of the layout. This also happens on staging->live.
Added contextual menu item for builtin staging and live layouts for changing resolution and framerate
2015-10-11 12:47:41 -04:00
Zachary Girouard
c932fda6d3
Start of new layout UI/mechanics
2015-10-04 23:09:56 -04:00
Zakk
f5e8292b04
Mouseover effects in preview views are now done via overlaying an NSView. Overlay has added: resize handle/knobs on mouseover, and a delete button.
...
Start of a functional undo/redo system. move, resize, delete, attach/detach, clone and add are now undoable.
2015-09-06 02:22:11 -04:00
Zakk
a16724402d
Completely changed how python is handled internally. No more py2app plugins with a private copy of a bunch of python stuff. Now link directly against Python.framework. There is now an internal plugin service/api for evaluating a python file, so any plugin can implement python functionality fairly easily.
2015-08-14 22:15:39 -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
30c45f1e5c
Added shape 'capture' inputs, with python modules for drawing shapes/paths.
...
Made some changes to audio graph and audio engine: there were some hardcoded 44khz instances. Changing sample rate should work now.
Fixed an ordering issue that would sometimes cause sourceLayers to be replaced with nil
2015-07-26 09:34:25 -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
f93f810e41
Set transition time via object controller and commitEditing when goLive is pushed
2015-06-29 06:24:12 -04:00
Zakk
857264db99
Properly extract boolean value of onLive animation setting
2015-06-19 15:29:41 -04:00
Zakk
fe7546b4f2
Added configuration option for animations to enable auto-running of an animation when a layout goes live.
...
Extra None/null checking in animation python source to defend against runtime errors.
Added Blackmagic SDK capture source. You can now use more than one black magic card, yay
2015-06-15 23:04:06 -04:00
Zakk
bec8aa7f90
Added save and restore of down mixer crosspoint volumes
2015-06-10 05:32:06 -04:00
Zakk
a0df4eeb58
Audio changes: all inputs are now behind a AUMatrixMixer that down mixes the input to a stereo output. The input channels are just mapped like LRLRLRLRLRLR. All crosspoint and input gains are set to max. The input's volume is controlled by setting the MatrixMixer's master gain.
...
There was some rearranging/cleaning up of the audio graph code so that AudioUnits are configured in the 'proper' order (no format changes after Initialization,, explicit AudioUnitInitalize calls etc).
Todo: on the fly sample rate changes, full crosspoint gain control UI.
2015-06-06 23:18:14 -04:00
Zakk
35107d7a04
Add modal dialog during MIDI control learning
2015-05-25 15:44:50 -04:00
Zakk
09e9b118d5
Added rough start to midi control
2015-05-23 20:16:30 -04:00
Zakk
2e2220564c
Some changes to get things working on 10.9 and to fix up code signing with the python plugin.
...
Change tab index for setting status pane on stream start
2015-04-26 13:58:23 -04:00
Zakk
dfe3bdb4e1
Force a setNeedsLayout/layoutifNeeded call when constraints are set on an input layer. This seems to fix the weird constraint dimensions on restore.
...
Also force a layout when a source is added to an input, I'm not sure if this actually fixes the non-rendering gl layer problem, though.
2015-04-25 12:00:45 -04:00
Zakk
359d2dabfa
Layout transition choices now include Core Image transition filters
2015-04-21 09:58:07 -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
fda88af6cb
Added interface for setting constraints on inputs/layers. Only applies in relation to the parent input (or the canvas).
2015-04-19 01:50:57 -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
0c894d8a43
Animation input list now updates properly when inputs are removed and deleted from the layout
...
Added a movement example animation.
Animations now have a 'source_only' keyword that only animates the underlying source layer.
2015-04-05 15:03:21 -04:00
Zakk
6dfdc0a0c6
Run animations in a background queue so badly written animations don't freeze the main UI.
...
Catch exceptions when running animations and NSLog() them
2015-04-04 12:12:28 -04:00
Zakk
1b6859e4fd
Animations are now explicitly added to a layout, instead of showing all possible animations. Added animations and input assignments are saved and restored along with the layout.
2015-03-27 10:04:35 -04:00
Zakk
8b2510a1cc
Added controls for animation of the live feed. Added 'revert' buttons for both live and staging animation controls.
2015-03-21 09:05:30 -04:00
Zakk
56d71c82f9
Added start of scriptable animations, using embedded python. Things are still a bit rough, but functional. IF YOU ARE BUILDING YOUR OWN VERSION: for private 'dev' copies, you need to run 'python setup.py py2app -A' in the 'CSAnimationRunner' directory. If you are building a 'release' version to use somewhere other than your own machine, you need to run 'python setup.py py2app' to generate a standalone bundle for the python plugin. I haven't extensively tested the standalone stuff yet, so there's a risk it's all broken right now.
2015-03-21 02:20:10 -04:00
Zakk
b28cdbc2e3
Remove various references to InputSource when it is deleted so that the dealloc happens immediately instead of when NIBs are auto-deallocated.
2015-03-09 10:36:00 -04:00
Zakk
972301c3b5
Preview views are now responsible for allocating a LayoutRenderer. Added layout change transitions.
2015-03-02 00:08:11 -05:00
Zakk
7e3cb5682e
Change audio source enable button to an on/off toggle with color.
2015-02-18 05:26:06 -05:00
Zakk
96455ca5b0
Syphon source now grabs the IOSurface before receiving a frame notification, so restored Syphon Sources from 'fast' SyphonInjected processes work
2015-02-15 08:37:15 -05:00
Zakk
9d3bc56898
Actually put CocoaSplit.sdef in the repository....
2015-02-14 17:49:33 -05:00
Zakk
97a35e8b5d
Added time related sources. Current time, elapsed time from any past point in time, and a countdown to a given date/time (or just X seconds of countdown)
2015-02-08 23:16:34 -05:00
Zakk
88f9c792ad
Moved some files around to corral headers into the Pluginheaders directory
2015-01-28 23:52:51 -05:00
Zakk
99a4765241
Massive update/change: Sources and rendering are now CoreAnimation (CALayer) based. Still a few broken things, but now with all the added functionality of CoreAnimation. More interesting things to come ;)
2015-01-17 09:23:02 -05:00
Zakk
433a7328d9
Added NowPlaying (generate text source based on currently playing song in iTunes or Spotify) and FileText (get text from a file) plugins
2015-01-01 20:50:21 -05:00
Zakk
2e3238ae57
Moved most of the TextCaptureSource code into the main code base, so plugins can inherit a base Text Source for more flexibility.
2014-12-31 14:10:12 -05:00
Zakk
1bdb24685d
Restore ability to detach input source config windows under Yosemite
2014-12-03 19:37:43 -05:00
Zakk
2bbe224bd7
Added Hitbox StreamService plugin.
2014-12-02 19:04:01 -05:00
Zakk
cddd251e92
Default font color: white, default size: 50
...
Completely redid SyphonSource to use a version of Syphon.framework that exposes the IOSurface.
XIB changes for some constraints. Dumb.
2014-11-30 23:08:10 -05:00
Zakk
87aac17c6c
Fixed some warnings.
...
PCMPlayer scheduling should work in 10.9 now. 10.10 uses the 'easy' scheduling.
2014-11-28 20:02:39 -05:00
Zakk
b68fea5869
Hide CAMultiAudioPlayer behind a 'fake' CSPcmPlayer interface. This way plugins don't need the CAMultiAudioNode header file and aren't tempted to mess with stuff in it
2014-11-25 01:17:20 -05:00
Zakk
a8e728d8e2
Plugins now have the ability to send PCM audio to the audioengine. Audio engine now does sample rate conversion for PCM inputs.
...
MovieCapture plugin now sends audio through AudioEngine.
2014-11-22 20:31:45 -05:00
Zakk
65243bd5ce
Audio input volume continuously updates as the slider is moved. Listen for audio input device changes and update the mixer list in real time.
...
Changed AVCapture to output in 420f format instead of BGRA. Maybe a bit more CPU friendly.
2014-11-21 08:59:35 -05:00