AAX PluginId generation for AAX Page Table out of ASCII range

Hi!
The getPluginIDForMainBusConfig (line) method on develop branch is returning IDs out of ASCII table range that are not handled well by Pro Tools.

Since new formats were added, from 7.0.6 to Ambisonics 7, the char for this char will go from ‘€’ (0x80) to ‘‰’ (0x89). The page table will fail to read in Pro Tools.

You can also try to open a generated PluginPageTable.xml with this formats in the AAX Plugin-In Page Table Editor (in the aax-sdk) and it will fail loading…

A possible solution is to start the IDs from ‘jcAA’ (65 in ASCII table) instead of ‘jcaa’ (97 in ASCII table) to give more space for the layout associations.

This change will trigger Breaking Changes on existing Plugins’ Page Tables. Is there any other suggestion?

Maybe a possible solution that doesn’t cause a breaking change is for each of those chars to still start from ‘a’ but wrap back after 0x7F to 0x20 where the ASCII range of printable chars begins (or some other sensible char, for example the ‘A’ that you suggested)

1 Like

Nice!

I would go back to 0x41 ‘A’ because some of the chars are dangerous for xml and were failing in ProTools: ‘<’, ‘-’, ‘"’

This is a real issue and I agree with the suggested changes.

The fix doesn’t seem too difficult, but I haven’t been able to display these wrong plugin IDs in ProTools. Even when downloading the latest Page Table Generator I’m not seeing entries for channel layouts beyond 7.1 etc, even with the fix applied.

Are there any simple steps to produce the mentioned issues in Pro Tools?

If you update the getPluginIDForMainBusConfig(), the Page Table Editor should generate the news IDs :thinking:

Regarding the layouts entries, the last Page Table Editor is not yet updated (“We still need to update the AAX Toolkit apps with support for the new formats.” - Avid support)

Since the Page Table Editor is not generating this new entries, to test this, you have to change the method to start generating earlier in the ASCII table. Or manually add the entries with the expected IDs to the xml and then test it in the DAW.

On the AAXPageTable.xml, if the entries of specific layouts do not exist or if the IDs do not match the IDs return by the method, no automation parameters will appear on ProTools for those layouts.

If the xml is malformed (for examples uses the invalid chars):

  • opening the xml on Page Table Editor, it will display a popup message “Failed to load Page Table file”
  • opening the plugin in ProTools, it will show automation in all different layouts since the PageTable.xml was not successfully loaded

I hope I was clear and I’m not mistaken.

Thanks that was very helpful.

Indeed, I noticed the Page Table Editor isn’t generating the newest layouts, so that explains it. By generating the same entries earlier, I managed to trigger the error you described.

1 Like

A fix for the issue has been released on develop

1 Like