示例#1
0
void MyEventSender::consume_flush(ssi_size_t stream_in_num,
	ssi_stream_t stream_in[]) {

	ssi_event_destroy(_event);

	ssi_msg(SSI_LOG_LEVEL_BASIC, "flush()..ok");
}
示例#2
0
void EventConsumer::run () {

	_update_event.wait ();

	if (_terminate) {
		return;
	}

	IConsumer::info info;
	info.event = new ssi_event_t;
    {
		Lock lock (_update_mutex);

		info.dur = _update_info.dur;
		info.time = _update_info.time;
		info.status = _update_info.status;
        ssi_event_clone(*_update_info.event, *info.event);
	}

	consume (info);

	ssi_event_destroy(*info.event);
    delete info.event;

}
示例#3
0
void EventList::clear () {
	for (ssi_size_t i = 0; i < _n_events; i++) {
		ssi_event_destroy (_events[i]);
	}	
	_head_pos = 0;
	_events_count = 0;
	reset ();
}
示例#4
0
SocketEventReader::~SocketEventReader () {

	if (_file) {
		OptionList::SaveXML (_file, _options);
		delete[] _file;
	}
	
	ssi_event_destroy (_event_string);
}
示例#5
0
ClockEventSender::~ClockEventSender () {

	ssi_event_destroy (_event);

	if (_file) {
		OptionList::SaveXML(_file, &_options);
		delete[] _file;
	}
}
示例#6
0
    Tensorflow::EventHandler::~EventHandler() {

        _n_select = 0;
        delete[] _select;
        _select = 0;

        ssi_event_destroy(_event);
        delete[] _class_ids;
        _class_ids = 0;
    }
示例#7
0
QRSDetection::~QRSDetection () {

	if (_listener) {
		ssi_event_destroy (_r_event);
	}

	if (_file) {
		OptionList::SaveXML(_file, &_options);
		delete[] _file;
	}
}
示例#8
0
EventConsumer::~EventConsumer () {

	clear ();
	delete[] _consumer; _consumer = 0;

	ssi_event_destroy(*_update_info.event);
	delete _update_info.event;

	if (_file) {
		OptionList::SaveXML(_file, &_options);
		delete[] _file;
	}
}
示例#9
0
void SocketEventReader::event (const char *from,
	const ssi_char_t *id,
	osc_int32 time,
	osc_int32 dur,
	osc_int32 state,
	osc_int32 n_events,
	const ssi_char_t **events,
	const ssi_real_t *values) {		

	if (_elistener) {
		ssi_event_t e;
		ssi_event_init (e,  SSI_ETYPE_NTUPLE, _event_string.sender_id, _event_string.event_id, _frame->GetElapsedTimeMs (), dur, n_events * sizeof (ssi_event_tuple_t));
		ssi_event_tuple_t *t = ssi_pcast (ssi_event_tuple_t, e.ptr);
		for (osc_int32 i = 0; i < n_events; i++) {
			t[i].id = Factory::AddString (events[i]);
			t[i].value = values[i];
		}
		_elistener->update (e);
		ssi_event_destroy (e);
	}
};
示例#10
0
bool EventConsumer::update (IEvents &events, ssi_size_t n_new_events, ssi_size_t time_ms) {	

	if (n_new_events == 0) {
		return true;
	}

	if (n_new_events > 1) {
		ssi_wrn ("skip %u events", n_new_events - 1);
	}

	ssi_event_t *e = events.next (); 
	IConsumer::info info;
	info.time = e->time / 1000.0;
	info.dur = e->dur / 1000.0;
	info.status = e->state == SSI_ESTATE_COMPLETED ? IConsumer::COMPLETED : IConsumer::CONTINUED;	
	info.event = e;

	if (_async) {

		{
			Lock lock (_update_mutex);
			_update_info.time = info.time;
			_update_info.dur = info.dur;
			_update_info.status = info.status;	
			ssi_event_destroy(*_update_info.event);
			ssi_event_clone(*info.event, *_update_info.event);
		}

		_update_event.release ();

	} else {

		consume (info);		
	}	

	return true;
}