AI Porn is here, Create and Fap TRY FREE
x

Tool Others Vambropy [v1.18]: VaM packages & user content database management, and a complement to VarBrowser

AsylumDemon1

New Member
Nov 12, 2019
5
0
44
First off I've gotta say that I'm loving this software, and would love to see additional features in the future like the ability to move files between drives in a way that would let me move creators or say favorites from said creators over to certain drives like my SSD's, and other files that I don't use or never use over to HDD's so the most used or preferred files are on speedier devices. I had some other thoughts but lost them so if I remember I'll mention them later.

In the meantime however, would you happen to have any idea as to why I'm getting two errors? The first is when going to set a file to autoinstall or create symlink I'll get an error on the title but it doesn't last long enough to make it out before it goes away. I do know the file I'm trying to do this with is on a different drive in a repos.

Another error I'm getting, and this one in particular is annoying, is a popup window stating Rejected Package(s) Bad file name format: and listing a bunch of files. At first it looked like it was merely referencing files ending in something like _1.var, (1).var, or just something like MMD.var without a file version in the name, so I went and renamed them, but I'm still getting the same error.

You don't have permission to view the spoiler content. Log in or register now.
 

commondi32

Newbie
Jul 16, 2020
84
62
29
First off I've gotta say that I'm loving this software, and would love to see additional features in the future like the ability to move files between drives in a way that would let me move creators or say favorites from said creators over to certain drives like my SSD's, and other files that I don't use or never use over to HDD's so the most used or preferred files are on speedier devices. I had some other thoughts but lost them so if I remember I'll mention them later.
Thanks, I'm working on and testing new features in my free time, which is not much in this time of year, but there is a plan on giving it more filtering and new folders to move packages. I use the packages in a way that is somewhat similar to yours. But the idea is not moving to another drive within the app, but to move to a VaM sub-folders like '_oldvars', '_moved' (user configurable)... so the user can manually move all files sent there after organizing. Example: You have been rating a set of different packages you have tried, so you want to sort from the better to worst, and filter 'dlskd9' creator. So a bunch is selected, then moved to '_moved' folder. After that, you can use the OS shell app you prefer to pick all contents in that _moved directory and cut, paste or anything. Why that method? Because each user might have very different criteria and including options for all cases would make it more difficult to use and debug (to me at least). I prefer to leave my favorite packages in VarBrowser folders, so they are ready to be used (supposedly in the same SSD drive where VaM resides). Others might prefer another method, but since the app is conceived as a VarBrowser companion, it tries to keep its scope whithin those folders (AllPackages for uninstalled, AddonPackges for installed). The external folders (repos) are configured mainly to keep track of where all the packages are, whether some of them are lost, etc., but no file operations can be done between then, other than copying from repo locations to VaM.

If you have another SSD you would like to use as part of VaM, as Varbrowser's uninstalled/installed, there is a way I have not seen mentioned but it can be easily done, that is symlinking two folders of the external SSD inside AddonPackages/AllPackages, respectively, similarly structured in the SSD. That way, you can install/uninstall not only with this app but whithin VaM with VarBrowser (!). Once the folder is symlinked you forget about running programs in admin mode, which could be dangerous sometimes. I will go in more details on it in a later post, but IMO the idea of symlinking single packages is not as good as setting a couple of symlinked folders, ony one time, set and forget. Since the app moves files when installing/uninstalling and always preserving its internal paths, it would never send a single file from an SSD to another, unless you use the _moved dir feature to move a selection and then do it manually through OS.

n the meantime however, would you happen to have any idea as to why I'm getting two errors? The first is when going to set a file to autoinstall or create symlink I'll get an error on the title but it doesn't last long enough to make it out before it goes away. I do know the file I'm trying to do this with is on a different drive in a repos.
In the current state, the app only allows to turn to autoinstall only when the package is installed. If I remember right, in 1.17 it was available for uninstalled packages too but it can be messy, since it depended on starting VaM for the packages to be moved (installed) automatically by VarBrowser. So you would refresh and see the blue package which still was uninstalled. Symlinking only works when running the app in admin mode which even I don't like it. I recommend to try the folder symlinking method, I will post a guide on it later.

