GithubHelp home page GithubHelp logo

daz-studio-linux-case-fix's Introduction

DAZ Studio - Manage upper/lower case differences in library paths

It is recommended at present that you zip up the library you are fixing before using this tool as a backup!

The tool can do this for you right now if checking the box and selecting a path for the .zip file at the top, which works fine, but you may want to zip it manually just because it's simple, and I have yet to create a proper display that it's working, and it will typically say it's not responding (though it will be fine if you wait for it):

image

While what this app does is not very destructive, I have not tried throwing every convoluted directory structure at it I can think of, so this is just a safety "undo" step.

When attempting to run DAZ Studio in Linux and using any assets that need to be installed manually, it's often problematic because upper & lower case is treated as identical in Windows, but not Linux. Therefore, if you manually add an asset, depending on what the asset creator did regarding case, it may create "duplicate" folders (i.e. Daz 3D / DAZ 3D), which can create a mess when the intent was to merge the contents.

image

This utility is designed to use the main DAZ library (typically: "My DAZ 3D Library"):

image

...as a "control." Therefore, assuming you have your own libraries:

image

So, this tool is designed to take in the path to the main library, and any user-created/other library you may have.

It's important to make sure you pick the "root" of each library or the comparison will be quite erroneous!

Additionally, be sure to put in the full Linux path to each, not right-click and get the path from within DAZ.

Running this in Linux, you will be using Lutris/Wine/Etc..., and DAZ Studio will only see the c_drive within the Wine environment that was created for it.

The directory structure of these libraries is usually recognizable, with folders such as these (you may have some or all of thes, be missing some, depending on what assets you have):

  • data
  • Environments
  • People
  • Props
  • Runtime

Save Paths to File

This button will take whatever you have selected in the path fields and save them to a .pkl (pickle) file in the working directory. If this file exists, it will load them when the application is started.

Fix Directories

Once you've got your main & user library paths confirmed, clicking this button will iterate over all the folders & subfolders of your user library.

A check is done here to make sure that the DAZ main library does not have any "duplicate" (case-only) folders. Something is definitely off if this is the case and should be fixed manually. More to the point, it removes the "control" for what the case should be.

Before comparing the name/case to the main library, it first looks for self-consistency, and that is actually more where there are typically issues, as it depends on what the asset creators do. If, for example, the user library has these folders (at any level in the tree within the library):

  • Daz 3D
  • DAZ 3D

...If the same folder (in the same place in the tree hierarchy) exists in the main DAZ library, it will use that naming, and consolidate all the files into that folder. If there is no corresponding folder in the main DAZ library, the files will be consolidated into the foler that has more objects in it (files or folders--treated the same in this calculation).

At the end, if the user library is self-consistent, a check is done against the main DAZ library notwithstanding, and that naming taken in case (ha!) of a difference.

daz-studio-linux-case-fix's People

Contributors

generalprotectionfault avatar

Stargazers

Quentin Franchi avatar

Watchers

 avatar

Forkers

nargacu83

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.