mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-29 02:22:22 +00:00
Merge branch 'main' of https://github.com/PAMGuard/PAMGuard.git into main
This commit is contained in:
commit
4a75afc414
31
README.html
31
README.html
@ -368,8 +368,8 @@ should be something like:</p>
|
|||||||
-Xms384m -Xmx4096m -Djava.library.path=lib64 -jar Pamguard_xxxxxx.jar</span></em></p>
|
-Xms384m -Xmx4096m -Djava.library.path=lib64 -jar Pamguard_xxxxxx.jar</span></em></p>
|
||||||
|
|
||||||
<p class=MsoNormal>The -Xms384m -Xmx4096m 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 "lib64" for the required shared libraries (change
|
look in the folder called "lib64" for the required shared libraries (change
|
||||||
@ -381,8 +381,8 @@ a "-m" or "-v" to the list of java arguments. On Windows
|
|||||||
just run the appropriately named executable (e.g. PamguardBeta_MixedMode.exe or
|
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 -Xms384m
|
<p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>java
|
||||||
-Xmx4096m -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'> </span></em></p>
|
<p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'> </span></em></p>
|
||||||
|
|
||||||
@ -452,9 +452,8 @@ lang=EN-US>Latest Version 2.02.05 October 2022</span></h1>
|
|||||||
|
|
||||||
<p class=MsoNormal><span lang=EN-US>Changes to GUI to make dialog shorter for
|
<p class=MsoNormal><span lang=EN-US>Changes to GUI to make dialog shorter for
|
||||||
low DPI screens. </span></p>
|
low DPI screens. </span></p>
|
||||||
|
<p class=MsoNormal><span lang=EN-US>Complete rewrite of the classification
|
||||||
<p class=MsoNormal><span lang=EN-US>Complete rewrite of the classification system
|
system to have nested classifiers which can be enabled or disabled. </span></p>
|
||||||
to have nested classifiers which can be enabled or disabled. </span></p>
|
|
||||||
|
|
||||||
<p class=MsoNormal><span lang=EN-US>Changes to classification GUI to
|
<p class=MsoNormal><span lang=EN-US>Changes to classification GUI to
|
||||||
accommodate the new classification system.</span></p>
|
accommodate the new classification system.</span></p>
|
||||||
@ -535,7 +534,7 @@ running in real time. Added template names based on file names. </p>
|
|||||||
<p class=MsoNormal>#13 Merging files when offline processing file folders: Had
|
<p class=MsoNormal>#13 Merging files when offline processing file folders: Had
|
||||||
an error introduced in last release which caused it to fail to recognise gaps
|
an error introduced in last release which caused it to fail to recognise gaps
|
||||||
between files, meaning that some output data (i.e. after a gap) would have an
|
between files, meaning that some output data (i.e. after a gap) would have an
|
||||||
incorrect time stamp. This did not affect data if the merge contiguous files
|
incorrect time stamp. This did not affect data if the Âmerge contiguous filesÂ
|
||||||
option was not selected. </p>
|
option was not selected. </p>
|
||||||
|
|
||||||
<p class=MsoNormal>#14 Logger forms data were not plotting correctly. This was
|
<p class=MsoNormal>#14 Logger forms data were not plotting correctly. This was
|
||||||
@ -609,7 +608,7 @@ href="http://www.pamguard.org/downloads.php?cat_id=3">here</a>.</p>
|
|||||||
<p class=MsoNormal><b><span lang=EN-US>Detection Group Localiser</span></b><span
|
<p class=MsoNormal><b><span lang=EN-US>Detection Group Localiser</span></b><span
|
||||||
lang=EN-US> </span></p>
|
lang=EN-US> </span></p>
|
||||||
|
|
||||||
<p class=MsoNormal>This module has been renamed Detection Grouper, so as to
|
<p class=MsoNormal>This module has been renamed ÂDetection GrouperÂ, so as to
|
||||||
avoid confusion with the Group 3D localizer. This is because the Detection
|
avoid confusion with the Group 3D localizer. This is because the Detection
|
||||||
Grouper is more for organizing data into groups to be localized than it is for
|
Grouper is more for organizing data into groups to be localized than it is for
|
||||||
doing localization.</p>
|
doing localization.</p>
|
||||||
@ -730,9 +729,9 @@ included in a future release. </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'> </span>
|
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> </span>
|
||||||
An implementation of the Generalized Power Law Detector, developed by Tyler
|
An implementation of the Generalized Power Law Detector, developed by Tyler
|
||||||
Helble ([Helble et al., A generalized power-law detection algorithm for humpback
|
Helble ([Helble et al., ÂA generalized power-law detection algorithm for humpback
|
||||||
whale vocalizations, The Journal of the Acoustical Society of America, vol.
|
whale vocalizationsÂ, The Journal of the Acoustical Society of America, vol.
|
||||||
131, no. 4, pp. 26822699, 2012) is now available. For details, see the online
|
131, no. 4, pp. 2682Â2699, 2012) is now available. For details, see the online
|
||||||
help </p>
|
help </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
|
||||||
@ -1996,7 +1995,7 @@ file format is the addition of a Unique Data Identifier (UID) to each unit of
|
|||||||
data. This is intended to aid in offline analysis by making it easier for the
|
data. This is intended to aid in offline analysis by making it easier for the
|
||||||
user to link what they are seeing on different PAMGuard displays and also to
|
user to link what they are seeing on different PAMGuard displays and also to
|
||||||
link with any data post processed in Matlab or other custom analysis software.
|
link with any data post processed in Matlab or other custom analysis software.
|
||||||
UIDs are also added to PAMGuard database tables. </span></p>
|
UIDÂs are also added to PAMGuard database tables. </span></p>
|
||||||
|
|
||||||
<h4><span lang=EN-US>Converting Old Data</span></h4>
|
<h4><span lang=EN-US>Converting Old Data</span></h4>
|
||||||
|
|
||||||
@ -2004,13 +2003,13 @@ UIDs are also added to PAMGuard database tables. </span></p>
|
|||||||
viewer they will automatically be converted. For safety, the original binary
|
viewer they will automatically be converted. For safety, the original binary
|
||||||
files will not be overwritten and the new data will be placed in a new folder
|
files will not be overwritten and the new data will be placed in a new folder
|
||||||
on your computer with the same path as the old data, but suffixed with
|
on your computer with the same path as the old data, but suffixed with
|
||||||
_WithUID, e.g. if your binary data were previously stored in the folder
|
Â_WithUIDÂ, e.g. if your binary data were previously stored in the folder
|
||||||
C:\MySurvey\binarydata the new data will be written to
|
C:\MySurvey\binarydata the new data will be written to
|
||||||
C:\MySurvey\binarydata_WithUID. </span></p>
|
C:\MySurvey\binarydata_WithUID. </span></p>
|
||||||
|
|
||||||
<p class=MsoNormal><span lang=EN-US>The additional UID column will be added to
|
<p class=MsoNormal><span lang=EN-US>The additional UID column will be added to
|
||||||
all database tables and populated with unique values. For data which are stored
|
all database tables and populated with unique values. For data which are stored
|
||||||
in both the binary files and in database tables, the same UIDs will be used in
|
in both the binary files and in database tables, the same UIDÂs will be used in
|
||||||
both data stores. </span></p>
|
both data stores. </span></p>
|
||||||
|
|
||||||
<h3><span lang=EN-US>New Displays</span></h3>
|
<h3><span lang=EN-US>New Displays</span></h3>
|
||||||
@ -2245,7 +2244,7 @@ November 2016</span></h1>
|
|||||||
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>1.
|
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>1.
|
||||||
Bug 303. Some ASIO sound cards not working with either ASIO system in PAMGuard.
|
Bug 303. Some ASIO sound cards not working with either ASIO system in PAMGuard.
|
||||||
For the PAMGuard ASIO system, this was due to a data format used by some sound
|
For the PAMGuard ASIO system, this was due to a data format used by some sound
|
||||||
cards never being properly implemented. For the New ASIO system which is
|
cards never being properly implemented. For the ÂNew ASIO system which is
|
||||||
based on jAsioHost, the unpacking of that format contained a bug which returned
|
based on jAsioHost, the unpacking of that format contained a bug which returned
|
||||||
incorrect numbers, so data were swamped with noise. Both systems are now fixed.
|
incorrect numbers, so data were swamped with noise. Both systems are now fixed.
|
||||||
By preference, users should use the PAMGuard ASIO system since the JAsioHost
|
By preference, users should use the PAMGuard ASIO system since the JAsioHost
|
||||||
|
@ -17,6 +17,7 @@ import javax.swing.Timer;
|
|||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
|
import Acquisition.FolderInputSystem;
|
||||||
import PamController.PamControlledUnit;
|
import PamController.PamControlledUnit;
|
||||||
import PamController.PamControlledUnitSettings;
|
import PamController.PamControlledUnitSettings;
|
||||||
import PamController.PamController;
|
import PamController.PamController;
|
||||||
@ -24,6 +25,7 @@ import PamController.PamControllerInterface;
|
|||||||
import PamController.PamSettingManager;
|
import PamController.PamSettingManager;
|
||||||
import PamController.PamSettings;
|
import PamController.PamSettings;
|
||||||
import PamController.command.CommandManager;
|
import PamController.command.CommandManager;
|
||||||
|
import PamUtils.FileFunctions;
|
||||||
import PamUtils.PamCalendar;
|
import PamUtils.PamCalendar;
|
||||||
import PamUtils.PamUtils;
|
import PamUtils.PamUtils;
|
||||||
import PamView.MenuItemEnabler;
|
import PamView.MenuItemEnabler;
|
||||||
@ -35,6 +37,7 @@ import SoundRecorder.trigger.RecorderTrigger;
|
|||||||
import SoundRecorder.trigger.RecorderTriggerData;
|
import SoundRecorder.trigger.RecorderTriggerData;
|
||||||
import SoundRecorder.trigger.TriggerDecisionMaker;
|
import SoundRecorder.trigger.TriggerDecisionMaker;
|
||||||
import backupmanager.BackupInformation;
|
import backupmanager.BackupInformation;
|
||||||
|
import pamguard.GlobalArguments;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Control a sound file recorder. The sound file recorder has two
|
* Control a sound file recorder. The sound file recorder has two
|
||||||
@ -434,9 +437,51 @@ public class RecorderControl extends PamControlledUnit implements PamSettings {
|
|||||||
public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings) {
|
public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings) {
|
||||||
recorderSettings = ((RecorderSettings) pamControlledUnitSettings.getSettings()).clone();
|
recorderSettings = ((RecorderSettings) pamControlledUnitSettings.getSettings()).clone();
|
||||||
newParams();
|
newParams();
|
||||||
|
/*
|
||||||
|
* Then check to see if there is a command line override of the currently stored folder name.
|
||||||
|
*/
|
||||||
|
String globFolder = GlobalArguments.getParam(FolderInputSystem.GlobalWavFolderArg);
|
||||||
|
if (globFolder != null) {
|
||||||
|
boolean ok = checkGlobFolder(globFolder);
|
||||||
|
if (ok) {
|
||||||
|
recorderSettings.setOutputFolder(globFolder); // remember it.
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
System.err.println("Unable to set recording storage folder " + globFolder);
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set and create if necessary the global folder.
|
||||||
|
* @param globFolder
|
||||||
|
*/
|
||||||
|
private boolean checkGlobFolder(String globFolder) {
|
||||||
|
File outFold = new File(globFolder);
|
||||||
|
if (outFold.exists()) {
|
||||||
|
if (outFold.isDirectory()) {
|
||||||
|
return true; // all OK
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return false; // it must be a file - that's bad !
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// try to create it.
|
||||||
|
try {
|
||||||
|
if (outFold.mkdirs()) {
|
||||||
|
FileFunctions.setNonIndexingBit(outFold);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return false; // unable to make the folder.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
System.err.println("Can't set recording store folder: " + e.getLocalizedMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a recorder trigger to this recorderControl. This can either be called
|
* Adds a recorder trigger to this recorderControl. This can either be called
|
||||||
|
@ -64,6 +64,10 @@ public class RecorderSettings implements Serializable, Cloneable, ManagedParamet
|
|||||||
*/
|
*/
|
||||||
public String outputFolder;
|
public String outputFolder;
|
||||||
|
|
||||||
|
public void setOutputFolder(String outputFolder) {
|
||||||
|
this.outputFolder = outputFolder;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initials to add to the start of a file name, the rest
|
* Initials to add to the start of a file name, the rest
|
||||||
* of which is made up from the date.
|
* of which is made up from the date.
|
||||||
|
@ -17,6 +17,7 @@ import Acquisition.DaqSystem;
|
|||||||
import Acquisition.AudioDataQueue;
|
import Acquisition.AudioDataQueue;
|
||||||
import PamController.PamControlledUnitSettings;
|
import PamController.PamControlledUnitSettings;
|
||||||
import PamController.PamController;
|
import PamController.PamController;
|
||||||
|
import PamController.PamGUIManager;
|
||||||
import PamController.PamSettingManager;
|
import PamController.PamSettingManager;
|
||||||
import PamController.PamSettings;
|
import PamController.PamSettings;
|
||||||
import PamDetection.RawDataUnit;
|
import PamDetection.RawDataUnit;
|
||||||
@ -192,7 +193,12 @@ public class SmruDaqSystem extends DaqSystem implements PamSettings {
|
|||||||
+ " in another instance of PAMGuard. \n"
|
+ " in another instance of PAMGuard. \n"
|
||||||
+ "Check that no other instances of PAMGuard are open and try again. \nIf no other instances of PAMGuard are open "
|
+ "Check that no other instances of PAMGuard are open and try again. \nIf no other instances of PAMGuard are open "
|
||||||
+ "then you should cycle the power on the card(s) and restart PAMGuard");
|
+ "then you should cycle the power on the card(s) and restart PAMGuard");
|
||||||
|
if (PamGUIManager.getGUIType() == PamGUIManager.NOGUI) {
|
||||||
|
System.out.println(msg);
|
||||||
|
}
|
||||||
|
else {
|
||||||
JOptionPane.showMessageDialog(daqControl.getGuiFrame(), msg, daqControl.getUnitName() + " Error", JOptionPane.ERROR_MESSAGE);
|
JOptionPane.showMessageDialog(daqControl.getGuiFrame(), msg, daqControl.getUnitName() + " Error", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
PamController.getInstance().stopLater();
|
PamController.getInstance().stopLater();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -278,7 +278,7 @@ public class WhistleBinaryDataSource extends BinaryDataSource {
|
|||||||
* If we're n network receive mode, we can't do this until
|
* If we're n network receive mode, we can't do this until
|
||||||
* channel numbers have been reassigned.
|
* channel numbers have been reassigned.
|
||||||
*/
|
*/
|
||||||
if (runMode == PamController.RUN_PAMVIEW && delays != null) {
|
if ((runMode == PamController.RUN_PAMVIEW || runMode == PamController.RUN_NOTHING) && delays != null) {
|
||||||
ShapeConnector shapeConnector = wmDetector.findShapeConnector(channelMap);
|
ShapeConnector shapeConnector = wmDetector.findShapeConnector(channelMap);
|
||||||
if (shapeConnector != null) {
|
if (shapeConnector != null) {
|
||||||
BearingLocaliser bl = shapeConnector.getBearingLocaliser();
|
BearingLocaliser bl = shapeConnector.getBearingLocaliser();
|
||||||
|
Loading…
Reference in New Issue
Block a user