Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

BlackMagic works 1 input

  • Loading branch information...
commit 0ca69e393a22e59d5997acda78e890c46e2a1764 1 parent fb11651
Jonas Jongejan authored

Showing 802 changed files with 48,197 additions and 117 deletions. Show diff stats Hide diff stats

  1. +3 0  .gitmodules
  2. +40 11 ViljensTriumf.xcodeproj/project.pbxproj
  3. +3 7 ViljensTriumf/AppDelegate.mm
  4. +19 0 ViljensTriumf/Plugins/BlackMagic.h
  5. +185 0 ViljensTriumf/Plugins/BlackMagic.mm
  6. 0  ViljensTriumf/Plugins/{Test.xib → BlackMagic.xib}
  7. +259 0 ViljensTriumf/Plugins/DecklinkCallback.cpp
  8. +41 0 ViljensTriumf/Plugins/DecklinkCallback.h
  9. +0 9 ViljensTriumf/Plugins/Test.h
  10. +0 90 ViljensTriumf/Plugins/Test.mm
  11. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Blackmagic Decklink SDK.pdf
  12. +472 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/Capture/Capture.cpp
  13. +23 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/Capture/Capture.h
  14. +36 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/Capture/Makefile
  15. +36 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/DeviceList/Makefile
  16. +424 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/DeviceList/main.cpp
  17. +135 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/GLExtensions.cpp
  18. +159 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/GLExtensions.h
  19. +67 0 ...agic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/LoopThroughWithOpenGLCompositing.cpp
  20. +56 0 ...kmagic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/LoopThroughWithOpenGLCompositing.h
  21. +18 0 ...agic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/LoopThroughWithOpenGLCompositing.pro
  22. +25 0 ...magic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/LoopThroughWithOpenGLCompositing.ui
  23. +877 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/OpenGLComposite.cpp
  24. +182 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/OpenGLComposite.h
  25. +43 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/LoopThroughWithOpenGLCompositing/main.cpp
  26. +37 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/Makefile
  27. +328 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/BMDOpenGLOutput.cpp
  28. +107 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/BMDOpenGLOutput.h
  29. +108 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/CDeckLinkGLWidget.cpp
  30. +62 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/CDeckLinkGLWidget.h
  31. +58 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/GLExtensions.cpp
  32. +103 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/GLExtensions.h
  33. +162 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/GLScene.cpp
  34. +54 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/GLScene.h
  35. +106 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/OpenGLOutput.cpp
  36. +70 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/OpenGLOutput.h
  37. +20 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/OpenGLOutput.pro
  38. +32 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/OpenGLOutput.ui
  39. +46 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/OpenGLOutput/main.cpp
  40. +224 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/SignalGenerator/Makefile
  41. +1 0  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/SignalGenerator/README.txt
  42. +596 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/SignalGenerator/SignalGenerator.cpp
  43. +174 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/SignalGenerator/SignalGenerator.h
  44. +13 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/SignalGenerator/SignalGenerator.pro
  45. +164 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/SignalGenerator/SignalGenerator.ui
  46. +11 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/SignalGenerator/main.cpp
  47. +36 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/TestPattern/Makefile
  48. +448 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/TestPattern/TestPattern.cpp
  49. +91 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/TestPattern/TestPattern.h
  50. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/i386/Capture
  51. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/i386/DeviceList
  52. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/i386/LoopThroughWithOpenGLCompositing
  53. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/i386/OpenGLOutput
  54. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/i386/SignalGenerator
  55. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/i386/TestPattern
  56. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/x86_64/Capture
  57. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/x86_64/DeviceList
  58. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/x86_64/LoopThroughWithOpenGLCompositing
  59. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/x86_64/OpenGLOutput
  60. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/x86_64/SignalGenerator
  61. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/bin/x86_64/TestPattern
  62. +689 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI.h
  63. +178 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIConfiguration.h
  64. +215 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIDeckControl.h
  65. +71 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIDiscovery.h
  66. +133 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIDispatch.cpp
  67. +109 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIDispatch_v7_6.cpp
  68. +133 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIDispatch_v8_0.cpp
  69. +164 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIModes.h
  70. +98 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPITypes.h
  71. +37 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPIVersion.h
  72. +198 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI_v7_1.h
  73. +173 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI_v7_3.h
  74. +404 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI_v7_6.h
  75. +88 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI_v7_9.h
  76. +63 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI_v8_0.h
  77. +111 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI_v8_1.h
  78. +81 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/DeckLinkAPI_v9_2.h
  79. +99 0 libs/Blackmagic DeckLink SDK 9.6.4/Linux/include/LinuxCOM.h
  80. +248 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/BypassControl/BypassControl.xcodeproj/project.pbxproj
  81. +7 0 ...nk SDK 9.6.4/Mac/Samples/BypassControl/BypassControl.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  82. +10 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/BypassControl/Info.plist
  83. +389 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/BypassControl/PlaybackHelper.cpp
  84. +97 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/BypassControl/PlaybackHelper.h
  85. +86 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/BypassControl/main.cpp
  86. +262 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CaptureFromTape/CaptureFromTape.xcodeproj/project.pbxproj
  87. +10 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CaptureFromTape/Info.plist
  88. +345 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CaptureFromTape/capture.cpp
  89. +101 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CaptureFromTape/capture.h
  90. +88 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CaptureFromTape/common.h
  91. +70 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CaptureFromTape/main.cpp
  92. +32 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/CapturePreview-Info.plist
  93. +96 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/CapturePreview.h
  94. +268 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/CapturePreview.mm
  95. +309 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/CapturePreview.xcodeproj/project.pbxproj
  96. +7 0 ... SDK 9.6.4/Mac/Samples/CapturePreview/CapturePreview.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  97. +7 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/CapturePreview_Prefix.pch
  98. +2 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/English.lproj/InfoPlist.strings
  99. +5,461 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/English.lproj/MainMenu.xib
  100. +34 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/CapturePreview/main.m
  101. +248 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckControl/DeckControl.xcodeproj/project.pbxproj
  102. +10 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckControl/Info.plist
  103. +292 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckControl/main.cpp
  104. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/DeckLinkKeyer Default Image.psd
  105. +317 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/DeckLinkKeyer.xcodeproj/project.pbxproj
  106. +87 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/DeckLinkKeyerController.h
  107. +428 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/DeckLinkKeyerController.mm
  108. +51 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/DeckLinkKeyerMovieView.h
  109. +265 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/DeckLinkKeyerMovieView.mm
  110. +34 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/DeckLinkKeyer_Prefix.pch
  111. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/English.lproj/InfoPlist.strings
  112. +2,142 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/English.lproj/MainMenu.xib
  113. +28 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/Info.plist
  114. +37 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeckLinkKeyer/main.m
  115. +238 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeviceList/DeviceList.xcodeproj/project.pbxproj
  116. +10 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeviceList/Info.plist
  117. +450 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/DeviceList/main.cpp
  118. +262 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/ExportToTape/ExportToTape.xcodeproj/project.pbxproj
  119. +10 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/ExportToTape/Info.plist
  120. +76 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/ExportToTape/common.h
  121. +451 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/ExportToTape/export.cpp
  122. +107 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/ExportToTape/export.h
  123. +71 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/ExportToTape/main.cpp
  124. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/English.lproj/InfoPlist.strings
  125. +3,207 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/English.lproj/MainMenu.xib
  126. +28 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/Info.plist
  127. +296 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/InputLoopThrough.xcodeproj/project.pbxproj
  128. +7 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/InputLoopThrough_Prefix.pch
  129. +75 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/MyController.h
  130. +267 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/MyController.mm
  131. +34 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/InputLoopThrough/main.m
  132. +105 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/BMDOpenGLOutput.h
  133. +306 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/BMDOpenGLOutput.mm
  134. +3 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/English.lproj/InfoPlist.strings
  135. +4,268 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/English.lproj/MainMenu.xib
  136. +56 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/GLScene.h
  137. +162 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/GLScene.mm
  138. +32 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/OpenGLOutput-Info.plist
  139. +313 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/OpenGLOutput.xcodeproj/project.pbxproj
  140. +7 0 ...Link SDK 9.6.4/Mac/Samples/OpenGLOutput/OpenGLOutput.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  141. +52 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/OpenGLOutputAppDelegate.h
  142. +70 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/OpenGLOutputAppDelegate.mm
  143. +7 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/OpenGLOutput_Prefix.pch
  144. +37 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/OpenGLOutput/main.m
  145. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/English.lproj/InfoPlist.strings
  146. +3,513 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/English.lproj/MainMenu.xib
  147. +28 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/Info.plist
  148. +297 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/SignalGenerator.xcodeproj/project.pbxproj
  149. +7 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/SignalGenerator_Prefix.pch
  150. +110 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/SyncController.h
  151. +435 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/SyncController.mm
  152. +34 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/SignalGenerator/main.m
  153. +416 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/AudioStreamDecoder.cpp
  154. +72 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/AudioStreamDecoder.h
  155. +60 0 ...ackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/BMDStreamingDeckControlNotifier.h
  156. +63 0 ...ckmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/BMDStreamingDeckControlNotifier.mm
  157. +64 0 ...ackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/BMDStreamingDeviceInputNotifier.h
  158. +79 0 ...ckmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/BMDStreamingDeviceInputNotifier.mm
  159. +60 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/BMDStreamingDeviceNotifier.h
  160. +63 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/BMDStreamingDeviceNotifier.mm
  161. +89 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/COMObject.h
  162. +44 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/Common/Debug.h
  163. +2 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/English.lproj/InfoPlist.strings
  164. +4,797 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/English.lproj/MainMenu.xib
  165. +72 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/OpenGLPreview.h
  166. +373 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/OpenGLPreview.mm
  167. +68 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/QTDecodeSession.h
  168. +359 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/QTDecodeSession.mm
  169. +32 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/StreamingPreview-Info.plist
  170. +352 0 ...kmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/StreamingPreview.xcodeproj/project.pbxproj
  171. +102 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/StreamingPreviewAppDelegate.h
  172. +882 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/StreamingPreviewAppDelegate.mm
  173. +7 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/StreamingPreview_Prefix.pch
  174. +33 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/Streaming/StreamingPreview/main.mm
  175. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/BypassControl
  176. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/CaptureFromTape
  177. +46 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/CapturePreview.app/Contents/Info.plist
  178. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/CapturePreview.app/Contents/MacOS/CapturePreview
  179. +1 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/CapturePreview.app/Contents/PkgInfo
  180. BIN  ...ic DeckLink SDK 9.6.4/Mac/Samples/bin/CapturePreview.app/Contents/Resources/English.lproj/InfoPlist.strings
  181. BIN  ...ckmagic DeckLink SDK 9.6.4/Mac/Samples/bin/CapturePreview.app/Contents/Resources/English.lproj/MainMenu.nib
  182. +48 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/CapturePreview.app/Contents/_CodeSignature/CodeResources
  183. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckControl
  184. +42 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckLinkKeyer.app/Contents/Info.plist
  185. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckLinkKeyer.app/Contents/MacOS/DeckLinkKeyer
  186. +1 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckLinkKeyer.app/Contents/PkgInfo
  187. BIN  ...gic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckLinkKeyer.app/Contents/Resources/DeckLinkKeyer Default Image.psd
  188. BIN  ...gic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckLinkKeyer.app/Contents/Resources/English.lproj/InfoPlist.strings
  189. BIN  ...ackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckLinkKeyer.app/Contents/Resources/English.lproj/MainMenu.nib
  190. +52 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/DeckLinkKeyer.app/Contents/_CodeSignature/CodeResources
  191. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/DeviceList
  192. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/ExportToTape
  193. +42 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/InputLoopThrough.app/Contents/Info.plist
  194. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/InputLoopThrough.app/Contents/MacOS/InputLoopThrough
  195. +1 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/InputLoopThrough.app/Contents/PkgInfo
  196. BIN  ... DeckLink SDK 9.6.4/Mac/Samples/bin/InputLoopThrough.app/Contents/Resources/English.lproj/InfoPlist.strings
  197. BIN  ...magic DeckLink SDK 9.6.4/Mac/Samples/bin/InputLoopThrough.app/Contents/Resources/English.lproj/MainMenu.nib
  198. +48 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/InputLoopThrough.app/Contents/_CodeSignature/CodeResources
  199. +46 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/OpenGLOutput.app/Contents/Info.plist
  200. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/OpenGLOutput.app/Contents/MacOS/OpenGLOutput
  201. +1 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/OpenGLOutput.app/Contents/PkgInfo
  202. BIN  ...agic DeckLink SDK 9.6.4/Mac/Samples/bin/OpenGLOutput.app/Contents/Resources/English.lproj/InfoPlist.strings
  203. BIN  ...lackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/OpenGLOutput.app/Contents/Resources/English.lproj/MainMenu.nib
  204. +48 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/OpenGLOutput.app/Contents/_CodeSignature/CodeResources
  205. +42 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/SignalGenerator.app/Contents/Info.plist
  206. BIN  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/SignalGenerator.app/Contents/MacOS/SignalGenerator
  207. +1 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/SignalGenerator.app/Contents/PkgInfo
  208. BIN  ...c DeckLink SDK 9.6.4/Mac/Samples/bin/SignalGenerator.app/Contents/Resources/English.lproj/InfoPlist.strings
  209. BIN  ...kmagic DeckLink SDK 9.6.4/Mac/Samples/bin/SignalGenerator.app/Contents/Resources/English.lproj/MainMenu.nib
  210. +48 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/SignalGenerator.app/Contents/_CodeSignature/CodeResources
  211. +46 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/Streaming/StreamingPreview.app/Contents/Info.plist
  212. BIN  ...lackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/Streaming/StreamingPreview.app/Contents/MacOS/StreamingPreview
  213. +1 0  libs/Blackmagic DeckLink SDK 9.6.4/Mac/Samples/bin/Streaming/StreamingPreview.app/Contents/PkgInfo
  214. BIN  ...SDK 9.6.4/Mac/Samples/bin/Streaming/StreamingPreview.app/Contents/Resources/English.lproj/InfoPlist.strings
  215. BIN  ...Link SDK 9.6.4/Mac/Samples/bin/Streaming/StreamingPreview.app/Contents/Resources/English.lproj/MainMenu.nib
  216. +48 0 ...gic DeckLink SDK 9.6.4/Mac/Samples/bin/Streaming/StreamingPreview.app/Contents/_CodeSignature/CodeResources
  217. +705 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPI.h
  218. +178 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIConfiguration.h
  219. +215 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIDeckControl.h
  220. +71 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIDiscovery.h
  221. +178 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIDispatch.cpp
  222. +105 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIDispatch_v7_6.cpp
  223. +131 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIDispatch_v8_0.cpp
  224. +164 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIModes.h
  225. +375 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIStreaming.h
  226. +98 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPITypes.h
  227. +37 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPIVersion.h
  228. +198 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPI_v7_1.h
  229. +173 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPI_v7_3.h
  230. +421 0 libs/Blackmagic DeckLink SDK 9.6.4/Mac/include/DeckLinkAPI_v7_6.h