Another error I'm getting, and this one in particular is annoying, is a popup window stating Rejected Package(s) Bad file name format: and listing a bunch of files. At first it looked like it was merely referencing files ending in something like _1.var, (1).var, or just something like MMD.var without a file version in the name, so I went and renamed them, but I'm still getting the same error.
This is regarding bad names, yes. There is a lot of them, probably truncated by the dialog limits, and you need to rename all the '(1)', you can try using a massive replacer tool like PowerRename, find all "(1)" and replace them with nothing. The (1) is usually put by the browser/OS when the file is already downladed so it renames it increaing the number until it can be saved to disk. You might need to verify/overwrite original version which could be an incomplete download maybe, maybe not. For the rest of files, those have bad versions too. The VaM format is strictly creator.packagename.version.var where 'version' is an integer. It cannot be creator.name.1.1.var, just one 1.var. Same with no numbers at all. Add .1 to them. There are others like 1_2.var, it remains a mystery to me why some creators used that, maybe a previous VaM version allowed it. If unsure, just use the last number, or just .1 and do not care about what is after '_', I might say. The app shows the annoying dialog because VaM is not seeing those packages. VaM shows that in its pink log and you can find the whole paths in the user-related logfile too (AppData/Local/MeshedVR/VaM/output_log.txt).
 
Last edited:

commondi32

Newbie
Jul 16, 2020
84
62
29
A GUIDE ON SYMLINKING EXTERNAL FOLDERS FOR VAM/VARBROWSER USE:
This is useful when you have packages in external drives and you want to make them all available.

Example:
VaM installed in D:\Games\VaM\; an SSD with more packages in F:\Gamedata\VaMPackages\

  1. Go to F:\Gamedata\VaMPackages
  2. Select All (files, folders), Cut the selection.
  3. Create a new folder, F:\Gamedata\VaMPackages\AllPackages_SSD1
  4. Go to F:\Gamedata\VaMPackages\AllPackages_SSD1 and Paste
  5. Create a new folder, F:\Gamedata\VaMPackages\AddonPackages_SSD1

Then, launch a console (as administrator) and use MKLINK command:
Code:
MKLINK /D D:\Games\VaM\AllPackages\_SSD1 F:\Gamedata\VaMPackages\AllPackages_SSD1
MKLINK /D D:\Games\VaM\AddonPackages\_SSD1 F:\Gamedata\VaMPackages\AddonPackages_SSD1
That's it! You have created two symbolic links called _SSD1, each one in AllPackages and AddonPackages, linked to relative packages folders in an external SSD. The external packages are now all in AllPackages (symlinked) and they will install/uninstall while always sitting on their respective drives.

Benefits of it:
  • No messing with admin rights every time for symlinking single files, which is not a good practice for a Windows/NTFS filesystem.
  • VaM and any program will see the external files just as they were part of AllPackages and AddonPackages.
  • VarBrowser/Vambropy will install/uninstall like always but the files are moving in their respective drives (because the whole subpaths are kept while moving). So, no copy/delete process is done, because moving in the same drive means the OS is just changing an index in a filesystem's table, not copying/erasing the whole content every time (which happens when files are moved between different physical drives, leading to slower performance and more physical wear).

Side note: this is not written by LLMs , but I realize I might be starting to be somewhat influenced by their style:unsure: ;)
 
Last edited:
  • Like
Reactions: mikeriko

commondi32

Newbie
Jul 16, 2020
84
62
29
EDIT: This is valid for new version v1.18. Links are in the main post.

This is next version almost done. (TK version only) I leave it here, python files only, for testing and feedback if you see something wrong or anything. There are many features and fixes (check main vambropy_tk.pyw file for info about code changelog). Hope everybody like it and help us with the fine-tuning. Some things changed a lot like single key hotkeys changed to Ctrl+Key, releasing single keys for directly typing in package filter box.
Most request have been attended (donkeykong1969, flightdone, AsylumDemon1).

file moving solutions implemented, not fully yet but it can be done with more user-set folders.

Annoyances reduced, like autoinstall toggle more flexible, non-inverting when autoinstalled and not autonistalled are selected. prioritizing not autoinstalled. Or bad packages popups replaced with warnings on info panel, with a complete list which can be copied as plain text.

Better config, unrestricted number of repo locations, with configurabe base directory. List/Image browsing with faster and different modes (pressing ctl+wheel, shitf+wheel etc.). Ctrl+wheel on image thumbnails accessing images one by one (directly from package, not extracted to disk).

Better control for corrupted/incomplete packages, download missing from hub, smart selection (just select all, only missing ones will be looked for). Better control for filtering, new comboboxes with more options. Changed package level buttons for switchs, more intuitive way. Rating system by menu option or hotkey Ctrl+number, and column to sort by most liked ones.

And surely more I forgot.

IMPORTANT: Database schema changed, so you can't use the previous version. But you can use symlink/copy/move the thumbnails folder to avoid regenerating all again. Also, if you used the "Ignore" option for some dependencies in v1.17 , you can export them to a text file and import it back in the new database,so you don't lose that info.

