IK Multimedia ToneX - Discussion topic

Discussion in 'Software' started by MaxSxB, Oct 1, 2022.

  1. Davman

    Davman Platinum Record

    Joined:
    Oct 18, 2022
    Messages:
    175
    Likes Received:
    159
    zib, you have a private message.
     
  2. angbong

    angbong Newbie

    Joined:
    Nov 20, 2023
    Messages:
    1
    Likes Received:
    0
    any new threads about tonex? let me know plz.
     
  3. marshall stack 666

    marshall stack 666 Member

    Joined:
    Mar 9, 2013
    Messages:
    56
    Likes Received:
    15
    Hey @izn444nz , I am searching for the individual user db folders you created but all mega links are deleted. :(

    Any chance you uploaded them to the sister site or alternative location?
    You did great work and these are the absolute bomb, so user friendly and the only version of the db files I can save and import as CSV directly into my LIbrary.db " ToneModels" without errors. With the newer databases by another "user" I can't seem to add my csv it always returns" Tonemodels" already exists or column don't match.
    Would you consider uploading your individual folders to the sister site or provide a link if you have already?

    Thanks:)
     
    Last edited: Dec 18, 2023
  4. MaxSxB

    MaxSxB Platinum Record

    Joined:
    Dec 26, 2014
    Messages:
    151
    Likes Received:
    167
    Several things to note :

    - Rodger's first database ever had the 3 last colums of the ToneModels table (DateAdded, Favorite and VisibleInCS) in a different order than nowadays. Since most people back then updated that database with new releases, they adapted the column order. IIRC, izn444nz used the same order since he used Roder's databases to sort by username. To ease your life in the future, I advice you to make sure that all your .db files have these 3 columns in that precise order (which is the official IK way) : DateAdded, Favorite, VisibleInCS.

    - If you are a legit user, 2 more columns are added in .db files when opened with ToneX : VisibleInCSEncrypt and Factory. If that's the case, open all the DBs you use with ToneX to generate these 2 columns automatically, and then move them into the right order. The official IK order is : DateAdded, Favorite, VisibleInCSEncrypt, VisibleInCS, Factory. When you download a new DB file, open it with ToneX and then move the columns as well. The hard time of being a legit user :D

    With these 2 informations in mind, you should solve the "already exists" part of your problem with newer sister site releases.

    - With time passing by, some people reupload some of their profiles already released in the past, usually along with a pack. Each tone model has a unique identifier called "GUID" (first column of .db files). Your SQLite editor won't accept to commit changes if an entry has the same GUID as an existing entry ("unique constraint"). With SQLiteStudio, when adding lines, the duplicates appear in red so you just have to delete the lines in red to commit the changes successfully.

    - Some personnal opinion : users with many profiles are generally Kemper/QC profiles rippers. And most of the time they are quite bad captures, at least in High-Gain (noisy, weak gain, muddy, thin,...).
     
  5. izn444nz

    izn444nz Platinum Record

    Joined:
    Jul 23, 2022
    Messages:
    155
    Likes Received:
    174
    I can merge all avaiable dbs into one and split by user.

    My merge script checks for duplicates with "INSERT OR IGNORE" statements, so, after merging, it's consistent with the last format avaiable in the source files (the first source file contains the schema that will be used, so if there are columns missing in some db file, it will set it to the default value and continue). This way, I can split into clean files. They are command line scripts and a tool can be made out of them but I lack the time do so for now.

    The way it is right now, you can throw any number of db files, the first one being the last avaiable schema and it will merge all into one consistent (without duplicates) database. From this point, it can be split by user, date, or whatever avaiable in the columns. It merges presets too.
     
    Last edited: Dec 19, 2023
  6. MaxSxB

    MaxSxB Platinum Record

    Joined:
    Dec 26, 2014
    Messages:
    151
    Likes Received:
    167
    @izn444nz Damn I never found any help online about merging DBs, I came to the conclusion it was impossible. I'm curious to know the whole process (I'm not asking for it, as sister site has now complete DBs already merged).

    You split by users manually right ? Sort by user, copy and paste into another DB file ?

    EDIT : Now I remember, I found some help for merging DBs, but it involved Python scripts and it felt too much for me to "learn" yet another new thing for a single use. Though, I just learned that SQLite browsers have a CSV import/export function (lmao slowpoke)
     
    Last edited: Dec 19, 2023
  7. izn444nz

    izn444nz Platinum Record

    Joined:
    Jul 23, 2022
    Messages:
    155
    Likes Received:
    174
    No, it's a script. Get usernames with some filter (20 or more models avaiable), iterate over it and create db from users's models and presets. All DBs released by me was created by scripts.
     
  8. MaxSxB

    MaxSxB Platinum Record

    Joined:
    Dec 26, 2014
    Messages:
    151
    Likes Received:
    167
    Daaaaamn son you got some skills ! I may ask ChatGPT to teach me that script for fun. I already used it to play around in ToneX DBs and it worked, pretty sure it's not that hard in the end
     
  9. marshall stack 666

    marshall stack 666 Member

    Joined:
    Mar 9, 2013
    Messages:
    56
    Likes Received:
    15
    It's a bit too technical for my skillset, but whatever you did originally still merges into the latest ToneX version v1.2.6 without column conflicts.
    So because I'm not at advanced SQL level, I found it easier to create a CSV from each single user database and imported it into my existing db. Voila !
    Hope you can make these available again without getting into any trouble because they rock \m/
     
  10. izn444nz

    izn444nz Platinum Record

    Joined:
    Jul 23, 2022
    Messages:
    155
    Likes Received:
    174
    Ok, updated and made it avaiable again: https://peeplink.in/0c47a415add4
     
    • Love it! Love it! x 3
    • Like Like x 1
    • List
  11. marshall stack 666

    marshall stack 666 Member

    Joined:
    Mar 9, 2013
    Messages:
    56
    Likes Received:
    15
    Hey , thanks my friend, these are frikkin awesome !!
    It's even more cool the 2 extra columns ( VisibleInCSEncrypt and Factory) are automatically added by your script to make it conflict/ crash proof.
    Am I doing it correctly by saving them as CSV files then importing them or is there a better way to import the single db directly into the "IK library " itself ? :thanks:
     
    Last edited: Dec 21, 2023
  12. MaxSxB

    MaxSxB Platinum Record

    Joined:
    Dec 26, 2014
    Messages:
    151
    Likes Received:
    167
    Simply copy and paste the lines directly in SQLiteStudio :) I already did the 2 video tutorials for adding after trimming in first page of this thread, I will do another for plain simple copy and paste.

    What's your goal exactly ? Having every profile ever released in your database ? Or selecting specific profiles to include in your main working library ? And lastly, are you a legit user ?
     
  13. marshall stack 666

    marshall stack 666 Member

    Joined:
    Mar 9, 2013
    Messages:
    56
    Likes Received:
    15
    Not a legit user. My goal is to delete 90% of the ik models and merge 5-6 select high quality single user databases. As you may know , ToneX loads almost instantly when trimming down profiles which is what I'm doing.

    I have mostly achieved my goal thanks to izna444 for providing them but am importing CSVs of my user db favorites one by one, so not sure if this method is standard or user database files can be directly imported more efficiently ?

    What id like to do is a batch user import merging all into one custom db and that's it really, so just looking for some practical pro tips.
     
    Last edited: Dec 22, 2023
  14. MaxSxB

    MaxSxB Platinum Record

    Joined:
    Dec 26, 2014
    Messages:
    151
    Likes Received:
    167
    For this task SQLiteStudio is the best software. It's free, make sure to grab it ! You can follow this part of my tutorial (link with timecode, you're directly on the proper chapter)



    There are details you don't need here, so here is a short text tutorial (the video explains how to do these steps) :
    - Open the .db with profiles you want to import + your main custom library DB (double click on each .db file)
    - Go to the ToneModels table of the .db to import, select every line and copy
    - Go to the ToneModels table of you custom .db, add as much lines as you copied
    - Click on the first new cell and paste (takes several minutes to paste)
    - Click on the green check mark button to validate (another sevaral minutes to proceed)

    5 steps, it's that simple :D If you have more than 1000 profiles to import, you will have to proceed 1000 by 1000 as SQLiteStudio can display only 1000 lines at a time
     
    Last edited: Dec 22, 2023
  15. marshall stack 666

    marshall stack 666 Member

    Joined:
    Mar 9, 2013
    Messages:
    56
    Likes Received:
    15
    ...
     
    Last edited: Dec 23, 2023
  16. wiesi

    wiesi Ultrasonic

    Joined:
    Dec 27, 2023
    Messages:
    16
    Likes Received:
    30
    There is a new open source tool that allows you to manage your local ToneX Library without ToneXdb Explorer and SQLStudio!

    It opens two databases in parallel you can copy from one to another.
    • search for tone models and presets
    • copy tone models and presets from one database to another
    • batch-copying (syncing of databases)
    • delete presets and tone models
    • double clicking a table entry shows full details of tone model or preset
    • vacuum databases, which decreases the databases size if you have deleted datasets
    Source Code + README, Screenshot: https://git.codence.de/pub/tonex-library-sync
    Generic Version (all platforms with Java17): http://codence.de/download/tonex-libsync-ui-1.0.0-gen.zip
    Windows (64bit) + runtime: http://codence.de/download/tonex-libsync-ui-1.0.0-win.zip

    [​IMG]
     
    Last edited: Dec 27, 2023
    • Like Like x 6
    • Love it! Love it! x 5
    • List
  17. MaxSxB

    MaxSxB Platinum Record

    Joined:
    Dec 26, 2014
    Messages:
    151
    Likes Received:
    167
    NOOOOOO WAAAYYYYYYYY !!! The holy grail ! Thanks a lot for sharing dude, I need to chek this out ASAP. I hope it allows entry editing too.

    Are you involved in this project ?

    P.S. : You forgot to blur the path on the log below
     
  18. wiesi

    wiesi Ultrasonic

    Joined:
    Dec 27, 2023
    Messages:
    16
    Likes Received:
    30
    Thanks for the feedback! :)

    Version 1.0.1 is on the way, will be released probably later this day, there will be editing available!
     
  19. MaxSxB

    MaxSxB Platinum Record

    Joined:
    Dec 26, 2014
    Messages:
    151
    Likes Received:
    167
    Perfect ! You did a great job here. I did a test merge successfully. Does it check for column order ? Several columns don't show up, including the last 3 (Favorite, VisibleInCS and DateAdded) which have changed order since the start of ToneX. Your soft displays Tag_Date whereas ToneX displays DateAdded (blunder on IK Multimedia for this one), so merging can be flawed on this point.

    Since I've spent countless hours on these damn databases, if I can be of any help with development, I'll be happy to help !
     
  20. wiesi

    wiesi Ultrasonic

    Joined:
    Dec 27, 2023
    Messages:
    16
    Likes Received:
    30
    Thanks MaxSxB!

    If you double-click an entry in the table, a dialog should show up with all columns in the database, in the main screen I had to reduce the amount of columns. But then copied is each single one column! Currently the tool doesn´t respect each sides database scheme at all, I select one dataset from one side and try to insert it as exactly the same on the other side. I have not list of database fields I check, I read all columns! No changes on the scheme are made from the tool, I leave every database scheme as it is. But in general you can define fields in a database as mandatory or not, latter one then gets default values, this means that different database versions don´t have to lead to errors. While coding this tool, I´ve never came across issues with scheme problems, but I am quite new to ToneX. I checked the least version of the database and I see both fields (Tag_Date, DateAdded) in the table ToneModels and only Tag_Date in table Presets. I don´t know the history about it...

    If you want to support: Currently most important is the input what features are relevant. Next is overworking the crappy search. Because I don´t want to change the database scheme, it´s not that easy to get an acceptable search done. :)
     
Loading...
Loading...