Sorry, we could not display the entire diff because too many files (802) changed.
3  .gitmodules
... ... @@ -1,3 +1,6 @@
1 1 [submodule "ofxCocoaPlugins"]
2 2 path = ofxCocoaPlugins
3 3 url = git@github.com:HalfdanJ/ofxCocoaPlugins.git
  4 +[submodule "libs/ofxBlackMagic"]
  5 + path = libs/ofxBlackMagic
  6 + url = git@github.com:HalfdanJ/ofxBlackmagic.git
51 ViljensTriumf.xcodeproj/project.pbxproj
@@ -7,8 +7,8 @@
7 7 objects = {
8 8
9 9 /* Begin PBXBuildFile section */
10   - 8429C0DD156A7943000ADD56 /* Test.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8429C0DB156A7943000ADD56 /* Test.mm */; };
11   - 8429C0DE156A7943000ADD56 /* Test.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8429C0DC156A7943000ADD56 /* Test.xib */; };
  10 + 8429C0DD156A7943000ADD56 /* BlackMagic.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8429C0DB156A7943000ADD56 /* BlackMagic.mm */; };
  11 + 8429C0DE156A7943000ADD56 /* BlackMagic.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8429C0DC156A7943000ADD56 /* BlackMagic.xib */; };
12 12 845FB20D1520A77400FAB093 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 845FB20C1520A77400FAB093 /* OpenGL.framework */; };
13 13 84A64CB3152492B3004B2050 /* ofxCocoaPlugins.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84A64CB2152492B3004B2050 /* ofxCocoaPlugins.framework */; };
14 14 84A64CB5152492C2004B2050 /* ofxCocoaPlugins.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84A64CB2152492B3004B2050 /* ofxCocoaPlugins.framework */; };
@@ -18,6 +18,8 @@
18 18 84AFDC1B15209A0A00DB5DEF /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AFDC1A15209A0A00DB5DEF /* AppDelegate.mm */; };
19 19 84AFDC1E15209A0A00DB5DEF /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 84AFDC1C15209A0A00DB5DEF /* MainMenu.xib */; };
20 20 84AFDC2D15209B3400DB5DEF /* Project.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 84AFDC2C15209B3400DB5DEF /* Project.xcconfig */; };
  21 + DD03972C161C4F9000D0D629 /* DeckLinkAPIDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD039725161C4F9000D0D629 /* DeckLinkAPIDispatch.cpp */; };
  22 + DD039737161C591400D0D629 /* DecklinkCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD039736161C591400D0D629 /* DecklinkCallback.cpp */; };