Exporting "ignored" dependencies list from 1.17 vambropy.db:
copy vbdb (exe or py file) to your 1.17 vambropy folder, along with vambropy.db. Launch a command line and type "vbdb.exe export" (or pyhton vbdb.py export). That's it, it is exported to a new text file "dependencies_ignore.txt".
Then copy the text file to your new 1.18 folder, after the program was launched at least one time. In the command line type "vbdb.exe import" (or pythond vbdv.py import). That's it.

Running the app: python vambropy_tk.pyw

Attached vbdb.exe is flagged as VIRUS, as always with exes... I don't have viruses but I can't guarantee what happens when uploading. If not sure, check out and use the .py one instead, it is a very clean source file.
 
Last edited:

AsylumDemon1

New Member
Nov 12, 2019
5
0
44
This is next version almost done. (TK version only) I leave it here, python files only, for testing and feedback if you see something wrong or anything. There are many features and fixes (check main vambropy_tk.pyw file for info about code changelog). Hope everybody like it and help us with the fine-tuning. Some things changed a lot like single key hotkeys changed to Ctrl+Key, releasing single keys for directly typing in package filter box.
Most request have been attended (donkeykong1969, flightdone, AsylumDemon1).

file moving solutions implemented, not fully yet but it can be done with more user-set folders.

Annoyances reduced, like autoinstall toggle more flexible, non-inverting when autoinstalled and not autonistalled are selected. prioritizing not autoinstalled. Or bad packages popups replaced with warnings on info panel, with a complete list which can be copied as plain text.

Better config, unrestricted number of repo locations, with configurabe base directory. List/Image browsing with faster and different modes (pressing ctl+wheel, shitf+wheel etc.). Ctrl+wheel on image thumbnails accessing images one by one (directly from package, not extracted to disk).

Better control for corrupted/incomplete packages, download missing from hub, smart selection (just select all, only missing ones will be looked for). Better control for filtering, new comboboxes with more options. Changed package level buttons for switchs, more intuitive way. Rating system by menu option or hotkey Ctrl+number, and column to sort by most liked ones.

And surely more I forgot.

IMPORTANT: Database schema changed, so you can't use the previous version. But you can use symlink/copy/move the thumbnails folder to avoid regenerating all again. Also, if you used the "Ignore" option for some dependencies in v1.17 , you can export them to a text file and import it back in the new database,so you don't lose that info.

Exporting "ignored" dependencies list from 1.17 vambropy.db:
copy vbdb (exe or py file) to your 1.17 vambropy folder, along with vambropy.db. Launch a command line and type "vbdb.exe export" (or pyhton vbdb.py export). That's it, it is exported to a new text file "dependencies_ignore.txt".
Then copy the text file to your new 1.18 folder, after the program was launched at least one time. In the command line type "vbdb.exe import" (or pythond vbdv.py import). That's it.

Running the app: python vambropy_tk.pyw

EDIT: Binary .

