user0 wrote: Mon May 26, 2025 2:56 pm
Neuro-NX wrote: Sun May 25, 2025 11:43 pm
When a FILELIST is loaded from a text file. I expect the files to be sorted, as it appears in my filelist.txt.
I disagree
filelist must be sorted as per app's existing 'Sort by' setting
Yes. By default, it should be sorted as per the "Sort by" configuration setting values.
Code: Select all
[Browser]
sort=INT
sortNameMethod=INT
sortOrder=INT
My suggestion is to introduce a new option to
override the default behaviour, using a globally set option.
Refer to FIG2 image.
user0 wrote: Mon May 26, 2025 2:56 pm
I doubt any extra option is required in Settings
I explained my rationale and reasoning behind my user expectation. Which is that.
1. what the program refers to as a "Filelist" is a compiled or indexed record of files that is user created.
2. Like an analogy to a sorted bookshelf or managed database
3. that sorts items according to a user defined "heuristic".
4. Therefore, the program should match the same file order.
5. => IF <=
the user specifically enabled a globally set option in Settings
"Keep same order in filelist file".
Maybe I should have been more explicit.
user0 wrote: Mon May 26, 2025 2:56 pm
However, if opened via console - arguments may change sort order (but it should be indicated in 'Sort by' menu as well)
The problem is not every user will know to use the command-line. Or may decide NOT to use the command-line and prefer to use a GUI.
So it should not be the
only way to enable this feature. It should be an alternative option.
The reason for adding an argument option
"-keep-order" for the command-line. Is to cover the edge-case, where => IF <= the globally set Settings option
"Keep same order in filelist file" is unchecked. Users can still apply the option using the command-line.
The command-line option
"-keep-order" is
important to include in this bug fix or revision. As it allows users like me to perform file sorting operations in the terminal, then generate the output file paths into a compiled FILELIST file. So it's critical, for my use case, that the order of the files in the FILELIST is reflected in browser because I want to use it as part of my automation workflow.
Use Case:
1. I wrote a python script that uses "ffprobe" to find videos in a directory based on it's EXIF metadata. And print the absolute path of the file.
2. I sort the videos based on some TYPE, that is not provided in the "Sort by" list. Such as EXIF tag
"bit_rate" or
"r_frame_rate".
3. I output the file paths to a FILELIST.
Notice the order is not alphabetical or numerical starting from the first character of the filename. But numerically, based on the framerate value.
Code: Select all
"/path/video1-24.mp4"
"/path/video2--24.mp4"
"/path/video1-30.mp4"
"/path/video1-60.mp4"
In XnView MP browser. It would currently show like this. Which is
NOT what I want.
Code: Select all
"/path/video1-24.mp4"
"/path/video1-30.mp4"
"/path/video1-60.mp4"
"/path/video2--24.mp4"
user0 wrote: Mon May 26, 2025 2:56 pm
Maybe new 'Source' option in 'Sort by' menu (as this is the place where all sort options exist)
I am unclear as to what you mean by "Source".
If by "Source", you mean copy the order as it appears in the "source" FILELIST file. Then Yes, I have no problem with that. But it should be
in addition to the globally set Settings option. By that I mean, the developer provides both ways of accessing the feature. Otherwise, a user would have to select that button in "Sort by" menu, each time they load a FILELIST. This would affect usability and ease of use. That's why there should be a Settings option, for users that want this always enabled.
Update:
Actually. This could be a toggle checkbox element, rather than a button element. Which would solve the issue I mentioned above.
In which case, the user could enable a toggle checkbox, as an item in the "Sort by" menu,
FIG3

- Keep filelist order option
- Screenshot_2025-05-26_18-48-30.png (28.64 KiB) Viewed 296 times
The developer can make the appropriate choice, on where to place the option.
What's important to me, is that there is a globally set option
AND a a terminal command-line option.