Zakk
cb356f9556
movie source properly deregisters observers when the movie queue is empty due to a movie playing until the end.
...
shift-selecting a layout will no longer re-add the same sources to the target layout. If they already exist they are reverted to the state of the source layout. shift-adding is undoable now.
Added an auto fit "+" button to sources.
2015-09-13 23:33:26 -04:00
Zakk
f809ac4c05
Merging source layout data is undoable now.
...
Some stupid changes to audio engine files due to me trying to track down a bug that didn't exist.
Sourcelayouts now keep a uuid->source map
2015-09-12 23:17:04 -04:00
Zakk
7b7415131e
regrets input source as midi responder when it is added to the sourcelist instead of during InputSource commonInit
2015-09-08 06:13:10 -04:00
Zakk
f28a3fc293
Actually register InputSources as midi responders O_o
2015-09-07 23:44:27 -04:00
Zakk
949054d1f1
Animation input bindings now survive delete->undo delete of their target input
2015-09-07 23:02:42 -04:00
Zakk
6da0810513
More undo. Almost every editable thing about a layout or input is now undoable. Animations are not, and any delete+undo will break animation input and midi mapping.
2015-09-07 17:43:14 -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
746f0bc5b6
Handle exceptions during animations in python land so the transaction can be committed, then re-raise exception
2015-08-31 03:34:49 -04:00
Zakk
2d0cb15aa4
Save and restore values for alwaysDisplay and transitionEnabled (multi transitions now restore!)
2015-08-29 14:41:59 -04:00
Zakk
87ec750d00
Added background loading of python classes. Nothing uses it of course...
2015-08-29 14:06:31 -04:00
Zakk
0b9abc6e7b
Changed which layer is hidden for multi transitions
2015-08-29 09:19:04 -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
896496daa2
Added exception handling for shape capture callouts to python
2015-08-24 00:43:21 -04:00
Zakk
a537a65b71
Added an arc shape, for half circle sort of things.
...
Fixed 'always display' being broken for the main input of a multi-input set
2015-08-23 22:05:25 -04:00
Zakk
052207f2bb
Globally turn off writing python byte code (.pyc) files
2015-08-23 01:00:34 -04:00
Zakk
ffcd885998
Added captureName changes for all capture types
2015-08-22 14:01:35 -04:00
Zakk
2a2553f1c6
Python class loader now loads each class in a separate namespace/global dict
...
Preview OpenGL layer holds onto the rendered CVPixelBuffer until the next render.
Fixed up some more audio stuff.
2015-08-22 12:31:52 -04:00
Zakk
669eef9271
Fixed a bunch of audio system bugs: PCM inputs now properly convert sample rates and changing sample rate of the entire audio system behaves better/properly
2015-08-18 11:57:46 -04:00
Zakk
ec87503f7d
Remove some NSLogs
2015-08-18 00:59:59 -04:00
Zakk
1c8d99a4c7
Properly guard access to a layout's sourceList so that constant frameTick doesn't keep some objects alive. Seemed to only happen on program launch...
...
Fixed potential ioSurface reuse/garbage in preview views.
2015-08-18 00:56:46 -04:00
Zakk
92e964b97f
Re-add CA flush to layout renderer loop
2015-08-17 01:46:54 -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
bf71c90f2c
Make the default shape color white, so it works properly as a mask layer without fiddling with colors
2015-08-15 00:56:28 -04:00
Zakk
6231b4d340
Modified python shape scripts so they are compatible with 10.9
2015-08-15 00:54:40 -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
fcf56805cf
Added x/y flip options for shapes. Also added rotation. It's easier to rotate the shape directly than to rotate the layer and try to pin it using constraints.
...
Did a little bit of re-structuring of the shape python bits.
2015-08-02 08:14:45 -04:00
Zakk
36cfb06d8c
Added ability to control a layer's compositing filter. Also added a 'use as mask' config option that sets the compositing filter to minimum filter
2015-07-26 22:12:32 -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
e5204de054
h264 compressor: if PTS is a repeat or non-increasing just don't encode the frame and only send audio to the outputs.
2015-07-19 18:41:10 -04:00
Zakk
04bf7f3397
Added ability to exclude a source from multi-source transitions.
2015-07-19 14:36:33 -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
a2e1d22b3f
Added repeat controls for MovieSource
2015-07-08 05:58:44 -04:00
Zakk
924b912fc2
Properly manage movie player audio tap so that the MovieCapture object isn't deallocated until the tap is finalized. Fixes crash when going live when a movie input is active in the live layout
2015-07-06 07:51:55 -04:00
Zakk
7f42d0661d
MovieSource uses pre-effect audio tap instead of post-effect audio tap. For some reason in 10.10 it results in audio glitches
2015-07-06 04:56:57 -04:00
Zakk
f8b98d054c
Bump version to 1.9.10, include MIKMIDI copyright/license
2015-07-01 09:01:58 -04:00
Zakk
2a3b01ecd9
When deactivating a layout, clear the animation list and selected animation to release any referenced inputsources
2015-06-30 08:18:31 -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
3aa45104ae
Added cancel button for midi learning sheet
2015-06-21 23:25:39 -04:00
Zakk
ed4633e401
Cleaned up layout transition code by using a copy of the current staging layout when self go live happens
2015-06-21 16:20:51 -04:00
Zakk
10562a2a5a
Remove source dropdown on input types where it is not appropriate
2015-06-20 08:44:22 -04:00
Zakk
857264db99
Properly extract boolean value of onLive animation setting
2015-06-19 15:29:41 -04:00
Zakk
3e1f9818d6
Save and restore black magic input setting
2015-06-18 22:07:16 -04:00
Zakk
695c9acd18
Black magic Decklink input can change the input port directly
2015-06-18 08:24:25 -04:00
Zakk
94cf7e5827
DeckLink remove device changed to compare deckLink pointer value and not unique ID.
2015-06-18 05:18:32 -04:00
Zakk
b4d0aee675
Wrapper class for managing IDeckLink objects. Added support for device removal.
...
AbstractCaptureDevice now declares the captureDevice as a strong property
2015-06-17 23:03:37 -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