From 71aadc77ab0b725b5fb70bfd5a2785db222376b7 Mon Sep 17 00:00:00 2001
From: stan
Date: Sun, 16 Jan 2005 17:48:54 +0000
Subject: [PATCH] Updated.
git-svn-id: http://svn.zoneminder.com/svn/zm/trunk@1222 e3e1d417-86f3-4887-817a-d78f3d33393f
---
README | 8 +-
README.doc | Bin 308224 -> 333312 bytes
README.html | 318 ++++++++++++++++---------------
README.pdf | Bin 281682 -> 187047 bytes
README.rtf | 531 ++++++++++++++++++++++++++--------------------------
5 files changed, 434 insertions(+), 423 deletions(-)
diff --git a/README b/README
index 9d253348e..dd2e83c96 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
- 16/01/05 ZoneMinder 1.20.0 README 1
+ 16/01/05 ZoneMinder 1.20.0 README 1
ZoneMinder v1.20.0
@@ -1820,7 +1820,7 @@ http://www.zoneminder.com/downloads/noIEClick.reg
8.1. Release 1.20.0
-Improved and added features, minor bugfixes.
+Improved and added features, several minor bugfixes.
o FEATURE - Certain configuration (Mostly database
settings) is now stored in a new file zm.conf. This means that
@@ -1879,6 +1879,10 @@ o FIX - There was a problem with the interaction between
monitor statuses and the status web window. This meant that
sometimes the window did not pop to the front, or play the
alarm sound, properly. This has been corrected.
+ o FIX - A bug in event streaming when events are of very
+ short duration has been fixed. Thanks to forum user `reza' for
+ spotting this one.
+
8.2. Release 1.19.5
Various miscellaneous fixes and features.
diff --git a/README.doc b/README.doc
index aec93dcebf87a9e38bde357162d7a42f2f8c645d..67a412d7b8f8bd4b2766576aaaceaa236382f7af 100755
GIT binary patch
delta 35653
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
P`(*R3t{cHV{yzT)@I-Jn
diff --git a/README.html b/README.html
index 43cd122a2..b8bbc8034 100644
--- a/README.html
+++ b/README.html
@@ -271,10 +271,10 @@ a runtime; this is because it needs to use the MySQL header files. If you are
running an RPM based distribution then it’s probably worth installing all the
pure mysql rpm files to be sure you have the right ones.
-Next it does things with JPEGs so you'll need at least
-libjpeg.a which I think come as standard nowadays with most distributions. It
-also uses the netpbm utilities in a very limited way to generate thumbnails
-under certain circumstances though this can be modified.
+Next it does things with JPEGs so you'll need at least libjpeg.a
+which I think come as standard nowadays with most distributions. It also uses
+the netpbm utilities in a very limited way to generate thumbnails under certain
+circumstances though this can be modified.
ZoneMinder can generate MPEG videos if necessary, for
this you'll need either ffmpeg (recommended) or the Berkeley MPEG encoder (mpeg_encode).
@@ -386,11 +386,11 @@ desired database name in it so use it to create the database (see below). Once
the database and permissions are set up rerun zmconfig.pl with the –noi option
to get it to load the configuration into your new database.
-If you are upgrading from a previous version you can use
-zmalter-x.y.z.sql to upgrade your database and make the necessary changes where
-x.y.z identifies the version of ZoneMinder you had installed previously. So if
-you are going from version 0.9.7 to version 0.9.11 you would run the scripts
-for all intervening versions to get to the current one, i.e. zmalter-0.9.7.sql,
+
If you are upgrading from a previous version you can use zmalter-x.y.z.sql
+to upgrade your database and make the necessary changes where x.y.z identifies
+the version of ZoneMinder you had installed previously. So if you are going
+from version 0.9.7 to version 0.9.11 you would run the scripts for all
+intervening versions to get to the current one, i.e. zmalter-0.9.7.sql,
zmalter-0.9.8.sql, zmalter-0.9.9.sql and zmalter0.9.10.sql. Additionally from
version 1.19.5 you can use the zmupdate.pl script to do all the updating for
you, this will include all the database changes plus any other tweaks necessary
@@ -602,8 +602,8 @@ doing
or similar command for your distribution. ZoneMinder will
then start up when your machine reboots and can be controlled (by the root
user) by doing 'service zm start' or 'service zm stop' etc. You
-may need to use the ‘—levels’ parameter to
-chkconfig to ensure that ZoneMinder is started when you need it to.
+may need to use the ‘—levels’ parameter to chkconfig
+to ensure that ZoneMinder is started when you need it to.
Now start your web browser and point it at your zm.php
and off you go.
@@ -894,9 +894,9 @@ that allows you to turn this limiting off in the event of an alarm.
FPS Report Interval - How often the current
performance in terms of Frames Per Second is output to the system log. Not used
-in any functional way so set it to maybe 1000 for now. If you watch
-/var/log/messages (normally) you will see this value being emitted at the
-frequency you specify both for video capture and processing.
+in any functional way so set it to maybe 1000 for now. If you watch /var/log/messages
+(normally) you will see this value being emitted at the frequency you specify
+both for video capture and processing.
Reference Image Blend %ge - Each analysed image
in ZoneMinder is a composite of previous images and is formed by applying the
@@ -1481,11 +1481,11 @@ before modifying options and expecting them to make any difference.
If you have changed the value of an option you should
then ‘save’ it. A number of the option groups will then prompt you to let you
know that the option(s) you have changed will require a system restart. This is
-not done automatically in case you will be changing many values in the same
-session, however once you have made all of your changes you should restart
-ZoneMinder as soon as possible. The reason for this is that web and some
-scripts will pick up the new changes immediately but some of the daemons will
-still be using the old values and this can lead to data inconsistency or loss.
+not done automatically in case you will be changing many values in the same session,
+however once you have made all of your changes you should restart ZoneMinder as
+soon as possible. The reason for this is that web and some scripts will pick up
+the new changes immediately but some of the daemons will still be using the old
+values and this can lead to data inconsistency or loss.
One of the options you may notice in the ‘System’ tab
allows you to specify the default language for your installation of ZoneMinder.
@@ -1599,8 +1599,8 @@ that your phone or device is recognised and if it can support XHTML-MP it will
receive that interface. If your phone is very new, or you are using an old
version of the XML file you might find that it is not present however. The
WURFL library uses a caching strategy to avoid reloading the whole XML file
-each time so check if a sensible looking cache file has been created in the
-‘wurfl’ sub-directory also check the wurfl.log in the same place.
+each time so check if a sensible looking cache file has been created in the ‘wurfl’
+sub-directory also check the wurfl.log in the same place.
The WURFL is a third party application and as such I am
unable to offer support directly for it. If you feel your device is missing or
@@ -1636,12 +1636,12 @@ you some kind of tip off.
style='font-family:"Courier New"'>o
Device configuration. If you can't get your cameras to work in
ZoneMinder, firstly make sure that you have the correct settings. Use xawtv or
-something like that to check for settings that work and then run zmu -d
-<device_no> -q -v to get the settings. If you can't get them to work with
-that then the likelihood is they won't work with ZoneMinder. Also check the
-system logs (usually /var/log/messages) for any video configuration errors. If
-you get some and you're sure they're not a problem then switch off
-ZM_STRICT_VIDEO_CONFIG in zmconfig.pl or the ‘options’ tab.
+something like that to check for settings that work and then run zmu -d <device_no>
+-q -v to get the settings. If you can't get them to work with that then the
+likelihood is they won't work with ZoneMinder. Also check the system logs
+(usually /var/log/messages) for any video configuration errors. If you get some
+and you're sure they're not a problem then switch off ZM_STRICT_VIDEO_CONFIG in
+zmconfig.pl or the ‘options’ tab.
o
@@ -1717,18 +1717,17 @@ style='font-family:"Courier New"'>o&n
Use debug. ZoneMinder has various debug in it that by default
will go into your system log (via syslog). These will be of the form of
-"Sep 14 14:50:11
-localhost zma-0[1975]: INF [Front: 221000 - Processing at 4.26 fps ]"
+"Sep 14 14:50:11 localhost
+zma-0[1975]: INF [Front: 221000 - Processing at 4.26 fps ]"
where the zma-0 part
identifies the daemon and the device it is running on. Entries with INF in are
informational and not an error, if you see ERR then it is one, though not all
-are fatal. You can prevent this information from being emitted by setting the
-ZM_DBG_LEVEL_zmc environment variable to -1 or less once things are working. If
-you want to run any of the daemons from the command line to test, setting
-ZM_DBG_PRINT to 1 will output the debug on the console. You can also use the
-USR1 and USR2 signals to increase or decrease the amount of debug being
-emitted.
+are fatal. You can prevent this information from being emitted by setting the ZM_DBG_LEVEL_zmc
+environment variable to -1 or less once things are working. If you want to run
+any of the daemons from the command line to test, setting ZM_DBG_PRINT to 1
+will output the debug on the console. You can also use the USR1 and USR2
+signals to increase or decrease the amount of debug being emitted.
o
@@ -1829,7 +1828,7 @@ Log
style='font:7.0pt "Times New Roman"'> Release
1.20.0
-
Improved and added features, minor bugfixes.
+Improved and added features, several minor bugfixes.
o
@@ -1857,9 +1856,9 @@ added to support this.
o
-FEATURE – The web files have been changed to use the newer style
-autoglobals, e.g. $_SERVER rather than $HTTP_SERVER_VARS. This should enable
-use on PHP5 without any modification.
+FEATURE – The web files have been changed to use the newer style autoglobals,
+e.g. $_SERVER rather than $HTTP_SERVER_VARS. This should enable use on PHP5
+without any modification.
o
@@ -1871,9 +1870,9 @@ that using zmconfig.pl when rebuilding ZM.
o
-FIX – The zmupdate.pl script previously held a database
-connection open for days at a time but only used to use it periodically. This
-has now been changed to be only open while in use.
+FIX – The zmupdate.pl script previously held a database connection
+open for days at a time but only used to use it periodically. This has now been
+changed to be only open while in use.
o
@@ -1915,6 +1914,11 @@ statuses and the status web window. This meant that sometimes the window did
not pop to the front, or play the alarm sound, properly. This has been
corrected.
+o
+FIX – A bug in event streaming when events are of very short
+duration has been fixed. Thanks to forum user ‘reza’ for spotting this one.
+
8.2. Release
1.19.5
@@ -2014,13 +2018,14 @@ want to view and then click the
through only those events in the normal manner (via Prev and Next links) but
also to view them in sequence by clicking on the ‘Play All’ link. This will
replay each event and then automatically move onto the next one. You can stop
-this progression at any time by pressing ‘Stop’ (which only stops the sequence and
-not the currently playing event). The timing of the replay is done depending on
-the calculated length of the event (plus one second) and so may not exactly
-correspond to the real event length. In particular this is unlikely to work if
-replaying events using MPEG video and buffering players as the timing will
-likely be incorrect. If you are viewing an event but haven’t checked any in the
-list the ‘Play All’ button will just work down the current event list.
+this progression at any time by pressing ‘Stop’ (which only stops the sequence
+and not the currently playing event). The timing of the replay is done
+depending on the calculated length of the event (plus one second) and so may
+not exactly correspond to the real event length. In particular this is unlikely
+to work if replaying events using MPEG video and buffering players as the
+timing will likely be incorrect. If you are viewing an event but haven’t
+checked any in the list the ‘Play All’ button will just work down the current
+event list.
o
@@ -2039,8 +2044,7 @@ progress single isolated alarmed frames will still prolong it and the count
only applies to the initial frames that would cause the event.
8.3. Release
-1.19.4
+style='font:7.0pt "Times New Roman"'> Release 1.19.4
Language fixes and updates.
@@ -2076,10 +2080,10 @@ chance of errors caused by multiple simultaneous image generation.
"Courier New"'>o
FEATURE – The generated MIME types when creating streamed video
were previously assigned by zms depending on which of a limited number of
-output formats was specified. This has now been changed so that the ffmpeg
-libavformat library itself now generates these identifiers. The consequence of
-this is that many more video formats supported by your version of ffmpeg should
-now be available via zms.
+output formats was specified. This has now been changed so that the ffmpeg libavformat
+library itself now generates these identifiers. The consequence of this is that
+many more video formats supported by your version of ffmpeg should now be
+available via zms.
o
@@ -2089,9 +2093,9 @@ RECORD_EVENT_STATS option switched on. This can be used to help configure your
zones for optimal motion detection. Previously only pixel count values were
displayed here which made it difficult to configure zones configured in
percentage terms. These values are now displayed in both pixel and percentage
-terms to assist in zone configuration. Note that the percentage values are based
-on the current size of the zone so if this is changed then the value displayed
-will not be applicable at the time of event generation.
+terms to assist in zone configuration. Note that the percentage values are
+based on the current size of the zone so if this is changed then the value
+displayed will not be applicable at the time of event generation.
o
@@ -2103,15 +2107,15 @@ has not been corrected.
"Courier New"'>o
FIX – A problem was reported whereby when using bulk frame
records to reduce database load the last frame record was not written.
-Replaying the event via the web interface resulting in the event being truncated.
-A correction has been made so prevent this and ensure that the last frame of an
-event is always recorded.
+Replaying the event via the web interface resulting in the event being
+truncated. A correction has been made so prevent this and ensure that the last
+frame of an event is always recorded.
o
FIX – If an analysis daemon terminates abnormally or the host
-computer crashes then events can be left in a state whereby they effectively have
-zero length and are useless. A change to zmaudit.pl was made such that any
+computer crashes then events can be left in a state whereby they effectively
+have zero length and are useless. A change to zmaudit.pl was made such that any
‘open’ events such as this which have not been updated for at least five
minutes are closed and updated to reflect their actual content so that they may
be viewed or saved. Events recovered in this way are named with a ‘(r)’ mark to
@@ -2214,17 +2218,16 @@ filter is saved. Note that for security reasons this cannot be just any
arbitrary command but must be readable and executable by your web server
effective user. The script or program you specify here will be executed in the
events root directory once for each event and will be passed one parameter
-containing the relative path to the event directory. This will normally be of
-the form <MonitorName>/<EventId> so it it possible to
-determine both the monitor and event in question from the path. Note also that
-a flag is set per event as with other auto actions indicating that an
-executable script has been run on that event and so to exclude it from
-subsequent matches. However if you have several filters all with executable
-scripts you will find that only the first gets executed as the flag will be set
-following successful completion and so no further scripts will be run on that
-event. Successful completion is indicated by the script returning a zero exit
-status, any other status indicates an error and the executed flag will not
-be set.
+containing the relative path to the event directory. This will normally be of the
+form <MonitorName>/<EventId> so it it possible to determine
+both the monitor and event in question from the path. Note also that a flag is
+set per event as with other auto actions indicating that an executable script
+has been run on that event and so to exclude it from subsequent matches.
+However if you have several filters all with executable scripts you will find
+that only the first gets executed as the flag will be set following successful
+completion and so no further scripts will be run on that event. Successful
+completion is indicated by the script returning a zero exit status, any other
+status indicates an error and the executed flag will not be set.
o
@@ -2269,8 +2272,7 @@ maximum size of the destination. Mark has also askedme to include the following
notice relating to this, which I am very happy to do.
"This issue was discovered by
-Mark J Cox <mark@awe.com>. The
-Common
+Mark J Cox <mark@awe.com>. The Common
Vulnerabilities and Exposures project (cve.mitre.org) has assigned the
name CAN-2004-0227 to this issue."
@@ -2349,8 +2351,7 @@ pass in a username and password to zmu when just querying a device as this was
slightly broken and was unnecessary anyway.
8.7. Release
-1.19.0
+style='font:7.0pt "Times New Roman"'> Release 1.19.0
Some major enhancements and bugfixes.
@@ -2363,10 +2364,10 @@ style as before. Note however that is still somewhat experimental and may not
work on your system. The reason for this is due to the variation in plugins and
video movie formats. Currently I have got it working well with browsers on
Windows platforms using the Windows Media Player plugin and the 'asf' video
-format. I have also managed to get event streaming working on Mozilla using
-mplayer (I think) though it jumps in and out of it's place in the window a bit.
-I would appreciate any feedback or advice on formats and plugins that work on
-your system. Also note that video streaming tends to get buffered before being
+format. I have also managed to get event streaming working on Mozilla using mplayer
+(I think) though it jumps in and out of it's place in the window a bit. I would
+appreciate any feedback or advice on formats and plugins that work on your
+system. Also note that video streaming tends to get buffered before being
displayed. This can result in the 'live' view being several seconds delayed.
o
@@ -2532,8 +2533,7 @@ actions for any that remain.
style='font:7.0pt "Times New Roman"'> Release
1.18.0
-Major optimisations, important new features and some
-bugfixes.
+Major optimisations, important new features and some bugfixes.
o
@@ -2559,10 +2559,10 @@ times faster than the old one which is retained for compatibility and because
in some unusual circumstances it may still be more accurate (see the
ZM_FAST_IMAGE_BLENDS option for details). Altogether these optimisations (along
with other common sense ones such as not maintaining a reference image in
-‘Record’ mode where it is not used) significantly reduce the CPU load for most systems,
-especially when alarms are not in progress. If an alarm is detected then a lot
-of file system and database activity takes place which is limited by the speed
-of these resources so the gain will not be as much.
+‘Record’ mode where it is not used) significantly reduce the CPU load for most
+systems, especially when alarms are not in progress. If an alarm is detected
+then a lot of file system and database activity takes place which is limited by
+the speed of these resources so the gain will not be as much.
o
@@ -2604,8 +2604,8 @@ matches
o
Additional Scales. Enhancements to the scaling algorithm mean
-that non binary scales are now just as easy to apply, thus new scales such as
-0.75x have been added. Others can be easily included if necessary.
+that non binary scales are now just as easy to apply, thus new scales such as 0.75x
+have been added. Others can be easily included if necessary.
o
@@ -2658,13 +2658,13 @@ streamed view.
o
-Double Buffered Stills View. The stills view has now been restructured
-to allow a double buffering approach. Thus a new image is loaded in the
-background and only written to screen when complete. This removes the refresh
-flicker that means that the screen blanks periodically however uses more
-JavaScript so may not be suitable for all platforms. Whether ZoneMinder uses
-double buffering or not is controlled by the ZM_WEB_DOUBLE_BUFFER configuration
-option.
+Double Buffered Stills View. The stills view has now been
+restructured to allow a double buffering approach. Thus a new image is loaded
+in the background and only written to screen when complete. This removes the
+refresh flicker that means that the screen blanks periodically however uses
+more JavaScript so may not be suitable for all platforms. Whether ZoneMinder
+uses double buffering or not is controlled by the ZM_WEB_DOUBLE_BUFFER
+configuration option.
o
@@ -2857,11 +2857,11 @@ style='font:7.0pt "Times New Roman"'> Release
o
Run States. Instead of the old ‘start/stop’ links the current
-system state is now a link which takes you to a dialog which allows you to
-start, restart or stop the system. You can also save the current run state
-which basically takes a snapshot of the current monitor functions and saves
-that. You can then reselect that state later which basically involves resetting
-the monitors to have these saved functions and then doing a system restart.
+system state is now a link which takes you to a dialog which allows you to start,
+restart or stop the system. You can also save the current run state which
+basically takes a snapshot of the current monitor functions and saves that. You
+can then reselect that state later which basically involves resetting the
+monitors to have these saved functions and then doing a system restart.
o
@@ -2885,10 +2885,10 @@ This has changed to allow for other types of triggers to be added more easily.
o
-Paginated Event listings. The event listings are paginated by default.
-You can list all of the events if you like by choosing the appropriate option.
-There are shortcuts to pages of events at the top of the listing. If these
-produce strange looking sequences like 1,2, 3, 5, 9, 17, 37 etc this is
+
Paginated Event listings. The event listings are paginated by
+default. You can list all of the events if you like by choosing the appropriate
+option. There are shortcuts to pages of events at the top of the listing. If
+these produce strange looking sequences like 1,2, 3, 5, 9, 17, 37 etc this is
deliberate and uses an exponential algorithm intended to allow you to quickly
navigate through the list to a particular page in the minimum number of clicks.
@@ -2930,9 +2930,9 @@ processes.
o
-Intelligent Module inclusion. zmfilter.pl now includes
-Archive::Zip and other modules on an as needed basis so won't complain about
-them being missing unless they have been explicitly configured to be used.
+Intelligent Module inclusion. zmfilter.pl now includes Archive::Zip
+and other modules on an as needed basis so won't complain about them being
+missing unless they have been explicitly configured to be used.
o
@@ -3023,8 +3023,8 @@ easier navigation.
o
Archive images optional. Normally when an alarm is detected a set
-of raw images is saved along with a mirror set of images containing motion
-highlighting. This second set can now optionally be disabled.
+of raw images is saved along with a mirror set of images containing motion highlighting.
+This second set can now optionally be disabled.
o
@@ -3061,11 +3061,11 @@ fixed.
o
-Again in .14 a problem occurred for a new release whereby
-zmconfig wanted to know the database details and but also previously wanted to
-access the database before it had asked the questions. This has now been
-addressed though it does require that zmconfig is run twice initially, once to
-created the scripts and once to import the configuration into the database.
+Again in .14 a problem occurred for a new release whereby zmconfig
+wanted to know the database details and but also previously wanted to access
+the database before it had asked the questions. This has now been addressed
+though it does require that zmconfig is run twice initially, once to created
+the scripts and once to import the configuration into the database.
o
@@ -3194,9 +3194,9 @@ appeared to be causing, some errors.
o
-Fixed zone image map bug for percentage zones. When you had defined
-a zone in percentage terms, the image map used to select it for editing was
-broken. This is now fixed.
+Fixed zone image map bug for percentage zones. When you had
+defined a zone in percentage terms, the image map used to select it for editing
+was broken. This is now fixed.
o
@@ -3252,8 +3252,8 @@ style='font-family:"Courier New"'>o&n
Made zmdc connect more intelligent. On the suggestion of a couple
of people I have made the zmdc.pl server spawning and waiting a bit more
intelligent. Rather than waiting a fixed (short) amount of time, it now polls
-every second for a while, stopping if the connection is made. Thanks to Todd
-McAnally for the initial suggestion.
+every second for a while, stopping if the connection is made. Thanks to Todd McAnally
+for the initial suggestion.
o
@@ -3329,10 +3329,10 @@ This has now been corrected so you should see the correct styles.
o
Zmconfig.pl ReadKey. Thanks to a ridiculously sensible suggestion
-from Carlton Thomas this module has been removed from zmconfig.pl. Originally
-Term::ReadKey was in there for funky single character unbuffered input but that
-has long since disappeared so just regular perl input methods are used now. This
-removes one of the most irritating features about ZoneMinder installs.
+from Carlton Thomas this module has been removed from zmconfig.pl. Originally Term::ReadKey
+was in there for funky single character unbuffered input but that has long
+since disappeared so just regular perl input methods are used now. This removes
+one of the most irritating features about ZoneMinder installs.
o
@@ -3394,9 +3394,9 @@ notification emails. Use %EV% especially with care!
o
-Fixed possible motion detection bug – I found a few double
-declared local variables left over from the rewrite. This may have affected the
-motion detection algorithm. Fixed now anyway.
+Fixed possible motion detection bug – I found a few double declared
+local variables left over from the rewrite. This may have affected the motion
+detection algorithm. Fixed now anyway.
o
@@ -3427,8 +3427,8 @@ can now also specify additional ffmpeg options via zmconfig.pl.
o
-Colourise greyscale image files – In past versions, captured greyscale
-images were stored as JPEG files with a corresponding greyscale colourspace.
+Colourise greyscale image files – In past versions, captured
+greyscale images were stored as JPEG files with a corresponding greyscale colourspace.
This saved a small amount of space but meant that mpeg_encode had to do a
conversion to encode them, and ffmpeg just fell in a heap. Now you can
optionally opt to have greyscale images saved as full 24 bit colourspace images
@@ -3514,10 +3514,10 @@ compatibility with previous releases.
o
-zmu suspend alarm option - Added new -n option to zmu to effectively
-suspend alarm detection for a monitor. This is intended for short term use and
-to support PTZ cameras where alarm detection is desired to be suspended while
-the camera changes orientation or zoom level.
+zmu suspend alarm option - Added new -n option to zmu to
+effectively suspend alarm detection for a monitor. This is intended for short
+term use and to support PTZ cameras where alarm detection is desired to be
+suspended while the camera changes orientation or zoom level.
o
@@ -3577,9 +3577,8 @@ run when a monitor is active and so actually potentially generating alarms.
o
-zmdc short statuses – Removed the logging of the short status
-values that zmdc.pl returns to it’s clients which had been clogging up the log
-file.
+zmdc short statuses – Removed the logging of the short status values
+that zmdc.pl returns to it’s clients which had been clogging up the log file.
o
@@ -3630,14 +3629,13 @@ included a Width comment which should have been height.
style='font-family:"Courier New"'>o
Changed colour depth to bits - Having colour depths expressed in
bytes has caused no end of problems. This is now changed to be bits and can be
-changed via a dropdown to limit what can be entered. Don't forget to run the
-zmalter script to update your DB.
+changed via a dropdown to limit what can be entered. Don't forget to run the zmalter
+script to update your DB.
o
-Renamed terminate to zm_terminate - The use of 'terminate' in
-zmc.cpp caused a conflict on some systems so renamed it to something more
-specific.
+Renamed terminate to zm_terminate - The use of 'terminate' in zmc.cpp
+caused a conflict on some systems so renamed it to something more specific.
o
@@ -3716,16 +3714,16 @@ up correctly in zmcfg.h.
o
Zmwatch now works on image delay and not fps - Previously the
-zmwatch daemon detected capture daemon failure by trying to use the FPS
-setting. This was imprecise and prone to false readings. It now uses the time
-delay since the last captured image.
+zmwatch daemon detected capture daemon failure by trying to use the FPS setting.
+This was imprecise and prone to false readings. It now uses the time delay
+since the last captured image.
o
-Added zmpkg.pl and zm scripts - There are now two new scripts.
-zmpkg.pl is in charge of starting and stopping ZoneMinder as a whole package
-and zm is designed to be (optionally) installed into your init.d directory to
-use ZoneMinder as a service.
+Added zmpkg.pl and zm scripts - There are now two new scripts. zmpkg.pl
+is in charge of starting and stopping ZoneMinder as a whole package and zm is
+designed to be (optionally) installed into your init.d directory to use
+ZoneMinder as a service.
o
@@ -3747,9 +3745,9 @@ zmconfig_eml.txt and zmconfig_msg.txt.
o
-Made zmdc more aggresive in killing old processes - The zmdc.pl
-daeamon will now kill any ZoneMinder processes it finds on startup or shutdown
-to prevent orphans from being left around.
+Made zmdc more aggresive in killing old processes - The zmdc.pl daeamon
+will now kill any ZoneMinder processes it finds on startup or shutdown to
+prevent orphans from being left around.
o
@@ -3771,9 +3769,9 @@ prior to sending and after receiving.
o
-Forced alarms - You can now force alarms when looking at the monitor
-window should anything catch your attention. You have to remember to switch
-them off as well though.
+Forced alarms - You can now force alarms when looking at the
+monitor window should anything catch your attention. You have to remember to
+switch them off as well though.
o
diff --git a/README.pdf b/README.pdf
index c7d1060ff9dbf57a67b3e30337028be0d2382aa5..5f2c159eccce2f886ff0533b1e21cf0828abde63 100644
GIT binary patch
delta 156865
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