How to update Property (length:) ?

Discussion related to "Everything" 1.5.
therube
Posts: 5755
Joined: Thu Sep 03, 2009 6:48 pm

How to update Property (length:) ?

Post by therube »

How to update (refresh) a Property (length:) - on selected items?


seems, over time, additional support was added for various file formats (like for length: of f4v/m4v)
&/or, better capability of reading Property for incorrectly identified (ext:) files

so i can have an identical file on 1 volume, that displays length:, & that same file on a
different volume, that does not
(possible that the volume that does not display, had been offline - for a very long time)

how to "refresh" the !length: item so that it does display?
(Read Extended Information, does not seem to do it)

i can rename/Undo & that does work, but is there a way aside from doing that?


Oh, in this case, length: is Indexed.
void
Developer
Posts: 20050
Joined: Fri Oct 16, 2009 11:31 pm

Re: How to update Property (length:) ?

Post by void »

Select the files and press Ctrl + F5 to refresh indexed content.
therube
Posts: 5755
Joined: Thu Sep 03, 2009 6:48 pm

Re: How to update Property (length:) ?

Post by therube »

Another twist...


if wanted Property is indexed, & you have set Include only files:
how do you update Properties of a NOT Include only file?

Length is Indexed
Include only: mp4

but you are listing audio files, .mp3, which do have Lengths,
but Include only: says, "mp4"
& since mp4 are not mp3, Ctrl+F5 does not work (here)


is there a way to gather the .mp3 file Lengths
even though they are not explicitly listed in Include only: ?
NotNull
Posts: 5977
Joined: Wed May 24, 2017 9:22 pm

Re: How to update Property (length:) ?

Post by NotNull »

Code: Select all

ext:mp3;mp4  addcol:A  A-label:="Length"  A:=$length:?$length::GET_PROPERTY_FROM_DISK($name:,length)
(untested)

If length is indexed for a file, the indexed length will be reported in the A-column ("Length").
If it is not, the length will be read from the file on disk and reported in the asme A-column.


To distinguish between indexed and non-indexed properties, do something like adding a "*" in front of the length:

Code: Select all

ext:mp3;mp4  addcol:A  A-label:="Length"  A:=$length:?$length::"*"GET_PROPERTY_FROM_DISK($name:,length)
(also untested)
void
Developer
Posts: 20050
Joined: Fri Oct 16, 2009 11:31 pm

Re: How to update Property (length:) ?

Post by void »

To format the length:

Code: Select all

ext:mp3;mp4  addcol:A  A-label:="Length"  A:=FORMATDURATION(GET_PROPERTY($filename:,"length"))
edit:
GET_PROPERTY() will get the property value from the index then fallback to the disk.
However, GET_PROPERTY() only checks if the property is indexed from the property name (ignoring the include/exclude filters)

Please try:

Code: Select all

ext:mp3;mp4  addcol:A A-format:duration A-label:="Length"  A:=$length:?$length::GET_PROPERTY_FROM_DISK($filename:,"length")
NotNull
Posts: 5977
Joined: Wed May 24, 2017 9:22 pm

Re: How to update Property (length:) ?

Post by NotNull »

void wrote: Wed Jul 08, 2026 7:28 am

Code: Select all

GET_PROPERTY($filename:,"length")
In the past I ran into issues with this a couple of times: it did not read the property from disk in some cases.


Take the following setup for example:
The Year property is indexed for MP3's, but only o drive M:
MP3's on other drives (here drive D:, a local NTFS volume) will not show the Year property.

get_property.jpg
You do not have the required permissions to view the files attached to this post.
therube
Posts: 5755
Joined: Thu Sep 03, 2009 6:48 pm

Re: How to update Property (length:) ?

Post by therube »

ext:mp3;mp4 addcol:A A-label:="Length" A:=$length:?$length::GET_PROPERTY_FROM_DISK($name:,length)
- works, though time is in ms (rather then hh:mm:ss)
(i'm sure that can be "fixed")

ext:mp3;mp4 addcol:A A-label:="Length" A:=$length:?$length::"*"GET_PROPERTY_FROM_DISK($name:,length)
If length is indexed for a file, the indexed length will be reported in the A-column ("Length").
If it is not, the length will be read from the file on disk and reported in the asme A-column.

To distinguish between indexed and non-indexed properties, do something like adding a "*" in front of the length:
- well, i already had Length column displaying, which does display .mp4 lengths
& the addcol: adds (another) Length column, so in that way, it is obvious where the numbers came
from, but yes, the '*' otherwise makes it obvious



-


ext:mp3;mp4 addcol:A A-label:="Length" A:=FORMATDURATION(GET_PROPERTY($filename:,"length"))
- formatted hh:mm:ss, but did NOT gather Length of (un-indexed) .mp3
- [mp3] works if property:Length is NOT Indexed
(but at that point, it is no different from adding the Length column & lazy-loading...)


in any case, it is awkward.
if you're doing something, regularly or whatnot, where above works, that is fine.

what i was looking for is where a Property is not included in an 'Include only files:' filter,
that there was an easy way to "simply Gather it".
more for those 1 of's, where you sway, oh it would be nice to know...
so you filter your files, .mp3's in this case, which do not ordinarily display Length,
& that is fine, but then you, since in this case you do want it (Length of .mp3),
you do a ReadExtendedProperties, & it simply goes out & gathers, & you say... cool.


as far as that goes, for me, it's easier to have a separate Instance that does not have
the Property included, add the Length column & simply (lazy-load) results as desired


bookmark: suppose you could use above as a bookmark/filter, then set/invoke...
(but still not as simple as Ctrl+Shift+E...)


-


I'll note that on this board, 'h : m : s' (sans the spaces) causes an 'M' smilie to display, h:m:s.
More generally; '<char> : <alpha> : <char>', '. : x : .', the middle <alpha> is smilie'd.