Error reporting in -nogui

A lot of warnings were being issued and trying to use the default window
which caused a null pointer when running -nogui. This is fixed by a) not
trying to access frames which are null and b) changing the PAMWarning
system to write messages to terminal rather than open a dialog.
This commit is contained in:
Douglas Gillespie 2022-10-21 11:09:35 +01:00
parent 0029fbb1c1
commit abc33adbfd
30 changed files with 273 additions and 231 deletions

View File

@ -325,7 +325,8 @@ href="http://www.gnu.org/licenses/gpl-3.0-standalone.html">http://www.gnu.org/li
<p class=MsoNormal>The latest version of PAMGuard has been tested on 64 bit <p class=MsoNormal>The latest version of PAMGuard has been tested on 64 bit
Windows 10. We expect it to work without problems on 64 bit versions of Windows Windows 10. We expect it to work without problems on 64 bit versions of Windows
8 and probably 7.</p> 8 and probably 7. Some testing has been undertaken on Windows 11 and nothing
unexpected has been noted. </p>
<p class=MsoNormal>On Windows, download and run the Windows installer.</p> <p class=MsoNormal>On Windows, download and run the Windows installer.</p>
@ -364,11 +365,11 @@ you should be able to launch PAMGUARD via an appropriate command line which
should be something like:</p> should be something like:</p>
<p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>java <p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>java
-Xms384m -Xmx1024m -Djava.library.path=lib64 -jar PamguardBeta_xxxxxx.jar</span></em></p> -Xms384m -Xmx4096m -Djava.library.path=lib64 -jar Pamguard_xxxxxx.jar</span></em></p>
<p class=MsoNormal>The -Xms384m -Xmx1024m specify the initial and maximum heap <p class=MsoNormal>The -Xms384m -Xmx4096m specify the initial and maximum heap
size for the JVM being used to run Pamguard i.e. how much memory it gets to size for the JVM being used to run Pamguard i.e. how much memory it gets to use.
use. The default max size usually being too low.</p> The default max size usually being too low.</p>
<p class=MsoNormal>The -Djava.library.path=lib64 tells the JVM that it should <p class=MsoNormal>The -Djava.library.path=lib64 tells the JVM that it should
look in the folder called &quot;lib64&quot; for the required shared libraries look in the folder called &quot;lib64&quot; for the required shared libraries
@ -381,13 +382,16 @@ just run the appropriately named executable (e.g. PamguardBeta_MixedMode.exe or
PamguardBeta_ViewerMode.exe):</p> PamguardBeta_ViewerMode.exe):</p>
<p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>java <p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>java
-Xms384m -Xmx1024m -Djava.library.path=lib64 -jar PamguardBeta_xxxxxx.jar -v</span></em></p> -Xms384m -Xmx4096m -Djava.library.path=lib64 -jar PamguardBeta_xxxxxx.jar -v</span></em></p>
<p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>&nbsp;</span></em></p> <p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>&nbsp;</span></em></p>
<h1><a name="_LATEST_VERSION_2.02.03"></a><em><span style='font-size:12.0pt; <h1><a name="_LATEST_VERSION_2.02.03"></a><em><span style='font-size:12.0pt;
font-family:"Cambria",serif;font-style:normal'><a font-family:"Cambria",serif;font-style:normal'><a
href="#_Latest_Version_2.02.03_1">LATEST VERSION 2.02.03 February 2022</a></span></em></h1> href="#_Latest_Version_2.02.05">LATEST VERSION 2.02.05 October 2022</a></span></em></h1>
<h1><em><span style='font-size:12.0pt;font-family:"Cambria",serif;font-style:
normal'><a href="#_Latest_Version_2.02.03_2">Version 2.02.03 February 2022</a></span></em></h1>
<h1><em><span style='font-size:12.0pt;font-family:"Cambria",serif;font-style: <h1><em><span style='font-size:12.0pt;font-family:"Cambria",serif;font-style:
normal'><a href="#_Latest_Version_2.02.02">Version 2.02.02 October 2021</a></span></em></h1> normal'><a href="#_Latest_Version_2.02.02">Version 2.02.02 October 2021</a></span></em></h1>
@ -437,64 +441,78 @@ Version 2.00.11 October 2017</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Beta_Version_2.00.10">Beta <h1><span style='font-size:12.0pt'><a href="#_Latest_Beta_Version_2.00.10">Beta
Version 2.00.10 June 2017</a></span></h1> Version 2.00.10 June 2017</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#Latest_Version_1.15.11">Version <h1><span style='font-size:12.0pt'><a href="#_Older_Versions">Older Versions</a></span></h1>
1.15.11 MAY 2017</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Version_1.15.10">Version 1.15.10 <h1><a name="_Latest_Version_2.02.03_1"></a><a name="_Latest_Version_2.02.05"></a><span
March 2017</a></span></h1> lang=EN-US>Latest Version 2.02.05 October 2022</span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Version_1.15.09_January">Version <h2><span lang=EN-US>Click Train Detector Features and Bug Fixes</span></h2>
1.15.09 January 2017</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.08">Version <p class=MsoNormal><b><span lang=EN-US>Features</span></b></p>
1.15.08 November 2016</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.07">Version <p class=MsoNormal><span lang=EN-US>Changes to GUI to make dialog shorter for
1.15.07 November 2016</a></span></h1> low DPI screens. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.06">Version <p class=MsoNormal><span lang=EN-US>Complete rewrite of the classification
1.15.06 November 2016</a></span></h1> system to have nested classifiers which can be enabled or disabled. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450394">Version 1.15.05 <p class=MsoNormal><span lang=EN-US>Changes to classification GUI to
September 2016</a></span></h1> accommodate the new classification system.</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.04">Version <p class=MsoNormal><span lang=EN-US>Addition of data selectors to the minimum
1.15.04 July 2016</a></span></h1> number of clicks accepted by the classifier. This allows the click-by-click
classifier and the click train detector to be used to together to improve
classification accuracy. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.03">Version <p class=MsoNormal><b><span lang=EN-US>Bug fixes</span></b></p>
1.15.03 April 2016</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.02">Version <p class=MsoNormal><span lang=EN-US>Click detection bug fix in kernel which
1.15.02 March 2016</a></span></h1> improved click fragmentation. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450394"><span lang=EN-US>Version <p class=MsoNormal><span lang=EN-US>Bug fix to database were JSON data from
1.15.00 February 2016</span></a></span></h1> classifier was being trimmed. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450395">Version 1.14.00 <p class=MsoNormal><b><span lang=EN-US>Documentation</span></b></p>
Beta, September 2015</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450396">Version 1.13.05 <p class=MsoNormal><span lang=EN-US>Comprehensive help file including
Beta, July 2015</a></span></h1> description of the algorithm, screen grabs and examples.</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450397">Version 1.13.04 <p class=MsoNormal><span lang=EN-US>Bug fixes</span></p>
Beta, June 2015</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450398">Version 1.13.03 <h2><span lang=EN-US>Other Features</span></h2>
Beta, March 2015</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450399">Version 1.13.02 <p class=MsoNormal><span lang=EN-US>Help documentation for Backup Manager</span></p>
Beta, January 2015</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450400">Version 1.13.01 <p class=MsoNormal><span lang=EN-US>Help documentation for Matched Click
Beta, January 2015</a></span></h1> Classifier</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450401">Version 1.13.00 <p class=MsoNormal><span lang=EN-US>Database logging of offline tasks (such as
Beta December 2014</a></span></h1> click re-classification, bearing calculation, etc.)</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450402">Older Versions</a></span></h1> <p class=MsoNormal><span lang=EN-US>Data selector for Whistle Classifier module</span></p>
<h1><a name="_Latest_Version_2.02.03_1"></a><span lang=EN-US>Latest Version <p class=MsoNormal><span lang=EN-US>Variable sound output level when using
2.02.03 February 2022</span></h1> National Instruments devices for sound playback.</span></p>
<p class=MsoNormal><span lang=EN-US>Speed improvement when processing flac
audio files. </span></p>
<h2><span lang=EN-US>Bug Fixes</span></h2>
<p class=MsoNormal><span lang=EN-US>Soundtrap DWV import. Will now generate binary
files even if DWV file doesnt exist (which is correct behavior in quiet
conditions when no clicks were detected). </span></p>
<p class=MsoNormal><span lang=EN-US>Spectrogram. Changes to stop occasional
crashing when restarting processing of wav files. </span></p>
<p class=MsoNormal><span lang=EN-US>Sizing of dialogs on ultra high definition
monitors so that data fields are sized correctly. </span></p>
<p class=MsoNormal><span lang=EN-US>Fixed a memory leak in ROCCA</span></p>
<h1><a name="_Latest_Version_2.02.03_2"></a><span lang=EN-US>Version 2.02.03
February 2022</span></h1>
<p class=MsoNormal>Some minor bug fixes following our migration to GitHub. Note <p class=MsoNormal>Some minor bug fixes following our migration to GitHub. Note
that the older Bug numbers only refer to bugs reported on the SVN site. New that the older Bug numbers only refer to bugs reported on the SVN site. New
@ -640,8 +658,9 @@ lang=EN-US> </span>Improvements to datamap display, to ensure even small images
will be shown </p> will be shown </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>4. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>4. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
Allow Clip Generator to create both a binary record and a wav file </p> lang=EN-US> </span>Allow Clip Generator to create both a binary record and a
wav file </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -732,10 +751,10 @@ Version 2.00.10</a> before proceeding with installation and use of this
version.</b></p> version.</b></p>
<p class=MsoNormal>This version of PAMGuard has been bundled with Java 13 <p class=MsoNormal>This version of PAMGuard has been bundled with Java 13
(release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx) (release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx) should
should be compatible with this version, and vice-versa. PSF files generated in be compatible with this version, and vice-versa. PSF files generated in core
core releases (1.15.xx) can be loaded in this version, but will be converted to releases (1.15.xx) can be loaded in this version, but will be converted to PSFX
PSFX files when PAMGuard exits.</p> files when PAMGuard exits.</p>
<p class=MsoNormal><b><span lang=EN-US>Bug Fixes</span></b></p> <p class=MsoNormal><b><span lang=EN-US>Bug Fixes</span></b></p>
@ -833,8 +852,9 @@ August 2020</span></h1>
<p class=MsoNormal><b>If you are upgrading from a PAMGuard core release <p class=MsoNormal><b>If you are upgrading from a PAMGuard core release
(1.15.xx), PAMGuard Version 2 contains major updates. You should read and (1.15.xx), PAMGuard Version 2 contains major updates. You should read and
understand the notes listed for <a href="#_Latest_Beta_Version_2.00.10">Beta Version understand the notes listed for <a href="#_Latest_Beta_Version_2.00.10">Beta
2.00.10</a> before proceeding with installation and use of this version.</b></p> Version 2.00.10</a> before proceeding with installation and use of this
version.</b></p>
<p class=MsoNormal>This version of PAMGuard has been bundled with Java 13 <p class=MsoNormal>This version of PAMGuard has been bundled with Java 13
(release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx) (release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx)
@ -985,8 +1005,9 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
Added global hotkeys to Logger module. </p> Added global hotkeys to Logger module. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>10. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>10. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
Added channel display to noise one band measurement display. </p> lang=EN-US> </span>Added channel display to noise one band measurement display.
</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>11. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>11. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1098,17 +1119,18 @@ Bug 447. Viewer mode throws exception when trying to load beamformer
localisations</p> localisations</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>16. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>16. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
Bug 448. Detection Group Localiser data units not being loaded in Viewer mode.</p> lang=EN-US> </span>Bug 448. Detection Group Localiser data units not being
loaded in Viewer mode.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>17. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>17. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Bug 449. Rocca Encounter Stats output file calculating incorrect values.</p> Bug 449. Rocca Encounter Stats output file calculating incorrect values.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>18. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>18. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
Bug 450. Ishmael Detectors subscribing to FFTDataBlock twice, meaning they lang=EN-US> </span>Bug 450. Ishmael Detectors subscribing to FFTDataBlock
process each data unit 2x doubling the output.</p> twice, meaning they process each data unit 2x doubling the output.</p>
<p class=MsoNormal><b><span lang=EN-US>Upgrades</span></b></p> <p class=MsoNormal><b><span lang=EN-US>Upgrades</span></b></p>
@ -1213,9 +1235,9 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
Bug 430. Rocca calculates inflection point parameters incorrectly</p> Bug 430. Rocca calculates inflection point parameters incorrectly</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
Bug 431. Error when trying to mark section of spectrogram to send to Bearing lang=EN-US> </span>Bug 431. Error when trying to mark section of spectrogram to
Calculator module</p> send to Bearing Calculator module</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1326,8 +1348,8 @@ Click Train Detector upgrades, including ability to import time chunks from csv
file for batch processing.</p> file for batch processing.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>3. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>3. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
Better display of microseconds in dialogs.</p> lang=EN-US> </span>Better display of microseconds in dialogs.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>4. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>4. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1431,9 +1453,9 @@ lang=EN-US> </span>Matched template classifier extended to handle multiple
templates.</p> templates.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
New methods for handling and logging time offsets from the PC clock based lang=EN-US> </span>New methods for handling and logging time offsets from the
either on GPS NMEA data or on pings of an NTP time server.</p> PC clock based either on GPS NMEA data or on pings of an NTP time server.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1489,8 +1511,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
<p class=MsoNormal><b><span lang=EN-US>Upgrades</span></b></p> <p class=MsoNormal><b><span lang=EN-US>Upgrades</span></b></p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>1. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>1. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
Added decimal degrees option to latitude/longitude dialog.</p> lang=EN-US> </span>Added decimal degrees option to latitude/longitude dialog.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1680,8 +1702,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>10. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>10. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bug 376. Error when using a serialised data map which spans a period of </span>Bug 376. Error when using a serialised data map which spans a period of time
time in which Pamguard modules have changed.</p> in which Pamguard modules have changed.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>11. </span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>11. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -1799,8 +1821,8 @@ and encouraged to manually fix the database.</p>
<!-- ************************************************************************************************************************** --> <!-- ************************************************************************************************************************** -->
<h1><a name="_Latest_Beta_Version_2.00.12"></a><span lang=EN-US>Beta Version 2.00.12 <h1><a name="_Latest_Beta_Version_2.00.12"></a><span lang=EN-US>Beta Version
January 2018</span></h1> 2.00.12 January 2018</span></h1>
<p class=MsoNormal><span lang=EN-US>PAMGuard Version 2 contains major updates. <p class=MsoNormal><span lang=EN-US>PAMGuard Version 2 contains major updates.
You should read and understand the notes listed for <a You should read and understand the notes listed for <a
@ -2038,6 +2060,11 @@ displayed on the map may default to black. This is due to the above changes to
how colours are managed. Changing back to the colours of your choice is how colours are managed. Changing back to the colours of your choice is
relatively simple through the PAMGuard GUI. </span></p> relatively simple through the PAMGuard GUI. </span></p>
<p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-36.0pt'><span
lang=EN-US>&nbsp;</span></p>
<h1><a name="_Toc444450402"></a><a name="_Older_Versions"></a>Older Versions</h1>
<h1><a name="Latest_Version_1.15.11"></a><span lang=EN-US>Version 1.15.11 May <h1><a name="Latest_Version_1.15.11"></a><span lang=EN-US>Version 1.15.11 May
2017</span></h1> 2017</span></h1>
@ -2093,8 +2120,8 @@ list grew to a ridiculous size. Code has been put in place to a) stop it
happening again and b) to repair any configuration files which are corrupted. happening again and b) to repair any configuration files which are corrupted.
Corrupted files will be slow to load, slow to save and will be &gt; several Corrupted files will be slow to load, slow to save and will be &gt; several
megabytes in size. It may be necessary to delete the PamguardSettings table in megabytes in size. It may be necessary to delete the PamguardSettings table in
any databases since these too may have become oversized which will slow down any databases since these too may have become oversized which will slow down viewer
viewer mode PAMGuard start-up.</p> mode PAMGuard start-up.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2.</span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2.</span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2103,8 +2130,8 @@ after the contour was recalculated. This has been corrected.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>3.</span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>3.</span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bug 310. When exiting Viewer mode, PAMGuard queries the user whether they </span>Bug 310. When exiting Viewer mode, PAMGuard queries the user whether
are sure they want to exit without saving even though they selected <em><span they are sure they want to exit without saving even though they selected <em><span
style='font-family:"Calibri",sans-serif'>Save and Exit</span></em>. Corrected, style='font-family:"Calibri",sans-serif'>Save and Exit</span></em>. Corrected,
and added an <em><span style='font-family:"Calibri",sans-serif'>Exit without and added an <em><span style='font-family:"Calibri",sans-serif'>Exit without
Save</span></em> option.</p> Save</span></em> option.</p>
@ -2227,8 +2254,8 @@ sample rate. </span></p>
font-stretch: normal'><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-stretch: normal'><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-US>Bug 305. Date and Time not being correctly </span></span><span lang=EN-US>Bug 305. Date and Time not being correctly
extracted from wav files created using SoundTrap recorders. Fixed by correctly extracted from wav files created using SoundTrap recorders. Fixed by correctly
finding and unpacking information in the accompanying xml log files that come finding and unpacking information in the accompanying xml log files that come with
with SoundTrap files. </span></p> SoundTrap files. </span></p>
<h1><a name="_Latest_Version_1.15.06"></a><span lang=EN-US>Version 1.15.06 <h1><a name="_Latest_Version_1.15.06"></a><span lang=EN-US>Version 1.15.06
November 2016</span></h1> November 2016</span></h1>
@ -2267,11 +2294,11 @@ was used. This is fixed. </p>
<p class=MsoListParagraph style='margin-left:40.5pt;text-indent:-22.5pt'>5.<span <p class=MsoListParagraph style='margin-left:40.5pt;text-indent:-22.5pt'>5.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bug 295. If a click has a total length of a single sample, the code attempting </span>Bug 295. If a click has a total length of a single sample, the code
to estimate the time delay between channels would crash. This is now fixed. attempting to estimate the time delay between channels would crash. This is now
This could only occur if both pre sample and post sample were set to 0 in the fixed. This could only occur if both pre sample and post sample were set to 0
click detector, which is generally not a good idea, so this bug may have been in the click detector, which is generally not a good idea, so this bug may have
there for some time, it's just that no one noticed before. Fixed</p> been there for some time, it's just that no one noticed before. Fixed</p>
<p class=MsoListParagraph style='margin-left:40.5pt;text-indent:-22.5pt'>6.<span <p class=MsoListParagraph style='margin-left:40.5pt;text-indent:-22.5pt'>6.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2365,9 +2392,9 @@ automatic click train identification and tracking. </span></p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5.</span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5.</span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=EN-US>The automatic click train identification is now using </span><span lang=EN-US>The automatic click train identification is now using the
the same internal structures as the manual tracking, so it's possible to same internal structures as the manual tracking, so it's possible to combine
combine automatic and manual tracking. </span></p> automatic and manual tracking. </span></p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6.</span><span <p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6.</span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2384,9 +2411,9 @@ the future. </span></p>
<p class=MsoNormal><i>Logger Form Design</i></p> <p class=MsoNormal><i>Logger Form Design</i></p>
<p class=MsoNormal>A GUI driven system for designing Logger forms has been released. <p class=MsoNormal>A GUI driven system for designing Logger forms has been
Currently, this feature has no online help, but is reasonably intuitive released. Currently, this feature has no online help, but is reasonably
compared to the old method of typing directly into the database. </p> intuitive compared to the old method of typing directly into the database. </p>
<p class=MsoNormal><i><span lang=EN-US>Improved Number handling</span></i></p> <p class=MsoNormal><i><span lang=EN-US>Improved Number handling</span></i></p>
@ -2447,9 +2474,8 @@ today.&nbsp; </p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>5.<span <p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>5.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bug 277. Text fields in classifier dialog were not large enough to </span>Bug 277. Text fields in classifier dialog were not large enough to display
display times greater than 10ms. We have increased length of text fields in the times greater than 10ms. We have increased length of text fields in the dialog.</p>
dialog.</p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>6.<span <p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>6.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2458,17 +2484,17 @@ changes in future releases. New PAMGuard releases will always be able to open
older binary files, however, with previous PAMGuard releases if a newer file older binary files, however, with previous PAMGuard releases if a newer file
format was opened, then PAMGuard was unable to check that the file format was format was opened, then PAMGuard was unable to check that the file format was
newer and would attempt to read the files and might even corrupt them. Now it newer and would attempt to read the files and might even corrupt them. Now it
will recognise that it cannot open the files, display appropriate error messages will recognise that it cannot open the files, display appropriate error
and not attempt to read the files. NOTE that at this time there are no planned messages and not attempt to read the files. NOTE that at this time there are no
file format changes and that this is purely a future proofing exercise.</p> planned file format changes and that this is purely a future proofing exercise.</p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>7.<span <p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>7.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bug 279. GUI Resizing: The whole PAMGuard GUI would suddenly resize to </span>Bug 279. GUI Resizing: The whole PAMGuard GUI would suddenly resize to
something very small when a dialog is opened. This has been traced to improper something very small when a dialog is opened. This has been traced to improper
use of a common dialog component SourcePanel which tries to repack its parent use of a common dialog component SourcePanel which tries to repack its parent
Window. Some programmers had inadvertently set it to repack the main PAMGuard Window. Some programmers had inadvertently set it to repack the main PAMGuard GUI
GUI instead. This has been Fixed.</p> instead. This has been Fixed.</p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>8.<span <p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>8.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2542,16 +2568,16 @@ and datagram creation.</p>
<h1><a name="_Toc444450394"></a><span lang=EN-US>Version 1.15.00 February 2016</span></h1> <h1><a name="_Toc444450394"></a><span lang=EN-US>Version 1.15.00 February 2016</span></h1>
<p class=MsoNormal><span lang=EN-US>Beta Version 1.15.00 64 bit and Core <p class=MsoNormal><span lang=EN-US>Beta Version 1.15.00 64 bit and Core version
version 1.15.00 32 bit. Both using identical Java core software but linking to 1.15.00 32 bit. Both using identical Java core software but linking to
different libraries for control of sound input devices. </span></p> different libraries for control of sound input devices. </span></p>
<p class=MsoNormal><span lang=EN-US>This is the first release of a 64 bit <p class=MsoNormal><span lang=EN-US>This is the first release of a 64 bit
version of PAMGuard. As with the 32 bit version a number of C language libraries version of PAMGuard. As with the 32 bit version a number of C language
are required to interface to external sound cards and other data acquisition libraries are required to interface to external sound cards and other data
devices. These have been extensively tested on several different computers, but acquisition devices. These have been extensively tested on several different
may not be as stable as the 32 bit versions. Please report any problems computers, but may not be as stable as the 32 bit versions. Please report any
immediately to the PAMGuard team. </span></p> problems immediately to the PAMGuard team. </span></p>
<p class=MsoNormal><b><span lang=EN-US>Other Changes</span></b></p> <p class=MsoNormal><b><span lang=EN-US>Other Changes</span></b></p>
@ -2625,8 +2651,8 @@ name="_Toc312065299"></a><a name="_Toc312063944"></a><a name="_Toc312065300"></a
name="_Toc312063945"></a>Version 1.14.00 Beta, September 2015</h1> name="_Toc312063945"></a>Version 1.14.00 Beta, September 2015</h1>
<p class=MsoNormal>The format of configuration files has changed for version <p class=MsoNormal>The format of configuration files has changed for version
1.14.00. Older configurations will load with this new version, but configurations 1.14.00. Older configurations will load with this new version, but
saved with 1.14.00 may not open correctly with earlier versions.</p> configurations saved with 1.14.00 may not open correctly with earlier versions.</p>
<p class=MsoNormal>PAMGuard Versions 1.14.00 and above will work with Java 8. <p class=MsoNormal>PAMGuard Versions 1.14.00 and above will work with Java 8.
PAMGuard will continue to work with Java 7, but support for Java 7 will be PAMGuard will continue to work with Java 7, but support for Java 7 will be
@ -2693,9 +2719,9 @@ displaying in the viewer. This is now fixed. </span></p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'><span <p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'><span
lang=EN-US>3.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US>3.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=EN-US>Bug 248. Crash in hydrophone array manager. Bug in </span><span lang=EN-US>Bug 248. Crash in hydrophone array manager. Bug in
array manager would crash PAMGuard when the click detector was configured with more array manager would crash PAMGuard when the click detector was configured with
channels than the sound acquisition system (almost impossible to achieve, but more channels than the sound acquisition system (almost impossible to achieve,
someone managed it). </span></p> but someone managed it). </span></p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'><span <p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'><span
lang=EN-US>4.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US>4.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2789,9 +2815,9 @@ lang=EN-US>1.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times N
</span>Spectrogram annotation marks. A simple system for marking spectrograms </span>Spectrogram annotation marks. A simple system for marking spectrograms
during real time analysis has been incorporated. To use it, add the module, in during real time analysis has been incorporated. To use it, add the module, in
the spectrogram settings, select the annotation marks in the 'Mark Observers' the spectrogram settings, select the annotation marks in the 'Mark Observers'
tab of the spectrogram configuration dialog, and also right click on the spectrogram tab of the spectrogram configuration dialog, and also right click on the
and select to display the annotations. Annotations are saved to the database so spectrogram and select to display the annotations. Annotations are saved to the
you will also need a database module in your configuration. &nbsp;</p> database so you will also need a database module in your configuration. &nbsp;</p>
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span <p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span
lang=EN-US>2.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US>2.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2814,9 +2840,9 @@ option with caution !</p>
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span <p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span
lang=EN-US>5.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US>5.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>The Open Office Database system has been removed from the list of available </span>The Open Office Database system has been removed from the list of
options since it is not reliable. If you require a free database solution we available options since it is not reliable. If you require a free database
recommend you use the MySql Community Server <a solution we recommend you use the MySql Community Server <a
href="http://dev.mysql.com/downloads/mysql/">http://dev.mysql.com/downloads/mysql/</a></p> href="http://dev.mysql.com/downloads/mysql/">http://dev.mysql.com/downloads/mysql/</a></p>
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span <p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span
@ -2851,8 +2877,8 @@ minutes and seconds. Now correctly displays the number of remaining days. </p>
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span <p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span
lang=EN-US>4.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US>4.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bug 226. Spectrogram Mark Observer list doesn't refresh when modules </span>Bug 226. Spectrogram Mark Observer list doesn't refresh when modules added
added or removed. </p> or removed. </p>
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span <p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span
lang=EN-US>5.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lang=EN-US>5.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2896,9 +2922,9 @@ be specified by the user in the Rocca Parameters dialog Notes tab.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'>1.<span style='font-size: <p class=MsoListParagraph style='text-indent:-18.0pt'>1.<span style='font-size:
7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Bug 7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Bug
209. Map zoom level. This was zoomed right into a range of about 1m when new maps 209. Map zoom level. This was zoomed right into a range of about 1m when new
were created. This is now fixed and it starts with a default range of 10km on maps were created. This is now fixed and it starts with a default range of 10km
the display. </p> on the display. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'>2.<span style='font-size: <p class=MsoListParagraph style='text-indent:-18.0pt'>2.<span style='font-size:
7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Bug 7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Bug
@ -3187,8 +3213,8 @@ whistle.</p>
. Did not affect band level calculations. </li> . Did not affect band level calculations. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Bug in noise band monitor. <li class=MsoNormal style='margin-bottom:0cm'>Bug in noise band monitor.
Crashed when sample rate was exactly 2kHz. Fixed </li> Crashed when sample rate was exactly 2kHz. Fixed </li>
<li class=MsoNormal style='margin-bottom:0cm'>Memory leak in click detector. Severe <li class=MsoNormal style='margin-bottom:0cm'>Memory leak in click detector.
memory leak when processing clicks in viewer mode now fixed. </li> Severe memory leak when processing clicks in viewer mode now fixed. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Flickering of click display (<a <li class=MsoNormal style='margin-bottom:0cm'>Flickering of click display (<a
href="http://sourceforge.net/p/pamguard/bugs/191/">http://sourceforge.net/p/pamguard/bugs/191/</a>) href="http://sourceforge.net/p/pamguard/bugs/191/">http://sourceforge.net/p/pamguard/bugs/191/</a>)
now fixed. </li> now fixed. </li>
@ -3206,8 +3232,6 @@ whistle.</p>
<p class=MsoNormal>&nbsp;</p> <p class=MsoNormal>&nbsp;</p>
<h1><a name="_Toc444450402">Older Versions</a></h1>
<h2>Version 1.12.00 Beta February 2013</h2> <h2>Version 1.12.00 Beta February 2013</h2>
<p class=MsoNormal><b>New Modules</b></p> <p class=MsoNormal><b>New Modules</b></p>
@ -3245,14 +3269,14 @@ mode, making is easy to scroll through and view data for short time periods. </p
<p class=MsoNormal style='margin-left:36.0pt'><i>GPS</i></p> <p class=MsoNormal style='margin-left:36.0pt'><i>GPS</i></p>
<p class=MsoNormal style='margin-left:36.0pt'>Function to import GPS data from other <p class=MsoNormal style='margin-left:36.0pt'>Function to import GPS data from
data sources for the PAMGuard viewer. </p> other data sources for the PAMGuard viewer. </p>
<p class=MsoNormal style='margin-left:36.0pt'><i>Database</i></p> <p class=MsoNormal style='margin-left:36.0pt'><i>Database</i></p>
<p class=MsoNormal style='margin-left:36.0pt'>Can now copy data from binary <p class=MsoNormal style='margin-left:36.0pt'>Can now copy data from binary storage
storage to the database offline for any module having both binary and database to the database offline for any module having both binary and database storage.
storage. </p> </p>
<p class=MsoNormal style='margin-left:36.0pt'>Can create a blank MS Access <p class=MsoNormal style='margin-left:36.0pt'>Can create a blank MS Access
database (2007 and later *.accdb formats only).</p> database (2007 and later *.accdb formats only).</p>
@ -3351,12 +3375,12 @@ elements has been fixed. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Database Speed: A substantial rewriting of some of the indexing methods </span>Database Speed: A substantial rewriting of some of the indexing methods in
in the database module has led to a significant increase in the speed at which data the database module has led to a significant increase in the speed at which
are written to the database (orders of magnitude for large databases). This is data are written to the database (orders of magnitude for large databases).
having a significant impact on the overall reliability of the software. Other This is having a significant impact on the overall reliability of the software.
changes have increased the speed (again by orders of magnitude) at which data Other changes have increased the speed (again by orders of magnitude) at which
are read back into PAMGuard when using the viewer. </p> data are read back into PAMGuard when using the viewer. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3444,9 +3468,9 @@ Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Offline event marking. Offline event marking similar to functionality in </span>Offline event marking. Offline event marking similar to functionality in
RainbowClick is now available in the PAMGUARD viewer. Event summary data is RainbowClick is now available in the PAMGUARD viewer. Event summary data is stored
stored in the database and can also be exported to text files (e.g. for in the database and can also be exported to text files (e.g. for importing into
importing into the Distance software).&nbsp; </p> the Distance software).&nbsp; </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3459,8 +3483,8 @@ Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bearings can be calculated using the envelope of the waveform rather than </span>Bearings can be calculated using the envelope of the waveform rather
the full waveform. The waveform or envelope can also be filtered prior to than the full waveform. The waveform or envelope can also be filtered prior to
bearing calculation.</p> bearing calculation.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
@ -3593,11 +3617,11 @@ Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif
<p class=MsoNormal>2. Improved offline viewer functionality. </p> <p class=MsoNormal>2. Improved offline viewer functionality. </p>
<p class=MsoNormal>The offline viewer is much improved with better data <p class=MsoNormal>The offline viewer is much improved with better data scrolling
scrolling and the ability to view data either stored in the database or the and the ability to view data either stored in the database or the binary
binary storage system. Work has stated on functions which read and use data storage system. Work has stated on functions which read and use data stored in
stored in audio files. This is currently limited to re-calculating and audio files. This is currently limited to re-calculating and displaying
displaying displaying spectrogram data during viewer mode operation.&nbsp; </p> displaying spectrogram data during viewer mode operation.&nbsp; </p>
<p class=MsoNormal>3. Heading sensor readout</p> <p class=MsoNormal>3. Heading sensor readout</p>
@ -3616,8 +3640,8 @@ frequency division (i.e. previous versions would convert well from 96kHz to
<p class=MsoNormal><b>Bug fixes</b></p> <p class=MsoNormal><b>Bug fixes</b></p>
<p class=MsoNormal>1. Placement of axes on some displays (array manager and depth <p class=MsoNormal>1. Placement of axes on some displays (array manager and
side panel). Problem in 1.9.01 Beta now fixed. </p> depth side panel). Problem in 1.9.01 Beta now fixed. </p>
<p class=MsoNormal>2. Fixed problems of NMEA read out not restarting after a <p class=MsoNormal>2. Fixed problems of NMEA read out not restarting after a
serial drop out. NMEA now restarts correctly. </p> serial drop out. NMEA now restarts correctly. </p>
@ -3905,17 +3929,17 @@ classifier is still available). </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bearing ambiguity resolution for planar and volumetric arrays. New </span>Bearing ambiguity resolution for planar and volumetric arrays. New features
features in array dialog for estimations of errors on array location. These in array dialog for estimations of errors on array location. These feed into to
feed into to a maximum likelihood estimate of angles from small 2D or 3D sub a maximum likelihood estimate of angles from small 2D or 3D sub arrays to give
arrays to give two polar angle coordinates. this can be used to resolve left two polar angle coordinates. this can be used to resolve left right ambiguity
right ambiguity and is implemented for both the click and the whistle/moan and is implemented for both the click and the whistle/moan detectors. As a
detectors. As a result, the click detector bearing time display can now be set result, the click detector bearing time display can now be set to go from -180
to go from -180 to 180 degrees rather than 0 - 180 degrees. In this case, to 180 degrees rather than 0 - 180 degrees. In this case, clicks in the upper
clicks in the upper half of the bearing display will be to port and clicks in half of the bearing display will be to port and clicks in the right half will
the right half will be to starboard. As you pass a whale which is to port, the be to starboard. As you pass a whale which is to port, the clicks will move UP
clicks will move UP the display. In the long term, I hope to turn this display the display. In the long term, I hope to turn this display around so that time
around so that time is up the screen rather than across.&nbsp; </p> is up the screen rather than across.&nbsp; </p>
<p class=MsoNormal><b>Small features and bug fixes</b></p> <p class=MsoNormal><b>Small features and bug fixes</b></p>
@ -4110,10 +4134,10 @@ help pages</p>
<p class=MsoNormal><b>Bug Fixes</b></p> <p class=MsoNormal><b>Bug Fixes</b></p>
<p class=MsoNormal>Memory leak caused by Night / Day colour manager now fixed. <p class=MsoNormal>Memory leak caused by Night / Day colour manager now fixed. This
This would cause memory leaks when multiple files were being analysed off-line would cause memory leaks when multiple files were being analysed off-line and
and would eventually crash PAMGUARD. The way that colours are managed in would eventually crash PAMGUARD. The way that colours are managed in PAMGUARD
PAMGUARD has been rewritten.&nbsp; </p> has been rewritten.&nbsp; </p>
<p class=MsoNormal>Some issues with Swing fixed that might have been causing <p class=MsoNormal>Some issues with Swing fixed that might have been causing
hang ups on startup especially on Macs/Linux machines</p> hang ups on startup especially on Macs/Linux machines</p>
@ -4184,8 +4208,8 @@ file)</p>
<p class=MsoNormal><b>Changes</b></p> <p class=MsoNormal><b>Changes</b></p>
<p class=MsoNormal>The User Input module (for text entry of information by the <p class=MsoNormal>The User Input module (for text entry of information by the user)
user) has been moved from the Displays sub menu of the Add Modules menu, to has been moved from the Displays sub menu of the Add Modules menu, to
Utilities. This will not affect how existing settings files are loaded. </p> Utilities. This will not affect how existing settings files are loaded. </p>
<p class=MsoNormal><b>Multi-screen environments.</b></p> <p class=MsoNormal><b>Multi-screen environments.</b></p>
@ -4356,8 +4380,8 @@ channels or textual content change. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Model viewer. Have stopped it from jumping on top of the main PAMGUARD </span>Model viewer. Have stopped it from jumping on top of the main PAMGUARD &nbsp;display
&nbsp;display when dialogs are closed. </p> when dialogs are closed. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family: <p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4688,12 +4712,12 @@ and Ishmael-type detectors and localisers. </p>
<p class=MsoNormal>Information from above modules can be displayed on <p class=MsoNormal>Information from above modules can be displayed on
configurable user displays which support real time scrolling spectrograms and configurable user displays which support real time scrolling spectrograms and
radar displays. Detection and localisation information can be optionally radar displays. Detection and localisation information can be optionally
displayed on the map display.Map enhancements include improved scrolling displayed on the map display.Map enhancements include improved scrolling whereby
whereby the user can click and drag to pan the area. PamGuard can now interface the user can click and drag to pan the area. PamGuard can now interface with
with MySQL database servers and users can easily select which information is MySQL database servers and users can easily select which information is logged.
logged. (This replaces the previous 'flat-file' logging feature). A simulation (This replaces the previous 'flat-file' logging feature). A simulation module
module allows virtual vocalising animals to be placed on the map to assist in allows virtual vocalising animals to be placed on the map to assist in training
training and development. Extensive online user help has been added to PamGuard and development. Extensive online user help has been added to PamGuard
Application</p> Application</p>
<h2>0.03b - first version used in a real 'at sea' environment.18/08/06</h2> <h2>0.03b - first version used in a real 'at sea' environment.18/08/06</h2>

View File

@ -4,7 +4,7 @@
<groupId>org.pamguard</groupId> <groupId>org.pamguard</groupId>
<artifactId>Pamguard</artifactId> <artifactId>Pamguard</artifactId>
<name>Pamguard Java12+</name> <name>Pamguard Java12+</name>
<version>2.02.04a</version> <version>2.02.04ae</version>
<description>Pamguard for Java 12+, using Maven to control dependcies</description> <description>Pamguard for Java 12+, using Maven to control dependcies</description>
<url>www.pamguard.org</url> <url>www.pamguard.org</url>
<organization> <organization>
@ -163,14 +163,6 @@
<name>Unidata netCDF</name> <name>Unidata netCDF</name>
<url>https://artifacts.unidata.ucar.edu/repository/unidata-all/</url> <url>https://artifacts.unidata.ucar.edu/repository/unidata-all/</url>
</repository> </repository>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>geomajas</id>
<name>geomajas</name>
<url>http://maven.geomajas.org/</url>
</repository>
<repository> <repository>
<snapshots> <snapshots>
<enabled>false</enabled> <enabled>false</enabled>

View File

@ -622,7 +622,7 @@ public class FileInputSystem extends DaqSystem implements ActionListener, PamSe
"</b><br><br><p>Please check to ensure that the file exists, and that the path entered in PAMGuard is correct.</p>" + "</b><br><br><p>Please check to ensure that the file exists, and that the path entered in PAMGuard is correct.</p>" +
"<p>Note this error may also indicate that the file is corrupt and unreadable by PAMGuard.</p></html>"; "<p>Note this error may also indicate that the file is corrupt and unreadable by PAMGuard.</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
return false; return false;
} }