21 23 /* End PBXBuildFile section */
22 24
23 25 /* Begin PBXCopyFilesBuildPhase section */
@@ -34,9 +36,9 @@
34 36 /* End PBXCopyFilesBuildPhase section */
35 37
36 38 /* Begin PBXFileReference section */
37   - 8429C0DA156A7943000ADD56 /* Test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Test.h; sourceTree = "<group>"; };
38   - 8429C0DB156A7943000ADD56 /* Test.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Test.mm; sourceTree = "<group>"; };
39   - 8429C0DC156A7943000ADD56 /* Test.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = Test.xib; sourceTree = "<group>"; };
  39 + 8429C0DA156A7943000ADD56 /* BlackMagic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlackMagic.h; sourceTree = "<group>"; };
  40 + 8429C0DB156A7943000ADD56 /* BlackMagic.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BlackMagic.mm; sourceTree = "<group>"; };
  41 + 8429C0DC156A7943000ADD56 /* BlackMagic.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BlackMagic.xib; sourceTree = "<group>"; };
40 42 845FB20C1520A77400FAB093 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
41 43 84A64CB2152492B3004B2050 /* ofxCocoaPlugins.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ofxCocoaPlugins.framework; path = ofxCocoaPlugins/build/Debug/ofxCocoaPlugins.framework; sourceTree = "<group>"; };
42 44 84AFDC0315209A0A00DB5DEF /* ViljensTriumf.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ViljensTriumf.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -52,6 +54,10 @@
52 54 84AFDC1A15209A0A00DB5DEF /* AppDelegate.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = "<group>"; };
53 55 84AFDC1D15209A0A00DB5DEF /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
54 56 84AFDC2C15209B3400DB5DEF /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = "<group>"; };
  57 + DD03971A161C4F9000D0D629 /* DeckLinkAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeckLinkAPI.h; sourceTree = "<group>"; };
  58 + DD039725161C4F9000D0D629 /* DeckLinkAPIDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeckLinkAPIDispatch.cpp; sourceTree = "<group>"; };
  59 + DD039735161C591400D0D629 /* DecklinkCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DecklinkCallback.h; sourceTree = "<group>"; };
  60 + DD039736161C591400D0D629 /* DecklinkCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DecklinkCallback.cpp; sourceTree = "<group>"; };
55 61 /* End PBXFileReference section */
56 62
57 63 /* Begin PBXFrameworksBuildPhase section */
@@ -71,9 +77,7 @@
71 77 8483C6691521C0E5006090CF /* Plugins */ = {
72 78 isa = PBXGroup;
73 79 children = (
74   - 8429C0DA156A7943000ADD56 /* Test.h */,
75   - 8429C0DB156A7943000ADD56 /* Test.mm */,
76   - 8429C0DC156A7943000ADD56 /* Test.xib */,
  80 + DD039731161C4FE000D0D629 /* BlackMagic */,
77 81 );
78 82 name = Plugins;
79 83 path = ViljensTriumf/Plugins;
@@ -157,6 +161,29 @@
157 161 path = Addons;
158 162 sourceTree = "<group>";
159 163 };
  164 + DD039719161C4F9000D0D629 /* include */ = {
  165 + isa = PBXGroup;
  166 + children = (
  167 + DD03971A161C4F9000D0D629 /* DeckLinkAPI.h */,
  168 + DD039725161C4F9000D0D629 /* DeckLinkAPIDispatch.cpp */,
  169 + );
  170 + name = include;
  171 + path = "libs/Blackmagic DeckLink SDK 9.6.4/Mac/include";
  172 + sourceTree = SOURCE_ROOT;
  173 + };
  174 + DD039731161C4FE000D0D629 /* BlackMagic */ = {
  175 + isa = PBXGroup;
  176 + children = (
  177 + DD039719161C4F9000D0D629 /* include */,
  178 + 8429C0DA156A7943000ADD56 /* BlackMagic.h */,
  179 + 8429C0DB156A7943000ADD56 /* BlackMagic.mm */,
  180 + DD039735161C591400D0D629 /* DecklinkCallback.h */,
  181 + DD039736161C591400D0D629 /* DecklinkCallback.cpp */,
  182 + 8429C0DC156A7943000ADD56 /* BlackMagic.xib */,
  183 + );
  184 + name = BlackMagic;
  185 + sourceTree = "<group>";
  186 + };
