Is it possibe to put certain folders as separate tabs?
handel_035c4ce6
Posts: 460
Fro example I would like to be able to quickly access the folder where I put export/import stuff and the folder where I save the imported assets.
Post edited by handel_035c4ce6 on
Comments
Tabs in what?
Tabs like Content Library etc but just certain folders like Shaders Presets (just an example).
Oops - sorry, double post.
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/specific_ui/set_content_library_container/start
Ah, no, you can't create new content-ype panes (it's something a developer cold do with a plug-in, though, if there was enough demand or self-interest).
Thanks although it looks like chinese to me:-)
If I cut and paste a folder with DUF files, created by me (not a default folder with installed standard stuff) will the DUFs still work as intended? What I mean is can I create new MyLibrary folder, add it to the paths in the Daz settings, and cut and paste my folder with DUF files into it?
Yes, if you move the files using the OS (rather than in DS) then you will break the link to the CMS database, but the files will still show and work in the file based views.
So if I want my folder to be easy to fin and to be on the top of the Library then it will be better just to rename then in something like 1_Pose_Presets, 2_Exports and as they start with numbers they will always be on the before the standard folders, right?
I never got used to the smart content but I think because my database is a mess. I use the Content Library the most and know where my folders are. I try to organize my stuff with three main Content Directories for Daz Studio and eight other Content Directories that mainly have freebie collections or poser content.
What bothers me the most is if I have to jump from one conent library to the other by navigating the folders. The Content Library pane offers a folder history to jump back and fourth a few steps but this dosn't always get you back where you was before. Also I would like to use the mouse buttons 4 and 5 for going through the folder history but these buttons don't work in DazStudio.
Is there any way to have a script or something that can control the Content Library and let it jump to a given folder? I know the other option would be to organize everything in Categories but then you have to have everything categorized before you start browsing the content.
What I do lately if I saved something in the wrong folder for example is I select the items in the Content Library, right-click and Cut, then I go to the other folder or create one and paste the items there. By doing this the content type overlays on the preview icons got lost, it seems it dosn't matter if you cut-paste user facing content stuff around with the Content Library or the OS File Browser Daz Studio dosn't uptate the database if you do so.
After I've pasted the items that could be of mixed content type like scene subsets, poses, shapes I still like to have the overlay visible again. Before I found how to bring the overlays back I tend to write the content type behind the filename like _WearAble _Pose _SubSet and so on. The overlays gets showen again if you righ-click the folder with the unknowen content type files, select Edit Metadata and manualy choose the content type there. I wonder if there is an easy folder scan function inside the Daz Studio content manager to update the metadata automaticly?
If the folder structure remains the same I mean if you cut and paste a whole People/Pose folder for example the releative path remains the same in both libraries and the database dosn't get consfused. However if you are using a different folder to paste it into the new Library the metadata gets lost. Those content types like poses, scenese, subsets ect. can get saved anywhere and don't need any other content saved in the right place, as long as the original assets are accessible.
The paths in the Content Libraries are relative paths so it dosn't matter for example if the textures are saved in library one or two. Example C:\User\UserName\Documents\Default_MyLibrary\Runtime\Textures\... and D:\MyNewLibrary\Runtime\Textures. This works as long as the textures remain in the Runtimes\Textures folder and dosn't get saved somwhere else.
Even if you save Morph Assets or Figure/Prop Assets you can always choose the library in which you want the assets to be saved to. Those morphs and assets end up in a folder called data. With this I try to keep the original products and my additional assets for it in seperate Libraries its even easier to find the stuff you just have saved.
I'm not exactly shure if I understand this script example.
If I run the Set_Content_Library_DAZ_Studio_Formats_Container.dsa
as I read in the description it will "set the active path" what does this mean? And is this the line in the script where you can choose to set another ContentDirectoryPath than the "first mapped" directory?
I want to set it to People/Genesis 3 Female/Poses for example if thats possible to have the Content Library pick up the "active path".
Sorry my question had already been answered by Chohole before I've posted. I should update the page more often before posting.
Nice to know thanks. I didn't read the script to the bottom line where the function to set the directory gets its argument passed. How this works is interesting. I just ask myself why we need all the script lines as overhead, its just a few kilobyte you say?
I think of to save this Set_Content_Library_DAZ_Studio_Formats_Container.dsa into the Scripts/Utilities folder in the library and then write a second script Set_Path_G3F_Pose.dsa that just calls the Set_Content_Libary...dsa, passes the argument (the path) with something like this Set_Content_Library_function("People/Genesis 3 Female/Pose"); and thats all you should have to write in your script. Would be great if this could work this way I just don't understand how to modify the script to do this.
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/remote_operation/sub_script/start
If you can access content from the Smart Content tab, you can create custom folders in your DAZ Studio format library and drag icons from the Smart Content tab to your custom folder(s) creating shortcuts. Since they are shortcuts, metadata doesn't "break" and you can use your Computer's OS to rearrange/reorganize the shortcuts. If your Smart Content/Content Library are on the same tab group, you'd need to temporarly move the Content Library tab do a different tab group. See picture attached for an example.
Understood, thanks. Will figure something easy to implement:-)
Thanks Chohole.
I know this example I've used some of this in my own script but never understood how to write the "remote" execution. See here Convert to SubD script.
By reading over the script a second time now I see the lines that "calls" the other script and passes arguments. My future scripts will support this remote execution there is a great potential in it.
Caller_Script.dsa
Now modified to call the Set_Content_Library...dsa
Now I think I need to modify the last line in Set_Content_Library_DAZ_Studio_Formats_Container.dsa to something like this:
I am given some more advice to pass on to you
---
var sPath = (aArgs.length > 0 && typeof( aArgs[0] ) == "string" ? aArgs[0] : "");
if( sPath.isEmpty() ){ print( "The first argument passed-in is not a valid string." ); return; }
Thanks alot, so all arguments to pass even if its just one string have to be stored and transmitted in an Array I understand that.
Almost a year has passed since I had a look into Daz Scripting and my lastest Convert to SubD script, I forgot that the arguments get passed in an array. On the reciever side (Callee_Script.dsa) I know how to handle that.
But thank you for this great example how to convert the single string Array argument, do a few checks if its the right datatype and put it into sPath. And all this in one script line, this is clever I propably would have written a few nested if conditions to check this, you see I'm not an scripting expert.
Just for reference this is the top part of my latest script modification at Convert to SubD script ApplyOrZero_SubD_SubDivLevel_MeshResLevel_v8.dsa 22K
It will only accept passed arguments that are in the right order and datatype 1. Bool 2.3.4. Integer. You should be able to pass it just one to a maximum of four arguments. If not you will get a notification what went wrong. Now that I know how to deal with passing the arguments in an Array there are some things to rewrite. This script is meant as a module and should run in "silent" mode with var bDebugConsole = true; no messagebox will pop up at the end and all infromations get written into the Script IDE console. Critical Erros will still pop up as a messagebox. I think this will make it easy to use and foolproof for others and they can acces the function inside the script with their own scripts and just a few lines of code.
See Begin: Callee_Script.dsa MODIFICATION!
bool and int are not types in DS script, you need Boolean and Number. Unfortunately the Intrinsic Types page is currently down, though it is in the old DS3 scripting docs http://docs.daz3d.com/doku.php/public/software/dazstudio/3/start . Rob has supplied a script that will show, and show you how to get, the name of a data type (and also shows handling arrays and objects)
OK thanks Richard.
So it is called Boolean and Number (that can hold integer or floating point values). I just started to write this script without reading much documantation and thought I could adapt some of my C++ programming knowledge.
Understanding the datatypes is an important part of this scripting and programming in general. It seems I need a bit more pratice.
Thanks also for the link I just downloaded the DAZ Script API (ZIP - 2.96 MB) and found what I was searching for.
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/basics/coding_standards/start
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/start