diff --git a/README.html b/README.html index 26da7a1a..d4faac7a 100644 --- a/README.html +++ b/README.html @@ -466,9 +466,9 @@ name="_Version_2.02.10_January">Version 2.02.10 January 2024

New Features

Importing modules from other configurations: New options from file menu allowing import -of specific modules, or module settings from other configurations. E.g. if you -had three similar configurations and had set one of them up with a new +lang=EN-US> from other configurations: New options from file menu allowing +import of specific modules, or module settings from other configurations. E.g. +if you had three similar configurations and had set one of them up with a new detector, or got the click classifier settings set up just right in one of those configurations, you can import the additional modules or the click detector settings easily into the other configurations.

@@ -478,8 +478,9 @@ files) file performance when scrolling through audio data in Viewer mode.

Viewer Launch by right clicking on sqlite database and selecting �open with / Pamguard -ViewerMode launcher� menu option.

+lang=EN-US> by right clicking on sqlite database and selecting “open with / +Pamguard ViewerMode” launcher menu option.

+

Bug Fixes

Logger Forms

@@ -526,10 +527,18 @@ clicks not being correctly reassigned to different events.

Screen Position: When using multiple monitors, if you move a configuration to a -computer with a different monitor layout, the GUI should work out if itÂ’s +computer with a different monitor layout, the GUI should work out if it’s opening on a screen area which no longer exists and move itself onto the primary monitor.

+

File Folder Processing: Previous version had a bug which caused files to not always be +sorted into the correct order for processing. This caused some instability in +some detectors, causing memory leaks when new data arrived with time stamps +earlier than already processed data in memory. This is now fixed – files are ow +correctly sorted alphabetically by file name, i.e. not including the +name of the folder containing the files.

+

Version 2.02.09 June 2023

Bug Fixes

@@ -548,8 +557,8 @@ were reading local time, even when set to use UTC.

which mostly occurred when processing large datasets of many offline files, has been fixed.

-

Data Map: “Scroll To Data” pop-up menu, -which didn’t always scroll to the correct place, is now fixed.

+

Data Map: “Scroll To Data” pop-up menu, +which didn’t always scroll to the correct place, is now fixed.

Bearing Localiser offline: If reprocessing bearings, the localizer was not correctly loading required raw or FFT data to @@ -572,7 +581,7 @@ files and stores them within the PAMGuard configuration. This does not affect processing, but is important for record keeping.

GPS options to use any valid RMC or GGA -string. Not all GPS receivers output their RMC data as GPRMC – e.g. some may +string. Not all GPS receivers output their RMC data as GPRMC – e.g. some may output as GNRMC. A new option allows the GPS module to use any string, whatever the first two characters of the string name may be.

@@ -581,15 +590,15 @@ the first two characters of the string name may be.

Bug Fixes

Use of localization sensor and orientation -data for static hydrophones had a bug whereby it would continually ‘forgetÂ’ +data for static hydrophones had a bug whereby it would continually ‘forget’ angle offsets applied to static hydrophones in viewer mode. This is now fixed.

Click tool bar: Correctly shows event selection options even if no species classification options are in place.

-

Fixed Landmarks: Earlier versions were -‘losing’ these every time PAMGuard started or new data were loaded in viewer -mode. Now fixed.

+

Fixed Landmarks: Earlier versions were ‘losing’ +these every time PAMGuard started or new data were loaded in viewer mode. Now +fixed.

ROCCA: Fixed (another) memory leak which caused PAMGuard to crash when processing large data sets with the ROCCA @@ -607,11 +616,11 @@ processing.

New sound type for simulated sounds which generates random chirps between around 200 and 800Hz, roughly the frequency -youÂ’d expect sound from higher frequency baleen whales, such as humpbacks, to +you’d expect sound from higher frequency baleen whales, such as humpbacks, to vocalise at.   

Hiding tool tips. A menu item to -permanently turn off all tool tips, or tap the ‘EscÂ’ key to turn them off for 6 +permanently turn off all tool tips, or tap the ‘Esc’ key to turn them off for 6 seconds if they are getting in the way, particularly when trying to interact with displays using the mouse.

