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

Hi all & happy new year,

This is not release-ready yet but decided to get some feedback, since this seems to be a very common request. I'm not too familiar with publishing stuff here, but if interest is there I can release a bundled script package with buttons, images, scripts, etc.

Over Xmas I've been experimenting with MediaInfo, Icaros, codec packs, Windows 10 native support and whatnot. There are a couple of file containers and codecs which DOpus does not natively or fully support yet, but since it does most of what I want already, I decided to help it a little bit with some custom columns and commands. Icaros exposes too little info for my taste, after getting used to Foobar2000, MP3Tag, etc. I expect no less than two billion fields to tap into. I used ffmpeg's ffprobe for another project which is also very powerful but MediaInfo is more user-friendly imo.

I've experimented a lot with the DOpus extended attributes "comments, tags/keywords, user descriptions" and none of them was suitable because I don't like the fact that DOpus stores whatever it can file-specific fields in the files if it can handle the format and the rest in ADS streams if it can't. I'd prefer them since it's integrated into Metadata pane but the inconsistency, i.e. "sometimes in-file, sometimes ADS" breaks my OCD. And I'm quite frustrated how DOpus conflates "comments" with "user descriptions" and breaks TCC/4NT compatibility if ADS is used. Then there are stupid old formats like AVI which can store keywords only up to 400 chars! Believe me there are good reasons why I don't use tags or comments. But to my surprise, FSUtil can handle arbitrary ADS streams quite well, as simple as "filename:streamname"! So here's how the script works:

Call MediaInfo for each selected file, get a JSON output in a temp file, parse and store a subset of the output in an ADS attached to every file. It obviously works only on NTFS, and as long as you activate the setting "Copy all NTFS streams" they stay put.
2021-01-03_19-05-46

Here's what I've come up so far:

You get yellow-marked columns & 5 commands (temp. added as buttons here). You might want to study the output a bit and compare what DOpus can show on the right vs on the left, but the markings mean the following:

  1. The files which do and don't have metadata extensions (ME) can show the value "yes" & "no" respectively. This column is always calculated separately without going into the rest of the multicol-method. If it's yes, there's the custom ADS attached to it.
  2. Files which have been modified after the ME has been saved can be marked as dirty.
  3. Some exotic files, such as raw AAC/AC3/DTS cannot be processed by MediaInfo either. These are normally embedded in video files and seldomly found on their own. Flac, MP3, Opus, Mka, M4a, etc. are tested fine.
  4. If the format supports ReplayGain and the file has the info, you can show it.
  5. Multi-channel information can be shown; there's also multi-track column to show if the file has multiple tracks, e.g. for different languages, director's comments, etc.
  6. The exotic files from 2 are recognized correctly.
  7. Incorrect values shown by DOpus are shown properly on the left.
  8. Display Aspect Ratio can be also shown. This is not the same as Width:Height ratio. Matroska/Mkv for example can force the player to play a 640x640 video as 640x480 and displayAR would be 1.333.

Speed: It's not a native solution, so don't expect nowhere near the same speed as DOpus shows its native columns, but with an SSD/NVME the speed is acceptable to me. I'm experimenting with caching to speed it up but correctness precedes speed at the moment.

Install: Drop/import the .JS script into your user scripts. Drop the buttons into a toolbar/menu of your choice. After that, select a bunch of video/audio files and run "Updata Metadata". To update, you don't have to delete old info first, just Update again. The file contents are not changed at all, only the data streams attached to them, but I take no responsibility and suggest you copy a few files to a temp directory and experiment with it before you do massive changes.

You also need the CLI version of MediaInfo and only the exe file. Not sure if GUI has the CLI exe bundled.

But beware: This is not a drag-and-drop script addin and there's a couple of things to adjust in the script such as MediaInfo path, ADS stream name, etc. without a prefs gui (not my top priority atm) But It requires only no or basic development skills and the places to adjust are marked clearly, look for "ADJUST AS YOU SEE FIT" in the JS code.

