Is it 'sort:size/length' possible in the future?

General discussion related to "Everything".
Post Reply
spooky
Posts: 35
Joined: Mon Feb 14, 2022 7:16 am

Is it 'sort:size/length' possible in the future?

Post by spooky »

The Idea is kind of excel-ish where you can make operations between columns, of course the only valid user case that it occurs to me is size/length, since something like sort:width*md5 makes no sense, but people can suggest more. In regards of size/length usefulness, imagine these as you files

Code: Select all

soundA.mp3   |  04:24  |  3,5 MB
soundB.mp3   |  02:44  |  7,8 MB
soundC.mp3   |  01:17  |  2,6 MB
if you sort them by length, it would stay as it is, if you sort by size, the order would be take soundB.mp3 to the top, soundA.mp3 and then soundC.mp3; but, what if I want see which files takes up the most space in disk in relation to its duration? I'll add the values of size divided by length

Code: Select all

songB.mp3   |  02:44  |  7,8 MB  |  3,19
songC.mp3   |  01:17  |  2,6 MB  |  2,2
songA.mp3   |  04:24  |  3,5 MB  |  0,825
now the order is different from the size or length and I have more information about the efficient use of disk space of the files.

TLDR:
order by length A,B,C;
order by size B,A,C;
order by the relation of size and length B,C,A.
raccoon
Posts: 1017
Joined: Thu Oct 18, 2018 1:24 am

Advanced Sort / Secondary Sort

Post by raccoon »

Everything 1.5 Alpha introduces Advanced Sort,
via, View -> Sort By -> Advanced Sort...
and via, Column header click to define the primary sort order, then column header shift+click to define the secondary sort order.
and via, sort: and secondary-sort: syntax, as in sort:size secondary-sort:length.

ref: more discussion.

However, your question actually seems like you might be trying to determine bitrate of an mp3 file? Everything 1.5 also adds advanced property indexing to add all sorts of columns to sort by, if that's what you're after.
raccoon
Posts: 1017
Joined: Thu Oct 18, 2018 1:24 am

Re: Is it 'sort:size/length' possible in the future?

Post by raccoon »

@void: Is there any way to turn on "stable sort" or automatically tailing secondary sort? For convenience of not having to use shift clicks, but also because it would support more than 2 columns since the sort is stable (preserving the previous order). The current behavior seems to always sort by object name as the secondary sort.
void
Developer
Posts: 16771
Joined: Fri Oct 16, 2009 11:31 pm

Re: Is it 'sort:size/length' possible in the future?

Post by void »

Thanks for the suggestion spooky,

I have put on my TODO list to add an eval result column.
The idea is you would search for:
eval:#size:/#length:
Then sort by the eval result column.