@@ -632,7 +641,7 @@ whistle classification module.

New Features

-

SoundTrap SUD file reading. If youÂ’re using +

SoundTrap SUD file reading. If you’re using SoundTrap autonomous recorders from Ocean Instruments, you no longer need to decompress the SoundTrap files prior to processing. This will save time and a lot of disk space. Extraction of clicks from the inbuilt SoundTrap Click @@ -696,7 +705,7 @@ audio files.

Bug Fixes

Soundtrap DWV import. Will now generate -binary files even if DWV file doesn’t exist (which is correct behavior in +binary files even if DWV file doesn‚’t exist (which is correct behavior in quiet conditions when no clicks were detected).

Spectrogram. Changes to stop occasional @@ -731,8 +740,8 @@ running in real time. Added template names based on file names.

#13 Merging files when offline processing file folders: Had an error introduced in last release which caused it to fail to recognise gaps between files, meaning that some output data (i.e. after a gap) would have an -incorrect time stamp. This did not affect data if the ‘merge contiguous -files’ option was not selected.

+incorrect time stamp. This did not affect data if the ‘merge contiguous files’ +option was not selected.

#14 Logger forms data were not plotting correctly. This was due to the required data selection functions not being fully implemented. This @@ -758,9 +767,8 @@ the TF FX display to crash if no data were displayed.

See major release notes for V 2.02.01 below.

-

Bug 495: TD FX display throws -NullPointerException if user has removed all data units and then moves mouse -over display area.

+

Bug 495: TD FX display throws NullPointerException +if user has removed all data units and then moves mouse over display area.

Version 2.02.01 October 2021

@@ -783,11 +791,11 @@ font-family:"Times New Roman",serif'> 

File Format Change

-

Changes have been made to the binary file format to support -the output of additional noise outputs for certain detectors (See below). -Binary files created with this version will not be compatible with earlier -versions 2.01.### and below. This version will read and may convert earlier -format binary files.

+

Changes have been made to the binary file format to support the +output of additional noise outputs for certain detectors (See below). Binary +files created with this version will not be compatible with earlier versions +2.01.### and below. This version will read and may convert earlier format +binary files.

 

@@ -795,19 +803,20 @@ font-family:"Times New Roman",serif'> 

Localisation Modules

-

Bearing and Group 3D localization modules have been thoroughly -tested and a number of bugs rectified. Documentation has been developed and is -available in the online help. Further, a number of example configurations have -been generated, configuration files for these are available in the PAMGuard -downloads area here.

+

Bearing and Group 3D localization modules have been +thoroughly tested and a number of bugs rectified. Documentation has been +developed and is available in the online help. Further, a number of example +configurations have been generated, configuration files for these are available +in the PAMGuard downloads area here.

Detection Group Localiser

-

This module has been renamed “Detection Grouper”, so -as to avoid confusion with the Group 3D localizer. This is because the -Detection Grouper is more for organizing data into groups to be localized than -it is for doing localization.

+

This module has been renamed “Detection Grouper”, so as to +avoid confusion with the Group 3D localizer. This is because the Detection +Grouper is more for organizing data into groups to be localized than it is for +doing localization.

Minor Bug Fixes

@@ -862,9 +871,9 @@ lang=EN-US> Allow Clip Generator to create both a binary record and a wav file

5.        -Implemented a Backup Manager for backing up multiple types of data to multiple -locations]

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Implemented a Backup Manager for backing up multiple types +of data to multiple locations]

6.        Extend the Hyperbolic Localiser to handle 2D planar arrays (previously limited to 3D volumetric arrays)

14.        -new CPOD features

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       new CPOD features

15.        Better interpolation of data by the Decimator when decimating/upsampling by a non-integer amount

