1 /** 2 * MltEvent.cpp - MLT Wrapper 3 * Copyright (C) 2004-2021 Meltytech, LLC 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 */ 19 20 #include "MltEvent.h" 21 #include "MltFrame.h" 22 using namespace Mlt; 23 24 Event(mlt_event event)25Event::Event( mlt_event event ) : 26 instance( event ) 27 { 28 mlt_event_inc_ref( instance ); 29 } 30 Event(Event & event)31Event::Event( Event &event ) : 32 instance( event.get_event( ) ) 33 { 34 mlt_event_inc_ref( instance ); 35 } 36 ~Event()37Event::~Event( ) 38 { 39 mlt_event_close( instance ); 40 } 41 get_event()42mlt_event Event::get_event( ) 43 { 44 return instance; 45 } 46 is_valid()47bool Event::is_valid( ) 48 { 49 return instance != NULL; 50 } 51 block()52void Event::block( ) 53 { 54 mlt_event_block( get_event( ) ); 55 } 56 unblock()57void Event::unblock( ) 58 { 59 mlt_event_unblock( get_event( ) ); 60 } 61 62 EventData(mlt_event_data data)63EventData::EventData(mlt_event_data data) 64 : instance(data) 65 { 66 } 67 EventData(EventData & data)68EventData::EventData(EventData& data) 69 : instance(data.get_event_data()) 70 { 71 } 72 EventData(const EventData & data)73EventData::EventData(const EventData& data) 74 : instance(data.get_event_data()) 75 { 76 } 77 operator =(const EventData & data)78EventData& EventData::operator=(const EventData& data) 79 { 80 instance = data.get_event_data(); 81 return *this; 82 } 83 get_event_data() const84mlt_event_data EventData::get_event_data() const 85 { 86 return instance; 87 } 88 to_int() const89int EventData::to_int() const 90 { 91 return mlt_event_data_to_int(instance); 92 } 93 to_string() const94const char* EventData::to_string() const 95 { 96 return mlt_event_data_to_string(instance); 97 } 98 to_frame() const99Frame EventData::to_frame() const 100 { 101 return Frame(mlt_event_data_to_frame(instance)); 102 } 103 to_object() const104void* EventData::to_object() const 105 { 106 return mlt_event_data_to_object(instance); 107 } 108