Squashed commit of the following:

commit 67060016c2
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Oct 21 12:26:42 2022 +0100

    REsolve issues in binayUIDFunctions

commit 61c3d80f30
Merge: 1de5ec6 4473d1b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Oct 21 12:23:08 2022 +0100

    Merge branch 'main' of https://github.com/PAMGuard/PAMGuard.git into main

commit 1de5ec6e11
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Oct 21 12:22:09 2022 +0100

    Change error reporting in Binary UID functions

    Message on screen rather than stack trace since it's normal when a psfx
    moves to a different pc

commit 4473d1b1bf
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Oct 21 11:12:04 2022 +0100

    Merge from DG (#77)

    * Work on bug fixes in CTD classifier

    * couple of final neatenings up of CTD

    * DWV Import

    Fixed DWV importer so that a binary file is still created if a DWV file
    doesn't exist. this is totally normal in quiet conditions, so the
    correct thing to do is to generate a binary file with no data so that
    effort is correctly recorded.

    * 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.

commit 63cc66a4b1
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Oct 18 17:04:16 2022 +0100

    Merge from DG (#76)

    * Work on bug fixes in CTD classifier

    * couple of final neatenings up of CTD

    * DWV Import

    Fixed DWV importer so that a binary file is still created if a DWV file
    doesn't exist. this is totally normal in quiet conditions, so the
    correct thing to do is to generate a binary file with no data so that
    effort is correctly recorded.

commit e4faed5cfc
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Oct 4 11:18:37 2022 +0100

    Add exitnosave command

    Add command for UDP or terminal control which will exit PAMGuard without
    first saving the settings

commit f4f7cc59b6
Author: Jamie Mac <macster110@gmail.com>
Date:   Mon Oct 3 14:30:22 2022 +0100

    Fix to click trian detector (#75)

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Create click_train_help.md

    * Update click_train_help.md

    * Screenshots

    * Update click_train_help.md

    * Update click_train_help.md

    * Update click_train_help.md

    * More screenshots

    * Add screenshots

    * Update click_train_help.md

    * Add classifier screenshot

    * Update click_train_help.md

    * Update click_train_help.md

    * Update click_train_help.md

    * Updates and bug fixes to click train detector and CPOD importer

    * Update click_train_help.md

    * Update POM with latest jdl4pam

    * Add screenshots for click train detector help

    * Screenshots

    * Update click_train_help.md

    * Defult option for CPOD and porpoise to click train detector.

    Also a minor

    * Update pom.xml

    * Bug fix for raw spectrogram in TDDisplayFX

    * Update KetosClassifier.java

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Create click_train_help.md

    * Update click_train_help.md

    * Screenshots

    * Update click_train_help.md

    * More screenshots

    * Update click_train_help.md

    * Update click_train_help.md

    * Add screenshots

    * Add classifier screenshot

    * Update click_train_help.md

    * Updates and bug fixes to click train detector and CPOD importer

    * Update click_train_help.md

    * Update click_train_help.md

    * Update click_train_help.md

    * Update click_train_help.md

    * Add screenshots for click train detector help

    * Screenshots

    * Update click_train_help.md

    * Defult option for CPOD and porpoise to click train detector.

    Also a minor

    * Bug fix for raw spectrogram in TDDisplayFX

    * Update KetosClassifier.java

    * Fix standard classifier JSON logging

    * Update click_train_help.md

    * Fixed bug in sweep classifier when using SoundTrap click detections

    * Added some colour averaging in the TFDisplayFX spectrgoram

    * Bug fix for rainbow click bearings

    Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

    * Google humpback whale deep learning classifier

    Google's humpback whale deep learning classifier can now be imported.
    Updated TDisplayFX to make the data selection panes cleaner and clearer.
    Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

    * Updated the prediction plots on time display

    Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

    * Updates to TDisplayFX

    yFIshmael now owrks with TDisplayFX
    TDisplayFX UI changes to make simpler.
    Some abstraction for drawing lines on TDisplayFX

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Create click_train_help.md

    * Update click_train_help.md

    * Screenshots

    * Update click_train_help.md

    * More screenshots

    * Update click_train_help.md

    * Update click_train_help.md

    * Add screenshots

    * Add classifier screenshot

    * Update click_train_help.md

    * Updates and bug fixes to click train detector and CPOD importer

    * Update click_train_help.md

    * Update click_train_help.md

    * Update click_train_help.md

    * Update click_train_help.md

    * Add screenshots for click train detector help

    * Screenshots

    * Update click_train_help.md

    * Defult option for CPOD and porpoise to click train detector.

    Also a minor

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Create click_train_help.md

    * Update click_train_help.md

    * Update click_train_help.md

    * Updates and bug fixes to click train detector and CPOD importer

    * Bug fix for raw spectrogram in TDDisplayFX

    * Update KetosClassifier.java

    * Fix standard classifier JSON logging

    * Fixed bug in sweep classifier when using SoundTrap click detections

    * Added some colour averaging in the TFDisplayFX spectrgoram

    * Bug fix for rainbow click bearings

    Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

    * Google humpback whale deep learning classifier

    Google's humpback whale deep learning classifier can now be imported.
    Updated TDisplayFX to make the data selection panes cleaner and clearer.
    Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

    * Updated the prediction plots on time display

    Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

    * Updates to TDisplayFX

    yFIshmael now owrks with TDisplayFX
    TDisplayFX UI changes to make simpler.
    Some abstraction for drawing lines on TDisplayFX

    * Merge fixes to click train detector

    * Bug fix to UI

    * Updates to FX GUI

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Screenshots

    * Updates and bug fixes to click train detector and CPOD importer

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Updates and bug fixes to click train detector and CPOD importer

    * Fix standard classifier JSON logging

    * Merge fixes to click train detector

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Screenshots

    * Updates and bug fixes to click train detector and CPOD importer

    * Updates to click train detector

    New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
    CPOD data can now build average waveforms.
    CPOD click trains can be viewed in TDisplayFX pop up menu displays
    Fixed Peak Frequency symbol chooser so it saves the colour box settings

    * Screenshots

    * Updates and bug fixes to click train detector and CPOD importer

    * Fix standard classifier JSON logging

    * Google humpback whale deep learning classifier

    Google's humpback whale deep learning classifier can now be imported.
    Updated TDisplayFX to make the data selection panes cleaner and clearer.
    Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

    * Bug fix to UI

    * Bug fixes to FX GUI

    * Updates to click train detector

    * Squashed commit of the following:

    commit 9f998165ee
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Mon May 2 19:40:24 2022 +0100

        Updates to support ContactCollator plugin (#33)

        * Change synchronization on RawDataTransforms soit uses the owner data
        holder, not itself for synchronization. Otherwise you get thread locks.

        * fix problem in SummaryComand

        * Update command line options

        * Change synchronization on RawDataTransforms soit uses the owner data
        holder, not itself for synchronization. Otherwise you get thread locks.

        * Update command line options

        * Update DecimatorParams.java

        * couple of updates to support new contact collator plugin

        * Sorting out sample rate info in clip display to support Contact Collator
        plugin

        * FLAC Speed

        Improve flac speed

        * Update .gitignore

        * Update .gitignore

        * Updates to support new features in Contact Collator

        * Small update to RawDatautils to handle null data

    * Updates to click train detector

    * Squashed commit of the following:

    commit 62b020b320
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Sat May 14 06:52:20 2022 +0100

        Add a new offlinefileslist function

    commit 3a9a5311aa
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Apr 27 09:43:31 2022 +0100

        Update .gitignore

    commit 9f998165ee
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Mon May 2 19:40:24 2022 +0100

        Updates to support ContactCollator plugin (#33)

        * Change synchronization on RawDataTransforms soit uses the owner data
        holder, not itself for synchronization. Otherwise you get thread locks.

        * fix problem in SummaryComand

        * Update command line options

        * Change synchronization on RawDataTransforms soit uses the owner data
        holder, not itself for synchronization. Otherwise you get thread locks.

        * Update command line options

        * Update DecimatorParams.java

        * couple of updates to support new contact collator plugin

        * Sorting out sample rate info in clip display to support Contact Collator
        plugin

        * FLAC Speed

        Improve flac speed

        * Update .gitignore

        * Update .gitignore

        * Updates to support new features in Contact Collator

        * Small update to RawDatautils to handle null data

    * Updated data selector for click train detector

    * Click train detector updates and bug fixes

    Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

    Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

    * Bug fix and improvements for Ketos

    Ketos models now automatically set the correct sample length when loaded.

    Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

    * Updates to deep learning and FX GUI

    Added some more example sounds to deep learning UI.

    Updated click detector in the FX GUI.

    * PAMGuard FX sound output update

    * Updates to FX GUI

    * Updates to FX GUI

    * Update RawDataTransforms.java

    * Fixes to FX UI

    * Squashed commit of the following:

    commit 11ba8bf91e
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Aug 4 11:45:47 2022 +0100

        MErge from DG Branch (#47)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

        * Click detector display fixes

        1. ICI not displaying correctly
        2. Component sizes in display dialog on hres monitors

        * Work on batch processing, after testing of options to autostart,
        autoexit and set wav file folder, database and binary store.

        * Update MHTClickTrainAlgorithm.java

        Fix unsynchronised access to a datablock in click train detector which was causing index errors.

        * Revamp of offline process messaging and control

        Includes some databsae logging of completed tasks

        * Offline task logging

        Bit more work, including notes and database storage of task
        reprocessing. Guess this could all become 'proper' PAMGuard data and be
        shown in a table on the display but that not priority enough.

        * Dialog packing

        Fix a couple of dialogs which don't back well on HDPI monitors

        * UDP Control

        Added multiport functionality

    commit 9a9f542d95
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Aug 4 11:42:45 2022 +0100

        Merge DG to Main (#46)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

        * Click detector display fixes

        1. ICI not displaying correctly
        2. Component sizes in display dialog on hres monitors

        * Work on batch processing, after testing of options to autostart,
        autoexit and set wav file folder, database and binary store.

        * Update MHTClickTrainAlgorithm.java

        Fix unsynchronised access to a datablock in click train detector which was causing index errors.

        * Revamp of offline process messaging and control

        Includes some databsae logging of completed tasks

        * Offline task logging

        Bit more work, including notes and database storage of task
        reprocessing. Guess this could all become 'proper' PAMGuard data and be
        shown in a table on the display but that not priority enough.

        * Dialog packing

        Fix a couple of dialogs which don't back well on HDPI monitors

        * UDP Control

        Added multiport functionality

    commit 49cd547aee
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Aug 4 11:40:29 2022 +0100

        Merge DG branch (#45)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

        * Click detector display fixes

        1. ICI not displaying correctly
        2. Component sizes in display dialog on hres monitors

        * Work on batch processing, after testing of options to autostart,
        autoexit and set wav file folder, database and binary store.

        * Update MHTClickTrainAlgorithm.java

        Fix unsynchronised access to a datablock in click train detector which was causing index errors.

        * Revamp of offline process messaging and control

        Includes some databsae logging of completed tasks

        * Offline task logging

        Bit more work, including notes and database storage of task
        reprocessing. Guess this could all become 'proper' PAMGuard data and be
        shown in a table on the display but that not priority enough.

        * Dialog packing

        Fix a couple of dialogs which don't back well on HDPI monitors

        * UDP Control

        Added multiport functionality

    commit 016cfd0da5
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Aug 4 11:35:06 2022 +0100

        Dialog positioning

        New functions to better positions dialogs on screen

    commit c9f2ab3e97
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Mon Aug 1 11:13:24 2022 +0100

        puch to main (#44)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

        * Click detector display fixes

        1. ICI not displaying correctly
        2. Component sizes in display dialog on hres monitors

        * Work on batch processing, after testing of options to autostart,
        autoexit and set wav file folder, database and binary store.

        * Update MHTClickTrainAlgorithm.java

        Fix unsynchronised access to a datablock in click train detector which was causing index errors.

        * Revamp of offline process messaging and control

        Includes some databsae logging of completed tasks

        * Offline task logging

        Bit more work, including notes and database storage of task
        reprocessing. Guess this could all become 'proper' PAMGuard data and be
        shown in a table on the display but that not priority enough.

        * Dialog packing

        Fix a couple of dialogs which don't back well on HDPI monitors

    commit 55f5a3fcf1
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Mon Aug 1 10:59:36 2022 +0100

        Group detections menu

        Small changes to limit the number of menu items in "Add to existing
        group" to a maximum of 25 entries.

    commit b3f6c0e665
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Jul 29 10:50:45 2022 +0100

        Handle -nogui option in PamWorker

        PamWorker used to catalog files at startup (if a file folder input
        system is used). This creates a progress dialog. Stop it appearing in
        -nogui operations.

    commit 8569b6b579
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Jul 22 08:30:47 2022 +0100

        Click display fixes (#41)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

        * Click detector display fixes

        1. ICI not displaying correctly
        2. Component sizes in display dialog on hres monitors

    commit 128a512ff6
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Jul 19 16:37:57 2022 +0100

        Another attempt at stopping it crashing on a headless system

        Dealing with displays that get created for clickangle vetos and a call
        to the gui in the click train detector.

    commit 6eaa6e4978
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Jul 19 08:20:07 2022 +0100

        nogoi fix for headless systems. (#40)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

    commit 9fdd30556b
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Jul 12 15:53:07 2022 +0100

        Variable sound output level (#39)

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

    * Bug fixes to click train detector

    Fixed bug with number of coasts in the MHT Kernel
    Added an option for amplitude to have a maximum
    Removed print statements.

    * Bug fix for click train logging

    The size of the string classifers field was dynamically set - this was a bug.

    * Bug fixes to the click train detector

    Bearing classifier section now updates properly when dialog reopened
    Fixed rare bug when garbage bot attempts to find the last data unit in a list of zero units.

    * Squashed commit of the following:

    commit 5a37bfe915
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Aug 19 08:17:06 2022 +0100

        Changes from DG branch (#50)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

        * Click detector display fixes

        1. ICI not displaying correctly
        2. Component sizes in display dialog on hres monitors

        * Work on batch processing, after testing of options to autostart,
        autoexit and set wav file folder, database and binary store.

        * Update MHTClickTrainAlgorithm.java

        Fix unsynchronised access to a datablock in click train detector which was causing index errors.

        * Revamp of offline process messaging and control

        Includes some databsae logging of completed tasks

        * Offline task logging

        Bit more work, including notes and database storage of task
        reprocessing. Guess this could all become 'proper' PAMGuard data and be
        shown in a table on the display but that not priority enough.

        * Dialog packing

        Fix a couple of dialogs which don't back well on HDPI monitors

        * UDP Control

        Added multiport functionality

        * Java version

        Changes unpacker to deal with non numeric characters on Linux

        * Fix to getVersion()

        So new version of this command should now work on Linux and Windows.

        * Multiport test

        Quick tester for multiport comms

        * Spectrogram display

        Stop spectrogram display continually recreating panels since it was
        unsubscribing discarded ones and sometimes causing crash in observable
        notifications.

        * Backup manager bug

        Error if no database. Fixed.

    commit b08e86e330
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Wed Aug 17 09:16:52 2022 +0100

        Bug fix for click train detector (#49)

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * More screenshots

        * Add screenshots

        * Update click_train_help.md

        * Add classifier screenshot

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update POM with latest jdl4pam

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Update pom.xml

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Update click_train_help.md

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Merge fixes to click train detector

        * Bug fix to UI

        * Updates to FX GUI

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Merge fixes to click train detector

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Bug fix to UI

        * Bug fixes to FX GUI

        * Updates to click train detector

        * Squashed commit of the following:

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updates to click train detector

        * Squashed commit of the following:

        commit 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updated data selector for click train detector

        * Click train detector updates and bug fixes

        Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

        Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

        * Bug fix and improvements for Ketos

        Ketos models now automatically set the correct sample length when loaded.

        Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

        * Updates to deep learning and FX GUI

        Added some more example sounds to deep learning UI.

        Updated click detector in the FX GUI.

        * PAMGuard FX sound output update

        * Updates to FX GUI

        * Updates to FX GUI

        * Update RawDataTransforms.java

        * Fixes to FX UI

        * Squashed commit of the following:

        commit 11ba8bf91e
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:45:47 2022 +0100

            MErge from DG Branch (#47)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 9a9f542d95
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:42:45 2022 +0100

            Merge DG to Main (#46)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 49cd547aee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:40:29 2022 +0100

            Merge DG branch (#45)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 016cfd0da5
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:35:06 2022 +0100

            Dialog positioning

            New functions to better positions dialogs on screen

        commit c9f2ab3e97
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 11:13:24 2022 +0100

            puch to main (#44)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

        commit 55f5a3fcf1
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 10:59:36 2022 +0100

            Group detections menu

            Small changes to limit the number of menu items in "Add to existing
            group" to a maximum of 25 entries.

        commit b3f6c0e665
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 29 10:50:45 2022 +0100

            Handle -nogui option in PamWorker

            PamWorker used to catalog files at startup (if a file folder input
            system is used). This creates a progress dialog. Stop it appearing in
            -nogui operations.

        commit 8569b6b579
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 22 08:30:47 2022 +0100

            Click display fixes (#41)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

        commit 128a512ff6
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 16:37:57 2022 +0100

            Another attempt at stopping it crashing on a headless system

            Dealing with displays that get created for clickangle vetos and a call
            to the gui in the click train detector.

        commit 6eaa6e4978
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 08:20:07 2022 +0100

            nogoi fix for headless systems. (#40)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

        commit 9fdd30556b
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 12 15:53:07 2022 +0100

            Variable sound output level (#39)

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

        * Bug fixes to click train detector

        Fixed bug with number of coasts in the MHT Kernel
        Added an option for amplitude to have a maximum
        Removed print statements.

        * Bug fix for click train logging

        The size of the string classifers field was dynamically set - this was a bug.

        Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

    commit ef0330173b
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Mon Aug 8 10:32:19 2022 +0100

        Click trian detector fixes (#48)

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * More screenshots

        * Add screenshots

        * Update click_train_help.md

        * Add classifier screenshot

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update POM with latest jdl4pam

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Update pom.xml

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Update click_train_help.md

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Merge fixes to click train detector

        * Bug fix to UI

        * Updates to FX GUI

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Merge fixes to click train detector

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Bug fix to UI

        * Bug fixes to FX GUI

        * Updates to click train detector

        * Squashed commit of the following:

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updates to click train detector

        * Squashed commit of the following:

        commit 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updated data selector for click train detector

        * Click train detector updates and bug fixes

        Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

        Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

        * Bug fix and improvements for Ketos

        Ketos models now automatically set the correct sample length when loaded.

        Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

        * Updates to deep learning and FX GUI

        Added some more example sounds to deep learning UI.

        Updated click detector in the FX GUI.

        * PAMGuard FX sound output update

        * Updates to FX GUI

        * Updates to FX GUI

        * Update RawDataTransforms.java

        * Fixes to FX UI

        * Squashed commit of the following:

        commit 11ba8bf91e
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:45:47 2022 +0100

            MErge from DG Branch (#47)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 9a9f542d95
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:42:45 2022 +0100

            Merge DG to Main (#46)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 49cd547aee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:40:29 2022 +0100

            Merge DG branch (#45)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 016cfd0da5
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:35:06 2022 +0100

            Dialog positioning

            New functions to better positions dialogs on screen

        commit c9f2ab3e97
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 11:13:24 2022 +0100

            puch to main (#44)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

        commit 55f5a3fcf1
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 10:59:36 2022 +0100

            Group detections menu

            Small changes to limit the number of menu items in "Add to existing
            group" to a maximum of 25 entries.

        commit b3f6c0e665
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 29 10:50:45 2022 +0100

            Handle -nogui option in PamWorker

            PamWorker used to catalog files at startup (if a file folder input
            system is used). This creates a progress dialog. Stop it appearing in
            -nogui operations.

        commit 8569b6b579
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 22 08:30:47 2022 +0100

            Click display fixes (#41)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

        commit 128a512ff6
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 16:37:57 2022 +0100

            Another attempt at stopping it crashing on a headless system

            Dealing with displays that get created for clickangle vetos and a call
            to the gui in the click train detector.

        commit 6eaa6e4978
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 08:20:07 2022 +0100

            nogoi fix for headless systems. (#40)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

        commit 9fdd30556b
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 12 15:53:07 2022 +0100

            Variable sound output level (#39)

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

        * Bug fixes to click train detector

        Fixed bug with number of coasts in the MHT Kernel
        Added an option for amplitude to have a maximum
        Removed print statements.

        Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

    * Update DLModelWorker.java

    * Create matched_click_classifer_help.md

    * Update help files for matched click classifier

    * Update matched_click_classifer_help.md

    * Update matched_click_classifer_help.md

    * New screenshots got help files

    * New screenshot

    * Update matched_click_classifer_help.md

    New help file for the matched click classified.

    * Update matched_click_classifer_help.md

    * Squashed commit of the following:

    commit 6b15b3d536
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Aug 23 15:21:28 2022 +0100

        Change min java version to 11 which should be ok on some embedded
        systems.

    commit 4b3a37636b
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Aug 23 14:30:46 2022 +0100

        CTD Fixes

        Couple more fixes to menus and datablock selection

    commit c641c58e4f
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Tue Aug 23 14:19:28 2022 +0100

        Bug fixes to click train detector (#51)

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * More screenshots

        * Add screenshots

        * Update click_train_help.md

        * Add classifier screenshot

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update POM with latest jdl4pam

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Update pom.xml

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Update click_train_help.md

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Merge fixes to click train detector

        * Bug fix to UI

        * Updates to FX GUI

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Merge fixes to click train detector

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Bug fix to UI

        * Bug fixes to FX GUI

        * Updates to click train detector

        * Squashed commit of the following:

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updates to click train detector

        * Squashed commit of the following:

        commit 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updated data selector for click train detector

        * Click train detector updates and bug fixes

        Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

        Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

        * Bug fix and improvements for Ketos

        Ketos models now automatically set the correct sample length when loaded.

        Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

        * Updates to deep learning and FX GUI

        Added some more example sounds to deep learning UI.

        Updated click detector in the FX GUI.

        * PAMGuard FX sound output update

        * Updates to FX GUI

        * Updates to FX GUI

        * Update RawDataTransforms.java

        * Fixes to FX UI

        * Squashed commit of the following:

        commit 11ba8bf91e
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:45:47 2022 +0100

            MErge from DG Branch (#47)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 9a9f542d95
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:42:45 2022 +0100

            Merge DG to Main (#46)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 49cd547aee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:40:29 2022 +0100

            Merge DG branch (#45)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 016cfd0da5
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:35:06 2022 +0100

            Dialog positioning

            New functions to better positions dialogs on screen

        commit c9f2ab3e97
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 11:13:24 2022 +0100

            puch to main (#44)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

        commit 55f5a3fcf1
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 10:59:36 2022 +0100

            Group detections menu

            Small changes to limit the number of menu items in "Add to existing
            group" to a maximum of 25 entries.

        commit b3f6c0e665
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 29 10:50:45 2022 +0100

            Handle -nogui option in PamWorker

            PamWorker used to catalog files at startup (if a file folder input
            system is used). This creates a progress dialog. Stop it appearing in
            -nogui operations.

        commit 8569b6b579
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 22 08:30:47 2022 +0100

            Click display fixes (#41)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

        commit 128a512ff6
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 16:37:57 2022 +0100

            Another attempt at stopping it crashing on a headless system

            Dealing with displays that get created for clickangle vetos and a call
            to the gui in the click train detector.

        commit 6eaa6e4978
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 08:20:07 2022 +0100

            nogoi fix for headless systems. (#40)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

        commit 9fdd30556b
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 12 15:53:07 2022 +0100

            Variable sound output level (#39)

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

        * Bug fixes to click train detector

        Fixed bug with number of coasts in the MHT Kernel
        Added an option for amplitude to have a maximum
        Removed print statements.

        * Bug fix for click train logging

        The size of the string classifers field was dynamically set - this was a bug.

        * Bug fixes to the click train detector

        Bearing classifier section now updates properly when dialog reopened
        Fixed rare bug when garbage bot attempts to find the last data unit in a list of zero units.

        * Squashed commit of the following:

        commit 5a37bfe915
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Aug 19 08:17:06 2022 +0100

            Changes from DG branch (#50)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

            * Java version

            Changes unpacker to deal with non numeric characters on Linux

            * Fix to getVersion()

            So new version of this command should now work on Linux and Windows.

            * Multiport test

            Quick tester for multiport comms

            * Spectrogram display

            Stop spectrogram display continually recreating panels since it was
            unsubscribing discarded ones and sometimes causing crash in observable
            notifications.

            * Backup manager bug

            Error if no database. Fixed.

        commit b08e86e330
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Wed Aug 17 09:16:52 2022 +0100

            Bug fix for click train detector (#49)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 49cd547aee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:40:29 2022 +0100

                Merge DG branch (#45)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 016cfd0da5
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:35:06 2022 +0100

                Dialog positioning

                New functions to better positions dialogs on screen

            commit c9f2ab3e97
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 11:13:24 2022 +0100

                puch to main (#44)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

            commit 55f5a3fcf1
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 10:59:36 2022 +0100

                Group detections menu

                Small changes to limit the number of menu items in "Add to existing
                group" to a maximum of 25 entries.

            commit b3f6c0e665
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 29 10:50:45 2022 +0100

                Handle -nogui option in PamWorker

                PamWorker used to catalog files at startup (if a file folder input
                system is used). This creates a progress dialog. Stop it appearing in
                -nogui operations.

            commit 8569b6b579
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 22 08:30:47 2022 +0100

                Click display fixes (#41)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

            commit 128a512ff6
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 16:37:57 2022 +0100

                Another attempt at stopping it crashing on a headless system

                Dealing with displays that get created for clickangle vetos and a call
                to the gui in the click train detector.

            commit 6eaa6e4978
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 08:20:07 2022 +0100

                nogoi fix for headless systems. (#40)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

            commit 9fdd30556b
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 12 15:53:07 2022 +0100

                Variable sound output level (#39)

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

            * Bug fixes to click train detector

            Fixed bug with number of coasts in the MHT Kernel
            Added an option for amplitude to have a maximum
            Removed print statements.

            * Bug fix for click train logging

            The size of the string classifers field was dynamically set - this was a bug.

            Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

        commit ef0330173b
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Mon Aug 8 10:32:19 2022 +0100

            Click trian detector fixes (#48)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised …

    * Bug fixes to the matched click classifier

    The matched click classifier was not working when an in built click classifier was used. This was caused by an index out of bounds exception in the alarm system.

    Added new features;
    * The Time base display now exports sample rate to .mat files.
    * Bug fix file separator on time base display so it works on mac and Linux
    * Matched click classifier imports the first click in a list of click structures as a template.
    * Changed default length for restricted bins to 2048.

    * Add picture for help file

    * Update matched_click_classifer_help.md

    * Update matched_click_classifer_help.md

    * Squashed commit of the following:

    commit b01cb4d100
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Sep 13 11:19:31 2022 +0100

        Fix bug in 3DOffline task

        Problems with making catalogue of offline tasks. not important for now,
        but needs revisiting.

    commit ae6e2f947b
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Sep 13 09:12:34 2022 +0100

        Merge Dougs fork (#53)

        * Variable sound output level

        Mods to SoundPlayback module to allow additional parameters. Implemented
        system for NI cards to allow changes to selected output voltage range
        meaning output can be boosted to level higher than current default.

        * Code to support nogui operations when no screens present on headless
        system

        * Fix problem of nogui headless operation trying to access screen size.

        * Click detector display fixes

        1. ICI not displaying correctly
        2. Component sizes in display dialog on hres monitors

        * Work on batch processing, after testing of options to autostart,
        autoexit and set wav file folder, database and binary store.

        * Update MHTClickTrainAlgorithm.java

        Fix unsynchronised access to a datablock in click train detector which was causing index errors.

        * Revamp of offline process messaging and control

        Includes some databsae logging of completed tasks

        * Offline task logging

        Bit more work, including notes and database storage of task
        reprocessing. Guess this could all become 'proper' PAMGuard data and be
        shown in a table on the display but that not priority enough.

        * Dialog packing

        Fix a couple of dialogs which don't back well on HDPI monitors

        * UDP Control

        Added multiport functionality

        * Java version

        Changes unpacker to deal with non numeric characters on Linux

        * Fix to getVersion()

        So new version of this command should now work on Linux and Windows.

        * Multiport test

        Quick tester for multiport comms

        * Spectrogram display

        Stop spectrogram display continually recreating panels since it was
        unsubscribing discarded ones and sometimes causing crash in observable
        notifications.

        * Backup manager bug

        Error if no database. Fixed.

        * Daylight saving problem

        Fix daylight saving problem in generation of timestamps in SQLTypes. See long explanation in SQLTypes.java. Only occurred in the hour after daylight saving starts.

    commit cd89c65d7c
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Sep 13 09:07:11 2022 +0100

        Fix synchronization problem in RawDataTransfroms

    commit 6b15b3d536
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Aug 23 15:21:28 2022 +0100

        Change min java version to 11 which should be ok on some embedded
        systems.

    commit 4b3a37636b
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Aug 23 14:30:46 2022 +0100

        CTD Fixes

        Couple more fixes to menus and datablock selection

    commit c641c58e4f
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Tue Aug 23 14:19:28 2022 +0100

        Bug fixes to click train detector (#51)

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * More screenshots

        * Add screenshots

        * Update click_train_help.md

        * Add classifier screenshot

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update POM with latest jdl4pam

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Update pom.xml

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Update click_train_help.md

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Merge fixes to click train detector

        * Bug fix to UI

        * Updates to FX GUI

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Merge fixes to click train detector

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Bug fix to UI

        * Bug fixes to FX GUI

        * Updates to click train detector

        * Squashed commit of the following:

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updates to click train detector

        * Squashed commit of the following:

        commit 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updated data selector for click train detector

        * Click train detector updates and bug fixes

        Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

        Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

        * Bug fix and improvements for Ketos

        Ketos models now automatically set the correct sample length when loaded.

        Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

        * Updates to deep learning and FX GUI

        Added some more example sounds to deep learning UI.

        Updated click detector in the FX GUI.

        * PAMGuard FX sound output update

        * Updates to FX GUI

        * Updates to FX GUI

        * Update RawDataTransforms.java

        * Fixes to FX UI

        * Squashed commit of the following:

        commit 11ba8bf91e
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:45:47 2022 +0100

            MErge from DG Branch (#47)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 9a9f542d95
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:42:45 2022 +0100

            Merge DG to Main (#46)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 49cd547aee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:40:29 2022 +0100

            Merge DG branch (#45)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 016cfd0da5
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:35:06 2022 +0100

            Dialog positioning

            New functions to better positions dialogs on screen

        commit c9f2ab3e97
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 11:13:24 2022 +0100

            puch to main (#44)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

        commit 55f5a3fcf1
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 10:59:36 2022 +0100

            Group detections menu

            Small changes to limit the number of menu items in "Add to existing
            group" to a maximum of 25 entries.

        commit b3f6c0e665
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 29 10:50:45 2022 +0100

            Handle -nogui option in PamWorker

            PamWorker used to catalog files at startup (if a file folder input
            system is used). This creates a progress dialog. Stop it appearing in
            -nogui operations.

        commit 8569b6b579
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 22 08:30:47 2022 +0100

            Click display fixes (#41)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

        commit 128a512ff6
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 16:37:57 2022 +0100

            Another attempt at stopping it crashing on a headless system

            Dealing with displays that get created for clickangle vetos and a call
            to the gui in the click train detector.

        commit 6eaa6e4978
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 08:20:07 2022 +0100

            nogoi fix for headless systems. (#40)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

        commit 9fdd30556b
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 12 15:53:07 2022 +0100

            Variable sound output level (#39)

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

        * Bug fixes to click train detector

        Fixed bug with number of coasts in the MHT Kernel
        Added an option for amplitude to have a maximum
        Removed print statements.

        * Bug fix for click train logging

        The size of the string classifers field was dynamically set - this was a bug.

        * Bug fixes to the click train detector

        Bearing classifier section now updates properly when dialog reopened
        Fixed rare bug when garbage bot attempts to find the last data unit in a list of zero units.

        * Squashed commit of the following:

        commit 5a37bfe915
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Aug 19 08:17:06 2022 +0100

            Changes from DG branch (#50)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

            * Java version

            Changes unpacker to deal with non numeric characters on Linux

            * Fix to getVersion()

            So new version of this command should now work on Linux and Windows.

            * Multiport test

            Quick tester for multiport comms

            * Spectrogram display

            Stop spectrogram display continually recreating panels since it was
            unsubscribing discarded ones and sometimes causing crash in observable
            notifications.

            * Backup manager bug

            Error if no database. Fixed.

        commit b08e86e330
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Wed Aug 17 09:16:52 2022 +0100

            Bug fix for click train detector (#49)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 49cd547aee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:40:29 2022 +0100

                Merge DG branch (#45)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 016cfd0da5
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:35:06 2022 +0100

                Dialog positioning

                New functions to better positions dialogs on screen

            commit c9f2ab3e97
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 11:13:24 2022 +0100

                puch to main (#44)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

            commit 55f5a3fcf1
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 10:59:36 2022 +0100

                Group detections menu

                Small changes to limit the number of menu items in "Add to existing
                group" to a maximum of 25 entries.

            commit b3f6c0e665
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 29 10:50:45 2022 +0100

                Handle -nogui option in PamWorker

                PamWorker used to catalog files at startup (if a file folder input
                system is used). This creates a progress dialog. Stop it appearing in
                -nogui operations.

            commit 8569b6b579
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 22 08:30:47 2022 +0100

                Click display fixes (#41)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

            commit 128a512ff6
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 16:37:57 2022 +0100

                Another attempt at stopping it crashing on a headless system

                Dealing with displays that get created for clickangle vetos and a call
                to the gui in the click train detector.

            commit 6eaa6e4978
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 08:20:07 2022 +0100

                nogoi fix for headless systems. (#40)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

            commit 9fdd30556b
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 12 15:53:07 2022 +0100

                Variable sound output level (#39)

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

            * Bug fixes to click train detector

            Fixed bug with number of coasts in the MHT Kernel
            Added an option for amplitude to have a maximum
            Removed print statements.

            * Bug fix for click train logging

            The size of the string classifers field was dynamically set - this was a bug.

            Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

        commit ef0330173b
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Mon Aug 8 10:32:19 2022 +0100

            Click trian detector fixes (#48)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+…

    * Fixes to click train detector and deep learning

    * Squashed commit of the following:

    commit 313ce0c46f
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Sep 21 15:55:12 2022 +0100

        Help update (#60)

        * Plugin Help

        Small change to Help system so that plugins under development can more
        easily display their help

        * PamModel update

        Notes on how to add a plugin to the model during the plugin development
        phase.

        * Click Train Detector Help

        * Help for backup manager

    commit 290f2fbb95
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Sep 21 15:54:01 2022 +0100

        Click Train Detector help (#59)

        * Plugin Help

        Small change to Help system so that plugins under development can more
        easily display their help

        * PamModel update

        Notes on how to add a plugin to the model during the plugin development
        phase.

        * Click Train Detector Help

        * Help for backup manager

    commit 6aefbc124b
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Sep 20 17:34:30 2022 +0100

        Merge from DG fork (#58)

        * Plugin Help

        Small change to Help system so that plugins under development can more
        easily display their help

        * PamModel update

        Notes on how to add a plugin to the model during the plugin development
        phase.

    commit eb176a4568
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 15 17:10:09 2022 +0100

        Merge from dg (#57)

    commit dee7e1d52e
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 15 17:08:32 2022 +0100

        Merge pull request #13 from PAMGuard/main (#56)

    commit 1ed74bebe3
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 15 17:06:22 2022 +0100

        Merge pull request #13 from PAMGuard/main (#55)

    commit fbe39a7416
    Merge: 0114c80 425dd21
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 15 17:05:16 2022 +0100

        Merge branch 'main' into main

    commit 425dd21d9f
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 15 17:01:45 2022 +0100

        Data selector for whistle classifier

        Added standard data selection options to whistle classifier output, and
        also made it a 'Detector' type for down stream data connections

    commit 0114c80d61
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 15 16:59:37 2022 +0100

        Work on click train detector help

    commit c8e271734f
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Thu Sep 15 09:18:48 2022 +0100

        Bug fixes to matched click classifier (#54)

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * More screenshots

        * Add screenshots

        * Update click_train_help.md

        * Add classifier screenshot

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update POM with latest jdl4pam

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Update pom.xml

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Update click_train_help.md

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Merge fixes to click train detector

        * Bug fix to UI

        * Updates to FX GUI

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Merge fixes to click train detector

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Bug fix to UI

        * Bug fixes to FX GUI

        * Updates to click train detector

        * Squashed commit of the following:

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updates to click train detector

        * Squashed commit of the following:

        commit 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updated data selector for click train detector

        * Click train detector updates and bug fixes

        Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

        Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

        * Bug fix and improvements for Ketos

        Ketos models now automatically set the correct sample length when loaded.

        Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

        * Updates to deep learning and FX GUI

        Added some more example sounds to deep learning UI.

        Updated click detector in the FX GUI.

        * PAMGuard FX sound output update

        * Updates to FX GUI

        * Updates to FX GUI

        * Update RawDataTransforms.java

        * Fixes to FX UI

        * Squashed commit of the following:

        commit 11ba8bf91e
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:45:47 2022 +0100

            MErge from DG Branch (#47)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 9a9f542d95
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:42:45 2022 +0100

            Merge DG to Main (#46)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 49cd547aee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:40:29 2022 +0100

            Merge DG branch (#45)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 016cfd0da5
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:35:06 2022 +0100

            Dialog positioning

            New functions to better positions dialogs on screen

        commit c9f2ab3e97
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 11:13:24 2022 +0100

            puch to main (#44)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

        commit 55f5a3fcf1
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 10:59:36 2022 +0100

            Group detections menu

            Small changes to limit the number of menu items in "Add to existing
            group" to a maximum of 25 entries.

        commit b3f6c0e665
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 29 10:50:45 2022 +0100

            Handle -nogui option in PamWorker

            PamWorker used to catalog files at startup (if a file folder input
            system is used). This creates a progress dialog. Stop it appearing in
            -nogui operations.

        commit 8569b6b579
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 22 08:30:47 2022 +0100

            Click display fixes (#41)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

        commit 128a512ff6
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 16:37:57 2022 +0100

            Another attempt at stopping it crashing on a headless system

            Dealing with displays that get created for clickangle vetos and a call
            to the gui in the click train detector.

        commit 6eaa6e4978
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 08:20:07 2022 +0100

            nogoi fix for headless systems. (#40)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

        commit 9fdd30556b
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 12 15:53:07 2022 +0100

            Variable sound output level (#39)

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

        * Bug fixes to click train detector

        Fixed bug with number of coasts in the MHT Kernel
        Added an option for amplitude to have a maximum
        Removed print statements.

        * Bug fix for click train logging

        The size of the string classifers field was dynamically set - this was a bug.

        * Bug fixes to the click train detector

        Bearing classifier section now updates properly when dialog reopened
        Fixed rare bug when garbage bot attempts to find the last data unit in a list of zero units.

        * Squashed commit of the following:

        commit 5a37bfe915
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Aug 19 08:17:06 2022 +0100

            Changes from DG branch (#50)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

            * Java version

            Changes unpacker to deal with non numeric characters on Linux

            * Fix to getVersion()

            So new version of this command should now work on Linux and Windows.

            * Multiport test

            Quick tester for multiport comms

            * Spectrogram display

            Stop spectrogram display continually recreating panels since it was
            unsubscribing discarded ones and sometimes causing crash in observable
            notifications.

            * Backup manager bug

            Error if no database. Fixed.

        commit b08e86e330
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Wed Aug 17 09:16:52 2022 +0100

            Bug fix for click train detector (#49)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 49cd547aee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:40:29 2022 +0100

                Merge DG branch (#45)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 016cfd0da5
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:35:06 2022 +0100

                Dialog positioning

                New functions to better positions dialogs on screen

            commit c9f2ab3e97
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 11:13:24 2022 +0100

                puch to main (#44)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

            commit 55f5a3fcf1
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 10:59:36 2022 +0100

                Group detections menu

                Small changes to limit the number of menu items in "Add to existing
                group" to a maximum of 25 entries.

            commit b3f6c0e665
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 29 10:50:45 2022 +0100

                Handle -nogui option in PamWorker

                PamWorker used to catalog files at startup (if a file folder input
                system is used). This creates a progress dialog. Stop it appearing in
                -nogui operations.

            commit 8569b6b579
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 22 08:30:47 2022 +0100

                Click display fixes (#41)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

            commit 128a512ff6
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 16:37:57 2022 +0100

                Another attempt at stopping it crashing on a headless system

                Dealing with displays that get created for clickangle vetos and a call
                to the gui in the click train detector.

            commit 6eaa6e4978
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 08:20:07 2022 +0100

                nogoi fix for headless systems. (#40)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

            commit 9fdd30556b
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 12 15:53:07 2022 +0100

                Variable sound output level (#39)

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

            * Bug fixes to click train detector

            Fixed bug with number of coasts in the MHT Kernel
            Added an option for amplitude to have a maximum
            Removed print statements.

            * Bug fix for click train logging

            The size of the string classifers field was dynamically set - this was a bug.

            Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

        commit ef0330173b
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Mon Aug 8 10:32:19 2022 +0100

            Click trian detector fixes (#48)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher t…

    * fix bug in TDOA

    * Squashed commit of the following:

    commit 149dfab281
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 09:56:13 2022 +0100

        Work on bug fixes in CTD classifier (#72)

    commit 91a704b07a
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 09:54:33 2022 +0100

        Work on bug fixes in CTD classifier (#71)

    commit d01576c855
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 09:53:51 2022 +0100

        Work on bug fixes in CTD classifier (#70)

    commit 11bed6ffba
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 29 14:56:29 2022 +0100

        Work on bug fixes in CTD classifier (#69)

    commit fccc0a715d
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 29 14:54:30 2022 +0100

        Work on bug fixes in CTD classifier

    commit 5983f30ded
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Sep 27 16:44:12 2022 +0100

        Delete C:\temp\PamGuardTesting 2_02_04f\PAMBinary directory

        Get rid of a folder of pgdf files that Jamie had added to the repo

    commit 075aceb4aa
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Tue Sep 27 16:41:05 2022 +0100

        Click train detector bug fix (#68)

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * More screenshots

        * Add screenshots

        * Update click_train_help.md

        * Add classifier screenshot

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update POM with latest jdl4pam

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Update pom.xml

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Update click_train_help.md

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Merge fixes to click train detector

        * Bug fix to UI

        * Updates to FX GUI

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Merge fixes to click train detector

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Bug fix to UI

        * Bug fixes to FX GUI

        * Updates to click train detector

        * Squashed commit of the following:

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updates to click train detector

        * Squashed commit of the following:

        commit 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updated data selector for click train detector

        * Click train detector updates and bug fixes

        Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

        Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

        * Bug fix and improvements for Ketos

        Ketos models now automatically set the correct sample length when loaded.

        Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

        * Updates to deep learning and FX GUI

        Added some more example sounds to deep learning UI.

        Updated click detector in the FX GUI.

        * PAMGuard FX sound output update

        * Updates to FX GUI

        * Updates to FX GUI

        * Update RawDataTransforms.java

        * Fixes to FX UI

        * Squashed commit of the following:

        commit 11ba8bf91e
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:45:47 2022 +0100

            MErge from DG Branch (#47)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 9a9f542d95
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:42:45 2022 +0100

            Merge DG to Main (#46)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 49cd547aee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:40:29 2022 +0100

            Merge DG branch (#45)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 016cfd0da5
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:35:06 2022 +0100

            Dialog positioning

            New functions to better positions dialogs on screen

        commit c9f2ab3e97
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 11:13:24 2022 +0100

            puch to main (#44)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

        commit 55f5a3fcf1
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 10:59:36 2022 +0100

            Group detections menu

            Small changes to limit the number of menu items in "Add to existing
            group" to a maximum of 25 entries.

        commit b3f6c0e665
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 29 10:50:45 2022 +0100

            Handle -nogui option in PamWorker

            PamWorker used to catalog files at startup (if a file folder input
            system is used). This creates a progress dialog. Stop it appearing in
            -nogui operations.

        commit 8569b6b579
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 22 08:30:47 2022 +0100

            Click display fixes (#41)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

        commit 128a512ff6
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 16:37:57 2022 +0100

            Another attempt at stopping it crashing on a headless system

            Dealing with displays that get created for clickangle vetos and a call
            to the gui in the click train detector.

        commit 6eaa6e4978
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 08:20:07 2022 +0100

            nogoi fix for headless systems. (#40)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

        commit 9fdd30556b
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 12 15:53:07 2022 +0100

            Variable sound output level (#39)

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

        * Bug fixes to click train detector

        Fixed bug with number of coasts in the MHT Kernel
        Added an option for amplitude to have a maximum
        Removed print statements.

        * Bug fix for click train logging

        The size of the string classifers field was dynamically set - this was a bug.

        * Bug fixes to the click train detector

        Bearing classifier section now updates properly when dialog reopened
        Fixed rare bug when garbage bot attempts to find the last data unit in a list of zero units.

        * Squashed commit of the following:

        commit 5a37bfe915
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Aug 19 08:17:06 2022 +0100

            Changes from DG branch (#50)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

            * Java version

            Changes unpacker to deal with non numeric characters on Linux

            * Fix to getVersion()

            So new version of this command should now work on Linux and Windows.

            * Multiport test

            Quick tester for multiport comms

            * Spectrogram display

            Stop spectrogram display continually recreating panels since it was
            unsubscribing discarded ones and sometimes causing crash in observable
            notifications.

            * Backup manager bug

            Error if no database. Fixed.

        commit b08e86e330
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Wed Aug 17 09:16:52 2022 +0100

            Bug fix for click train detector (#49)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 49cd547aee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:40:29 2022 +0100

                Merge DG branch (#45)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 016cfd0da5
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:35:06 2022 +0100

                Dialog positioning

                New functions to better positions dialogs on screen

            commit c9f2ab3e97
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 11:13:24 2022 +0100

                puch to main (#44)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

            commit 55f5a3fcf1
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 10:59:36 2022 +0100

                Group detections menu

                Small changes to limit the number of menu items in "Add to existing
                group" to a maximum of 25 entries.

            commit b3f6c0e665
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 29 10:50:45 2022 +0100

                Handle -nogui option in PamWorker

                PamWorker used to catalog files at startup (if a file folder input
                system is used). This creates a progress dialog. Stop it appearing in
                -nogui operations.

            commit 8569b6b579
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 22 08:30:47 2022 +0100

                Click display fixes (#41)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

            commit 128a512ff6
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 16:37:57 2022 +0100

                Another attempt at stopping it crashing on a headless system

                Dealing with displays that get created for clickangle vetos and a call
                to the gui in the click train detector.

            commit 6eaa6e4978
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 08:20:07 2022 +0100

                nogoi fix for headless systems. (#40)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

            commit 9fdd30556b
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 12 15:53:07 2022 +0100

                Variable sound output level (#39)

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

            * Bug fixes to click train detector

            Fixed bug with number of coasts in the MHT Kernel
            Added an option for amplitude to have a maximum
            Removed print statements.

            * Bug fix for click train logging

            The size of the string classifers field was dynamically set - this was a bug.

            Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

        commit ef0330173b
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Mon Aug 8 10:32:19 2022 +0100

            Click trian detector fixes (#48)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

          …

    * Click train fixes

    * Fixes to click train detector

    * Squashed commit of the following:

    commit 3a452936c0
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 14:50:33 2022 +0100

        Fixes from DG (#74)

        * Work on bug fixes in CTD classifier

        * couple of final neatenings up of CTD

    commit 4015461fbc
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Fri Sep 30 14:23:17 2022 +0100

        Fixes to click train detector (#73)

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * More screenshots

        * Add screenshots

        * Update click_train_help.md

        * Add classifier screenshot

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update POM with latest jdl4pam

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Update pom.xml

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Update click_train_help.md

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Screenshots

        * Update click_train_help.md

        * More screenshots

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots

        * Add classifier screenshot

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Add screenshots for click train detector help

        * Screenshots

        * Update click_train_help.md

        * Defult option for CPOD and porpoise to click train detector.

        Also a minor

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Create click_train_help.md

        * Update click_train_help.md

        * Update click_train_help.md

        * Updates and bug fixes to click train detector and CPOD importer

        * Bug fix for raw spectrogram in TDDisplayFX

        * Update KetosClassifier.java

        * Fix standard classifier JSON logging

        * Fixed bug in sweep classifier when using SoundTrap click detections

        * Added some colour averaging in the TFDisplayFX spectrgoram

        * Bug fix for rainbow click bearings

        Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Updated the prediction plots on time display

        Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

        * Updates to TDisplayFX

        yFIshmael now owrks with TDisplayFX
        TDisplayFX UI changes to make simpler.
        Some abstraction for drawing lines on TDisplayFX

        * Merge fixes to click train detector

        * Bug fix to UI

        * Updates to FX GUI

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Merge fixes to click train detector

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Updates to click train detector

        New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
        CPOD data can now build average waveforms.
        CPOD click trains can be viewed in TDisplayFX pop up menu displays
        Fixed Peak Frequency symbol chooser so it saves the colour box settings

        * Screenshots

        * Updates and bug fixes to click train detector and CPOD importer

        * Fix standard classifier JSON logging

        * Google humpback whale deep learning classifier

        Google's humpback whale deep learning classifier can now be imported.
        Updated TDisplayFX to make the data selection panes cleaner and clearer.
        Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

        * Bug fix to UI

        * Bug fixes to FX GUI

        * Updates to click train detector

        * Squashed commit of the following:

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updates to click train detector

        * Squashed commit of the following:

        commit 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon May 2 19:40:24 2022 +0100

            Updates to support ContactCollator plugin (#33)

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * fix problem in SummaryComand

            * Update command line options

            * Change synchronization on RawDataTransforms soit uses the owner data
            holder, not itself for synchronization. Otherwise you get thread locks.

            * Update command line options

            * Update DecimatorParams.java

            * couple of updates to support new contact collator plugin

            * Sorting out sample rate info in clip display to support Contact Collator
            plugin

            * FLAC Speed

            Improve flac speed

            * Update .gitignore

            * Update .gitignore

            * Updates to support new features in Contact Collator

            * Small update to RawDatautils to handle null data

        * Updated data selector for click train detector

        * Click train detector updates and bug fixes

        Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

        Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

        * Bug fix and improvements for Ketos

        Ketos models now automatically set the correct sample length when loaded.

        Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

        * Updates to deep learning and FX GUI

        Added some more example sounds to deep learning UI.

        Updated click detector in the FX GUI.

        * PAMGuard FX sound output update

        * Updates to FX GUI

        * Updates to FX GUI

        * Update RawDataTransforms.java

        * Fixes to FX UI

        * Squashed commit of the following:

        commit 11ba8bf91e
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:45:47 2022 +0100

            MErge from DG Branch (#47)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 9a9f542d95
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:42:45 2022 +0100

            Merge DG to Main (#46)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 49cd547aee
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:40:29 2022 +0100

            Merge DG branch (#45)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

        commit 016cfd0da5
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Thu Aug 4 11:35:06 2022 +0100

            Dialog positioning

            New functions to better positions dialogs on screen

        commit c9f2ab3e97
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 11:13:24 2022 +0100

            puch to main (#44)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

        commit 55f5a3fcf1
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Mon Aug 1 10:59:36 2022 +0100

            Group detections menu

            Small changes to limit the number of menu items in "Add to existing
            group" to a maximum of 25 entries.

        commit b3f6c0e665
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 29 10:50:45 2022 +0100

            Handle -nogui option in PamWorker

            PamWorker used to catalog files at startup (if a file folder input
            system is used). This creates a progress dialog. Stop it appearing in
            -nogui operations.

        commit 8569b6b579
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Jul 22 08:30:47 2022 +0100

            Click display fixes (#41)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

        commit 128a512ff6
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 16:37:57 2022 +0100

            Another attempt at stopping it crashing on a headless system

            Dealing with displays that get created for clickangle vetos and a call
            to the gui in the click train detector.

        commit 6eaa6e4978
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 19 08:20:07 2022 +0100

            nogoi fix for headless systems. (#40)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

        commit 9fdd30556b
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Tue Jul 12 15:53:07 2022 +0100

            Variable sound output level (#39)

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

        * Bug fixes to click train detector

        Fixed bug with number of coasts in the MHT Kernel
        Added an option for amplitude to have a maximum
        Removed print statements.

        * Bug fix for click train logging

        The size of the string classifers field was dynamically set - this was a bug.

        * Bug fixes to the click train detector

        Bearing classifier section now updates properly when dialog reopened
        Fixed rare bug when garbage bot attempts to find the last data unit in a list of zero units.

        * Squashed commit of the following:

        commit 5a37bfe915
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Fri Aug 19 08:17:06 2022 +0100

            Changes from DG branch (#50)

            * Variable sound output level

            Mods to SoundPlayback module to allow additional parameters. Implemented
            system for NI cards to allow changes to selected output voltage range
            meaning output can be boosted to level higher than current default.

            * Code to support nogui operations when no screens present on headless
            system

            * Fix problem of nogui headless operation trying to access screen size.

            * Click detector display fixes

            1. ICI not displaying correctly
            2. Component sizes in display dialog on hres monitors

            * Work on batch processing, after testing of options to autostart,
            autoexit and set wav file folder, database and binary store.

            * Update MHTClickTrainAlgorithm.java

            Fix unsynchronised access to a datablock in click train detector which was causing index errors.

            * Revamp of offline process messaging and control

            Includes some databsae logging of completed tasks

            * Offline task logging

            Bit more work, including notes and database storage of task
            reprocessing. Guess this could all become 'proper' PAMGuard data and be
            shown in a table on the display but that not priority enough.

            * Dialog packing

            Fix a couple of dialogs which don't back well on HDPI monitors

            * UDP Control

            Added multiport functionality

            * Java version

            Changes unpacker to deal with non numeric characters on Linux

            * Fix to getVersion()

            So new version of this command should now work on Linux and Windows.

            * Multiport test

            Quick tester for multiport comms

            * Spectrogram display

            Stop spectrogram display continually recreating panels since it was
            unsubscribing discarded ones and sometimes causing crash in observable
            notifications.

            * Backup manager bug

            Error if no database. Fixed.

        commit b08e86e330
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Wed Aug 17 09:16:52 2022 +0100

            Bug fix for click train detector (#49)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 49cd547aee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:40:29 2022 +0100

                Merge DG branch (#45)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 016cfd0da5
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:35:06 2022 +0100

                Dialog positioning

                New functions to better positions dialogs on screen

            commit c9f2ab3e97
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 11:13:24 2022 +0100

                puch to main (#44)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

            commit 55f5a3fcf1
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon Aug 1 10:59:36 2022 +0100

                Group detections menu

                Small changes to limit the number of menu items in "Add to existing
                group" to a maximum of 25 entries.

            commit b3f6c0e665
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 29 10:50:45 2022 +0100

                Handle -nogui option in PamWorker

                PamWorker used to catalog files at startup (if a file folder input
                system is used). This creates a progress dialog. Stop it appearing in
                -nogui operations.

            commit 8569b6b579
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Fri Jul 22 08:30:47 2022 +0100

                Click display fixes (#41)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

            commit 128a512ff6
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 16:37:57 2022 +0100

                Another attempt at stopping it crashing on a headless system

                Dealing with displays that get created for clickangle vetos and a call
                to the gui in the click train detector.

            commit 6eaa6e4978
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 19 08:20:07 2022 +0100

                nogoi fix for headless systems. (#40)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

            commit 9fdd30556b
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Tue Jul 12 15:53:07 2022 +0100

                Variable sound output level (#39)

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

            * Bug fixes to click train detector

            Fixed bug with number of coasts in the MHT Kernel
            Added an option for amplitude to have a maximum
            Removed print statements.

            * Bug fix for click train logging

            The size of the string classifers field was dynamically set - this was a bug.

            Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

        commit ef0330173b
        Author: Jamie Mac <macster110@gmail.com>
        Date:   Mon Aug 8 10:32:19 2022 +0100

            Click trian detector fixes (#48)

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * More screenshots

            * Add screenshots

            * Update click_train_help.md

            * Add classifier screenshot

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update POM with latest jdl4pam

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Update pom.xml

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Update click_train_help.md

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Screenshots

            * Update click_train_help.md

            * More screenshots

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots

            * Add classifier screenshot

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Add screenshots for click train detector help

            * Screenshots

            * Update click_train_help.md

            * Defult option for CPOD and porpoise to click train detector.

            Also a minor

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Create click_train_help.md

            * Update click_train_help.md

            * Update click_train_help.md

            * Updates and bug fixes to click train detector and CPOD importer

            * Bug fix for raw spectrogram in TDDisplayFX

            * Update KetosClassifier.java

            * Fix standard classifier JSON logging

            * Fixed bug in sweep classifier when using SoundTrap click detections

            * Added some colour averaging in the TFDisplayFX spectrgoram

            * Bug fix for rainbow click bearings

            Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Updated the prediction plots on time display

            Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.

            * Updates to TDisplayFX

            yFIshmael now owrks with TDisplayFX
            TDisplayFX UI changes to make simpler.
            Some abstraction for drawing lines on TDisplayFX

            * Merge fixes to click train detector

            * Bug fix to UI

            * Updates to FX GUI

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Merge fixes to click train detector

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Updates to click train detector

            New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
            CPOD data can now build average waveforms.
            CPOD click trains can be viewed in TDisplayFX pop up menu displays
            Fixed Peak Frequency symbol chooser so it saves the colour box settings

            * Screenshots

            * Updates and bug fixes to click train detector and CPOD importer

            * Fix standard classifier JSON logging

            * Google humpback whale deep learning classifier

            Google's humpback whale deep learning classifier can now be imported.
            Updated TDisplayFX to make the data selection panes cleaner and clearer.
            Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.

            * Bug fix to UI

            * Bug fixes to FX GUI

            * Updates to click train detector

            * Squashed commit of the following:

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updates to click train detector

            * Squashed commit of the following:

            commit 62b020b320
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Sat May 14 06:52:20 2022 +0100

                Add a new offlinefileslist function

            commit 3a9a5311aa
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Wed Apr 27 09:43:31 2022 +0100

                Update .gitignore

            commit 9f998165ee
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Mon May 2 19:40:24 2022 +0100

                Updates to support ContactCollator plugin (#33)

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * fix problem in SummaryComand

                * Update command line options

                * Change synchronization on RawDataTransforms soit uses the owner data
                holder, not itself for synchronization. Otherwise you get thread locks.

                * Update command line options

                * Update DecimatorParams.java

                * couple of updates to support new contact collator plugin

                * Sorting out sample rate info in clip display to support Contact Collator
                plugin

                * FLAC Speed

                Improve flac speed

                * Update .gitignore

                * Update .gitignore

                * Updates to support new features in Contact Collator

                * Small update to RawDatautils to handle null data

            * Updated data selector for click train detector

            * Click train detector updates and bug fixes

            Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.

            Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.

            * Bug fix and improvements for Ketos

            Ketos models now automatically set the correct sample length when loaded.

            Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.

            * Updates to deep learning and FX GUI

            Added some more example sounds to deep learning UI.

            Updated click detector in the FX GUI.

            * PAMGuard FX sound output update

            * Updates to FX GUI

            * Updates to FX GUI

            * Update RawDataTransforms.java

            * Fixes to FX UI

            * Squashed commit of the following:

            commit 11ba8bf91e
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:45:47 2022 +0100

                MErge from DG Branch (#47)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

                * Offline task logging

                Bit more work, including notes and database storage of task
                reprocessing. Guess this could all become 'proper' PAMGuard data and be
                shown in a table on the display but that not priority enough.

                * Dialog packing

                Fix a couple of dialogs which don't back well on HDPI monitors

                * UDP Control

                Added multiport functionality

            commit 9a9f542d95
            Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
            Date:   Thu Aug 4 11:42:45 2022 +0100

                Merge DG to Main (#46)

                * Variable sound output level

                Mods to SoundPlayback module to allow additional parameters. Implemented
                system for NI cards to allow changes to selected output voltage range
                meaning output can be boosted to level higher than current default.

                * Code to support nogui operations when no screens present on headless
                system

                * Fix problem of nogui headless operation trying to access screen size.

                * Click detector display fixes

                1. ICI not displaying correctly
                2. Component sizes in display dialog on hres monitors

                * Work on batch processing, after testing of options to autostart,
                autoexit and set wav file folder, database and binary store.

                * Update MHTClickTrainAlgorithm.java

                Fix unsynchronised access to a datablock in click train detector which was causing index errors.

                * Revamp of offline process messaging and control

                Includes some databsae logging of completed tasks

          …

    * Fix to click train detector

    NO_SPECIES flag was not being in standard classifier so beaked whales were being classified.

    Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
This commit is contained in:
Jamie Mac 2022-10-31 13:03:04 +00:00
parent 78219981f8
commit 9d973f141f
34 changed files with 633 additions and 494 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
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>
@ -364,11 +365,11 @@ you should be able to launch PAMGUARD via an appropriate command line which
should be something like:</p>
<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
size for the JVM being used to run Pamguard i.e. how much memory it gets to
use. The default max size usually being too low.</p>
<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 use.
The default max size usually being too low.</p>
<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
@ -381,13 +382,16 @@ just run the appropriately named executable (e.g. PamguardBeta_MixedMode.exe or
PamguardBeta_ViewerMode.exe):</p>
<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>
<h1><a name="_LATEST_VERSION_2.02.03"></a><em><span style='font-size:12.0pt;
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:
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
Version 2.00.10 June 2017</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#Latest_Version_1.15.11">Version
1.15.11 MAY 2017</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Older_Versions">Older Versions</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Version_1.15.10">Version 1.15.10
March 2017</a></span></h1>
<h1><a name="_Latest_Version_2.02.03_1"></a><a name="_Latest_Version_2.02.05"></a><span
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
1.15.09 January 2017</a></span></h1>
<h2><span lang=EN-US>Click Train Detector Features and Bug Fixes</span></h2>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.08">Version
1.15.08 November 2016</a></span></h1>
<p class=MsoNormal><b><span lang=EN-US>Features</span></b></p>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.07">Version
1.15.07 November 2016</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Changes to GUI to make dialog shorter for
low DPI screens. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.06">Version
1.15.06 November 2016</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Complete rewrite of the classification
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
September 2016</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Changes to classification GUI to
accommodate the new classification system.</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.04">Version
1.15.04 July 2016</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Addition of data selectors to the minimum
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
1.15.03 April 2016</a></span></h1>
<p class=MsoNormal><b><span lang=EN-US>Bug fixes</span></b></p>
<h1><span style='font-size:12.0pt'><a href="#_Latest_Version_1.15.02">Version
1.15.02 March 2016</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Click detection bug fix in kernel which
improved click fragmentation. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450394"><span lang=EN-US>Version
1.15.00 February 2016</span></a></span></h1>
<p class=MsoNormal><span lang=EN-US>Bug fix to database were JSON data from
classifier was being trimmed. </span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450395">Version 1.14.00
Beta, September 2015</a></span></h1>
<p class=MsoNormal><b><span lang=EN-US>Documentation</span></b></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450396">Version 1.13.05
Beta, July 2015</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Comprehensive help file including
description of the algorithm, screen grabs and examples.</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450397">Version 1.13.04
Beta, June 2015</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Bug fixes</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450398">Version 1.13.03
Beta, March 2015</a></span></h1>
<h2><span lang=EN-US>Other Features</span></h2>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450399">Version 1.13.02
Beta, January 2015</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Help documentation for Backup Manager</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450400">Version 1.13.01
Beta, January 2015</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Help documentation for Matched Click
Classifier</span></p>
<h1><span style='font-size:12.0pt'><a href="#_Toc444450401">Version 1.13.00
Beta December 2014</a></span></h1>
<p class=MsoNormal><span lang=EN-US>Database logging of offline tasks (such as
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
2.02.03 February 2022</span></h1>
<p class=MsoNormal><span lang=EN-US>Variable sound output level when using
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
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>
<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>
Allow Clip Generator to create both a binary record and a wav file </p>
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> </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
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>
<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)
should be compatible with this version, and vice-versa. PSF files generated in
core releases (1.15.xx) can be loaded in this version, but will be converted to
PSFX files when PAMGuard exits.</p>
(release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx) should
be compatible with this version, and vice-versa. PSF files generated in core
releases (1.15.xx) can be loaded in this version, but will be converted to PSFX
files when PAMGuard exits.</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
(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
2.00.10</a> before proceeding with installation and use of this version.</b></p>
understand the notes listed for <a href="#_Latest_Beta_Version_2.00.10">Beta
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
(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>
<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>
Added channel display to noise one band measurement display. </p>
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> </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
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>
<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>
Bug 448. Detection Group Localiser data units not being loaded in Viewer mode.</p>
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> </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
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>
<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>
Bug 450. Ishmael Detectors subscribing to FFTDataBlock twice, meaning they
process each data unit 2x doubling the output.</p>
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> </span>Bug 450. Ishmael Detectors subscribing to FFTDataBlock
twice, meaning they process each data unit 2x doubling the output.</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>
<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>
Bug 431. Error when trying to mark section of spectrogram to send to Bearing
Calculator module</p>
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> </span>Bug 431. Error when trying to mark section of spectrogram to
send to Bearing Calculator module</p>
<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>
@ -1326,8 +1348,8 @@ Click Train Detector upgrades, including ability to import time chunks from csv
file for batch processing.</p>
<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>
Better display of microseconds in dialogs.</p>
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> </span>Better display of microseconds in dialogs.</p>
<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>
@ -1431,9 +1453,9 @@ lang=EN-US> </span>Matched template classifier extended to handle multiple
templates.</p>
<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>
New methods for handling and logging time offsets from the PC clock based
either on GPS NMEA data or on pings of an NTP time server.</p>
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> </span>New methods for handling and logging time offsets from the
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
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=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>
Added decimal degrees option to latitude/longitude dialog.</p>
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> </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
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
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
time in which Pamguard modules have changed.</p>
</span>Bug 376. Error when using a serialised data map which spans a period of time
in which Pamguard modules have changed.</p>
<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;
@ -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
January 2018</span></h1>
<h1><a name="_Latest_Beta_Version_2.00.12"></a><span lang=EN-US>Beta Version
2.00.12 January 2018</span></h1>
<p class=MsoNormal><span lang=EN-US>PAMGuard Version 2 contains major updates.
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
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
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.
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
any databases since these too may have become oversized which will slow down
viewer mode PAMGuard start-up.</p>
any databases since these too may have become oversized which will slow down viewer
mode PAMGuard start-up.</p>
<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;
@ -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
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
are sure they want to exit without saving even though they selected <em><span
</span>Bug 310. When exiting Viewer mode, PAMGuard queries the user whether
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,
and added an <em><span style='font-family:"Calibri",sans-serif'>Exit without
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;
</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
finding and unpacking information in the accompanying xml log files that come
with SoundTrap files. </span></p>
finding and unpacking information in the accompanying xml log files that come with
SoundTrap files. </span></p>
<h1><a name="_Latest_Version_1.15.06"></a><span lang=EN-US>Version 1.15.06
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
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
to estimate the time delay between channels would crash. This is now fixed.
This could only occur if both pre sample and post sample were set to 0 in the
click detector, which is generally not a good idea, so this bug may have been
there for some time, it's just that no one noticed before. Fixed</p>
</span>Bug 295. If a click has a total length of a single sample, the code
attempting to estimate the time delay between channels would crash. This is now
fixed. This could only occur if both pre sample and post sample were set to 0
in the click detector, which is generally not a good idea, so this bug may have
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
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
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
the same internal structures as the manual tracking, so it's possible to
combine automatic and manual tracking. </span></p>
</span><span lang=EN-US>The automatic click train identification is now using the
same internal structures as the manual tracking, so it's possible to combine
automatic and manual tracking. </span></p>
<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;
@ -2384,9 +2411,9 @@ the future. </span></p>
<p class=MsoNormal><i>Logger Form Design</i></p>
<p class=MsoNormal>A GUI driven system for designing Logger forms has been released.
Currently, this feature has no online help, but is reasonably intuitive
compared to the old method of typing directly into the database. </p>
<p class=MsoNormal>A GUI driven system for designing Logger forms has been
released. Currently, this feature has no online help, but is reasonably
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>
@ -2447,9 +2474,8 @@ today.&nbsp; </p>
<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;
</span>Bug 277. Text fields in classifier dialog were not large enough to
display times greater than 10ms. We have increased length of text fields in the
dialog.</p>
</span>Bug 277. Text fields in classifier dialog were not large enough to display
times greater than 10ms. We have increased length of text fields in the dialog.</p>
<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;
@ -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
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
will recognise that it cannot open the files, display appropriate error messages
and not attempt to read the files. NOTE that at this time there are no planned
file format changes and that this is purely a future proofing exercise.</p>
will recognise that it cannot open the files, display appropriate error
messages and not attempt to read the files. NOTE that at this time there are no
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
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
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
Window. Some programmers had inadvertently set it to repack the main PAMGuard
GUI instead. This has been Fixed.</p>
Window. Some programmers had inadvertently set it to repack the main PAMGuard GUI
instead. This has been Fixed.</p>
<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;
@ -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>
<p class=MsoNormal><span lang=EN-US>Beta Version 1.15.00 64 bit and Core
version 1.15.00 32 bit. Both using identical Java core software but linking to
<p class=MsoNormal><span lang=EN-US>Beta Version 1.15.00 64 bit and Core version
1.15.00 32 bit. Both using identical Java core software but linking to
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
version of PAMGuard. As with the 32 bit version a number of C language libraries
are required to interface to external sound cards and other data acquisition
devices. These have been extensively tested on several different computers, but
may not be as stable as the 32 bit versions. Please report any problems
immediately to the PAMGuard team. </span></p>
version of PAMGuard. As with the 32 bit version a number of C language
libraries are required to interface to external sound cards and other data
acquisition devices. These have been extensively tested on several different
computers, but may not be as stable as the 32 bit versions. Please report any
problems immediately to the PAMGuard team. </span></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>
<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
saved with 1.14.00 may not open correctly with earlier versions.</p>
1.14.00. Older configurations will load with this new version, but
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.
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
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
array manager would crash PAMGuard when the click detector was configured with more
channels than the sound acquisition system (almost impossible to achieve, but
someone managed it). </span></p>
array manager would crash PAMGuard when the click detector was configured with
more channels than the sound acquisition system (almost impossible to achieve,
but someone managed it). </span></p>
<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;
@ -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
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'
tab of the spectrogram configuration dialog, and also right click on the spectrogram
and select to display the annotations. Annotations are saved to the database so
you will also need a database module in your configuration. &nbsp;</p>
tab of the spectrogram configuration dialog, and also right click on the
spectrogram and select to display the annotations. Annotations are saved to the
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
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
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
options since it is not reliable. If you require a free database solution we
recommend you use the MySql Community Server <a
</span>The Open Office Database system has been removed from the list of
available options since it is not reliable. If you require a free database
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>
<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
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
added or removed. </p>
</span>Bug 226. Spectrogram Mark Observer list doesn't refresh when modules added
or removed. </p>
<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;
@ -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:
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
were created. This is now fixed and it starts with a default range of 10km on
the display. </p>
209. Map zoom level. This was zoomed right into a range of about 1m when new
maps were created. This is now fixed and it starts with a default range of 10km
on the display. </p>
<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
@ -3187,8 +3213,8 @@ whistle.</p>
. Did not affect band level calculations. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Bug in noise band monitor.
Crashed when sample rate was exactly 2kHz. Fixed </li>
<li class=MsoNormal style='margin-bottom:0cm'>Memory leak in click detector. Severe
memory leak when processing clicks in viewer mode now fixed. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Memory leak in click detector.
Severe memory leak when processing clicks in viewer mode now fixed. </li>
<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>)
now fixed. </li>
@ -3206,8 +3232,6 @@ whistle.</p>
<p class=MsoNormal>&nbsp;</p>
<h1><a name="_Toc444450402">Older Versions</a></h1>
<h2>Version 1.12.00 Beta February 2013</h2>
<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'>Function to import GPS data from other
data sources for the PAMGuard viewer. </p>
<p class=MsoNormal style='margin-left:36.0pt'>Function to import GPS data from
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'>Can now copy data from binary
storage to the database offline for any module having both binary and database
storage. </p>
<p class=MsoNormal style='margin-left:36.0pt'>Can now copy data from binary storage
to the database offline for any module having both binary and database storage.
</p>
<p class=MsoNormal style='margin-left:36.0pt'>Can create a blank MS Access
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:
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
in the database module has led to a significant increase in the speed at which data
are written to the database (orders of magnitude for large databases). This is
having a significant impact on the overall reliability of the software. Other
changes have increased the speed (again by orders of magnitude) at which data
are read back into PAMGuard when using the viewer. </p>
</span>Database Speed: A substantial rewriting of some of the indexing methods in
the database module has led to a significant increase in the speed at which
data are written to the database (orders of magnitude for large databases).
This is having a significant impact on the overall reliability of the software.
Other changes have increased the speed (again by orders of magnitude) at which
data are read back into PAMGuard when using the viewer. </p>
<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;
@ -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:
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
RainbowClick is now available in the PAMGUARD viewer. Event summary data is
stored in the database and can also be exported to text files (e.g. for
importing into the Distance software).&nbsp; </p>
RainbowClick is now available in the PAMGUARD viewer. Event summary data is stored
in the database and can also be exported to text files (e.g. for importing into
the Distance software).&nbsp; </p>
<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;
@ -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:
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
the full waveform. The waveform or envelope can also be filtered prior to
</span>Bearings can be calculated using the envelope of the waveform rather
than the full waveform. The waveform or envelope can also be filtered prior to
bearing calculation.</p>
<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>The offline viewer is much improved with better data
scrolling and the ability to view data either stored in the database or the
binary storage system. Work has stated on functions which read and use data
stored in audio files. This is currently limited to re-calculating and
displaying displaying spectrogram data during viewer mode operation.&nbsp; </p>
<p class=MsoNormal>The offline viewer is much improved with better data scrolling
and the ability to view data either stored in the database or the binary
storage system. Work has stated on functions which read and use data stored in
audio files. This is currently limited to re-calculating and displaying
displaying spectrogram data during viewer mode operation.&nbsp; </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>1. Placement of axes on some displays (array manager and depth
side panel). Problem in 1.9.01 Beta now fixed. </p>
<p class=MsoNormal>1. Placement of axes on some displays (array manager and
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
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:
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
features in array dialog for estimations of errors on array location. These
feed into to a maximum likelihood estimate of angles from small 2D or 3D sub
arrays to give two polar angle coordinates. this can be used to resolve left
right ambiguity and is implemented for both the click and the whistle/moan
detectors. As a result, the click detector bearing time display can now be set
to go from -180 to 180 degrees rather than 0 - 180 degrees. In this case,
clicks in the upper half of the bearing display will be to port and clicks in
the right half will be to starboard. As you pass a whale which is to port, the
clicks will move UP the display. In the long term, I hope to turn this display
around so that time is up the screen rather than across.&nbsp; </p>
</span>Bearing ambiguity resolution for planar and volumetric arrays. New features
in array dialog for estimations of errors on array location. These feed into to
a maximum likelihood estimate of angles from small 2D or 3D sub arrays to give
two polar angle coordinates. this can be used to resolve left right ambiguity
and is implemented for both the click and the whistle/moan detectors. As a
result, the click detector bearing time display can now be set to go from -180
to 180 degrees rather than 0 - 180 degrees. In this case, clicks in the upper
half of the bearing display will be to port and clicks in the right half will
be to starboard. As you pass a whale which is to port, the clicks will move UP
the display. In the long term, I hope to turn this display around so that time
is up the screen rather than across.&nbsp; </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>Memory leak caused by Night / Day colour manager now fixed.
This would cause memory leaks when multiple files were being analysed off-line
and would eventually crash PAMGUARD. The way that colours are managed in
PAMGUARD has been rewritten.&nbsp; </p>
<p class=MsoNormal>Memory leak caused by Night / Day colour manager now fixed. This
would cause memory leaks when multiple files were being analysed off-line and
would eventually crash PAMGUARD. The way that colours are managed in PAMGUARD
has been rewritten.&nbsp; </p>
<p class=MsoNormal>Some issues with Swing fixed that might have been causing
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>The User Input module (for text entry of information by the
user) has been moved from the Displays sub menu of the Add Modules menu, to
<p class=MsoNormal>The User Input module (for text entry of information by the user)
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>
<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:
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
&nbsp;display when dialogs are closed. </p>
</span>Model viewer. Have stopped it from jumping on top of the main PAMGUARD &nbsp;display
when dialogs are closed. </p>
<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;
@ -4688,12 +4712,12 @@ and Ishmael-type detectors and localisers. </p>
<p class=MsoNormal>Information from above modules can be displayed on
configurable user displays which support real time scrolling spectrograms and
radar displays. Detection and localisation information can be optionally
displayed on the map display.Map enhancements include improved scrolling
whereby the user can click and drag to pan the area. PamGuard can now interface
with MySQL database servers and users can easily select which information is
logged. (This replaces the previous 'flat-file' logging feature). A simulation
module allows virtual vocalising animals to be placed on the map to assist in
training and development. Extensive online user help has been added to PamGuard
displayed on the map display.Map enhancements include improved scrolling whereby
the user can click and drag to pan the area. PamGuard can now interface with
MySQL database servers and users can easily select which information is logged.
(This replaces the previous 'flat-file' logging feature). A simulation module
allows virtual vocalising animals to be placed on the map to assist in training
and development. Extensive online user help has been added to PamGuard
Application</p>
<h2>0.03b - first version used in a real 'at sea' environment.18/08/06</h2>

View File

@ -627,7 +627,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>" +
"<p>Note this error may also indicate that the file is corrupt and unreadable by PAMGuard.</p></html>";
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;
}

View File

@ -178,7 +178,7 @@ public class PSFXReadWriter {
* occurr when running under PAMDog control.
*/
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 {
/*

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -31,12 +31,12 @@ public class PamguardVersionInfo {
* Version number, major version.minorversion.sub-release.
* 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
*/
static public final String date = "29 September 2022";
static public final String date = "21 October 2022";
// /**
// * Release type - Beta or Core

View File

@ -35,6 +35,7 @@ public abstract class CommandManager extends PamControlledUnit {
commandsList.add(new SummaryPeekCommand());
commandsList.add(new TellModuleCommand());
commandsList.add(new ExitCommand());
commandsList.add(new ExitNoSaveCommand());
commandsList.add(new KillCommand());
commandsList.add(new HelpCommand(this));
commandsList.add(new GetXMLSettings());

View File

@ -24,7 +24,7 @@ public class ExitCommand extends ExtCommand {
@Override
public String getHint() {
return "Exit PAMGuard, stopping detectors prior to exiting";
return "Exit PAMGuard, stopping detectors and saving configuration prior to exiting";
}

View File

@ -0,0 +1,24 @@
package PamController.command;
import PamController.PamController;
public class ExitNoSaveCommand extends ExtCommand {
public ExitNoSaveCommand() {
super("ExitNoSave", false);
}
@Override
public String execute(String command) {
PamController.getInstance().pamStop();
System.exit(0);
return getName();
}
@Override
public String getHint() {
return "Exit PAMGuard, stopping detectors but not saving configuration";
}
}

View File

@ -1256,7 +1256,7 @@ final public class PamModel implements PamModelInterface, PamSettings {
"for help.<p>" +
"This plug-in will not be available for loading";
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);
continue;
}
@ -1270,7 +1270,7 @@ final public class PamModel implements PamModelInterface, PamSettings {
"for help.<p>" +
"This plug-in will not be available for loading";
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());
continue;
}
@ -1361,7 +1361,7 @@ final public class PamModel implements PamModelInterface, PamSettings {
"for help.<p>" +
"This plug-in will not be available for loading";
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());
pluginList.remove(pf);
continue;

View File

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

View File

@ -35,7 +35,7 @@ public class PamExceptionHandler implements Thread.UncaughtExceptionHandler {
"for help.<p>" +
"This plug-in will not be available for loading";
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);
exception.printStackTrace();
} else {

View File

@ -63,6 +63,7 @@ abstract public class PamDialog extends JDialog {
private String warningTitle;
private boolean warnDefaultSetting = true;
private CancelObserver cancelObserver;
private boolean firstShowing = true;
public JPanel getButtonPanel() {
return buttonPanel;
@ -146,7 +147,7 @@ abstract public class PamDialog extends JDialog {
return parentFrame;
}
try {
return PamController.getInstance().getGuiFrameManager().getFrame(0);
return PamController.getMainFrame();
}
catch (Exception e) {
return null;
@ -283,6 +284,10 @@ abstract public class PamDialog extends JDialog {
if (getOwner() == null) {
moveToMouseLocation();
}
if (firstShowing) {
firstShowing = false;
super.pack();
}
}
try{
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,
String okButtonText, String cancelButtonText) {
if (PamGUIManager.isSwing()) {
return singleInstance.showWarningDialog(PamController.getInstance().getGuiFrameManager().getFrame(0),
return singleInstance.showWarningDialog(PamController.getMainFrame(),
title, message, messageType, helpPoint, error, okButtonText, cancelButtonText);
}
else if (PamGUIManager.isFX()) {
@ -220,7 +220,7 @@ public class WarnOnce implements PamSettings {
* otherwise OK_OPTION will always be returned.
*/
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);
} else {
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.
* @param parent parent frame
@ -361,10 +371,16 @@ public class WarnOnce implements PamSettings {
}
// show the warning
WarnOnceDialog wo = new WarnOnceDialog(parent, title, message, messageType, helpPoint, error, okButtonText, cancelButtonText);
warnOnceList.setShowWarning(messageName, wo.isShowAgain());
showThisSess.put(messageName, wo.isShowThisSess());
return wo.getAnswer();
if (canShowDialog()) {
WarnOnceDialog wo = new WarnOnceDialog(parent, title, message, messageType, helpPoint, error, okButtonText, cancelButtonText);
warnOnceList.setShowWarning(messageName, wo.isShowAgain());
showThisSess.put(messageName, wo.isShowThisSess());
return wo.getAnswer();
}
else {
System.out.println(message);
return OK_OPTION;
}
}

View File

@ -120,8 +120,8 @@ public class binaryUIDFunctions {
}
}
} catch (Exception e) {
System.out.println("Error reading binary UID data from log file");
e.printStackTrace();
System.out.println("Error reading binary UID data from log file" + logFileData);
// e.printStackTrace();
}
// try (BufferedReader br = new BufferedReader(new FileReader(logFileData))) {
@ -320,7 +320,7 @@ public class binaryUIDFunctions {
+ footer.getHighestUID()
+ ". It is not possible to know whether all of the original data objects have been recovered.<br><br>";
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);
}
}
@ -429,7 +429,7 @@ public class binaryUIDFunctions {
+ " 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>";
String help = null;
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0),
int ans = WarnOnce.showWarning(PamController.getMainFrame(),
title, msg, WarnOnce.WARNING_MESSAGE, help);
}
}
@ -531,10 +531,12 @@ public class binaryUIDFunctions {
out.close();
}
} catch (TransformerException e) {
e.printStackTrace();
System.err.println(e.getMessage());
// e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
System.err.println(e.getMessage());
// e.printStackTrace();
return false;
}
return true;

View File

@ -263,7 +263,7 @@ public class SendEmailAction extends AlarmAction implements PamSettings {
". The alarm will not be able to send emails until " +
"this is fixed. Please check the Alarm Email Settings to ensure they are correct.";
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();
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 " +
"a valid Acquisition module is added and the Pamguard run is restarted.";
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;
e.printStackTrace();
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 " +
"a valid Acquisition module is added and the Pamguard run is restarted.";
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;
}

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 " +
"a valid Acquisition module is added and the Pamguard run is restarted.";
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;
e.printStackTrace();
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 " +
"a valid Acquisition module is added and the Pamguard run is restarted.";
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;
}

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 " +
"a valid Acquisition module is added and the Pamguard run is restarted.";
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;
e.printStackTrace();
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 " +
"a valid Acquisition module is added and the Pamguard run is restarted.";
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;
}

View File

@ -52,7 +52,7 @@ public class CTClassifierOfflineTask extends OfflineTask<CTDataUnit> {
// 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;
}

View File

@ -156,7 +156,7 @@ public class ClickTrainOfflineTask extends OfflineTask<PamDataUnit<?,?>> {
@Override
public boolean callSettings() {
clickTrainControl.getSwingGUI().showSettingsDialog(PamController.getInstance().getGuiFrameManager().getFrame(0), false);
clickTrainControl.getSwingGUI().showSettingsDialog(PamController.getMainFrame(), false);
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 " +
"device plugged into your computer, and you have the correct drivers installed.</p></html>";
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;
}
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 " +
"as the PAMGuard settings.";
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;
}
if (forcedName == null) {

View File

@ -290,7 +290,7 @@ public class DBProcess extends PamProcess {
+ theForm.getUdfTableDefinition().getTableName() + " with the " + theForm.getFormName()
+ " 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>";
int ans = WarnOnce.showWarning(PamController.getInstance().getGuiFrameManager().getFrame(0),
int ans = WarnOnce.showWarning(PamController.getMainFrame(),
title, msg, WarnOnce.OK_CANCEL_OPTION);
if (ans == WarnOnce.CANCEL_OPTION) {
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 " +
"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>";
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) {
return false;
}

View File

@ -110,7 +110,7 @@ public class MTClassifierOfflineTask extends OfflineTask<PamDataUnit<?,?>> {
@Override
public boolean callSettings() {
mtClassifierControl.showSettingsDialog(PamController.getInstance().getGuiFrameManager().getFrame(0));
mtClassifierControl.showSettingsDialog(PamController.getMainFrame());
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 " +
"Radar Display dialog panel to ensure that the correct datablocks are being displayed</p></html>";
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

View File

@ -121,7 +121,7 @@ public class DLOfflineTask extends OfflineTask<PamDataUnit<?,?>>{
@Override
public boolean callSettings() {
dlControl.showSettingsDialog(PamController.getInstance().getGuiFrameManager().getFrame(0));
dlControl.showSettingsDialog(PamController.getMainFrame());
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 " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
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 " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
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 " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
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 " +
"also indicate that your filename template is inadequate and returning duplicate filenames.</p></html>";
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, " +
"detections/second, etc). You will need to start a new Encounter to ensure all variables are calculated correctly.</p></html>";
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);
}

View File

@ -9,13 +9,17 @@ public class DWVConvertInformation {
private STGroupInfo fileGroup;
private int nDWV;
private int nDone;
private int nDWVDone;
private int nFileDone;
private int nFile;
public DWVConvertInformation(STGroupInfo fileGroup, int nDWV, int nDone) {
public DWVConvertInformation(STGroupInfo fileGroup, int nFile, int nFileDone, int nDWV, int nDWVDone) {
this.fileGroup = fileGroup;
this.nFile = nFile;
this.nFileDone = nFileDone;
this.nDWV = nDWV;
this.nDone = nDone;
this.nDWVDone = nDWVDone;
}
@ -36,10 +40,26 @@ public class DWVConvertInformation {
/**
* @return the nDone
* @return the nDWVDone
*/
public int getnDone() {
return nDone;
public int getnDWVDone() {
return nDWVDone;
}
/**
* @return the nFileDone
*/
public int getnFileDone() {
return nFileDone;
}
/**
* @return the nFile
*/
public int getnFile() {
return nFile;
}
}

View File

@ -81,8 +81,10 @@ public class DWVConverter {
binarySource.setBinaryStorageStream(outputStream);
binaryStream = clickBinaryDataSource.getBinaryStorageStream();
int iFile = 0;
int nFile = fileGroups.size();
for (STGroupInfo fileGroup:fileGroups) {
processFiles(fileGroup);
processFiles(fileGroup, nFile, ++iFile);
if (keepRunning == false) {
break;
}
@ -94,16 +96,30 @@ public class DWVConverter {
return null;
}
private void processFiles(STGroupInfo fileGroup) {
this.publish(new DWVConvertInformation(fileGroup, 0, 0));
if (fileGroup.hasDWV() == false) return;
private void processFiles(STGroupInfo fileGroup, int nFile, int iFile) {
this.publish(new DWVConvertInformation(fileGroup, nFile, iFile, 0, 0));
if (fileGroup.hasDWV() == false) {
/*
* Don't do this. In quiet conditions there will be a BCL file with a start and stop time
* but if there were no detections there will be no dwv file. We should make the pgdf file
* in any case so that there is a full PAMGuard record of effort.
* In other circumstances dwv files don't actually have data, in which case there may still be
* a null file, which is not so good. Will have to think about how to report this - perhaps in
* this case it's better not to make a pgdf file to show a genuine gap in the data.
*/
// return;
}
BCLReader bclReader = new BCLReader(fileGroup.getBclFile());
boolean ok = bclReader.open();
if (ok == false) return;
DWVReader dwvReader = new DWVReader(fileGroup.getDwvFile(), fileGroup.getDwvInfo());
dwvReader.openDWV();
int nDWV = dwvReader.getNumDWV();
int repStep = Math.max(1, nDWV/100);
int nDWV = 0;
DWVReader dwvReader = null;
if (fileGroup.hasDWV()) {
dwvReader = new DWVReader(fileGroup.getDwvFile(), fileGroup.getDwvInfo());
dwvReader.openDWV();
nDWV = dwvReader.getNumDWV();
}
int repStep = Math.max(10, nDWV/100);
int nRead = 0;
while (true) {
BCLLine bclLine = bclReader.nextBCLLine();
@ -127,7 +143,7 @@ public class DWVConverter {
dataLine(fileGroup, bclLine, dwvReader);
nRead++;
if (nRead%repStep == 0) {
this.publish(new DWVConvertInformation(fileGroup, nDWV, nRead));
this.publish(new DWVConvertInformation(fileGroup, nFile, iFile, nDWV, nRead));
}
break;
@ -140,10 +156,14 @@ public class DWVConverter {
// e.printStackTrace();
// }
}
this.publish(new DWVConvertInformation(fileGroup, nFile, iFile, nDWV, nDWV));
}
private void dataLine(STGroupInfo fileGroup, BCLLine bclLine, DWVReader dwvReader) {
double[] dwvData = dwvReader.readNextClick(null);
double[] dwvData = null;
if (dwvReader != null) {
dwvData = dwvReader.readNextClick(null);
}
if (dwvData == null) {
return; // can happen if file didn't flush correclty and some dwv is missing.
}
@ -185,21 +205,37 @@ public class DWVConverter {
}
if (bclLine.getState() == 1) {
long dwvFileStart = fileGroup.getDwvInfo().getTimeInfo().samplingStartTimeUTC;
long wavFileStart = fileGroup.getWavInfo().getTimeInfo().samplingStartTimeUTC;
fileStartMicroseconds = bclLine.getMicroSeconds();
Debug.out.printf("DWV start %s wav start %s bcl start %s\n", PamCalendar.formatDBDateTime(dwvFileStart),
PamCalendar.formatDBDateTime(wavFileStart), PamCalendar.formatDBDateTime(bclLine.getMilliseconds()));
long wavFileStart = fileGroup.getWavInfo().getTimeInfo().samplingStartTimeUTC;
try {
if (fileGroup.getDwvInfo() != null) {
long dwvFileStart = fileGroup.getDwvInfo().getTimeInfo().samplingStartTimeUTC;
Debug.out.printf("DWV start %s wav start %s bcl start %s\n", PamCalendar.formatDBDateTime(dwvFileStart),
PamCalendar.formatDBDateTime(wavFileStart), PamCalendar.formatDBDateTime(bclLine.getMilliseconds()));
}
else {
Debug.out.printf("No DWV File !!! wav start %s bcl start %s\n",
PamCalendar.formatDBDateTime(wavFileStart), PamCalendar.formatDBDateTime(bclLine.getMilliseconds()));
}
}
catch (Exception e) {
System.out.println(e.getMessage());
}
binaryStream.openOutputFiles(bclLine.getMilliseconds());
binaryStream.writeHeader(bclLine.getMilliseconds(), System.currentTimeMillis());
binaryStream.writeModuleHeader();
onEffort = true;
}
if (bclLine.getState() == 0) {
long dwvFileStop = fileGroup.getDwvInfo().getTimeInfo().samplingStopTimeUTC;
long wavFileStop = fileGroup.getWavInfo().getTimeInfo().samplingStopTimeUTC;
Debug.out.printf("DWV stop %s wav stop %s E stop %s\n", PamCalendar.formatDBDateTime(dwvFileStop),
PamCalendar.formatDBDateTime(wavFileStop), PamCalendar.formatDBDateTime(bclLine.getMilliseconds()));
try {
long dwvFileStop = fileGroup.getDwvInfo().getTimeInfo().samplingStopTimeUTC;
long wavFileStop = fileGroup.getWavInfo().getTimeInfo().samplingStopTimeUTC;
Debug.out.printf("DWV stop %s wav stop %s E stop %s\n", PamCalendar.formatDBDateTime(dwvFileStop),
PamCalendar.formatDBDateTime(wavFileStop), PamCalendar.formatDBDateTime(bclLine.getMilliseconds()));
}
catch (Exception e) {
System.out.println(e.getMessage());
}
binaryStream.writeModuleFooter();
binaryStream.writeFooter(bclLine.getMilliseconds(), System.currentTimeMillis(), BinaryFooter.END_UNKNOWN);
binaryStream.closeFile();

View File

@ -56,7 +56,7 @@ public class ImportBCLDialog extends PamDialog {
private JTextField customDateTimeFormat;
private JLabel fileCountInfo;
private JLabel thisFileInfo;
private JProgressBar allProgress;
private JProgressBar oneFileProgress, totalProgress;
private JComboBox<String> detectorName;
private int nSoundTraps;
private Hashtable<String, String> uniqueDevices = new Hashtable<>();
@ -162,8 +162,10 @@ public class ImportBCLDialog extends PamDialog {
thisFileInfo = new JLabel(" - ");
progressPanel.add(thisFileInfo);
allProgress = new JProgressBar();
progressPanel.add(allProgress);
totalProgress = new JProgressBar();
progressPanel.add(totalProgress);
oneFileProgress = new JProgressBar();
progressPanel.add(oneFileProgress);
startButton = new JButton("Start");
getButtonPanel().add(startButton, 0);
@ -388,10 +390,14 @@ public class ImportBCLDialog extends PamDialog {
thisFileInfo.setText("NO DWV records");
return;
}
int prog = dwvConvertInformation.getnDone() * 100 / dwvConvertInformation.getnDWV();
allProgress.setValue(prog);
thisFileInfo.setText(String.format("Repacked %d of %d clicks", dwvConvertInformation.getnDone(),
dwvConvertInformation.getnDWV()));
int prog = dwvConvertInformation.getnDWVDone() * 100 / dwvConvertInformation.getnDWV();
oneFileProgress.setValue(prog);
thisFileInfo.setText(String.format("Repacked %d of %d clicks in file %d of %d",
dwvConvertInformation.getnDWVDone(), dwvConvertInformation.getnDWV(),
dwvConvertInformation.getnFileDone(), dwvConvertInformation.getnFile()));
prog = dwvConvertInformation.getnFileDone() * 100 / dwvConvertInformation.getnFile();
totalProgress.setValue(prog);
}
@Override
@ -460,7 +466,7 @@ public class ImportBCLDialog extends PamDialog {
". 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.";
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;
}
@ -473,7 +479,7 @@ public class ImportBCLDialog extends PamDialog {
". 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";
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) {
break;
// }