Waldorf Quantum/Iridium: write the attributes in the wording of the device - #337
Open
douglas-carmichael wants to merge 1 commit into
Open
Waldorf Quantum/Iridium: write the attributes in the wording of the device#337douglas-carmichael wants to merge 1 commit into
douglas-carmichael wants to merge 1 commit into
Conversation
…evice The device lists the four attributes of a patch next to its name and filters the patches by them. They were written straight from the category, which uses a different wording than the factory sound sets for a part of the categories: 'Keyboard' instead of 'Keys', 'Bell' instead of 'Bells', 'Percussion' instead of 'Percussive', 'Loops' instead of 'Loop'. Both words then end up in the filter list of the device and each of them finds only a part of the sounds. The category is translated now; every other category is spelled identically in the factory sound sets and is written unchanged. A category which could not be detected wrote the word 'Unknown' into the first attribute. That fills the filter list with an entry which says nothing about the sound - the factory sound sets leave the attribute empty instead, which is what is written now. A keyword which repeats the category is no longer written a second time. Also fixes reading a category back: 'Winds' was detected as FX, because the 'Wind' sound effect is a shorter keyword and wins the search, and 'World' was not detected at all since its keyword list did not contain the word itself. The name of a category is now a keyword of its own for all of them, which is verified for the whole list.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Quantum/Iridium lists four attributes next to each patch name and lets you filter the whole library by them, so for anyone converting a sizable library they are the difference between a browsable collection and a wall of names. They are written from the category, and for a part of the categories that wording does not match what the instrument's own sound sets use.
I scanned the attributes of 1855 factory and commercial patches on my Iridium to see which words are actually in use:
Most of our categories are spelled exactly the same and are written unchanged. Thirteen are not, and those now get the device's word:
Before this, converting a library wrote
Keyboardnext to theKeysof every other patch on the device: two entries in the filter list, each finding half of the keyboard sounds.'Unknown' is no longer written. An undetected category filled the first attribute with the literal word - my instrument has 876 patches tagged 'Unknown' from converted libraries against 3 in the entire factory content, because Waldorf leaves it empty. It is left empty now. A keyword which merely repeats the category is also no longer written into a second slot.
Reading a category back is fixed as well. Two of our own category names did not survive being written into a preset and read from it again:
Windswas detected as FX, because theWindsound effect is a shorter keyword and the contains-search prefers it.Worldwas not detected at all - its keyword list holds onlyAsian, not the word itself.The name of a category is now a keyword of its own for all of them. I verified the whole list: before the change 2 of 32 names failed the write-then-read round trip, afterwards 0 of 32. I also checked that adding the names collides with no existing keyword. This affects every format which stores the category as text, not only QPAT.
Verified by converting a 55-preset library to QPAT and reading the written headers back: every attribute is a word which the factory sound sets use, no
Unknownis written, and the 11 presets whose category is genuinely unknown have an empty attribute. Each of the 13 translated words also reads back to a sensible category, so a QPAT-to-QPAT conversion keeps the category.