SNPID numbers in kontakt[Solved]

Discussion in 'Kontakt' started by temple23, May 26, 2014.

  1. temple23

    temple23 Noisemaker

    Joined:
    Dec 20, 2013
    Messages:
    60
    Likes Received:
    6
    Location:
    the Grove
    After adding extra libraries to kontakt using the nicnt files posted by other users here I always wrote down the number ranges i used for future reference so i did not end up adding others with the same SNPID.
    I had a real DUH! moment and have lost the file where i wrote down the numbers i had already used (thought it would be a good idea as the altzheimers is kicking in strong these days).
    Is there an easy way whereby i can find the numbers i have used already instead of trawling thru all the nicnt files in their root libraries?
    thought maybe one of the kontakt adding tools that are around might list the snpid numbers?
    Or maybe in the registry?

    thanks for any help.....
     
  2.  
  3. Introninja

    Introninja Audiosexual

    Joined:
    Dec 10, 2013
    Messages:
    1,526
    Likes Received:
    880
    Location:
    Location Location
    It's a manual process, but there is another alternative but i'm not sure if i want to give up my secret sauce lol
     
  4. temple23

    temple23 Noisemaker

    Joined:
    Dec 20, 2013
    Messages:
    60
    Likes Received:
    6
    Location:
    the Grove
    it would be well appreciated!
    and save an old man from a nervous breakdown...lol

    I have already added one library which deleted another from the list...the nightmare has started
     
  5. Introninja

    Introninja Audiosexual

    Joined:
    Dec 10, 2013
    Messages:
    1,526
    Likes Received:
    880
    Location:
    Location Location
    It's simple really lol

    Part 1
    This method is used to view your <SNPID> Codes


    Use any text editor that can search many text files, for me i used Notepad++ 6.6.3 for windows

    open Notepad++
    go to your service center folder
    Select all your xml's and drag them into notepad++ (wait for it to load them all)
    Click the Search Tab
    Click Find
    Now in the "Find What" Box Type: <SNPID>
    Click the "Find All IN All Opened Documents" Tab
    A window will pop up with all your goodies, grab the top part & move it up to fullscreen, to close there's a little x button on the right top corner


    Extra Info:
    Now what you can do now is:
    right-click, then click select all
    right-click, then click copy
    click the file tab (that's on top)
    Click new
    Paste the result
    Save it

    Your welcome
    Thank me later



    Part 2
    This method is used when you want to add a .nicnt but don't want it to clash with other ones

    open Notepad++
    go to your service center folder
    Select all your xml's and drag them into notepad++ (wait for it to load them all)
    Click the Search Tab
    Click Find
    Now in the "Find What" Box Type: New letters & numbers you will use Example like "dc12"
    Click the "Find All IN All Opened Documents" Tab
    Two things will either happen:
    one, A window will pop up below and say "Search "dc12" (0 hits in 0 files)"(this means no other .nicnts is using it, and you can use it on your new .nicnt)

    Two, the search window will close, A window will pop up below and say Search "dc12" (1 hit in 1 files)"( this means that combination is in use by another .nicnt use another combination like "cd12")

    Your welcome
    Thank me later



    Part 3
    This method is for registry k2lib codes when creating custom libraries codes
    open Notepad++
    go to your registry, head to these locations
    HKEY_LOCAL_MACHINE\SOFTWARE\Native Instruments\Content

    right-click the content folder, and press export
    Name it & save it to your desktop (i named it Kontakt k2lib codes)
    Close the registry
    Head to your desktop
    right-click the .reg file and click Edit With Notepad++
    Click the Search Tab
    Click Find
    Now in the "Find What" Box Type: New K2lib code you will use Example like "K2lib0909"
    Click the "Count" Tab
    It will either say:
    Count: 1 Matches (this means it's in use)
    Count: 0 Matches (this means free to use)



    Your welcome
    Thank me later

    Ps. Maybe i should just start a new thread lol
     
    • Like Like x 2
    • Agree Agree x 2
    • Winner Winner x 1
    • Useful Useful x 1
    • List
  6. temple23

    temple23 Noisemaker

    Joined:
    Dec 20, 2013
    Messages:
    60
    Likes Received:
    6
    Location:
    the Grove
    excellent!

    cant thank you enough....
    saved me a load of work there
    :wink:
     
  7. Introninja

    Introninja Audiosexual

    Joined:
    Dec 10, 2013
    Messages:
    1,526
    Likes Received:
    880
    Location:
    Location Location
    anytime
     
  8. Protege

    Protege Newbie

    Joined:
    Feb 18, 2012
    Messages:
    20
    Likes Received:
    0
    Introninja............that's what I love about the AudioZ community.....selflessness....way to go Introninja!!!
     
  9. Demon

    Demon Producer

    Joined:
    Mar 13, 2014
    Messages:
    665
    Likes Received:
    118
    Location:
    Melbourne, Australia
    Intro Ninja. Man, you don't cease to amaze me. Awesome tip.
     
  10. fiction

    fiction Audiosexual

    Joined:
    Jun 21, 2011
    Messages:
    1,889
    Likes Received:
    687
    I just had to do exactly the same yesterday while trying (and failing) to make a modified BS Artist Drums lib permanently stay in Kontakt libs without saying "DEMO". These nki's must be really special, no re-saving of any kind would make them non-DEMO. It seems like they always depend on the original NKS sample containers.


    Anyway, If you're on a Mac and you don't have any additional tools, you can just go this way:
    - open terminal
    - type (or better copy-paste):
    grep -i snpid "/Library/Application Support/Native Instruments/Service Center/"*.xml | awk -F'[<>]' "{ print \$3 }" | sort -n

    and you'll get a sorted list of all registered libs' SNPIDs.
     
    • Like Like x 1
    • Agree Agree x 1
    • List
  11. xtragood

    xtragood Newbie

    Joined:
    Apr 8, 2014
    Messages:
    1
    Likes Received:
    0
    @Introninja

    I've searched that kind of info for years...
    You saved my life! Awsome! Thanks a lot.
     
  12. sabofx

    sabofx Newbie

    Joined:
    Jan 23, 2018
    Messages:
    3
    Likes Received:
    1
    I wrote a powershell script for finding locally available SNPID values for generating custom NICNT files.

    Disclaimer: Use at your own risk!!!
    WARNING: The SNPID values generated by this script are likely to be reserved for a KONTAKT library that you have not (yet) installed. By using values generated by this script you risk assigning a SNPID to your library that might conflict with of an official (includes .nicnt file) library. In case of a conflicting library, one of the libraries will no longer be listed in KONTAKT.

    Filename: Kontakt_SNPID_Finder.ps1
    Code:
    $InUseSNPIDs = Select-Xml -Path "$env:ProgramFiles\Common Files\Native Instruments\Service Center\NativeAccess.xml" -XPath '/ProductHints/Product' | ForEach-Object {
        $_.Node.SNPID
    }
    $InUseSNPIDs = $InUseSNPIDs | Sort-Object -Unique
    # fill array $allSNPID with all possible SNPID values formatted [letter][number][number] from a00 to z99
    $alphabet = @("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
    $allSNPIDs = foreach ($al in $alphabet) { 0..99 | % { $($al + ($_).ToString('00')) }}
    $AvailableSNPIDs = foreach ($checkSNPID in $allSNPIDs) {if ($checkSNPID -notin $InUseSNPIDs) {$checkSNPID}}
    if ($AvailableSNPIDs) {
        $AvailableSNPIDCounter = $AvailableSNPIDs.count
        write-host "Found $AvailableSNPIDCounter unused SNPID values:"
        write-host ($AvailableSNPIDs -join ",") ; write-host " "
        $randomPick = Get-Random -Minimum 0 -Maximum ($AvailableSNPIDCounter-1)
        $suggestSNPID = $AvailableSNPIDs[[int]$randomPick]
        Write-Host "Random Pick from available values: $suggestSNPID"
    }
    
    Example output screenshot:
    [​IMG]

    Tested (in 2022) on custom NICNT libraries in combination with KONTAKT 5, 6 and 7

    I developed the script on Windows but it might also work on MacOS. In which case you need to modify the first line to point to the path of your 'NativeAccess.xml' file.

    I hope this script is of help to someone out there.

    Cheers!
     
Loading...
Loading...