Page 1 of 1

Force close events for Modect

Posted: Fri May 23, 2008 8:33 am
by kamand
Hi, Zoneminder.
I think would be nice to close events at sections end in MODECT like for RECORD or MOCORD, to prevent long live events. I saw such (legal) precedents with event duration more then 7 hours. Nothing to do here with zone settings here. It is legal motion.
Managed to do this myself now.

I understand that there are other workarrounds for this case (run states for example).

Regards
Andrew

Posted: Fri May 23, 2008 8:03 pm
by kamand
And posible solution for version 1.22.2

Code: Select all

--- bkp/zm_monitor.cpp  2007-07-13 19:53:28.000000000 +0300
+++ zm_monitor.cpp      2008-05-23 22:57:35.000000000 +0300
@@ -1254,6 +1254,7 @@
                                                                shared_data->state = state = IDLE;
                                                                delete event;
                                                                event = 0;
+                                                               last_section_mod = 0;
                                                        }
                                                        else
                                                        {
@@ -1366,6 +1367,19 @@
                                                        last_section_mod = section_mod;
                                                }
                                        }
+                               } else if ( function == MODECT && config.force_close_events && state == ALARM ) { // close l
ong live events
+                                       int section_mod = timestamp->tv_sec%section_length;
+                                       if ( section_mod <last_section_mod>Id(), event->Frames(), event->AlarmFrames() ));
+                                               closeEvent();
+                                               last_section_mod = 0;
+                                               shared_data->state = state = IDLE;
+                                       }
+                                       else
+                                       {
+                                               last_section_mod = section_mod;
+                                       }
                                }
                        }
                }
Regards
Andrew