160 187 /* End PBXGroup section */
161 188
162 189 /* Begin PBXNativeTarget section */
@@ -211,7 +238,7 @@
211 238 84AFDC1215209A0A00DB5DEF /* InfoPlist.strings in Resources */,
212 239 84AFDC1E15209A0A00DB5DEF /* MainMenu.xib in Resources */,
213 240 84AFDC2D15209B3400DB5DEF /* Project.xcconfig in Resources */,
214   - 8429C0DE156A7943000ADD56 /* Test.xib in Resources */,
  241 + 8429C0DE156A7943000ADD56 /* BlackMagic.xib in Resources */,
215 242 );
216 243 runOnlyForDeploymentPostprocessing = 0;
217 244 };
@@ -224,7 +251,9 @@
224 251 files = (
225 252 84AFDC1415209A0A00DB5DEF /* main.m in Sources */,
226 253 84AFDC1B15209A0A00DB5DEF /* AppDelegate.mm in Sources */,
227   - 8429C0DD156A7943000ADD56 /* Test.mm in Sources */,
  254 + 8429C0DD156A7943000ADD56 /* BlackMagic.mm in Sources */,
  255 + DD03972C161C4F9000D0D629 /* DeckLinkAPIDispatch.cpp in Sources */,
  256 + DD039737161C591400D0D629 /* DecklinkCallback.cpp in Sources */,
228 257 );
229 258 runOnlyForDeploymentPostprocessing = 0;
230 259 };
@@ -306,7 +335,7 @@
306 335 "\"$(SRCROOT)/../../../Library/Developer/Xcode/DerivedData/DEW-ezvputjuauvbykashinnkcobfngm/Build/Products/Debug\"",
307 336 "\"$(SRCROOT)/ofxCocoaPlugins/build/Debug\"",
308 337 );
309   - GCC_OPTIMIZATION_LEVEL = 3;
  338 + GCC_OPTIMIZATION_LEVEL = 0;