16.        -Noise Level Outputs - as an aid to performance diagnosis, some detectors -(currently the GPL, Click Detector and Whistle and Moan Detector) are -outputting additional noise metrics to their binary output files. These can be -read with the PAMGuard -Matlab library and used to diagnose system performance in varying noise +lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Noise Level Outputs - as an aid to performance diagnosis, +some detectors (currently the GPL, Click Detector and Whistle and Moan +Detector) are outputting additional noise metrics to their binary output files. +These can be read with the PAMGuard Matlab +library and used to diagnose system performance in varying noise conditions. Improved displays within PAMGuard for these noise metrics will be included in a future release.

17.        An implementation of the Generalized Power Law Detector, -developed by Tyler Helble ([Helble et al., ‘A generalized power-law -detection algorithm for humpback whale vocalizations’, The Journal of the -Acoustical Society of America, vol. 131, no. 4, pp. 2682–2699, 2012) is now -available. For details, see the online help

+developed by Tyler Helble ([Helble et al., ‘A generalized power-law detection +algorithm for humpback whale vocalizations’, The Journal of the Acoustical +Society of America, vol. 131, no. 4, pp. 2682–2699, 2012) is now available. For +details, see the online help

18.       Beta Version 2.00.10 before proceeding with installation and use of this version.

-

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.

+

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.

Bug Fixes

@@ -1289,8 +1299,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb Bug 440. Measurement Computing Cards not enumerating properly.

9.        -Bug 441. Plot coordinate calculations incorrect in PamAxis.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Bug 441. Plot coordinate calculations incorrect in PamAxis.

10.        Bug 443. NI playback crashing immediately if a device is not present.

12.        -Bug 444. Bug in data selector which caused it to mess up history of recent psf -files.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Bug 444. Bug in data selector which caused it to mess up +history of recent psf files.

13.        Bug 431. Error when trying to mark section of spectrogram to send to Bearing Calculator module

6.        -Bug 432. MySQL database interface - connection problems

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Bug 432. MySQL database interface - connection problems

Upgrades

@@ -1696,8 +1706,8 @@ with installation and use of this version.

1.        -Bug 338. Problem displaying coastlines and bathymetric contours around -the dateline (+/- 180 longitude) in the map.

+Bug 338. Problem displaying coastlines and bathymetric contours around the +dateline (+/- 180 longitude) in the map.

2.        @@ -1823,9 +1833,9 @@ see new options in main menu.

2.        Added Matched Template Click Classifier. Classifies clicks based -on an ideal template to match and a template to reject. An example of this is -to classify beaked whale clicks in an environment with dolphin clicks.

+lang=EN-US> Added Matched Template Click Classifier. Classifies clicks +based on an ideal template to match and a template to reject. An example of +this is to classify beaked whale clicks in an environment with dolphin clicks.

3.        @@ -1935,9 +1945,9 @@ interface when importing Soundtrap data. Also changed the default date/time format to ISO8601 standard.

2.        -A number of upgrades and fixes to the Localiser algorithms, including expanding -to work with whistles.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       A number of upgrades and fixes to the Localiser algorithms, +including expanding to work with whistles.

3.        User is now able to specify Soundtrap date/time format

Beta Version 2.00.11 October 2017

-

PAMGuard Version 2 contains major updates. You -should read and understand the notes listed for PAMGuard Version 2 contains major updates. +You should read and understand the notes listed for Beta Version 2.00.10 before proceeding with installation and use of this version.

@@ -2201,22 +2211,22 @@ file format is the addition of a Unique Data Identifier (UID) to each unit of data. This is intended to aid in offline analysis by making it easier for the user to link what they are seeing on different PAMGuard displays and also to link with any data post processed in Matlab or other custom analysis software. -UID’s are also added to PAMGuard database tables.

+UID’s are also added to PAMGuard database tables.

Converting Old Data

If old data are opened with the PAMGuard viewer they will automatically be converted. For safety, the original binary files will not be overwritten and the new data will be placed in a new folder -on your computer with the same path as the old data, but suffixed with -‘_WithUID’, e.g. if your binary data were previously stored in the folder +on your computer with the same path as the old data, but suffixed with ‘_WithUID’, +e.g. if your binary data were previously stored in the folder C:\MySurvey\binarydata the new data will be written to C:\MySurvey\binarydata_WithUID.

The additional UID column will be added to all database tables and populated with unique values. For data which are stored -in both the binary files and in database tables, the same UID’s will be used -in both data stores.

+in both the binary files and in database tables, the same UID’s will be used in +both data stores.

New Displays

@@ -2285,8 +2295,8 @@ Hawaii/Temperate Pacific/North Atlantic datasets. This has been corrected.

2.       -Bug 320. Pamguard stopped reading Click Detector Event data from -database when target motion analysis information was encountered. Corrected.

+Bug 320. Pamguard stopped reading Click Detector Event data from database +when target motion analysis information was encountered. Corrected.

3.       @@ -2357,9 +2367,10 @@ happens when the user selects save as new configuration. This has been fixed.

6.       -Bug 315. code searched for file in working folder, which is the installation -folder when starting PAMGuard using a shortcut link. But when double-clicking -on a psf, the working folder is the location of the psf. This has been fixed.

+Bug 315. code searched for file in working folder, which is the +installation folder when starting PAMGuard using a shortcut link. But when +double-clicking on a psf, the working folder is the location of the psf. This +has been fixed.

7.      

Other Changes

-

The installer has been updated to handle both -64 bit and 32 bit installations. PAMGuard psf files are now registered in the -Windows Registry, so double-clicking on a psf file should run PAMGuard in +

The installer has been updated to handle +both 64 bit and 32 bit installations. PAMGuard psf files are now registered in +the Windows Registry, so double-clicking on a psf file should run PAMGuard in normal mode (as opposed to Viewer or Mixed modes). Note that the Windows Registry can only hold a single executable reference for psf files; therefore, for users with multiple installations of PAMGuard, double-clicking on a psf @@ -2449,12 +2460,12 @@ November 2016

1.       Bug 303. Some ASIO sound cards not working with either ASIO system in PAMGuard. For the PAMGuard ASIO system, this was due to a data format used by some sound -cards never being properly implemented. For the “New ASIO system” which -is based on jAsioHost, the unpacking of that format contained a bug which -returned incorrect numbers, so data were swamped with noise. Both systems are -now fixed. By preference, users should use the PAMGuard ASIO system since the -JAsioHost based system seems to drop samples when many channels are running at -high sample rate.

+cards never being properly implemented. For the “New ASIO system” which is +based on jAsioHost, the unpacking of that format contained a bug which returned +incorrect numbers, so data were swamped with noise. Both systems are now fixed. +By preference, users should use the PAMGuard ASIO system since the JAsioHost +based system seems to drop samples when many channels are running at high +sample rate.

2.       @@ -2741,8 +2752,8 @@ being imported into the new database. Problem 2 was that indexing of imported click events in the new database was incorrect. Both these issues have now been fixed.

-

Version 1.15.02 -March 2016

+

Version 1.15.02 March +2016

A number of small bug fixes following release of 1.15.00.

@@ -2894,13 +2905,13 @@ for details.

3.       -GPS Loading into PAMGuard Viewer. This has been -modified so that the rules governing GPS data collection and storage also apply -when loading data from the database. For instance, if you've stored all GPS -data, you've probably got a record every second in the database which can -create memory overflows if you try to load a lot of data in the viewer. You can -now tell PAMGuard to only load a data point every n seconds which will reduce -the number of points loaded. Useful when making large scale overview maps of a +GPS Loading into PAMGuard Viewer. This has been modified +so that the rules governing GPS data collection and storage also apply when +loading data from the database. For instance, if you've stored all GPS data, +you've probably got a record every second in the database which can create +memory overflows if you try to load a lot of data in the viewer. You can now +tell PAMGuard to only load a data point every n seconds which will reduce the +number of points loaded. Useful when making large scale overview maps of a survey.

4.

Menu Layout

-

The PAMGuard menus have been rearranged into a more -intuitive grouping which we believe will help users find functionality more -easily.

+

The PAMGuard menus have been rearranged into a more intuitive +grouping which we believe will help users find functionality more easily.

'Detection' menu has been renamed to 'Settings' since many menu items within this menu were not directly to do with 'Detection'.

@@ -3292,9 +3302,9 @@ of third octave noise bands. See online help for details.

Filtered Noise Measurement (Sound Processing Group)

-

This module, developed by Douglas Gillespie, measures noise -levels in a single frequency band using a variety of filter functions. See -online help for details.

+

This module, developed by Douglas Gillespie, measures noise levels +in a single frequency band using a variety of filter functions. See online help +for details.

Envelope Tracing (Beta Only, Sound Processing Group)

@@ -3330,11 +3340,10 @@ different. Details are available in the online help.

FLAC File Support

Can now read raw audio data direct from FLAC files. FLAC is a lossless compression -algorithm for audio data. Files, or folders of files are accessed in the same -way as WAV and AIFF files in the Sound Acquisition module. In a future release -we also hope to provide support for writing FLAC files from the sound recorder -module.

+href="http://en.wikipedia.org/wiki/FLAC">FLAC is a lossless compression algorithm +for audio data. Files, or folders of files are accessed in the same way as WAV +and AIFF files in the Sound Acquisition module. In a future release we also +hope to provide support for writing FLAC files from the sound recorder module.

Sound Recorder Module

@@ -3402,8 +3411,8 @@ whistle.

  • Airgun display. If this was included in the PAMGuard model before the GPS module it would hang PAMGuard. This has been rectified.
  • -
  • Fixed occasional exceptions in the - sound output modules when playing back from files.
  • +
  • Fixed occasional exceptions in + the sound output modules when playing back from files.
  • Fixed exceptions in spectrogram user interface.
  • Fixed National Instruments sound @@ -3485,8 +3494,8 @@ other data sources for the PAMGuard viewer.

    storage to the database offline for any module having both binary and database storage.

    -

    Can create a blank MS Access database -(2007 and later *.accdb formats only).

    +

    Can create a blank MS Access +database (2007 and later *.accdb formats only).

    Can open MS Access from within PAMGuard to make it easier to view database content.

    @@ -3805,10 +3814,10 @@ source, even if that data source is loaded after the FFT module is created.

    1. Binary storage module.

    -

    Performs a parallel role to the PAMGAURD database but uses binary -files in a proprietary format which is considerably more efficient for data of -unknown length such as whistle contours or small clips of click waveform. This -feature is currently implemented in the following modules:

    +

    Performs a parallel role to the PAMGAURD database but uses +binary files in a proprietary format which is considerably more efficient for +data of unknown length such as whistle contours or small clips of click +waveform. This feature is currently implemented in the following modules:

    '         @@ -4017,8 +4026,8 @@ column was setting to zero. This is now fixed

    Ishmael Detectors

    -

    Better rendering of detection boxes on spectrogram display and -more meaningful names in spectrogram display menu.

    +

    Better rendering of detection boxes on spectrogram display +and more meaningful names in spectrogram display menu.

    Sound acquisition

    @@ -4107,8 +4116,8 @@ Symbol'>''         -This results in a major speed up of data exchange between modules and -can lead to a x4 improvement in overall performance.

    +
    This results in a major speed up of data exchange between modules and can +lead to a x4 improvement in overall performance.

    '         @@ -4221,9 +4230,9 @@ Symbol'>''         -Channel lists in output data streams of Decimator and other modules -fixed, so that when channel numbers change, downstream modules configurations -get the correct list of available channels.

    +Channel lists in output data streams of Decimator and other modules fixed, +so that when channel numbers change, downstream modules configurations get the +correct list of available channels.

    '         @@ -4846,8 +4855,8 @@ Symbol'>'1.0Beta 22 Jan 2008 - -Pamguard starts two releases, core and beta release,

    +class=Heading2Char>1.0Beta 22 Jan 2008 - Pamguard +starts two releases, core and beta release,

    this is the beta release

    diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 5b4dd67c..1eb2342e 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -4,7 +4,7 @@ org.pamguard Pamguard Pamguard Java12+ - 2.02.09aa + 2.02.10 Pamguard for Java 12+, using Maven to control dependcies www.pamguard.org @@ -100,16 +100,6 @@ - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - @@ -117,6 +107,16 @@ + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + diff --git a/pom.xml b/pom.xml index 31152cec..18731009 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.pamguard Pamguard - 2.02.09ab + 2.02.10 Pamguard Java12+ Pamguard for Java 12+, using Maven to control dependcies www.pamguard.org diff --git a/src/Acquisition/pamAudio/WavAudioFile.java b/src/Acquisition/pamAudio/WavAudioFile.java index b20a4b1b..77d07b54 100644 --- a/src/Acquisition/pamAudio/WavAudioFile.java +++ b/src/Acquisition/pamAudio/WavAudioFile.java @@ -14,6 +14,7 @@ import javax.sound.sampled.UnsupportedAudioFileException; import org.codehaus.plexus.util.FileUtils; import Acquisition.offlineFuncs.AquisitionLoadPoint; import PamDetection.RawDataUnit; +import PamguardMVC.PamConstants; //import PamUtils.CPUMonitor; import PamguardMVC.PamDataBlock; import PamguardMVC.dataOffline.OfflineDataLoadInfo; @@ -47,6 +48,8 @@ public class WavAudioFile implements PamAudioFileLoader { * Get the file extensions associated with loading these data. */ protected ArrayList fileExtensions; + + private double[] channelBackground = new double[PamConstants.MAX_CHANNELS]; public WavAudioFile() { fileExtensions = new ArrayList(Arrays.asList(new String[]{".wav", ".aif", ".aiff"})); @@ -190,6 +193,9 @@ public class WavAudioFile implements PamAudioFileLoader { newDataUnit = new RawDataUnit(ms, 1 << ichan, totalSamples, newSamples); newDataUnit.setFileSamples(totalSamples + skipped / frameSize); //set the number samples into the wav file. + + removeDCComponent(doubleData[ichan], ichan, audioFormat); + newDataUnit.setRawData(doubleData[ichan], true); //System.out.println("New wav data: " + PamCalendar.formatDateTime(newDataUnit.getTimeMilliseconds())); @@ -211,6 +217,26 @@ public class WavAudioFile implements PamAudioFileLoader { } + private void removeDCComponent(double[] ds, int channel, AudioFormat audioFormat) { + /* + * do a simple background subtraction with about a 1s time constant. + * If the background is currently zero initialise it to the mean data value. + */ + double alpha = 1./audioFormat.getSampleRate(); + double alpha_1 = 1.-alpha; + double bg = channelBackground[channel]; + if (bg == 0.) { + for (int i = 0; i < ds.length; i++) { + bg += ds[i]; + } + bg /= ds.length; + } + for (int i = 0; i < ds.length; i++) { + ds[i] -= bg; + bg = bg*alpha_1 + ds[i]*alpha; + } + } + /** * Open a sound file. * @param soundFile diff --git a/src/PamController/PamguardVersionInfo.java b/src/PamController/PamguardVersionInfo.java index 2302674a..c6753329 100644 --- a/src/PamController/PamguardVersionInfo.java +++ b/src/PamController/PamguardVersionInfo.java @@ -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.09ab"; + static public final String version = "2.02.10"; /** * Release date */ - static public final String date = "18 January 2024"; + static public final String date = "30 January 2024"; // /** // * Release type - Beta or Core diff --git a/src/PamUtils/worker/filelist/FileListWorker.java b/src/PamUtils/worker/filelist/FileListWorker.java index e71a5f62..9ee5c80f 100644 --- a/src/PamUtils/worker/filelist/FileListWorker.java +++ b/src/PamUtils/worker/filelist/FileListWorker.java @@ -228,6 +228,7 @@ public abstract class FileListWorker implements PamWorkWrapper result) { oldFileList = result; + sortFiles(result); fileListUser.newFileList(result); }