Debugging/Feedback: You might want to open the Output Window, switch to Other Logs view. There might be a couple errors, if the columns work ignore them :smiley: If after a refresh you still don't see the correct results try "Dump MediaInfo" or "Copy MediaInfo" commands and check if MediaInfo can parse the field you want. If it's there check with "Copy Metadata" if it's been parsed and cached as well.

During my experiments I often experienced that if MediaInfo supports a format very well, like mp4, mkv, mka, m4a, etc. but does not show an expected value, e.g. bitrate, VBR/CBR mode, etc. it is often due to older muxers. Try remuxing the file using AviDemux, MKVToolNix, FFMpeg (do not recompress, just copy the streams) and/or optimizing/rebuilding the files with Foobar2000, MP3Tag, etc. Portable versions of these programs do just as fine. This usually fixes the problem and/or fills in missing fields. If you run "Update" again, it might or might not be fixed. Good luck!

AviDemux Portable

Foobar2000
2021-01-03_20-09-37

[EDIT]
At the moment, lister columns may not be refreshed automatically during an update but I hacked a quick solution to refresh & reselect the files after an update. It works but misses some files in flat folder view.

Pretty sure DOpus gurus know this but I didn't until recently: You can use the script columns also in InfoTips & Tile View (my newest favorite now!). There's also an additional ME Formatted "column" which is best suitable for infotips and shows raw data stored in ADS. Ignore AvgKB & KB per Area fields; they're not ported to this script yet.

Buttons & Script (v0.9):
CuMediaExtenders.osp (2.5 MB)

[EDIT]:
v0.51: Added progress windows with patient help from @Leo.
v0.52: Auto-refresh added.
... many unreleased versions later..
v0.9: Far too many options and features than I had planned. GitHub page: GitHub - cy-gh/DOpus_CuMediaExtenders: Video & audio extended script fields & columns for Directory Opus file manager, with MediaInfo & NTFS ADS backend

6 Likes

Ok, this has become an obsession of mine in last weeks and grown far larger than I had initially planned. Version 0.9 which is quite usable is released on Github, which has many more screenshots and feature descriptions.

GitHub page: https://github.com/cy-gh/DOpus_CuMediaExtenders
OSP at GitHub: https://github.com/cy-gh/DOpus_CuMediaExtenders/releases/tag/v0.9

CuMediaExtenders.osp (2.5 MB)

From the README.md:

CuMediaExtenders

Video & audio extended script fields & columns for the marvellous Directory Opus file manager, with MediaInfo & NTFS ADS backend.

CuMediaExtenders is a script-addin for DOpus for video and audio files, using MediaInfo and NTFS ADS as its backend.
It complements & enhances DOpus built-in fields, instead of completely replacing them.

As of v0.9/20210113 you get:

  • 15 commands incl. custom icons
  • 41 columns/script fields
  • DCF menu with all available commands
  • Sample JSON file to customize column labels (requires Script or DOpus restart)
  • PSD template used to create the icons

It has extensive configuration options with descriptions and include samples in config section 'Reference Only'.

Column labels are customizable with a JSON file, a sample file is in distro (extract OSP if not visible).

Video & Audio Codec, # of Audio Channels, Duration groups and Resolution fields are customizable without modifying the script.

'Dirty' files, i.e. files which are changed since writing to ADS, can be detected.

Seen files are cached in DOpus memory, to speed up reading process (deactivatable).

Progress dialog with Pause/Resume & Abort is supported.

4 additional buttons are supplied which can toggle on/off field groups, which are customizable.

Supported Formats (as of v0.9)

Containers && Codecs I have tested so far:

โ€‹ MKV, MP4, AVI, FLV, WEBM, 3GP,

โ€‹ M4A, M4B, MKA, MP3, MP2, MP1, FLAC, AC3, AAC, DTS, TrueHD (Dolby Atmos),

โ€‹ Wave, Wave64, ALAC, TAK, TTA, DSD, Ogg Vorbis, AIFF, AMR, WavPack, WMA Lossy & Lossless, MusePack

....and any file as long as MediaInfo reports at least a video or audio track.

Available Fields

Columns are by default prefixed with ME (Media Extensions); labels can be customized via external config file.

Note although some of these fields also exist in DOpus, they are not available for all container & codec types