310 339 GCC_PRECOMPILE_PREFIX_HEADER = YES;
311 340 GCC_PREFIX_HEADER = "";
312 341 GCC_PREPROCESSOR_DEFINITIONS = (
10 ViljensTriumf/AppDelegate.mm
@@ -8,7 +8,7 @@
8 8
9 9 #import "AppDelegate.h"
10 10
11   -#import "Test.h"
  11 +#import "BlackMagic.h"
12 12
13 13 @implementation AppDelegate
14 14
@@ -22,18 +22,14 @@ - (void)dealloc
22 22 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
23 23 {
24 24 ocp = [[ofxCocoaPlugins alloc] initWithAppDelegate:self];
25   - [ocp setNumberOutputviews:2];
  25 + [ocp setNumberOutputviews:1];
26 26 [ocp addHeader:@"Setup"];
27 27 [ocp addPlugin:[[Keystoner alloc] initWithSurfaces:[NSArray arrayWithObjects:@"Floor", @"Wall", nil]] midiChannel:1];
28   - [ocp addPlugin:[[Cameras alloc] initWithNumberCameras:1] midiChannel:1];
29   - [ocp addPlugin:[[CameraCalibration alloc] init] midiChannel:1];
30   - [ocp addPlugin:[[BlobTracker2d alloc] init] midiChannel:2];
31   - [ocp addPlugin:[[Tracker alloc] init] midiChannel:2];
32 28 [ocp addPlugin:[[Midi alloc] init] midiChannel:2];
33 29 // [ocp addPlugin:[[OSCControl alloc] init] midiChannel:3];
34 30
35 31 [ocp addHeader:@"DEW"];
36   - [ocp addPlugin:[[Test alloc] init] midiChannel:12];
  32 + [ocp addPlugin:[[BlackMagic alloc] init] midiChannel:12];
37 33
38 34 [ocp loadPlugins];
39 35
19 ViljensTriumf/Plugins/BlackMagic.h
... ... @@ -0,0 +1,19 @@
  1 +#pragma once
  2 +#import <ofxCocoaPlugins/Plugin.h>
  3 +#import "DeckLinkAPI.h"
  4 +#import "DecklinkCallback.h"
  5 +
  6 +class DeckLinkController;
  7 +@interface BlackMagic : ofPlugin {
  8 + DeckLinkController* deckLinkController;
  9 +
  10 + std::vector<IDeckLink*> deviceList;
  11 +
  12 +
  13 + IDeckLinkInput * deckLinkInputs[3];
  14 + DecklinkCallback * callbacks[3];
  15 +
  16 + ofImage currentFrames[3];
  17 +}
  18 +
  19 +@end
185 ViljensTriumf/Plugins/BlackMagic.mm
... ... @@ -0,0 +1,185 @@
  1 +#import "BlackMagic.h"
  2 +#import <ofxCocoaPlugins/Keystoner.h>
  3 +
  4 +
  5 +@implementation BlackMagic
  6 +
  7 +-(void)initPlugin{
  8 + [self addPropF:@"whiteBack"];
  9 + [self addPropF:@"whiteFront"];
  10 + [self addPropF:@"grovKalibrering"];
  11 +
  12 + [self initDeckLink];
  13 + NSArray * deviceNames = [self getDeviceNameList];
  14 + for (int deviceIndex = 0; deviceIndex < [deviceNames count]; deviceIndex++)
  15 + {
  16 + // Add this DeckLink device to the device list
  17 + // [deviceListPopup addItemWithTitle:[deviceNames objectAtIndex:deviceIndex]];
  18 + NSLog(@"Device: %@",[deviceNames objectAtIndex:deviceIndex]);
  19 + }
  20 +
  21 +}
  22 +
  23 +-(void) initDeckLink {
  24 + IDeckLinkIterator* deckLinkIterator = NULL;
  25 + IDeckLink* deckLink = NULL;
  26 + IDeckLinkDisplayModeIterator* displayModeIterator = NULL;
  27 +
  28 + IDeckLinkDisplayMode* displayMode = NULL;
  29 + bool result = false;
  30 + std::vector<IDeckLinkDisplayMode*> modeList;
  31 +
  32 + callbacks[0] = new DecklinkCallback();
  33 + callbacks[1] = new DecklinkCallback();
  34 + callbacks[2] = new DecklinkCallback();
  35 +
  36 + // Create an iterator
  37 + deckLinkIterator = CreateDeckLinkIteratorInstance();
  38 +
  39 +
  40 + // List all DeckLink devices
  41 + while (deckLinkIterator->Next(&deckLink) == S_OK)
  42 + {
  43 + // Add device to the device list
  44 + deviceList.push_back(deckLink);
  45 +
  46 +
  47 + }
  48 +
  49 + for(int index=0;index<deviceList.size();index++){
  50 + // Get the IDeckLinkInput for the selected device
  51 + if ((deviceList[index]->QueryInterface(IID_IDeckLinkInput, (void**)&deckLinkInputs[index]) != S_OK))
  52 + {
  53 + NSLog(@"This application was unable to obtain IDeckLinkInput for the selected device.");
  54 + }
  55 +
  56 +
  57 +
  58 + //
  59 + // Retrieve and cache mode list
  60 + if (deckLinkInputs[index]->GetDisplayModeIterator(&displayModeIterator) == S_OK)
  61 + {
  62 + CFStringRef modeName;
  63 + int i=0;
  64 +
  65 + while (displayModeIterator->Next(&displayMode) == S_OK){
  66 + modeList.push_back(displayMode);
  67 +
  68 + if (displayMode->GetName(&modeName) == S_OK)
  69 + {
  70 + NSLog(@"Mode: %i %@",i++,(NSString *)modeName);
  71 + }
  72 + }
  73 +
  74 + displayModeIterator->Release();
  75 + }
  76 +
  77 +
  78 +
  79 +
  80 + // Set capture callback
  81 + BMDVideoInputFlags videoInputFlags = bmdVideoInputFlagDefault;
  82 +
  83 + deckLinkInputs[index]->SetCallback(callbacks[index]);
  84 +
  85 + // Set the video input mode
  86 + if (deckLinkInputs[index]->EnableVideoInput(modeList[2]->GetDisplayMode(), bmdFormat8BitYUV, videoInputFlags) != S_OK)
  87 + {
  88 + /* [uiDelegate showErrorMessage:@"This application was unable to select the chosen video mode. Perhaps, the selected device is currently in-use." title:@"Error starting the capture"];
  89 + return false;*/
  90 + NSLog(@"This application was unable to select the chosen video mode. Perhaps, the selected device is currently in-use.");
  91 + }
  92 +
  93 + // Start the capture
  94 + if (deckLinkInputs[index]->StartStreams() != S_OK)
  95 + {
  96 + NSLog(@"This application was unable to start the capture. Perhaps, the selected device is currently in-use.");
  97 + /* [uiDelegate showErrorMessage:@"This application was unable to start the capture. Perhaps, the selected device is currently in-use." title:@"Error starting the capture"];
  98 + return false;*/
  99 + }
  100 +
  101 +
  102 +
  103 + }
  104 +
  105 + result = true;
  106 +
  107 +
  108 +}
  109 +
  110 +//
  111 +//----------------
  112 +//
  113 +
  114 +
  115 +-(void)setup{
  116 +}
  117 +
  118 +//
  119 +//----------------
  120 +//
  121 +
  122 +-(NSArray*)getDeviceNameList{
  123 + NSMutableArray* nameList = [NSMutableArray array];
  124 + int deviceIndex = 0;
  125 +
  126 + while (deviceIndex < deviceList.size())
  127 + {
  128 + CFStringRef cfStrName;
  129 +
  130 + // Get the name of this device
  131 + if (deviceList[deviceIndex]->GetDisplayName(&cfStrName) == S_OK)
  132 + {
  133 + [nameList addObject:(NSString *)cfStrName];
  134 + CFRelease(cfStrName);
  135 + }
  136 + else
  137 + {
  138 + [nameList addObject:@"DeckLink"];
  139 + }
  140 +
  141 + deviceIndex++;
  142 + }
  143 +
  144 + return nameList;
  145 +}
  146 +
  147 +
  148 +-(void)update:(NSDictionary *)drawingInformation{
  149 + for(int i=0;i<2;i++){
  150 + if(callbacks[i]->newFrame){
  151 + callbacks[i]->newFrame = false;
  152 + int w = callbacks[i]->w;
  153 + int h = callbacks[i]->h;
  154 +
  155 + if(currentFrames[i].width != w){
  156 + currentFrames[i].allocate(w, h, OF_IMAGE_COLOR);
  157 + }
  158 +
  159 + unsigned char * bytes = callbacks[i]->bytes;
  160 + currentFrames[i].setFromPixels(bytes, w, h, OF_IMAGE_COLOR);
  161 + }
  162 + }
  163 +}
  164 +
  165 +
  166 +//
  167 +//----------------
  168 +//
  169 +
  170 +-(void)draw:(NSDictionary *)drawingInformation{
  171 + ofFill();
  172 +
  173 + ofSetColor(255,255,255);
  174 + currentFrames[0].draw(0,0,1,1);
  175 + //currentFrames[1].draw(0,0,0.5,1);
  176 +}
  177 +
  178 +//
  179 +//----------------
  180 +//
  181 +
  182 +-(void)controlDraw:(NSDictionary *)drawingInformation{
  183 +}
  184 +
  185 +@end
0  ViljensTriumf/Plugins/Test.xib → ViljensTriumf/Plugins/BlackMagic.xib
File renamed without changes
0  ViljensTriumf/Plugins/BlackMagic.xib
Sorry, we could not display the changes to this file because there were too many other changes to display.
259 ViljensTriumf/Plugins/DecklinkCallback.cpp
... ... @@ -0,0 +1,259 @@
  1 +//
  2 +// DecklinkCallback.m
  3 +// ViljensTriumf
  4 +//
  5 +// Created by Jonas on 10/3/12.
  6 +//
  7 +//
  8 +
  9 +#import "DecklinkCallback.h"
  10 +
  11 +
  12 +// YUV format conforms to ITU.BT-601
  13 +//
  14 +// http://www.fourcc.org/yuv.php#UYVY
  15 +// http://www.martinreddy.net/gfx/faqs/colorconv.faq
  16 +// http://developer.apple.com/quicktime/icefloe/dispatch027.html
  17 +// http://www.fourcc.org/source/YUV420P-OpenGL-GLSLang.c
  18 +//
  19 +//
  20 +// Check out bit layout for "bmdFormat8BitYUV : UYVY 4:2:2 Representation"
  21 +// on page 204 of the Decklink SDK documentation
  22 +//
  23 +// Below formulas from Color Space Conversions on pg 227 of the Decklink SDK documentation
  24 +// R = 1.164(Y - 16) + 1.793(Cr - 128)
  25 +// G = 1.164(Y - 16) - 0.534(Cr - 128) - 0.213(Cb - 128)
  26 +// B = 1.164(Y - 16) + 2.115(Cb - 128)
  27 +
  28 +
  29 +
  30 +
  31 +
  32 +// clamp values between 0 and 255
  33 +unsigned char DecklinkCallback::Clamp(int value)
  34 +{
  35 + if(value > 255) return 255;
  36 + if(value < 0) return 0;
  37 + return value;
  38 +}
  39 +
  40 +
  41 +void DecklinkCallback::CreateLookupTables(){
  42 +
  43 + int yy, uu, vv, ug_plus_vg, ub, vr, val;
  44 +
  45 + // Red
  46 + for (int y = 0; y < 256; y++) {
  47 + for (int v = 0; v < 256; v++) {
  48 + yy = y << 8;
  49 + vv = v - 128;
  50 + vr = vv * 359;
  51 + val = (yy + vr) >> 8;
  52 + red[y][v] = Clamp(val);
  53 + }
  54 + }
  55 +
  56 + // Blue
  57 + for (int y = 0; y < 256; y++) {
  58 + for (int u = 0; u < 256; u++) {
  59 + yy = y << 8;
  60 + uu = u - 128;
  61 + ub = uu * 454;
  62 + val = (yy + ub) >> 8;
  63 + blue[y][u] = Clamp(val);
  64 + }
  65 + }
  66 +
  67 + // Green
  68 + for (int y = 0; y < 256; y++) {
  69 + for (int u = 0; u < 256; u++) {
  70 + for (int v = 0; v < 256; v++) {
  71 + yy = y << 8;
  72 + uu = u - 128;
  73 + vv = v - 128;
  74 + ug_plus_vg = uu * 88 + vv * 183;
  75 + val = (yy - ug_plus_vg) >> 8;
  76 + green[y][u][v] = Clamp(val);
  77 + }
  78 + }
  79 + }
  80 +}
  81 +
  82 +
  83 +
  84 +
  85 +void DecklinkCallback::YuvToRgbChunk(unsigned char *yuv, unsigned char * rgb, unsigned int offset, unsigned int chunk_size)
  86 +{
  87 + // convert 4 YUV macropixels to 6 RGB pixels
  88 + unsigned int i, j;
  89 + unsigned int boundry = offset + chunk_size;
  90 + int y, u, v;
  91 +
  92 + for(i=offset, j=(offset/4)*6; i<boundry; i+=4, j+=6){
  93 + y = yuv[i+1];
  94 + u = yuv[i];
  95 + v = yuv[i+2];
  96 +
  97 + rgb[j] = red[y][v];
  98 + rgb[j+1] = green[y][u][v];
  99 + rgb[j+2] = blue[y][u];
  100 +
  101 + y = yuv[i+3];
  102 +
  103 + rgb[j+3] = red[y][v];
  104 + rgb[j+4] = green[y][u][v];
  105 + rgb[j+5] = blue[y][u];
  106 + }
  107 +
  108 + /*
  109 + // fixed point math implementation - superceded by the lookup table method
  110 + unsigned int i, j;
  111 + unsigned int boundry = offset + chunk_size;
  112 + int yy, uu, vv, ug_plus_vg, ub, vr;
  113 + int r,g,b;
  114 + for(i=offset, j=(offset/4)*6; i<boundry; i+=4, j+=6){
  115 + yy = yuv[i+1] << 8;
  116 + uu = yuv[i] - 128;
  117 + vv = yuv[i+2] - 128;
  118 + ug_plus_vg = uu * 88 + vv * 183;
  119 + ub = uu * 454;
  120 + vr = vv * 359;
  121 + r = (yy + vr) >> 8;
  122 + g = (yy - ug_plus_vg) >> 8;
  123 + b = (yy + ub) >> 8;
  124 + rgb->pixels[j] = r < 0 ? 0 : (r > 255 ? 255 : (unsigned char)r);
  125 + rgb->pixels[j+1] = g < 0 ? 0 : (g > 255 ? 255 : (unsigned char)g);
  126 + rgb->pixels[j+2] = b < 0 ? 0 : (b > 255 ? 255 : (unsigned char)b);
  127 + yy = yuv[i+3] << 8;
  128 + r = (yy + vr) >> 8;
  129 + g = (yy - ug_plus_vg) >> 8;
  130 + b = (yy + ub) >> 8;
  131 + rgb->pixels[j+3] = r < 0 ? 0 : (r > 255 ? 255 : (unsigned char)r);
  132 + rgb->pixels[j+4] = g < 0 ? 0 : (g > 255 ? 255 : (unsigned char)g);
  133 + rgb->pixels[j+5] = b < 0 ? 0 : (b > 255 ? 255 : (unsigned char)b);
  134 + }
  135 + */
  136 +}
  137 +
  138 +
  139 +unsigned char * DecklinkCallback::YuvToRgb(IDeckLinkVideoInputFrame* pArrivedFrame)
  140 +{
  141 + unsigned char * yuv;
  142 + pArrivedFrame->GetBytes((void**)&yuv);
  143 +
  144 + // allocate space for the rgb image
  145 + unsigned char * rgb = (unsigned char *) malloc(pArrivedFrame->GetWidth() * pArrivedFrame->GetHeight()*3*sizeof(unsigned char));
  146 +// shared_ptr<DLFrame> rgb(new DLFrame(mCaptureWidth, mCaptureHeight, mRgbRowBytes, DLFrame::DL_RGB));
  147 +
  148 + // int num_workers = conversion_workers.size() - 1;
  149 +
  150 + // split up the image into memory-aligned chunks so they take advantage of
  151 + // the CPU cache
  152 + int mConversionChunkSize = pArrivedFrame->GetRowBytes() * (long)ceil(pArrivedFrame->GetHeight() / 1.0);
  153 +
  154 + YuvToRgbChunk(yuv,rgb, mConversionChunkSize*0, mConversionChunkSize);
  155 +
  156 +
  157 + return rgb;
  158 +}
  159 +
  160 +
  161 +
  162 +
  163 +
  164 +
  165 +DecklinkCallback::DecklinkCallback(){
  166 + bytes = 0;
  167 + CreateLookupTables();
  168 +
  169 +};
  170 +
  171 +
  172 +
  173 +HRESULT DecklinkCallback::VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags)
  174 +{
  175 + UInt32 modeIndex = 0;
  176 +/*
  177 + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
  178 +
  179 + // Restart capture with the new video mode if told to
  180 + if ([uiDelegate shouldRestartCaptureWithNewVideoMode] == YES)
  181 + {
  182 + // Stop the capture
  183 + deckLinkInput->StopStreams();
  184 +
  185 + // Set the video input mode
  186 + if (deckLinkInput->EnableVideoInput(newMode->GetDisplayMode(), bmdFormat8BitYUV, bmdVideoInputEnableFormatDetection) != S_OK)
  187 + {
  188 + [uiDelegate stopCapture];
  189 + [uiDelegate showErrorMessage:@"This application was unable to select the new video mode." title:@"Error restarting the capture."];
  190 + goto bail;
  191 + }
  192 +
  193 + // Start the capture
  194 + if (deckLinkInput->StartStreams() != S_OK)
  195 + {
  196 + [uiDelegate stopCapture];
  197 + [uiDelegate showErrorMessage:@"This application was unable to start the capture on the selected device." title:@"Error restarting the capture."];
  198 + goto bail;
  199 + }
  200 + }
  201 +
  202 + // Find the index of the new mode in the mode list so we can update the UI
  203 + while (modeIndex < modeList.size()) {
  204 + if (modeList[modeIndex]->GetDisplayMode() == newMode->GetDisplayMode())
  205 + {
  206 + [uiDelegate selectDetectedVideoModeWithIndex: modeIndex];
  207 + break;
  208 + }
  209 + modeIndex++;
  210 + }
  211 +
  212 +
  213 +bail:
  214 + [pool release];
  215 + return S_OK;*/
  216 +}
  217 +
  218 +HRESULT DecklinkCallback::VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame* videoFrame, /* in */ IDeckLinkAudioInputPacket* audioPacket)
  219 +{
  220 + BMDPixelFormat pixelFormat = videoFrame->GetPixelFormat();
  221 +
  222 + // printf("%i\n",this);
  223 +
  224 +
  225 + w = videoFrame->GetWidth();
  226 + h = videoFrame->GetHeight();
  227 + size = w * h * 3;
  228 +
  229 + if(bytes){
  230 + delete bytes;
  231 + }
  232 + bytes = YuvToRgb(videoFrame);
  233 +
  234 + newFrame = true;
  235 +
  236 +
  237 + // videoFrame->get
  238 +
  239 + /* BOOL hasValidInputSource = (videoFrame->GetFlags() & bmdFrameHasNoInputSource) != 0 ? NO : YES;
  240 + AncillaryDataStruct ancillaryData;
  241 +
  242 + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
  243 +
  244 + // Update input source label
  245 + [uiDelegate updateInputSourceState:hasValidInputSource];
  246 +
  247 + // Get the various timecodes and userbits for this frame
  248 + getAncillaryDataFromFrame(videoFrame, bmdTimecodeVITC, &ancillaryData.vitcF1Timecode, &ancillaryData.vitcF1UserBits);
  249 + getAncillaryDataFromFrame(videoFrame, bmdTimecodeVITCField2, &ancillaryData.vitcF2Timecode, &ancillaryData.vitcF2UserBits);
  250 + getAncillaryDataFromFrame(videoFrame, bmdTimecodeRP188VITC1, &ancillaryData.rp188vitc1Timecode, &ancillaryData.rp188vitc1UserBits);
  251 + getAncillaryDataFromFrame(videoFrame, bmdTimecodeRP188LTC, &ancillaryData.rp188ltcTimecode, &ancillaryData.rp188ltcUserBits);
  252 + getAncillaryDataFromFrame(videoFrame, bmdTimecodeRP188VITC2, &ancillaryData.rp188vitc2Timecode, &ancillaryData.rp188vitc2UserBits);
  253 +
  254 + // Update the UI
  255 + [uiDelegate updateAncillaryData:&ancillaryData];
  256 +
  257 + [pool release];
  258 + return S_OK;*/
  259 +}
