1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

User Content Folder

Discussion in 'KOMPLETE KONTROL SERIES' started by pranaearth, 17/3/18.

  1. pranaearth

    pranaearth Active Member

    Messages:
    377
    On the Mac OS, the User Content folder is located within the Documents folder. I've noticed that it's getting rather large, and I'd like to move that to an external hard drive.
    Is that possible, and if so, how is it done?
    Thanks for the help!
     
  2. killmaster

    killmaster NI Product Owner

    Messages:
    787
    I'm not near my computer to try, but how about making an alias?
     
  3. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19.938
    Yeah, make an alias/symbolic link.
     
    • Like Like x 1
  4. killmaster

    killmaster NI Product Owner

    Messages:
    787
    So to make an alias if you haven't before, you can go to the "User Content" directory on your external drive and right-click->Make Alias, then put that alias in Documents/Native Instruments folder.
     
  5. JesterMgee

    JesterMgee Well-Known Member

    Messages:
    3.455
    You can make a user folder anywhere you like and have multiple locations, no symlinks needed.
    upload_2018-3-18_11-5-41.png

    Just move your data where you would like then go to the Library tab and add another library link.
     
    • Like Like x 1
  6. rolomotox

    rolomotox NI Product Owner

    Messages:
    23
    can you delete an old user content location? I moved it back to the original location and the alias folder, although no longer exists, can't be removed. The remove button is greyed out.
    Screen Shot 2019-08-08 at 3.19.17 PM.png
     
  7. JesterMgee

    JesterMgee Well-Known Member

    Messages:
    3.455
    You cannot delete the default path that the software creates. If it is unused just ignore it as it doesn't create any issue.

    Also, just FYI for anyone else, never label a custom user folder with an alias in Komplete Kontrol as "Native Instruments User Content" as this will then also grey out the remove button. Seems they just disable the button for a path with that alias as I found out testing an issue for another user and now have a stuck folder and cannot even find a registry entry that holds these paths.
     
  8. rolomotox

    rolomotox NI Product Owner

    Messages:
    23
    this is my situation. I don't recall renaming it "Native Instruments User Content" but somehow it's there even though the folder doesn't exist.
     
  9. JesterMgee

    JesterMgee Well-Known Member

    Messages:
    3.455
    When you install komplete kontrol it sets a folder as default. You can then add additional ones but you cannot change or remove the default one. It's kind of stupid but that's just how it is and likely wont change.
     
  10. stewart hannah

    stewart hannah NI Product Owner

    Messages:
    43
    So let me get this straight !! You are saying there is absolutely NO WAY to move or change the location of the default User Content folder? This is 2020 NOT Y2k but its like a Y2k bug in the programming. Its a simple entry that SHOULD BE added in Native Access preferences that is all. I bought a new SSD moved my Documents folder and removed the drive. Now I want to update the path in Native Access and I can't. ABSOLUTELY UNACCEPTABLE and stupid. Why is it hard coded to the drive partition letter and folder and not %username%\documents you need programmers that know what there doing
     
    • Like Like x 1
    • Dislike Dislike x 1
    • Funny Funny x 1
  11. JesterMgee

    JesterMgee Well-Known Member

    Messages:
    3.455
    Calm down there bud.

    all you need to do is add another folder path in Komplete Kontrol for your user related content and move your stuff. You can leave the current default path as is and just not put anything there. It’s a mild annoyance you can’t remove it, not the end of the world.
     
    • Like Like x 2
  12. stewart hannah

    stewart hannah NI Product Owner

    Messages:
    43
    WARNING !! You cannot simply move the User Content data and add a new link and expect Kontrol to work, it will not. It will still look for the original path so you will have to use a sym link and call it "User Content" and place the link in the original location - meaning you might have to configure a partition with the same original drive letter and folder structure if you plan on removing the original drive. I made it 1Gb and all it has is one damn file - the sym link - but I guess it might somewhere down the line want to save some work there somehow who knows

    See we need it adding to Native Access preferences, it cannot be that difficult and I class it as a bug - a BIG bug
     
    Last edited: 23/2/20
  13. JesterMgee

    JesterMgee Well-Known Member

    Messages:
    3.455
    Well actually you can just add another folder and place everything there and it works just fine. I have all my user content on a second drive and added a custom path within Komplete for it all.

    The only issue is when you save an NKS file it saves to the default "fixed" location which I can agree is not ideal and they really should update things but hey, this is NI here and they like to do things "different". You just move it after you save it if you don't want it in the default location... create a script to do it if needed.

    Now, while I agree that it would be good to be able to set the default location to somewhere else it's not as big a deal as you are making and the path is specific to the software itself, Maschine also has a custom path that is different, and it is a software preference not an installer configuration, in the same way you set which audio device you want.... it's not done during installation and I personally would always be looking in an apps preferences for this kind of thing, not at the cloud installer.

    If you want to join the Beta program and make this suggestion (or vote for the already suggested option) then feel free. Ranting in the forum about what year it is and what you expect isn't really going to help push anything forward but this threads post count.
     
  14. stewart hannah

    stewart hannah NI Product Owner

    Messages:
    43
    Jester thanks, I am not having a go at you or Native to be fair its just frustrating. I bought the Kontrol and then spent twice that on hardware upgrades and for the past 3 weeks moved data around to try and get the best performance. I am using a corporate pro workstation so have PLENTY of power and storage just need to put things where they need to be, M2 all apps SSD for all user content and SAS|Sata for storage.

    huh no u cannot. Try loading serum and Triton in Kontakt and it wont find the path to the samples meaning it wont load the app just give u path error even with the sym link the data HAS to physically be there not in some sym link - sorry about this not being rude I am actually messing with it right now and its driving me potty. I will configure a new 100Gb partition just for my docs the originally is about 23Gb in size right now but I guess it will grow in time. Thankfully my system has a 3Tb SSD raid so I have plenty of space to create new partitions in JUST TO PLEASE Native Instruments and Kontakt. its currently sat on a 10Tb SAS raid but I want it on SSD

    I would happily join the beta team as I have PLENTY of spare time and computers for testing.
     
    Last edited: 24/2/20
  15. JesterMgee

    JesterMgee Well-Known Member

    Messages:
    3.455
    These don't load in Kontakt, do you mean Komplete Kontrol?

    I am a little lost with what you are even trying to achieve here.

    The NI User Library is for custom NKS and samples you want available in Komplete Kontrol (such as Serum and Triton which I assume you have NKS libraries for (mine)?)

    By default, Komplete Kontrol uses the following path to store User NKS files:
    C:\Users\[USER]\Documents\Native Instruments\User Content

    But you can add a different path/s yourself in the Komplete preferences:
    upload_2020-2-24_9-45-32.png

    All you need to do is then MOVE your stuff from default folder to the new one you created in KK. After moving you MUST do a rescan of user library files and it will update the paths in the database.

    Yep, when you are first getting to grips with something things can be frustrating but as someone who deals with support and loves the challenge of helping people, it's always good to go and have a coffee, beer, joint or something to calm the nerves before throwing the frustration into a forum as most will switch off and not help which makes it seem even worse for you.

    If you have a further issue from the above y0ou may need more details on what you are doing.
     
  16. stewart hannah

    stewart hannah NI Product Owner

    Messages:
    43
    A rescan OMG oh please not that. AH but this is Kontrol not Kontakt, phew update ok but a reset on my Kontakt takes hours need to get brain in gear

    OK many thanks I sorted it our PROPERLY and yes you can delete the original path or should I say Kontrol will automatically do it for you once you actually either turn on rescan at start up AND RESTART Kontrol or as I did

    1: MOVE your User Content DATA to new location
    2. Renamed original User Content Data folder to "User Content Old "for test purposes so its still there and safe but Kontrol cannot find it IMPORTANT
    3. Add new User Content location to the library path as your pic shows above
    4. Hit rescan - it will say error User Content not found so you click locate and direct it to the new path
    5. On completing the rescan Kontrol will have automatically REMOVED the original path

    BINGO !!!

    thanks buddy I am a happy bunny now
     
  17. Jesse Harlin

    Jesse Harlin New Member

    Messages:
    10
    Appreciate the replies in this thread, like JesterMgee suggested I wanted to add another directory, but the version of Komplete Kontrol does not let me add certain folders, such as folder son other drives, why I use the add function, the file browser only included the local user folder on the root drive, and does not include other drives. Is the only solution a symlink? thanks
     
  18. JesterMgee

    JesterMgee Well-Known Member

    Messages:
    3.455
    Screenshot of what you are looking at?

    You should be able to add any folder location your computer has access to. When I click "Add" I have my computers entire universe available to choose what to add, including network locations and all attached drives and as you can see, I have a "J:\" drive added which is a secondary drive
    upload_2020-11-29_18-20-10.png
     
  19. Kymeia

    Kymeia NI Product Owner

    Messages:
    6.268
    I have been doing this for years now - instead of keeping everything in my default user folder, which was getting too large, I just have dedicated folders for my NKS content. So the extra folders don't need to be named 'User Folder' - keep that the same but just don't put anything else in it (and when stuff gets saved into it move it into a dedicated folder. Personally I've still kept them in documents but they could be on a SSD if I want too. This enables me to just scan a selected folders more selectively when I want to update content, instead of having a huge user folder being scanned when I just want to update a few patches.

    [​IMG]
     
  20. Jesse Harlin

    Jesse Harlin New Member

    Messages:
    10
    JesterMgee (and Kymeia ) Yes, I see that your browsers seem to work correctly, however, for some reason, the browser on the latest version I've downloaded appears to only see access at the 'user' level.

    Thankfully, after a few hours of work,
    • I've also logged a bug with support because this is almost certainly not the desired behavior.
    • I also noticed this also in Maschine, which when I look at the files appears to use the same backend as Komplete, so it is expected they'd both break in the same way.
    • I managed to get past this and I'll explain how.

    The Bugs

    1. One thing that is curious (and seems to be one bug) is that in the Library some amount of the paths seem to have come in from the NI service center correctly, but at least a few did not. In particular, Reaktor 6 did not, if I recall. The plugins were outright incorrect, none of the directories looked like they were sourced from Native Access. Basically, I think the sql-lite database is prepopulated from Native Access, but there might be some directories that are not being handed off. So that's one problem.

    2. The other bug I'll confirm with a screenshot of what I am describing. I also want to add that the other NI products, such as the NIs service Center, and also other synths, etc do not seem to have this issue

    This is a screenshot from Maschine, but I assure you Komplete is identical:
    [​IMG]

    Unlike yours, you can see there are no other drives, and no ‘My Computer’. Contrast this with the NI service center browser, which can browse anywhere:
    [​IMG]
    Additionally, you can just type in a path as well which is incredibly convenient. If anyone from NI sees this, I think this would be really nice in Maschine and Komplete, I am often frustrated with installers where I can't manually edit a path name, sometimes I just need to change a drive letter, but if I can't type in the path I gotta browse around. Very tedious!


    So what is the problem? I'll take a guess, but it's just an educated guess at best. Native Access looks like it was written in Electron, and is just using a different file browser widget than Maschine and Komplete. Electron is a standalone framework to make app-like experiences with modern js frameworks. It's basically a website with native-app capabilities. Maschine and Komplete are both written, possibly even from the same boilerplate in what looks like a more traditional Native App approach, like maybe C++ and QT as the presentation layer. Both Maschine and Komplete have had recent updates, in September and August. It is likely a regression was introduced. I am taking a wild guess, but I think this is using the QT QFileDialog Class from the QT presentation framework that a lot of C++ apps are written in. Could just be a matter of needing to change the flags on that. If that’s the case, it's possible it was affected when asynchronous background scanning was added in August. That’s a lot of conjecture though. I’ve submitted the bug report and I'm sure the engineers can figure out why the drives and things aren’t showing just the user’s folder.

    What not to do

    So for the sake of others that will probably find this, let me share what doesn't work, for the sake of completeness:

    1. Running the application as an administrator.
    I thought maybe the program itself needed elevated permissions to see outside my user’s directory and was somehow given lower permissions than my user. This was not the case and didn’t work.

    2. Creating a shortcut or symlink
    The FileBrowser component could not scan these, only physical folders. Shortcuts are more the norm in windows, and symlinks can be cantankerous. Neither worked very well.

    The Fix

    1. Fix the Library Paths:


    Firstly, as I mentioned they both use identical backends. In fact, the backend for Maschine is literally called Komplete.db3. So, a pretty clear act of code reuse. I am surprised they don't share a common directory for these particular files, but perhaps it is because someone wants to make Komplete and Maschine look at different places? Who knows. Here is what I mean:

    [​IMG]

    If you don’t know a db3 file is used by sqllite, and that can be browsed. Get anything like say db browser for sql lite and you'll need to know some SQL, which thankfully I did know.
    [​IMG]
    The table that holds the Library data is called k_content_path. Again, this is Maschine, but it is the exact same in Komplete.

    You can see the existing table with
    SELECT *
    FROM main.k_content_path

    Now since we can’t ‘type in’ anything with the browser, we’re gonna wanna inject a row that actually points to our library data. You can do this with a command like this. Note the red "path" value in column 2

    INSERT INTO main.k_content_path
    ("id",
    "path",
    "content_type",
    "alias",
    "state",
    "scanned_at",
    "product_id",
    "product_version",
    "updated_at",
    "created_at",
    "visible",
    "upid",
    "monitored")
    VALUES ('207',
    'H:\Path\To\Your\Stuff\',
    '2',
    'Sounds.com',
    '1',
    '1606609361000000000',
    '',
    '0',
    '1606682785000000000',
    '1606608623000000000',
    '1',
    '',
    '1');
    Be careful of these two things:
    1. Pay special attention to the content_type column (col 3)
    1 = it appears in the Library tab
    2 = it appears in the Users tab
    2. Make sure you increment the id column by 1. If you duplicate an Id It might not work.
    Run the command and when you run the following:

    SELECT *
    FROM main.k_content_path
    ... it will show your new row. Restart Maschine or Komplete, and voila - the path is there. And it will successfully rescan.

    2. Fix the Plugin Paths:

    This next part is truly enigmatic to me, and I am still unsure why the developers did this. The Plugins are not managed by the sql-lite database in the same way all the tags, categories, library paths, and so on are. Remember seeing that file Plugins.data ? That is where the plugins live. It's just a flat file. It is not how I would have architected this application, with the database just sitting right there personally but I am sure there’s some compelling technical reason (if only that reason is a deadline).

    You need to open this up, and what I did is open it ‘as a text file.
    [​IMG]
    You’ll see something like this, where there’s clearly some sort of extended ascii delimiter being used. You want to totally avoid touching these as much as possible. What I did was search for a known detected directory (which had no plugins) and I edited this file to point to the right stuff. In my case, the fix was merely changing the drive letter from C to E, but idk what it would be like for others.

    So do I recommend anyone deal with this run around to just change a string in a database (or file)?

    No, not really. I was hoping that the developers would have made this maybe like a .json, yaml or .ini file (like many games do), in the same way that the UserData was, where we can use the GUI but if push came to shove I could edit it manually (or even programmatically author the flat file if I was doing something complex). Really, just even the ability to type in a path via the GUI, and the program just doing a quick path validation is much more useful from this user's point of view, I don't particularly like file browsers as (the only) data entry for reasons like the bug you see here and entering many directories is tedious. At the very least I hope with an update they add the ability to type in the file path in a future update.

    Thanks for sitting through this long post if you did. I am happy to get everything working and I took the time to type this all out in case other end-users encounter the same issue and need to get results quickly and aren't afraid to get their hands a bit dirty with some SQL and file editing.
     
    Last edited: 30/11/20