Attached vbdb.exe is flagged as VIRUS, as always with exes... I don't have viruses but I can't guarantee what happens when uploading. If not sure, check out and use the .py one instead, it is a very clean source file.
I don't have python installed and unfortunately don't have time to tinker with it atm. With regards to some of the stuff you mentioned for changes, are there changes to ignore the file names like the error I got? Because changing them didn't fix it, and moving the directory to shorten the file line characters (i.e. C:\VaMX instead of C:\Games 5\VaMX) and no changes there either. I was trying to experiment with installing my favorites with depend then copying them over to my nvme drive (my vam folder is massive and won't fit on my nvme drives even split lmao ;_; ) but I keep getting stuck with that popup screen error for the file names which when closing freezes the program. If it matters for diagnosing, the HDD I'm testing it on is an 18TB Seagate Exos 7200 rpm drive. It's no ssd but the load times are nowhere near as bad as your typical 5400 rpm storage drive. (I'm a data hoarder what can I say? :p )
 

commondi32

Newbie
Jul 16, 2020
84
62
29
I don't have python installed and unfortunately don't have time to tinker with it atm.
I added the binary in a later edit, at the end, .

, are there changes to ignore the file names like the error I got?
The way it works changed, yes. It shows the list of files in the same UI, in the info text box, in yellow color. I removed the popup. The fact is you can run VaM or this app with no problems if there are bad named or corrupt var files, and you were right about the annoyance each time it refreshes the list.

Because changing them didn't fix it
I thought maybe the list was too long and you did not rename a lot of files to see the list shortening yet, or maybe they were on another drive and appeared again with another path?
I mean if I got something like "g:\Games_5\VamX\AllPackags\Tenstrip\Tenstrip.Expressions.1 (1).var", I go to this TenStrip directory and rename the file to Tenstrip.Expressions.1 (1).var as Tenstrip.Expressions.1.var (no spaces in the number part), then the next time it refreshes this file should not appear anymore in the list.
Anyway, now the files are displayed in an unobtrusive, copy-able list, so you can check the files later, ignoring it and it goes away after you select something. It will come back after each refresh though, as a reminder, because it is better to have them
all fixed.

when closing freezes the program
It could be something related to a list too big for what the popup can handle. If that were the problem it should be finein the new version.

18TB Seagate Exos 7200 rpm drive.
Damn VaM and its growing collections it forces us to buy such disks! lol
I plan to do something like that in my system. I have tried with external drives configured as repos and have no problems. Only it takes some time when it starts spinning up (couple of seconds), and the app might freeze for a moment, but then it works fine.
My approach with a system like yours could be as these two main options:
1) to leave the favorites and their deps in the NVME and put all packages in the 18TB drive and set it as a repo, then install with vambropy with deps, copying to the NVME. And then clean the NVME often, removing the installed packages you did not want, the no favorites. It is harder with the dependencies tough, if you don't configure some sort of internal directory structure.
2) to symlink the 18TB collection as I mentioned in a previous post, creating symlinked directories inside AllPackages/AddonPackages to the repo hard disk. That way all is available even in VaM with VarBrowser and once you know your favorites you can move them to specific folder (user-configured, example: Vam\AllPackages\Repo_symlinked\_repofavorites), then use the OS to copy all packages from from that directory _repofacorites to your NVME directory, example: vam\AllPackages\favorites
...
There is a lot of options, each with their pros and cons, obviously. What I'm looking for with this app is to allow to reorganize files in a simple way which can be configurable in more complex ways, to suit different needs. I don't want strict ways, because each one has her/his preferences.

I'll be posting the new version in a couple of days, I already added minor improvements, but no more new features until it is released. I might be adding another field to the database, just in case I need it later. If you don't mind spending some minutes rebuilding the empty database again you can try this test version already.
 

AsylumDemon1

New Member
Nov 12, 2019
5
0
44
I added the binary in a later edit, at the end, .


The way it works changed, yes. It shows the list of files in the same UI, in the info text box, in yellow color. I removed the popup. The fact is you can run VaM or this app with no problems if there are bad named or corrupt var files, and you were right about the annoyance each time it refreshes the list.


I thought maybe the list was too long and you did not rename a lot of files to see the list shortening yet, or maybe they were on another drive and appeared again with another path?
I mean if I got something like "g:\Games_5\VamX\AllPackags\Tenstrip\Tenstrip.Expressions.1 (1).var", I go to this TenStrip directory and rename the file to Tenstrip.Expressions.1 (1).var as Tenstrip.Expressions.1.var (no spaces in the number part), then the next time it refreshes this file should not appear anymore in the list.
Anyway, now the files are displayed in an unobtrusive, copy-able list, so you can check the files later, ignoring it and it goes away after you select something. It will come back after each refresh though, as a reminder, because it is better to have them
all fixed.


It could be something related to a list too big for what the popup can handle. If that were the problem it should be finein the new version.


Damn VaM and its growing collections it forces us to buy such disks! lol
I plan to do something like that in my system. I have tried with external drives configured as repos and have no problems. Only it takes some time when it starts spinning up (couple of seconds), and the app might freeze for a moment, but then it works fine.
My approach with a system like yours could be as these two main options:
1) to leave the favorites and their deps in the NVME and put all packages in the 18TB drive and set it as a repo, then install with vambropy with deps, copying to the NVME. And then clean the NVME often, removing the installed packages you did not want, the no favorites. It is harder with the dependencies tough, if you don't configure some sort of internal directory structure.
2) to symlink the 18TB collection as I mentioned in a previous post, creating symlinked directories inside AllPackages/AddonPackages to the repo hard disk. That way all is available even in VaM with VarBrowser and once you know your favorites you can move them to specific folder (user-configured, example: Vam\AllPackages\Repo_symlinked\_repofavorites), then use the OS to copy all packages from from that directory _repofacorites to your NVME directory, example: vam\AllPackages\favorites
...
There is a lot of options, each with their pros and cons, obviously. What I'm looking for with this app is to allow to reorganize files in a simple way which can be configurable in more complex ways, to suit different needs. I don't want strict ways, because each one has her/his preferences.