eval: already exists and will match when the expression (#size:/#length:) returns non-zero.


@void: Is there any way to turn on "stable sort"
For the best performance Everything will sort by either:

Name, Path, Index
Index, Path, Name
Size, Name, Path, Index
Date Modified, Name, Path, Index

These sorts are 'presorted' to allow for instant sorting.


Secondary sorts are slow and inefficient.

I will consider the Ctrl modifier to specify a stable sort, so you could do something like:
Ctrl + click the extension column, then Ctrl + click the size column to sort by extension, then size.

Thank you for the suggestion.
raccoon
Posts: 1017
Joined: Thu Oct 18, 2018 1:24 am

Re: Is it 'sort:size/length' possible in the future?

Post by raccoon »

When you say "Index" isn't that already inherited in the path sort? Or would adding two subfolders as their own Folder Indexes do something weird in the sort ordering that doesn't resolve when sorting by path?

I would suggest something like ctrl+clicking a column header would "stable search" that column with whatever the existing search on screen happens to be right now, so it becomes a 1-click-solution. If you are currently sorted by Size, and you ctrl+click on Path, then Size is effectively your "secondary sort" now, and any other tertiary sorts from before that are also retained where paths & sizes match.

If we're loving semicolon dupe:name;size;date then maybe some other syntax like sort:name;size;date also follows?
void
Developer
Posts: 16771
Joined: Fri Oct 16, 2009 11:31 pm

Re: Is it 'sort:size/length' possible in the future?

Post by void »

When you say "Index" isn't that already inherited in the path sort?
No, there can be duplicates paths in Everything.

For Name sorting, the index is done last:

Explorer.exe C:\windows (Fat index)
Explorer.exe C:\windows (Filelist index)
Explorer.exe C:\windows (NTFS index)
Notepad.exe C:\windows (Fat index)
Notepad.exe C:\windows (Filelist index)
Notepad.exe C:\windows (NTFS index)

Everything can now lookup a file/folder in the index instantly with name/path.


For Path sorting, index is done first:

(Fat index) C:\windows Explorer.exe
(Fat index) C:\windows Notepad.exe
(Filelist index) C:\windows Explorer.exe
(Filelist index) C:\windows Notepad.exe
(NTFS index) C:\windows Explorer.exe
(NTFS index) C:\windows Notepad.exe

Everything can now find child instantly.


I would suggest something like ctrl+clicking a column header would "stable search" that column with whatever the existing search on screen happens to be right now, so it becomes a 1-click-solution. If you are currently sorted by Size, and you ctrl+click on Path, then Size is effectively your "secondary sort" now, and any other tertiary sorts from before that are also retained where paths & sizes match.
Shift + click already does this.
Except, it's limited to one secondary sort.

Ctrl + click would just allow additional stable sorts.

If we're loving semicolon dupe:name;size;date then maybe some other syntax like sort:name;size;date also follows?
I just tried this too! It's already on my TODO list!
Thanks for the suggestion.
raccoon
Posts: 1017
Joined: Thu Oct 18, 2018 1:24 am

Re: Is it 'sort:size/length' possible in the future?

Post by raccoon »

The thing that confused me about Shift+Click sorting is that you first click on the Primary column, and then you Shift+Click on the secondary column. So the forward order of clicking is big endian where the most significant column is your first click, and then subsequent shift+clicks go down in rank to secondary sorting.

What I propose about "stable sort" is your subsequent ctrl+clicks become the Primary, most significant sort, and whatever *was* is now your secondary and tertiary sorts before it. Dragging behind sort. That's the intuitive behavior of any table that uses stable sorting.
void
Developer
Posts: 16771
Joined: Fri Oct 16, 2009 11:31 pm

Re: Is it 'sort:size/length' possible in the future?

Post by void »

What I propose about "stable sort" is your subsequent ctrl+clicks become the Primary, most significant sort, and whatever *was* is now your secondary and tertiary sorts before it. Dragging behind sort. That's the intuitive behavior of any table that uses stable sorting.
I have put this on my TODO list.
Thank you for the suggestion.
spooky
Posts: 35
Joined: Mon Feb 14, 2022 7:16 am

Re: Advanced Sort / Secondary Sort

Post by spooky »

raccoon wrote: Mon Feb 14, 2022 9:18 am Everything 1.5 Alpha introduces Advanced Sort
Secondary sort wouldn't do much in this case, a folder filled with mp3 or mp4 rarely have files matching size or length. It would mostly be a primary sort, with just very casual secondary sort.
raccoon wrote: Mon Feb 14, 2022 9:18 am However, your question actually seems like you might be trying to determine bitrate of an mp3 file? Everything 1.5 also adds advanced property indexing to add all sorts of columns to sort by, if that's what you're after.
I have encounter some problems doing that, like lack of bitrate information in video files even though they aren't corrupt.
Image
void wrote: Mon Feb 14, 2022 9:58 am I have put on my TODO list to add an eval result column.
The idea is you would search for:
eval:#size:/#length:
Then sort by the eval result column.
Thanks!
void
Developer
Posts: 16771
Joined: Fri Oct 16, 2009 11:31 pm

Re: Is it 'sort:size/length' possible in the future?

Post by void »

Thank you for your reply spooky,

Everything doesn't have native support for the bitrate properties and mkv files.
These values are coming from the OS.

I have put on my TODO list to add native support for mkv bitrate properties.

Everything currently has native support for mkv length, frame rate, video format, audio format, file signature, width, height, dimensions, audio channels, audio sample rate and audio bits per sample properties.


Another idea is to export the results with the Length and Size columns to CSV and use Excel to calculate and sort by the bitrates.
spooky
Posts: 35
Joined: Mon Feb 14, 2022 7:16 am

Re: Is it 'sort:size/length' possible in the future?

Post by spooky »

void wrote: Mon Feb 14, 2022 11:05 pm Another idea is to export the results with the Length and Size columns to CSV and use Excel to calculate and sort by the bitrates.
That's my aproach right now, not ideal, things like time got exported as eg 40:36 and not as 00:40:36, so Excel automatically assumes it's 40 hours 36 minutes and 0 seconds. Maybe there's an easy fix but I'm not an expert on Excel so I'm manually adding 00: on the cells. Also I have to use some formula to convert HH:MM:SS to just seconds for the operation, and every new file would need to be exported again. I'll just be patient and wait for the eval:#size:/#length: column option.
void
Developer
Posts: 16771
Joined: Fri Oct 16, 2009 11:31 pm

Re: Is it 'sort:size/length' possible in the future?

Post by void »

duration_format might help:
  • In Everything, type in the following search and press ENTER:
  • /duration_format=hh:mm:ss
  • If successful, duration_format=hh:mm:ss is shown in the status bar of a few seconds.
void
Developer
Posts: 16771
Joined: Fri Oct 16, 2009 11:31 pm

Re: Is it 'sort:size/length' possible in the future?

Post by void »

Everything 1.5.0.1301a improves the total bitrate property.

The property is now calculated from size / duration.
Post Reply