Field (not IDs) Desc
HasADS/IsAvailable File has Metadata ADS (calculated separately, not Multicol) [++]
NeedsUpdate/Dirty File has been changed since Metadata ADS has been written [++]
VCodec Video codec (only 1st video stream) [+]
ACodec Audio codec (only 1st audio stream) [+]
TBitrate Total bitrate [++]
VBitrate Video bitrate (only 1st video stream) [+]
ABitrate Audio bitrate (only 1st audio stream) [+]
VCount Number of video streams [++]
ACount Number of audio streams [++]
TCount Number of text (subtitle) streams [++]
OCount Number of other (chapters, menus...) streams [++]
ABitrate Mode VBR/CBR if available (ABR is principally recognized as VBR) [++]
TDuration Total container duration [+]/[++]
VDuration Video duration [+]/[++]
Auration Audio duration [+]/[++]
Duration (Combo) Combined duration, only a single one is displayed unless any of 3 differs from each other (5s tolerance), i.e. detects mismatching streams [++]
Multi-Audio File has multiple audio streams (yes/no) [++]
Audio Channels Number of channels in 1st audio track, e.g. 2.0, 5.1, 7.1 [+]
ReplayGain File has ReplayGain (RG) info stored (some format support RG but MediaInfo does not parse it) [++]
Audio Compression Mode Lossy/Lossless [++]
AspectRatio (Raw) Video aspect ratio (AR), i.e. width:height, e.g. 1.333, 2.35, etc. [++]
AspectRatio (Disp) Video display AR if the format supports it and file has a different AR than its raw AR [++]
AspectRatio (Combined) Combined video AR, only a single AR is displayed, if its display AR differs from raw AR, it's shown in parentheses [++]
Gross byterate Gross average KB, kilobytes per second, for the file, simply filesize:duration [++]
Bits per Pixel Video average bits per pixel, i.e. video bitrate/(width*height); only 1st video stream [++]
Dimensions Video dimensions [+]
Resolution 240p, 360p, 480p, 720p, 1080p, 4K, 8K - Customizable, can append '(Vertical)' for vertical videos [++]
Frame Rate Video frame rate [+]
Subtitle Language Subtitle language if available (only 1st text stream) [++]
Encoded Library Library used to encode the video if available, incl. technical info [++]
Encoded Lib Name Library used to encode the video if available no technical info [++]
VCodec ID Video Codec ID (raw), if available [++]
ACodec ID Audio Codec ID (raw), if available [++]
AFormat Version Audio Format Version, if available [++]
AFormat Profile Audio Format Profile, if available [++]
Encoder App Container Encoder App, if available [++]
ADS (Formatted) Formatted ADS data (always as JSON), suitable to show in InfoTips [++]
ADS (Raw) Unformatted ADS data (always as JSON), only for sake of completeness, not very suitable as a column or InfoTip [++]
Helpers 3 helper columns for the container, video & audio tracks, which you can use to adjust display Codec names [++]

[+] Recognizes more formats and/or is more accurate than DOpus

[++] No DOpus counterpart

Unlike DOpus, output of following columns are user-customizable (editing source code is also another option):

  • VCodec
  • ACodec
  • Audio Channels
  • Resolution

Although there are no fields for the following, they are stored and available in ADS (see section Adding/Adjusting Fields):

  • Overall Bitrate Mode
  • Additional & Extra info fields for Container, Video, Audio & Text
    These container- and codec-specific fields can contain a lot information e.g. ReplayGain, used encoding settings, date-time of encoding... which can be used show new fields/columns or adjust existing ones.
  • Video Stream Size
  • Audio Stream Size
  • Audio Format Settings Mode
  • Audio Sampling Rate

Note some of the fields (e.g. sampling rate) above are already supported by DOpus well close to 100%, albeit not for all containers & codecs.

Any other info should be used from DOpus builtin fields.