View File

@ -178,7 +178,7 @@ public class PSFXReadWriter {
* occurr when running under PAMDog control. * occurr when running under PAMDog control.
*/ */
if (pamBuoyGlobals.getNetworkControlPort() == null) { if (pamBuoyGlobals.getNetworkControlPort() == null) {
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
} }
else { else {
/* /*

View File

@ -2731,7 +2731,12 @@ public class PamController implements PamControllerInterface, PamSettings {
@Override @Override
public GuiFrameManager getGuiFrameManager() { public GuiFrameManager getGuiFrameManager() {
return (GuiFrameManager) guiFrameManager; if (guiFrameManager instanceof GuiFrameManager) {
return (GuiFrameManager) guiFrameManager;
}
else {
return null;
}
} }
public void sortFrameTitles(){ public void sortFrameTitles(){

View File

@ -536,7 +536,7 @@ public class PamSettingManager {
"This could occur if the psf file location is in a read-only folder, or the filename is " + "This could occur if the psf file location is in a read-only folder, or the filename is " +
"invalid. Please check and try again."; "invalid. Please check and try again.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
} }
} }
/** /**
@ -1292,7 +1292,7 @@ public class PamSettingManager {
"loads it may have lost it's settings. Please check before performing any analysis.</p>"; "loads it may have lost it's settings. Please check before performing any analysis.</p>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
break; break;
} }
@ -1312,7 +1312,7 @@ public class PamSettingManager {
"It is likely that an older version of Java is trying to load a class which is from a newer version. " + "It is likely that an older version of Java is trying to load a class which is from a newer version. " +
"This module will not be loaded, and will be removed from the psf file to prevent instabilities."; "This module will not be loaded, and will be removed from the psf file to prevent instabilities.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
System.err.println("Exception while loading " + Ex.getMessage()); System.err.println("Exception while loading " + Ex.getMessage());
} }
catch (ClassNotFoundException Ex){ catch (ClassNotFoundException Ex){
@ -1327,7 +1327,7 @@ public class PamSettingManager {
"depending on which modules are being used and if they've changed between versions. It is recommended that you " + "depending on which modules are being used and if they've changed between versions. It is recommended that you " +
"check all module configuration parameters to verify the information is still accurate, prior to running. "; "check all module configuration parameters to verify the information is still accurate, prior to running. ";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, Ex); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, Ex);
} }
// print and continue - there may be other things we can deal with. // print and continue - there may be other things we can deal with.
@ -1341,7 +1341,7 @@ public class PamSettingManager {
"support@pamguard.org.<p>" + "support@pamguard.org.<p>" +
"This module will not be loaded, and will be removed from the psf file to prevent instabilities."; "This module will not be loaded, and will be removed from the psf file to prevent instabilities.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, Ex); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, Ex);
System.err.println("Exception while loading " + Ex.getMessage()); System.err.println("Exception while loading " + Ex.getMessage());
} }
} }

View File

@ -31,12 +31,12 @@ public class PamguardVersionInfo {
* Version number, major version.minorversion.sub-release. * Version number, major version.minorversion.sub-release.
* Note: can't go higher than sub-release 'f' * Note: can't go higher than sub-release 'f'
*/ */
static public final String version = "2.02.04ae"; static public final String version = "2.02.05";
/** /**
* Release date * Release date
*/ */
static public final String date = "3 October 2022"; static public final String date = "21 October 2022";
// /** // /**
// * Release type - Beta or Core // * Release type - Beta or Core

View File

@ -1255,7 +1255,7 @@ final public class PamModel implements PamModelInterface, PamSettings {
"for help.<p>" + "for help.<p>" +
"This plug-in will not be available for loading"; "This plug-in will not be available for loading";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, e1); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, e1);
System.err.println("Exception while loading " + className); System.err.println("Exception while loading " + className);
continue; continue;
} }
@ -1269,7 +1269,7 @@ final public class PamModel implements PamModelInterface, PamSettings {
"for help.<p>" + "for help.<p>" +
"This plug-in will not be available for loading"; "This plug-in will not be available for loading";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, ex); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, ex);
System.err.println("Exception while loading " + jarList.get(i).getName()); System.err.println("Exception while loading " + jarList.get(i).getName());
continue; continue;
} }
@ -1360,7 +1360,7 @@ final public class PamModel implements PamModelInterface, PamSettings {
"for help.<p>" + "for help.<p>" +
"This plug-in will not be available for loading"; "This plug-in will not be available for loading";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, e1); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, e1);
System.err.println("Exception while loading " + pf.getDefaultName()); System.err.println("Exception while loading " + pf.getDefaultName());
pluginList.remove(pf); pluginList.remove(pf);
continue; continue;