41 ViljensTriumf/Plugins/DecklinkCallback.h
... ... @@ -0,0 +1,41 @@
  1 +//
  2 +// DecklinkCallback.h
  3 +// ViljensTriumf
  4 +//
  5 +// Created by Jonas on 10/3/12.
  6 +//
  7 +//
  8 +#include <vector>
  9 +
  10 +#include "DeckLinkAPI.h"
  11 +class DecklinkCallback : public IDeckLinkInputCallback{
  12 +public:
  13 + DecklinkCallback();
  14 +
  15 + unsigned char * bytes;
  16 + int w;
  17 + int h;
  18 + int size;
  19 + bool newFrame;
  20 +
  21 + unsigned char red[256][256];
  22 + unsigned char blue[256][256];
  23 + unsigned char green[256][256][256];
  24 +
  25 + // IUnknown needs only a dummy implementation
  26 + virtual HRESULT QueryInterface (REFIID iid, LPVOID *ppv) {return E_NOINTERFACE;}
  27 + virtual ULONG AddRef () {return 1;}
  28 + virtual ULONG Release () {return 1;}
  29 +
  30 +
  31 +
  32 + virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags);
  33 + virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame* videoFrame, /* in */ IDeckLinkAudioInputPacket* audioPacket);
  34 +
  35 +
  36 + unsigned char Clamp(int value);
  37 + void CreateLookupTables();
  38 + void YuvToRgbChunk(unsigned char *yuv, unsigned char * rgb, unsigned int offset, unsigned int chunk_size);
  39 + unsigned char * YuvToRgb(IDeckLinkVideoInputFrame* pArrivedFrame);
  40 +};
  41 +
