Documentation for dopuslib

Hi. I'm taking my first steps with AHK and I want to extract some information from Opus without relying on temporary files. I came across a thread discussing the use of the dopuslib library instead. On my first attempts, I was able to retrieve the recent list and favorites, so it looks promising.

However I can't find additional info about accessing other data. Could you point me in the right direction?
I’d like to retrieve:

  • Listers and their currently opened paths.
  • Smart Favorites list

Thanks in advance.

1 Like

DOpusRT.exe can get you the open listers and is documented.

(Not sure what the best way to access Smart Favorites data is off the too of my head.)

Correct, but IMHO using DllCall() seems to be slightly faster.
Also, it seems there's no way to retrieve Favorites, Recents and SmartFavorites through dopusrt, and I notice that you don’t recommend directly parsing the corresponding data files either.

Possibly slower but not to any noticeable degree. I tested it some years ago and the whole query took milliseconds, including reading the data into the other program, if I remember correctly.

You can do that if you want. The config data format isn’t guaranteed not to change but we avoid changing it without a good reason.

I’ve noticed something exclusively when using Opus from a USB on other computers. If I try to parse this files from the same USB, there tends to be a slight delay. I’m not sure if it’s due to the device or something related to antivirus software. But with DllCall(), this problem doesn’t seem to occur.

Also, it seems that there's no way to retrieve the paths for opened tabs through dopuslib, at least I don't see anything related. So I'll stick with dopusrt for that.

I'm fine if there's no documentation for dopuslib, as this seems very niche in my opinion! However, I have a couple of questions related to it, and I would appreciate it if you guys could give me some guidance.

  • I do noticed that there's a GetSmartFavoritesList() function, but unlike the others, doesn't return any data. I imagine it would be the same as GetRecentList() for example...

  • Lastly, is there any function to resolve a path who contains an alias? (what GetEntryPathW() returns is not resolved if contains an alias)

If you mean the dopusrt output files, those can be output to the temp dir or wherever you want.

OTOH, config files off a USB stick may be slow with a slow stick or antivirus that is more vigorous with external storage. That'll affect Opus (and other things) in general if it's running directly off a USB stick, including if it's asked for a DLL instead of DOpusRT.exe (at least for config data that is loaded and unloaded when used, not kept in memory all the time).

I'm talking about the files where Opus saves favorites, smartfavorites, etc. Those are in the USB.

Not to change the topic, currently the only things I would need to know about this would be:

  • If there is currently an issue with GetSmartFavorites(), or if its use is different than GetRecentList(). (An example can be seen in the thread I linked in the first post)
  • If there is any function in dopuslib to resolve Opus aliases.

Again, thanks in advance.