View File

@ -15,7 +15,7 @@ public class PamAudioFileFilter extends PamFileFilter {
// addFileType(".AIFF"); // addFileType(".AIFF");
// addFileType(".FLAC"); // addFileType(".FLAC");
addFileType(".flac"); addFileType(".flac");
addFileType(".sud"); // addFileType(".sud");
} }
} }

View File

@ -35,7 +35,7 @@ public class PamExceptionHandler implements Thread.UncaughtExceptionHandler {
"for help.<p>" + "for help.<p>" +
"This plug-in will not be available for loading"; "This plug-in will not be available for loading";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, exception); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, exception);
System.err.println("Exception while loading " + pluginInterface); System.err.println("Exception while loading " + pluginInterface);
exception.printStackTrace(); exception.printStackTrace();
} else { } else {

View File

@ -63,6 +63,7 @@ abstract public class PamDialog extends JDialog {
private String warningTitle; private String warningTitle;
private boolean warnDefaultSetting = true; private boolean warnDefaultSetting = true;
private CancelObserver cancelObserver; private CancelObserver cancelObserver;
private boolean firstShowing = true;
public JPanel getButtonPanel() { public JPanel getButtonPanel() {
return buttonPanel; return buttonPanel;
@ -146,7 +147,7 @@ abstract public class PamDialog extends JDialog {
return parentFrame; return parentFrame;
} }
try { try {
return PamController.getInstance().getGuiFrameManager().getFrame(0); return PamController.getMainFrame();
} }
catch (Exception e) { catch (Exception e) {
return null; return null;
@ -283,6 +284,10 @@ abstract public class PamDialog extends JDialog {
if (getOwner() == null) { if (getOwner() == null) {
moveToMouseLocation(); moveToMouseLocation();
} }
if (firstShowing) {
firstShowing = false;
super.pack();
}
} }
try{ try{
super.setVisible(visible); super.setVisible(visible);

View File

@ -88,7 +88,7 @@ public class WarnOnce implements PamSettings {
public static int showWarning(String title, String message, int messageType, String helpPoint, Throwable error, public static int showWarning(String title, String message, int messageType, String helpPoint, Throwable error,
String okButtonText, String cancelButtonText) { String okButtonText, String cancelButtonText) {
if (PamGUIManager.isSwing()) { if (PamGUIManager.isSwing()) {
return singleInstance.showWarningDialog(PamController.getInstance().getGuiFrameManager().getFrame(0), return singleInstance.showWarningDialog(PamController.getMainFrame(),
title, message, messageType, helpPoint, error, okButtonText, cancelButtonText); title, message, messageType, helpPoint, error, okButtonText, cancelButtonText);
} }
else if (PamGUIManager.isFX()) { else if (PamGUIManager.isFX()) {
@ -220,7 +220,7 @@ public class WarnOnce implements PamSettings {
* otherwise OK_OPTION will always be returned. * otherwise OK_OPTION will always be returned.
*/ */
public static int showWarning(Window parent, String title, String message, int messageType, String helpPoint, Throwable error) { public static int showWarning(Window parent, String title, String message, int messageType, String helpPoint, Throwable error) {
if (! PamController.checkIfNetworkControlled()) { if (canShowDialog()) {
return singleInstance.showWarningDialog(parent, title, message, messageType, helpPoint, error, null, null); return singleInstance.showWarningDialog(parent, title, message, messageType, helpPoint, error, null, null);
} else { } else {
System.out.println(" "); System.out.println(" ");
@ -231,6 +231,16 @@ public class WarnOnce implements PamSettings {
} }
} }
private static boolean canShowDialog() {
if (PamController.checkIfNetworkControlled()) {
return false;
}
if (PamGUIManager.getGUIType() == PamGUIManager.NOGUI) {
return false;
}
return true;
}
/** /**
* Show a warning message. * Show a warning message.
* @param parent parent frame * @param parent parent frame
@ -361,10 +371,16 @@ public class WarnOnce implements PamSettings {
} }
// show the warning // show the warning
WarnOnceDialog wo = new WarnOnceDialog(parent, title, message, messageType, helpPoint, error, okButtonText, cancelButtonText); if (canShowDialog()) {
warnOnceList.setShowWarning(messageName, wo.isShowAgain()); WarnOnceDialog wo = new WarnOnceDialog(parent, title, message, messageType, helpPoint, error, okButtonText, cancelButtonText);
showThisSess.put(messageName, wo.isShowThisSess()); warnOnceList.setShowWarning(messageName, wo.isShowAgain());
return wo.getAnswer(); showThisSess.put(messageName, wo.isShowThisSess());
return wo.getAnswer();
}
else {
System.out.println(message);
return OK_OPTION;
}
} }

View File

@ -320,7 +320,7 @@ public class binaryUIDFunctions {
+ footer.getHighestUID() + footer.getHighestUID()
+ ". It is not possible to know whether all of the original data objects have been recovered.<br><br>"; + ". It is not possible to know whether all of the original data objects have been recovered.<br><br>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, int ans = WarnOnce.showWarning(PamController.getMainFrame(), title,
msg, WarnOnce.WARNING_MESSAGE, help); msg, WarnOnce.WARNING_MESSAGE, help);
} }
} }
@ -429,7 +429,7 @@ public class binaryUIDFunctions {
+ " data objects. The last object UID recovered is " + footer.getHighestUID() + " data objects. The last object UID recovered is " + footer.getHighestUID()
+ ". It is not possible to know whether all of the original data objects have been recovered.<br><br>"; + ". It is not possible to know whether all of the original data objects have been recovered.<br><br>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), int ans = WarnOnce.showWarning(PamController.getMainFrame(),
title, msg, WarnOnce.WARNING_MESSAGE, help); title, msg, WarnOnce.WARNING_MESSAGE, help);
} }
} }

View File

@ -263,7 +263,7 @@ public class SendEmailAction extends AlarmAction implements PamSettings {
". The alarm will not be able to send emails until " + ". The alarm will not be able to send emails until " +
"this is fixed. Please check the Alarm Email Settings to ensure they are correct."; "this is fixed. Please check the Alarm Email Settings to ensure they are correct.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, e); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, e);
e.printStackTrace(); e.printStackTrace();
emailReady=AlarmAction.ALARM_CANT_DO; emailReady=AlarmAction.ALARM_CANT_DO;
} }

View File

@ -1346,7 +1346,7 @@ public class BeamAlgoParamsPane extends SettingsPane<BeamAlgorithmParams> {
"The beamformer needs this information in order to run. There will be no output until " + "The beamformer needs this information in order to run. There will be no output until " +
"a valid Acquisition module is added and the Pamguard run is restarted."; "a valid Acquisition module is added and the Pamguard run is restarted.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, e); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, e);
sourceProcess=null; sourceProcess=null;
e.printStackTrace(); e.printStackTrace();
return; return;
@ -1357,7 +1357,7 @@ public class BeamAlgoParamsPane extends SettingsPane<BeamAlgorithmParams> {
"The beamformer needs this information in order to run. There will be no output until " + "The beamformer needs this information in order to run. There will be no output until " +
"a valid Acquisition module is added and the Pamguard run is restarted."; "a valid Acquisition module is added and the Pamguard run is restarted.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, null); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, null);
return; return;
} }

View File

@ -226,7 +226,7 @@ public class BasicFreqDomBeamFormer implements BeamFormerAlgorithm {
"The beamformer needs this information in order to run. There will be no output until " + "The beamformer needs this information in order to run. There will be no output until " +
"a valid Acquisition module is added and the Pamguard run is restarted."; "a valid Acquisition module is added and the Pamguard run is restarted.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, e); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, e);
sourceProcess=null; sourceProcess=null;
e.printStackTrace(); e.printStackTrace();
return; return;
@ -237,7 +237,7 @@ public class BasicFreqDomBeamFormer implements BeamFormerAlgorithm {
"The beamformer needs this information in order to run. There will be no output until " + "The beamformer needs this information in order to run. There will be no output until " +
"a valid Acquisition module is added and the Pamguard run is restarted."; "a valid Acquisition module is added and the Pamguard run is restarted.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, null); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, null);
return; return;
} }

View File

@ -257,7 +257,7 @@ public class MVDRalgorithm implements BeamFormerAlgorithm {
"The beamformer needs this information in order to run. There will be no output until " + "The beamformer needs this information in order to run. There will be no output until " +
"a valid Acquisition module is added and the Pamguard run is restarted."; "a valid Acquisition module is added and the Pamguard run is restarted.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, e); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, e);
sourceProcess=null; sourceProcess=null;
e.printStackTrace(); e.printStackTrace();
return; return;
@ -268,7 +268,7 @@ public class MVDRalgorithm implements BeamFormerAlgorithm {
"The beamformer needs this information in order to run. There will be no output until " + "The beamformer needs this information in order to run. There will be no output until " +
"a valid Acquisition module is added and the Pamguard run is restarted."; "a valid Acquisition module is added and the Pamguard run is restarted.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help, null); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help, null);
return; return;
} }

View File

@ -52,7 +52,7 @@ public class CTClassifierOfflineTask extends OfflineTask<CTDataUnit> {
// Debug.out.println("Hello: CTDataUnit: UID " + ctDataUnit.getUID() + " " + ctDataUnit.getSubDetectionsCount()); // Debug.out.println("Hello: CTDataUnit: UID " + ctDataUnit.getUID() + " " + ctDataUnit.getSubDetectionsCount());
// } // }
clickTrainControl.getSwingGUI().showSettingsDialog(PamController.getInstance().getGuiFrameManager().getFrame(0), true); clickTrainControl.getSwingGUI().showSettingsDialog(PamController.getMainFrame(), true);
return true; return true;
} }

View File

@ -156,7 +156,7 @@ public class ClickTrainOfflineTask extends OfflineTask<PamDataUnit<?,?>> {
@Override @Override
public boolean callSettings() { public boolean callSettings() {
clickTrainControl.getSwingGUI().showSettingsDialog(PamController.getInstance().getGuiFrameManager().getFrame(0), false); clickTrainControl.getSwingGUI().showSettingsDialog(PamController.getMainFrame(), false);
return true; return true;
} }

View File

@ -386,7 +386,7 @@ public class MccDialog extends PamDialog {
String msg = "<html><p>PAMGuard cannot find an analog input device. Please ensure that you have a " + String msg = "<html><p>PAMGuard cannot find an analog input device. Please ensure that you have a " +
"device plugged into your computer, and you have the correct drivers installed.</p></html>"; "device plugged into your computer, and you have the correct drivers installed.</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
return; return;
} }
if (mccDepthParameters.iBoard >= 0 && if (mccDepthParameters.iBoard >= 0 &&

View File

@ -229,7 +229,7 @@ PamSettingsSource {
"be configured to be looking in a different folder. Please check the expected folder location, as well " + "be configured to be looking in a different folder. Please check the expected folder location, as well " +
"as the PAMGuard settings."; "as the PAMGuard settings.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
return false; return false;
} }
if (forcedName == null) { if (forcedName == null) {

View File

@ -290,7 +290,7 @@ public class DBProcess extends PamProcess {
+ theForm.getUdfTableDefinition().getTableName() + " with the " + theForm.getFormName() + theForm.getUdfTableDefinition().getTableName() + " with the " + theForm.getFormName()
+ " form format currently in memory. If this is correct, press Ok. If you do not want to " + " form format currently in memory. If this is correct, press Ok. If you do not want to "
+ "change the format stored in the database, press Cancel.<br><br>"; + "change the format stored in the database, press Cancel.<br><br>";
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), int ans = WarnOnce.showWarning(PamController.getMainFrame(),
title, msg, WarnOnce.OK_CANCEL_OPTION); title, msg, WarnOnce.OK_CANCEL_OPTION);
if (ans == WarnOnce.CANCEL_OPTION) { if (ans == WarnOnce.CANCEL_OPTION) {
continue; continue;

View File

@ -152,7 +152,7 @@ public class LookUpTables {
String msg = "PAMGuard is about to modify the Lookup table in the database. It will be adding new rows to the end of the table, possibly " + String msg = "PAMGuard is about to modify the Lookup table in the database. It will be adding new rows to the end of the table, possibly " +
"duplicating existing topics if you are switching from a database that already had Lookup information.<br><br> " + "duplicating existing topics if you are switching from a database that already had Lookup information.<br><br> " +
"If this is correct, press Ok. If you do not want to change the database table, press Cancel.<br><br>"; "If this is correct, press Ok. If you do not want to change the database table, press Cancel.<br><br>";
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.OK_CANCEL_OPTION); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.OK_CANCEL_OPTION);
if (ans==WarnOnce.CANCEL_OPTION) { if (ans==WarnOnce.CANCEL_OPTION) {
return false; return false;
} }

View File

@ -110,7 +110,7 @@ public class MTClassifierOfflineTask extends OfflineTask<PamDataUnit<?,?>> {
@Override @Override
public boolean callSettings() { public boolean callSettings() {
mtClassifierControl.showSettingsDialog(PamController.getInstance().getGuiFrameManager().getFrame(0)); mtClassifierControl.showSettingsDialog(PamController.getMainFrame());
return true; return true;
} }

View File

@ -172,7 +172,7 @@ public class RadarParameters extends UserFrameParameters implements Serializable
String msg = "<html><p>The Radar Display parameters have been upgraded. Please open the " + String msg = "<html><p>The Radar Display parameters have been upgraded. Please open the " +
"Radar Display dialog panel to ensure that the correct datablocks are being displayed</p></html>"; "Radar Display dialog panel to ensure that the correct datablocks are being displayed</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
} }
@Override @Override

View File

@ -121,7 +121,7 @@ public class DLOfflineTask extends OfflineTask<PamDataUnit<?,?>>{
@Override @Override
public boolean callSettings() { public boolean callSettings() {
dlControl.showSettingsDialog(PamController.getInstance().getGuiFrameManager().getFrame(0)); dlControl.showSettingsDialog(PamController.getMainFrame());
return true; return true;
} }

View File

@ -940,7 +940,7 @@ public class RoccaProcess extends PamProcess {
"This will happen when re-analyzing data that has already been analyzed, but it may " + "This will happen when re-analyzing data that has already been analyzed, but it may " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>"; "also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
} }
@ -1088,7 +1088,7 @@ public class RoccaProcess extends PamProcess {
"This will happen when re-analyzing data that has already been analyzed, but it may " + "This will happen when re-analyzing data that has already been analyzed, but it may " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>"; "also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
} }

View File

@ -2025,7 +2025,7 @@ public class RoccaSpecPopUp extends javax.swing.JPanel {
"This will happen when re-analyzing data that has already been analyzed, but it may " + "This will happen when re-analyzing data that has already been analyzed, but it may " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>"; "also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
} }
@ -2361,7 +2361,7 @@ public class RoccaSpecPopUp extends javax.swing.JPanel {
"This will happen when re-analyzing data that has already been analyzed, but it may " + "This will happen when re-analyzing data that has already been analyzed, but it may " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>"; "also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
} }

View File

@ -187,7 +187,7 @@ public class RoccaWhistleSelect extends PamProcess implements SpectrogramMarkObs
"underlying detection information necessary to recalculate ancillary variables (e.g. time between detections, detection density, " + "underlying detection information necessary to recalculate ancillary variables (e.g. time between detections, detection density, " +
"detections/second, etc). You will need to start a new Encounter to ensure all variables are calculated correctly.</p></html>"; "detections/second, etc). You will need to start a new Encounter to ensure all variables are calculated correctly.</p></html>";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.WARNING_MESSAGE, help); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.WARNING_MESSAGE, help);
String dummy = roccaControl.roccaSidePanel.sidePanel.addASighting(false); String dummy = roccaControl.roccaSidePanel.sidePanel.addASighting(false);
} }

View File

@ -466,7 +466,7 @@ public class ImportBCLDialog extends PamDialog {
". The file may be corrupt, or missing information needed. Import is suspended; " + ". The file may be corrupt, or missing information needed. Import is suspended; " +
"Please fix the file manually or remove it from the folder, and try to import again."; "Please fix the file manually or remove it from the folder, and try to import again.";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.OK_OPTION, null, null, "Cancel Import", null); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.OK_OPTION, null, null, "Cancel Import", null);
break; break;
} }
@ -479,7 +479,7 @@ public class ImportBCLDialog extends PamDialog {
". PAMGuard is trying to use the format " + customDateTimeFormat.getText() + " but without " + ". PAMGuard is trying to use the format " + customDateTimeFormat.getText() + " but without " +
"success. Please change the format in this dialog to match the one used for SamplingStartTimeUTC in your *.log.xml files"; "success. Please change the format in this dialog to match the one used for SamplingStartTimeUTC in your *.log.xml files";
String help = null; String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0), title, msg, WarnOnce.OK_OPTION, null, null, "Cancel Import", null); int ans = WarnOnce.showWarning(PamController.getMainFrame(), title, msg, WarnOnce.OK_OPTION, null, null, "Cancel Import", null);
// if (ans == WarnOnce.OK_OPTION) { // if (ans == WarnOnce.OK_OPTION) {
break; break;
// } // }