Available Actions

  • Update Metadata: Create/Update Metadata ADS for selected file
  • Delete Metadata: Delete attached Metadata ADS of selected file
  • Clear Cache: Clear in-memory DOpus cache for Metadata read from ADS (see FEATURES)
  • Copy Metadata: Copy Metadata ADS of selected files to clipboard
  • Dump Metadata: Dump Metadata ADS of selected files to DOpus Output window
  • Copy MediaInfo: Run MediaInfo anew and copy its output to clipboard
  • Dump MediaInfo: Run MediaInfo anew and dump its output to DOpus Output window
  • Estimate Bitrate: Calculate bitrate using a list of target 'bitrate/pixel' values
  • Toggle Essential: Toggle a user-configurable list of 'essential' columns, can toggle DOpus columns
  • Toggle Optional: Toggle a user-configurable list of 'optional' columns, can toggle DOpus columns
  • Toggle Other: Toggle a user-configurable list of 'other' columns, can toggle DOpus columns
  • Toggle Verbose: Toggle a user-configurable list of 'verbose' columns, can toggle DOpus columns
  • Validate Config: Validate current user configuration

A preconfigured menu button with all available actions is in distro (extract OSP if not visible); see screenshots below.

4 Likes

@cyilmaz since no one has responded to date, just wanted to congratulate you for your obsession with this project. :bowing_man:
On my end I've been using MediaInfo, but only launch it with a hotkey when a file is selected. Your tool is for the true movie file buff. :slight_smile:

3 Likes

Thanks for the feedback mate! Indeed it was a great help organizing my movie collection and all those Youtube videos downloaded over the years.

Spoiler alert: If you're a Matroska user, stay tuned for the next script. It guesses the file info from the file names, finds and downloads info & posters from IMDB, TMDB and Fanart.tv, and embed it into the files. Among the info I planned so far are, original vs local title, director, actors, writers list, genre, summary, your rating and public ratings on various sites, user-mappable tags so they can be directly seen in MP3Tag & Foobar2000, 1-click links to IMDB, OpenSubtitles... all embedded in Matroska tags, incl. posters. It's planned to be something between Plex & MP3Tag/Foobar2000. And in step 2, I will merge it with the one above. In step 3 the big gun, which goes even beyond multimedia files. Stay tuned :wink:

3 Likes

Impressive!
I've been using a totally different approach, which is to embed some of the metadata into the file name and fanning that data into columns. Really fun to see a different approach.
Speaking of mkv, do you use mvkmerge?

I've seen your script later. Very practical approach indeed.

I took the same approach years ago with my music collection and decided to embed everything into the tags, because of the filename limitations, non-ASCII char incompatibilities, the / or : chars in the title etc. Renaming a file for a specific device is child's play once everything is embedded in the files.

If you mean, to tag the files for the teased script? No, mkvpropedit is the better tool for that, it only changes the tags section. I extract the current tags, change what needs to be, and edit again.

But otherwise oooh yes, very very often in fact. I've remuxed all my old AVIs, MP4s to MKV, and embedded the subtitles, via TCC batch files, like the one below. I got similar batch files to remux mkv to mkv, which updates the container version and fixes a lot of unparseable field problems; just like the manual remux with AviDemux described above. I open MKVToolnix, set up everything like it should, show the command line and replace names with variables like below, voila, new batch file.

@echo off

:: mux0.btm
:: muxes all .avi & .mp4 to .mkv, sets language to en
:: mux0.btm ko
:: muxes all .avi & .mp4 to .mkv, sets language to korean, etc.

setlocal
set path=
unalias *
unfunction *
cls /c
on break goto CLEANUP


set _lang=en
iff "%1" == "" then
    set _lang=en
    echo Using default language: %_lang
else
    set _lang=%1
    echo Using custom language: %_lang
endiff

