MediaInfo-based extended columns & commands v0.9, released on GitHub

Many developers would love to hear such a feedback like yours. Sorry to hear about your hands but I'm glad that it helped you on a personal level.

v0.92 is up and has a "Templess Mode"; default is false, so please activate it in the settings.

Because of the way it works, the MediaInfo output can be read only in "chunks". 32K works fine for me and you might even increase it but if it doesn't work, you should decrease it. The value doesn't have to be a multiple of 2 as the description suggests.

There is a small caveat with the confirmation setting you use though. For normal update operations you won't get any more prompts. But if for whatever reason you execute "delete metadata", which is normally unnecessary, you will still get a prompt for each <file_name>:MExt_MediaInfo file because Windows treats attached ADS data as if they were real files.

If "Update" doesn't work, you can set the "Debug Level" in the config higher and check the errors in "Script log" as mentioned above.

1 Like

Thanks a lot ! Amazing ! i'll report here as soon as i"ll install it (in the night) thanks so much ! and thanks for your words !

Hi, just installed 0.92, but the "update metadata" take a crazy amount of time to process.
deactivating the templess mode make it working normally again.
I tried 16384.. 8192.. 4.. it didn't change the speed.

That's what I was warning you about. The templess reading is nice and all but chunking it requires spawning a lot of extra processes and the data is passed back to the script via 'volatile environment variables' which are created and deleted like crazy :smiley:

When you say "crazy amount of time", like 2 times slower, 10, 100? What does script log show, e.g. when you set debug mode to Info or Normal? And try opening Task Manager and check if the wscript & cscript processes do not consume too much CPU.

Hi ! :slight_smile: sorry, my english is not that great , didn't understood what chunk means, had to type it in the well known search engine ;).

ok, the normal time is kind of 0.5s, very fast. maybe less. but (by the way i have an i7-7700 + 32gb Ram + All SSD (system + stockage etc..)

same file with templess turned on take 40 seconds with chunk size to 32768...
with 16384, take the same time.

i didn't noticed any use of "extra cpu", but couldn't check in the task manager as i don't know where are the wscript and cscript process in it, (monitor recource / cpu ?), on the main window under DO line (didn't see them), or in the process tab etc.. I watched everywhere but didn't found them (sorry :frowning: ).

As well, (sorry again), i turned on the log show, but don't know ( :frowning: my bad) how to make it appears in DO... (yeah i know lol).I usually use DO in a simple way, Rarely go that deep !

so not sure it's worth it (sorry for the extra programming), on my side, i'll live with the "no confirmation" unchecked and put templess on no if there are no workaround.

ok bed time see ya tomorrow ! and thanks again for all this !

No worries mate. The logic for templess outputs was separately ready before. I integrated it and tweaked a bit.

Since you're ok with disabling the confirmation and use the normal mode, let's consider that finished. But a final tip, not necessarily only for this script: You can open the Script log (output window, other log... all same thing in my jargon) via the Find or Synchronize panel. These log lines are very common in user scripts.

Cheers

Thanks for your response to my question about having dopus columns show exiftool tag data. But I don't have a lot of experience with programming, and I'm trying to understand your script. I don't need to cache or log the results from exiftool, just to populate the columns with "datetimeoriginal", "creationdate" and "createdate" . Using "exiftool -s -s -s -datetimeoriginal -creationdate -createdate ." works for .jpg and .mov files for me. Any chance I can impose on you to pare your script down to the essentials, so I can learn what I minimally need? Thanks in advance!

You can use exiftool of course, @lxp just released a script for Exiftool, check that definitely out.

Before I continue, "logging" is not for functionality. What you might have read above is only info for developers & users to troubleshoot and such, nothing more. Caching is something completely different.

Maybe we have a misunderstanding here. Caching helps. Just FYI, lxf's script also caches exiftool results. If "real-time, every time" is what you want, just like DOpus does for common video or audio columns, neither mine nor lxp's script will help.