I'll be posting the new version in a couple of days, I already added minor improvements, but no more new features until it is released. I might be adding another field to the database, just in case I need it later. If you don't mind spending some minutes rebuilding the empty database again you can try this test version already.
File doesn't exist, must've been deleted or something rip.

The issue I'm having is that in order to get all the proper depend for my favorites I need to use something to move my favorite over with the depend unless I did it manually. I'd use the VarBrowser for it except for it takes forever not being able to select multiple files instead of one at a time. Doesn't help that it must be done in game either. I mean, to give you an idea I've got 54k packages not including local packages. So again, VarBrowser takes forever to do one at a time.

Originally I was planning on having VaM on one of my 2tb nvme drives with my favorite vars, scenes, etc, until the drive was almost full, leaving room for performance obviously, putting some more of them with a syslink on a 1tb nvme, then the rest that I don't much care for or don't use much onto one of the hdd's and use VarBrowser to transfer those if I needed to. The thing that's stopping me really is the ease of installation of my favorites with depend and the filename issue was stopping me with vambropy, although it'd be nice to just have it move them from one drive to another. Not sure how complicated that'd be to program.

As for the file names, I should've taken a screenshot, but it was still showing in the list after the name change, and it showed the name change in the popup window even which threw me for a loop.

You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:

commondi32

Newbie
Jul 16, 2020
84
62
29
File doesn't exist, must've been deleted or something rip.
That site seems to remove fast when file has no activity. Anyway I'm updating it pretty soon, tomorrow.
The issue I'm having is that in order to get all the proper depend for my favorites I need to use something to move my favorite over with the depend unless I did it manually.
I guess I see it better now. So let's say your favorites are in a custom list, and/or tagged as VB autoinstall. When you uninstall all, only autoinstall ones are kept in AddonPackages. Then you (optionally) install the favorites from a custom list. After that, by filtering only installed packages you can select all their dependencies and install them too.
At this point you would have all your favorites and its dependencies in AddonPackages actually. Let's say this folder also have symlinked folders inside and some installed packages are there in many drives/subdirs/files. So you want to move that group of packages to a same physical drive, where VaM is, or anywhere. There is a solution to that in the current v1.18 I'm uploading, not direct yet but this what I would do:

-Move all packages to the _removed (name is not important in this case, as long as the dir is empty so you don't mix them with previously moved vars into there) default config is VaM\_removed, it can be user set but inside VaM dir (this could be changed to allow an specific full path dir, as well as more than 2 configurable "move to" dirs, if not tomorrow it will be in the next v1.19)
-All installed packages are now in _removed, so I go to that folder and cut all. Then I create this "favorite" folder where I want it to be, and paste everything, so all installed vars will go there in the same disk. It is one manual step but sort of easy, and all the favorites are now in the chosen drive.
-There are many ways, also a symlink to a directory in another drive could be created, in place of this _removed and it would be all moved by Vambropy by a single menu option.

So I'll see what I can do... I don't want 1.18 to be buggy since it was already tested for some time. Maybe I can add one more option/dir like "_favorites", also inside VaM for now and think later about a better solution, but you can replace it by a symlink and point to any drive. As a result, you can use it to build your favorite collection in your fastest drive, for example.
The problem would be moving already moved files when you are adding new favorites, thus creating nested paths, since the app is not ready to see locations in this way... so again I'll see what I can do.
You don't have permission to view the spoiler content. Log in or register now.
 

commondi32

Newbie
Jul 16, 2020
84
62
29
I added to v1.18 a new menu option for testing. The Move to... submenu allows to move the selected packages to a VaM/oldvars directory or a VaM/_removed. _oldvars is where you can send the older/stale packages you don't want in the db*, since VaM will not scan them again while in that folder. Same with _removed, where you can move any package you don't want in your collection, to be reviewed and, optionally, manually, deleted.
The new one for testing is '_favorites', default location is VaM/AddonPackages/_favorites. You can move installed and uninstalled packages in there (autoinstall tagged ones too). It is an installed location, actually. Most of you might see no point in having that folder. It is meant to simplify the moving of files to a new location, saving some time vs manually doing it.

But if you replace the _favorites folder with a symlinked folder to another drive, then it will be moving files from a drive to another. This is new to Vambropy, and I have not tested it yet, so if you do that proceed with caution, backup the packages you are moving, try it safely. I should work with no problems but one never knows...

*About removing older versions of plugins/forcing latest versions: generally not recommended, because most plugins don't care about compatibility with previous versions and fail often when it is not the version some scene asks for.
 

flightdone

Newbie
Jul 20, 2018
37
15
84
Any chance for supporting opening renamed VaM.exe, like SOTTR.exe ?