:: mux movie + 1 subtitle to mkv
for %f in (*.avi,*.mp4) do ( ^
    %gvdTool%\MMedia\MKVToolNix\mkvmerge.exe ^
        --ui-language en ^
        --output "%@NAME[%f].mkv" ^
        --language 0:und ^
        --language 1:%_lang% "(" "%f" ")" ^
        --language 0:en "(" "%@NAME[%f].srt" ")" ^
        --track-order 0:0,0:1,1:0 ^
    1> NUL: 2> CON: %+ ( iff "%ERRORLEVEL" eq "0" then %+ echo %=e[32m%@char[0x221A] %f%=e[0m %+ else %+ echo %=e[31mX %f%=e[0m %+ endiff ) ^
)

:CLEANUP
endlocal
quit 0

1 Like

You've really taken it to a different level. :slight_smile:
Over the years I've done a lot of remuxing in mkvmerge, e.g. to append CD2 to CD1 and incorporate subtitles, but always in mkvmerge-gui, never via the command line or batch files. I also like the tip about remuxing mkvs to update the container, that's neat.

By the way do you watch files on your PC, what player do you use? I'm still on PotPlayer. One issue I often run into is that some files have really low sound. For some files, within PotPlayer the workaround to Pre-amplify AC3/DTS volume to proper level works, for others I haven't yet found the right setting. Do you also run into that issue of low volume?

:smiley: The batch-ification is easier than you might think. And yeah, I still use mkvmerge-gui a lot, too. The whole mkvtoolnix package is a gem. You should also grab the gmkvextract-gui in case you haven't.

Speaking of taking it another level, it has a simple reason/explanation: file counts and syncing. At the number of devices and storage I have, syncing and file integrity are very important and high file counts are no-go.

This is what I did with my music collection. I have a couple thousand albums. On average each album has at least 10-15 files, plus the cover files, EAC rip logs, etc. Frequent syncing from master disk to other devices, NAS, etc. with DOpus was too slow. The comparison took too long. So I evaluated the foo_unpack plugin from Foobar2000 distro, made sure it's working reliably and fast, and Rar'red everything as album_name.dalossless.rar (FLAC), .dalossy.rar (MP3/M4A), .dahidef.rar (DSD); solid archiving or compressing are unnecessary and counter-productive, just store. Recovery records are optional. By the way, some people use WavPack with embedded .CUE to do exactly this but I chose RAR because of far better MP3, FLAC support. I had tagged everything with MP3Tag & F2K, once and properly, the files don't change. Now syncing, especially the comparison part, is extremely fast and F2K is happily monitoring changed files and managing the library.

I took the exact idea and applied to movies, RAR became MKV. Between the only 2 contenders MP4 and Matroska, MKV is the far superior container format, supports all codecs, subtitles, attachments, chapters... Then, English is not my native tongue and I watch all movies in original language (English, Danish, Chinese, Portuguese, Korean... doesn't matter), so basically each movie has at least 1 subtitle. Now that I'm developing a tagging script, the posters will come on top of it, so tripling, quadrupling the file counts per movie made no sense. MKV is the perfect movie container for my needs. I have a few ideas on using DOpus or maybe F2K as the media center instead of Plex, but once the MKVs have everything embedded, switching or putting a UI on top becomes the least of my worries. So basically for comics there's CBZ/CBR, for ebooks EPUB, for audiboooks M4B/MKA, for music RAR/ZIP, and for movies MKV. I follow the same principle.

As player Media Player Classic (MPC) fullfills my needs best; SMPlayer comes closer but not there yet, VLC is no go. MPC and SMP have only a few files, are portable (MPC has a 'use .ini' setting [*]), scripting-friendly, very powerful and very fast to start. And my favorite: in captionless mode, the window can be dragged by simple left click. For your question, only 4 MPC options are relevant: Amplify, Normalize, Boost, and use ReplayGain (RG), but only if you activate "Internal switcher". Boost is constant gain, not what you're looking for. RG is more useful to match multiple files but you can RG-scan your files with F2K, RG doesn't hurt. Assuming you keep RG on, Normalize and Max Amplification are what you could experiment with most. Without "internal switcher" you might check LAVAudio's "Normalize Matrix" option; either on MPC Filters section or if your PotPlayer uses LAVFilters.

(EDIT: "RG never hurts" is a bold claim that I should not have made. Please do your own research and experiment with your files.)

The files are streamed from a cheap PC, a MiniPC Forum clone, to TV or PC monitor. Audio is sent directly from PC to speakers, via SPDIF but without direct streaming to hardware, so that everything is decoded & controlled by MPC & F2K. You might also want to check if direct-streaming for AC3, DTS, THD is enabled or not, just in case your receiver, speaker hub, etc. are messing up with the volume levels.

[*] The MPC I use is from K-Lite codecpack because they maintain MPC nowadays, but MPC can be copied out and trimmed down to these files and you could uninstall K-Lite:
D3DX9_43.dll
mpciconlib.dll
MPlayerC.exe
MPlayerC.ini
+LAVFilters64 folder (12 files)

Hope this gives you a couple of ideas.

2 Likes

Ha!
Beyond impressed. Thank you for the trove of expert information. It will take a while to digest even a small part of it, and I'm sure other readers will find it helpful too.
Have a great week-end!

1 Like

Hello Thank you very much for this insane work !!! Bravo ! i just installed your script, i'm not unfortunatly used to any programming thing etc.. I tried at best to follow all the steps but maybe did a mistake here or there.

for now, all is working as expected , but just to be sure that

  1. it's not automatically display the infos, we have each time to select the files we want and click on Update metadata, right ?
  2. when i'm doing it, i'm receiving a bunch of request to delete a .json file which has the same name as the video file i clicked. if i delete it as asked, the informations appears in the collums.

is there something wrong i'm doing ?

i'm trying to achieve to have the number of frame of a video to be displayed, i know Mediainfo has this feature, i just need now to understand how to implant it in your amazing script ! thanks a lot !

You're welcome! Let's get it to work for you, too. You will have Frame Rate and 40+ fields which either don't exist in DOpus or are improved.

Correct. The information is not real-time, but that was the best I could at the time. The scanning speed should be pretty fast, and if cache is active and the file has not been changed it won't be rescanned. I've been planning to recode it as a DOpus plugin to show real-time information but Leo already mentioned they've been also thinking about embedding MediaInfo into DOpus in the future, so I re-prioritized the plugin version immediately lower.

This should not have happened, because those temporary files are automatically deleted.

3 questions:

  • There are 3 options which might ask for confirmation in Preferences -> File Operations -> Deleting Files. Do you by chance let DOpus ask you for each delete action?
  • What do you see when you open the DOpus Output window? It's best to clear it with red X before scanning a single file.
  • Is your Temp directory on an NTFS folder where you have different authorizations? What happens if you change it to a different folder?

The log can be opened under "Tools -> Script Log" or you could open it from a new button with the code "Set UTILITY=OtherLog,Toggle".

I just realized that you were asking for frame count. I added it and published a new version, v0.91, which also contains various small improvements since the last version in January, incl. better looking icons.

1 Like
  • the "ask confirmation before starting to suppress" is unchecked.
  • select automatically the next file after supression is checked
  • delete using the trashcan = checked

Options when not using the trashcan :

  • ask confirmation for each file before deleting : checked
  • ask confirmation for each folder before deleting : checked

Sorry i'm not sure what is the "Output window" ?

the Temp directory is on a SSD drive (Windows 10). but i have a synology Nas , working on both , locally on my compter and the Nas (through Samba). but the issue happens on both, locally on PC, and on the Nas files, so it's the same thing.

Script log, as I described above. Scripts can write to the log with DOpus.output() command. You should not see any red-colored item (=errors) there.

This is the one. When I activate the same option, I also get the prompt. If you would temporarily disable it, you would see no prompt. I never used it and it's surprising it applies to scripts as well.

The command which deletes the file is this:
util.cmdGlobal.RunCommand('Delete /quiet /norecycle "' + json_filepath + '"');
If "/norecycle" were removed above, you would get no prompt but your trash would also fill with hundreds of temporary files very quickly, which I wouldn't want, IMO temp files should bypass trash. I have a solution without temp files but it will take 2 days or so to implement and test extensively. In the meantime, you can use the temporary workaround, or not.

1 Like

Hi again, yes, that's what i did , i unchecked the "ask confirmation for" and the error went away, but got a call and couldn't reply to you just after tested it.

Thanks for the help, yes, i will live with it during this time waiting a new update but clearly i want to thank you, it save me a lot !! since days, i was doing 4 to 5 shortkeys for EACH videos files (hundred) i had to check, but i suffer from a both hands disability (not 100% but very painful) it was a nightmare. lol. Now i can rest a bit :wink: lol. thanks a lot !

1 Like

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 !