But that's not so bad, because my script (maybe lxp's as well) helps you identify files with outdated cache data instantly, if the file size and/or modification timestamp changes. That is, unless the script tells you (there's a column only for that purpose: Dirty/Outdated), you don't have to go through the whole cycle of running MediaInfo and fetch the info again. It's much faster than running it anew. Once fetched, this info is attached to the files, in so-called ADS, completely transparent to end-user. You can then move the files around, rename them and DOpus reads the info without involving MediaInfo at all.

I published v0.94 which can show exactly what you want.

A video tutorial on how to use it efficiently is on the way, will take 1 week or so.

Thanks much! I had in mind that each file would call exiftool, fill in the appropriate columns, and proceed to next file. But indeed calling exiftool each time is quite slow, so the scripts that create a temp or cache file seem better. So I'm trying Ixp's script now. I'm just beginning to understand his and your scripts, maybe I'll get the hang of it.

@cyilmaz thank you for the AddIn. I have tried v0.94 but I can't get it to work. The column (ME Audio Language) stays empty and I see errors in the log:

20.07.2021 20:52 MExt: Fehler in Zeile 2852, Position 5
20.07.2021 20:52 MExt: Ungültiger Prozeduraufruf oder ungültiges Argument (0x800a0005)

Translated to english:
Error in line 2852, position 5
Invalid procedure call or argument (0x800a0005)

The mkv files have the MExt_MediaInfo:$DATA stream.

Hi, thanks a lot for the report. I will fix it asap.
If you in the meantime save the following as CuMediaExtenders.json under /dopusdata/Script AddIns that should fix the problem. In case you wonder, it's explained in "REF_CONFIG_FILE".

{
    "colRepl": { },
    "colExtra": { },
    "colExtraVideo": { },
    "colExtraAudio": { }
}

EDIT: If you have already a JSON file of your own, then only add the missing "colExtra*" fields.
Will post a new OSP soon.
EDIT #2: Here's version 0.94.1.

Thank you, now it works!

1 Like

Thanks for creating CuMediaExtenders, I use many types of video files and it is very useful to have this.
The problem is that I'm new to dopus and although I've tried to install your script I can't see anything in the columns.
I install the script and activate the new columns, but I don't know how to do the update button.
Can someone help me to install it?
Is there a video to follow the steps?

If you have downloaded latest version (0.94), there's a .DCF in the distro file. Right-click on any of your toolbars -> Customize -> Drag and drop the .DCF to your toolbar, save and close customization. Now you should have a Menu button, see the green Update button with +. Select your media files and click it. It should automatically refresh the columns (try the 1 button as well) and you should see the info.

For more info read the previous posts and/or see Github. A demo video is on my todo list, but my day-job (also D2 Resurrected lol) won't let me right now.

Thank you for your answer

I followed your steps and when I click on update metadata, it opens another dopus window and I get an error.
Dopus is great, but I have to invest more time to learn..

Have you installed the MediaInfo CLI? There's a link in the root post in the "Install" part (near the middle, not at the end with the script download, so maybe you missed it).

1 Like

I had configured the path, but I had a wrong capital letter (I do not know if it is important in windows)

It's not just you :slight_smile: I've been programming for over 3 decades and using DOpus since 2007 yet still learn a lot every day. Maybe I should prioritize that installation/demo video higher.

I just checked ExifTool script and mine, both errors are clearly from WScript.Shell.Run() method. It seems there's something missing on your Windows.
You should see something like "Microsoft (R) Windows Script Host Version 5.812" if you run these in a command prompt window:

cscript /?
wscript /?

If they work, save this as "hello.cmd"

@echo Hello world from .cmd
@pause

and this as "test-hello.vbs" and double-click it:

CreateObject("Wscript.Shell").Run "hello.cmd", 1, true

EDIT: It just occurred to me, after seeing your post in the other thread, your .exe paths are wrong:
MediaInfo path should be C:\360a\MediaInfoCLI\MediaInfo.exe
and ExifTool path should be C:\Exiftool\Exiftool.exe without the /bin\exiftool in front.

I changed the paths and it works correctly, thank you very much for your time!

1 Like