9 ViljensTriumf/Plugins/Test.h
... ... @@ -1,9 +0,0 @@
1   -#pragma once
2   -#import <ofxCocoaPlugins/Plugin.h>
3   -
4   -
5   -@interface Test : ofPlugin {
6   -
7   -}
8   -
9   -@end
90 ViljensTriumf/Plugins/Test.mm
... ... @@ -1,90 +0,0 @@
1   -#import "Test.h"
2   -#import <ofxCocoaPlugins/Keystoner.h>
3   -
4   -@implementation Test
5   -
6   --(void)initPlugin{
7   - [self addPropF:@"whiteBack"];
8   - [self addPropF:@"whiteFront"];
9   - [self addPropF:@"grovKalibrering"];
10   -
11   -}
12   -
13   -//
14   -//----------------
15   -//
16   -
17   -
18   --(void)setup{
19   -}
20   -
21   -//
22   -//----------------
23   -//
24   -
25   -
26   --(void)update:(NSDictionary *)drawingInformation{
27   -}
28   -
29   -//
30   -//----------------
31   -//
32   -
33   --(void)draw:(NSDictionary *)drawingInformation{
34   - ofFill();
35   - if(ViewNumber == 0){
36   - if(PropF(@"whiteBack")){
37   - ofSetColor(255, 255, 255);
38   - ofRect(0, 0, 1, 1);
39   -
40   - ofSetColor(0, 0, 0);
41   - ApplySurface(@"Floor"){
42   - ofSetLineWidth(10);
43   - ofLine(0,-0.5,0,1.2);
44   - ofLine(0.3333,-0.5,0.3333,1.2);
45   - ofLine(0.66666,-0.5,0.66666,1.2);
46   - ofLine(1,-0.5,1,1.2);
47   - ofSetLineWidth(1);
48   - } PopSurfaceWithoutSoftedge();
49   - }
50   -
51   -
52   -
53   - } else {
54   - if(PropF(@"whiteFront")){
55   - ofSetColor(255, 255, 255);
56   - ofRect(0, 0, 1, 1);
57   - }
58   - }
59   -
60   -
61   - if(PropF(@"grovKalibrering")){
62   - if([GetPlugin(Keystoner) selectedOutputview] == ViewNumber){
63   - int selProj = [GetPlugin(Keystoner) selectedProjector];
64   - int numViews = 1;
65   - if(ViewNumber == 0)
66   - numViews = 3;
67   -
68   - ApplySurface(@"Floor"){
69   - ofSetColor(255, 0, 0);
70   - ofRect(1.0/numViews*selProj, 0, 1.0/numViews, 1);
71   - ofNoFill();
72   - ofSetColor(255, 255, 255);
73   - ofSetLineWidth(3);
74   - ofRect(1.0/numViews*selProj, 0, 1.0/numViews, 1);
75   - ofSetLineWidth(1);
76   - ofFill();
77   - } PopSurfaceWithoutSoftedge();
78   - }
79   - }
80   -
81   -}
82   -
83   -//
84   -//----------------
85   -//
86   -
87   --(void)controlDraw:(NSDictionary *)drawingInformation{
88   -}
89   -
90   -@end
0  ViljensTriumf/Plugins/Test.xib
Sorry, we could not display the changes to this file because there were too many other changes to display.
0  libs/Blackmagic DeckLink SDK 9.6.4/Blackmagic Decklink SDK.pdf
Sorry, we could not display the changes to this file because there were too many other changes to display.
BIN  libs/Blackmagic DeckLink SDK 9.6.4/Blackmagic Decklink SDK.pdf
Binary file not shown
472 libs/Blackmagic DeckLink SDK 9.6.4/Linux/Samples/Capture/Capture.cpp
... ... @@ -0,0 +1,472 @@