1 // File generated by idl2d from 2 // ../DeckLinkAPITypes.idl 3 module decklink4d.bmd.decklinkapitypes; 4 5 import decklink4d.port; 6 7 /* -LICENSE-START- 8 ** Copyright (c) 2013 Blackmagic Design 9 ** 10 ** Permission is hereby granted, free of charge, to any person or organization 11 ** obtaining a copy of the software and accompanying documentation covered by 12 ** this license (the "Software") to use, reproduce, display, distribute, 13 ** execute, and transmit the Software, and to prepare derivative works of the 14 ** Software, and to permit third-parties to whom the Software is furnished to 15 ** do so, all subject to the following: 16 ** 17 ** The copyright notices in the Software and this entire statement, including 18 ** the above license grant, this restriction and the following disclaimer, 19 ** must be included in all copies of the Software, in whole or in part, and 20 ** all derivative works of the Software, unless such copies or derivative 21 ** works are solely in the form of machine-executable object code generated by 22 ** a source language processor. 23 ** 24 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 25 ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 26 ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 27 ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 28 ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 29 ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 30 ** DEALINGS IN THE SOFTWARE. 31 ** -LICENSE-END- 32 */ 33 34 // Type Declarations 35 36 alias LONGLONG BMDTimeValue; 37 alias LONGLONG BMDTimeScale; 38 alias uint BMDTimecodeBCD; 39 alias uint BMDTimecodeUserBits; 40 41 // Enumeration Mapping 42 43 alias uint BMDTimecodeFlags; 44 45 /* Enum BMDTimecodeFlags - Timecode flags */ 46 47 /+[v1_enum]+/ enum /+ _BMDTimecodeFlags+/ : int 48 { 49 bmdTimecodeFlagDefault = 0, 50 bmdTimecodeIsDropFrame = 1 << 0 51 } 52 alias int _BMDTimecodeFlags; 53 54 /* Enum BMDVideoConnection - Video connection types */ 55 56 enum 57 /+[v1_enum]+/ /+ _BMDVideoConnection+/ 58 { 59 bmdVideoConnectionSDI = 1 << 0, 60 bmdVideoConnectionHDMI = 1 << 1, 61 bmdVideoConnectionOpticalSDI = 1 << 2, 62 bmdVideoConnectionComponent = 1 << 3, 63 bmdVideoConnectionComposite = 1 << 4, 64 bmdVideoConnectionSVideo = 1 << 5 65 } 66 alias int _BMDVideoConnection; 67 alias int BMDVideoConnection; 68 69 // Forward Declarations 70 71 /+ interface IDeckLinkTimecode; +/ 72 73 /* Interface IDeckLinkTimecode - Used for video frame timecode representation. */ 74 75 const GUID IID_IDeckLinkTimecode = IDeckLinkTimecode.iid; 76 77 interface IDeckLinkTimecode : IUnknown 78 { 79 extern(System): 80 static const GUID iid = { 0xBC6CFBD3,0x8317,0x4325,[ 0xAC,0x1C,0x12,0x16,0x39,0x1E,0x93,0x40 ] }; 81 BMDTimecodeBCD GetBCD(); 82 HRESULT GetComponents(/+[out]+/ ubyte *hours, 83 /+[out]+/ ubyte *minutes, 84 /+[out]+/ ubyte *seconds, 85 /+[out]+/ ubyte *frames); 86 HRESULT GetString(/+[out]+/ BMDSTR *timecode); 87 BMDTimecodeFlags GetFlags(); 88 HRESULT GetTimecodeUserBits(/+[out]+/ BMDTimecodeUserBits *userBits); 89 };