Icaros video information columns

Overview:

This script imports several columns, showing details about video/movie files, from Icaros into Directory Opus.

Icaros is a free tool which provides additional video information and thumbnailing capabilities to the Wiindows shell. The thumbnailing capabilities are automatically used in Opus, but the extra columns Icaros adds aren't, unless you install this script.

These columns are included at the time of writing, but the script should automatically import any additional ones added in later versions of Icaros (as long as their identifiers still start with Icaros.):

  • Audio tracks (tells you the audio codecs used by the file)
  • Bit depth
  • Contains Chapters
  • Content compression
  • Subtitles
  • Subtitle tracks (tells you the subtitles and their formats, if any, used by the file)
  • Video trakcs (tells you the video codecs used by the file)

Installing Icaros:

Before using the script, Icaros needs to be installed. Like many free video tools, it doesn't seem to have its own website but can be found on some popular forums:

After installing Icaros, you should open its configuration window and make sure the Properties option on the left is turned on. That is what adds the columns to File Explorer, and they won't work in Opus unless that is on.

If you have problems with the script, make sure the columns exist in File Explorer before worrying about Opus! I found I had to reboot the machine for them to appear in Explorer's list of available columns.

The script was tested with Icaros v3.1.0 and v3.2.0 on Windows 10 x64.

Installing the script:

Requires Directory Opus Pro 12.14 or above.

  • Download: Icaros_video_columns.vbs.txt (1.3 KB)
  • Open Settings > Preferences / Toolbars / Scripts.
  • Drag Icaros_video_columns.vbs.txt to the list of scripts.

Using the columns:

Several new column will now be available, categorised under:

  • Script > Icaros video columns

Icaros_Columns

You can display, sort and group using the column the same as you would normal built-in columns. For example, right-click the column header, or use the Folder Options dialog.

You can also refer to the column in commands which you can place on toolbar buttons, menu items, hotkeys, etc. Use the menus above the button editor to build appropriate commands. Ask in Help & Support if you get stuck.

To use the columns for searching, use Tools > Find Files > Advanced tab, and set up one or more Script column clauses to match (or exclude) the things you are interested in:

(Example screenshot shows columns from another script. Column names will be slightly different, but this shows the general idea.)

History:

1.1 (08/Apr/2021):

  • Contains Chapters column now reports Yes and No instead of -1 and 0.

1.0 (14/May/2019):

  • Initial version.

Script code:

The script code from the download above is reproduced below. This is for people browsing the forum for scripting techniques. You do not need to care about this code if you just want to use the script.

option explicit

Dim strYes, strNo
strYes = "Yes"
strNo = "No"

Function OnInit(initData)
	initData.name = "Icaros video columns"
	initData.version = "1.1"
	initData.copyright = "(c) 2019-2021 Leo Davidson"
	initData.url = "https://resource.dopus.com/t/icaros-video-information-columns/32513"
	initData.desc = "Import columns added by the Icaros shell extension into Opus (requires Icaros is installed and Properties enabled in its config window)"
	initData.default_enable = true
	initData.min_version = "12.14"

	Dim props, prop, col
	Set props = DOpus.FSUtil.GetShellPropertyList("Icaros.*", "r")
	For each prop in props
		Set col = initData.AddColumn
		col.name = prop.raw_name
		col.method = "OnIcarosColumn"
		col.label = prop.display_name
		col.justify = "left"
		col.autogroup = true
		col.userdata = prop.pkey
		If prop.raw_name = "Icaros.ContainsChapters" Then
			col.match.push_back strYes
			col.match.push_back strNo
		End If
	Next
End Function

Function OnIcarosColumn(scriptColData)

	scriptColData.value = scriptColData.item.shellprop(scriptColData.userdata)

	If scriptColData.col = "Icaros.ContainsChapters" And Not IsEmpty(scriptColData.value) Then
		If scriptColData.value = -1 Then
			scriptColData.value = strYes
		Else
			scriptColData.value = strNo
		End If
	End If

End Function
5 Likes

Nice one Leo! Icaros IMO is a necessary windows shell extension for just the bugs in windows it avoids alone.

Hello! It doesn't seem to work anymore with Dopus 12.20 x64. The columns are all empty. Thanks! :slight_smile:

Are the columns still working in File Explorer?

First of all, thank you for your help.
You mean in Windows File Explorer, right? No, they're not working there either.

In that case, the problem is somewhere with Icaros and not with Opus. Try repairing the Icaros install, or ask the Icaros devs for help if it's still not working in File Explorer. Once it works there, it should also work in Opus.

1 Like

I just installed this script and compared the values File Explorer reports with those that Opus reports for the same folder. Some columns don't show a value so I can't verify that they're working, however the Contains Chapters column shows Yes in File Explorer but -1 in Opus. Usually the latter value means something negative, which makes me question if the script is reading the value correctly.

-1 is "true" in COM/Automation-land (0 is "false").

1 Like

Updated script in root post.

1.1 (08/Apr/2021):

  • Contains Chapters column now reports Yes and No instead of -1 and 0.
2 Likes

Any chance of adding "Data Rate" (for MKVs' video bitrate) and "Bitrate" (for MKVs' audio bitrate) to this script (I've tried, but couldn't figure it out), as these don't display using the column versions built into Windows & Opus, but do when using MediaInfo manually (when right-clicking an MKV)? Thanks! :slight_smile:

If Icaros doesn't add that information to File Explorer then the script won't be able to import it into Opus.

In the longer term, it will be covered when we convert Opus itself to use MediaInfo for video metadata, which is coming at some point in the future.

3 Likes

Have you tried one of these add-ins?

I'm glad to hear DO will cover it in future versions (hopefully, VERY soon! :wink: ), as I have been unable to get ExifTool Custom Columns or CUMediaExtenders to work at all, despite several attempts. Thanks, Leo and lxp, for your suggestions. :slight_smile:

With the latest update of Icaros to version 3.3.2, it appears to have broken the columns I had configured in Opus in version 13.0.50; they are now blanked out, but are detailed as working OK within Scripts under Preferences. Does Leo's Opus script need an update to fix this?

They may have changed their column names / IDs..

If you’re using the Opus 13 public beta, you should be able to add them without the script, via Preferences / File Display Columns / Shell Properties.

13 also has better video metadata support built in, which may also mean Icaros isn’t needed at all.

1 Like

Thanks, Leo. I'll try what you suggested, which might well be better if I can configure it as wanted.

Maybe Xanashi was a bit too optimistic.

This time I'm skipping the Beta phase, as I don't believe any of the changes will cause any regressions.

https://shark007.net/forum/Thread-New-Release-3-3-2-Final

I managed to restore my configuration using a backup made before installing Opus 13.0.50, which has fixed the previous issue reported. Not sure why it changed, though, but all seems fine again now.