Reason Plugin (VST) Database Parser

This forum is for discussing Reason. Questions, answers, ideas, and opinions... all apply.
Post Reply
User avatar
NoiseCrime
Posts: 29
Joined: 16 Jun 2023

13 Dec 2023

Hi,

Recently I was browsing through the 'Reason Feature Request' sub-forum and saw a post which caught my interest, that wanted to be able to export a list of plugins from the 'Manage Plugins' window. This seemed to fit in with a number of other 'Quality of Life' features I wanted to see, such as a proper UI for making RemoteMaps or being able to export a list of all synths used in a song/collection of songs. As it appears that RS doesn't have much inclination to add or crate such tools themselves I figured I'd have a go myself. Parsing out the 'plugin Database' seemed a much easier starting point than the other features I wanted to make, so I started with that.

So I present to the community the 'Reason Plugin Database Parser' https://www.noisecrime.com/reason/rpd-parser/

ReasonPluginDatabaseParser_sm.png
ReasonPluginDatabaseParser_sm.png (77.54 KiB) Viewed 5108 times
Its a webpage that uses javascript to import then parse your pluginDatabase.dat file and display the results as an interactive table, which you can then download as either a plain text file or as a 'tab' delimited cvs ( spreadsheet ) file. Full instructions are provided on the page.

At no point is your file/data uploaded to any server, all processing of the file is done on your own machine.

Whilst I mainly did this for the fun of it I've already found it quite useful for being able to compare the results of the database created for M1 Mac vs Rosetta to see exactly which vst's weren't supported. Its also nice to view this data without having to open Reason as well as having a permanent record that could be useful if re-installing or moving to a different machine.

Support
Currently it has only been tested from a Mac using Reason 12.6, but I don't see any reason why it shouldn't work for Windows as long as the database.dat file comes from Reason 12.5+. However as I only have access to Reason 8 and 12 I've not been able to test with any other versions, so there is the chance that the file format of the database has changed over time.

If you do use an earlier version of Reason and the parser fails on the PluginDatabase file I would love to get a copy of it in order to add better support. As far as I can tell there doesn't appear to be any personnel information included in the file.

Future Development
There are still some improvements I want to add such as;
  • adding an explicit vst version column ( you can work it out from the filename until then )
  • adding support for if the plugin is enabled/disabled - need to reverse engineer the format a little more.
  • Improve the design and UI.
Later on I want to work on an app that can search directories and parse all your Reason song files, with the aim to be to generate a database of all the plugins and rack extensions that have ever been used. I think such an app could be alot of fun and provide some useful insights such as, 'most used synth in your songs', 'synths that you've never used' etc. However that's a much more complex file format.

WaxTrax
Posts: 182
Joined: 16 Feb 2021

14 Dec 2023

Nice work! I especially like being able to see and reference all the different version numbers in one place. Since this is all done in JS and parsed on the user side, one feature suggestion I have is the ability to toggle displayed columns, especially if you add more parsed information over time (if there is more to be added, I don't know what all the information in the .dat file is).

Tip for Mac users -- when you're in a file / Finder view, you can press Command + Shift + . (period / dot) to toggle hidden files, which will make it easier to get to the file you need for this to work.

User avatar
NoiseCrime
Posts: 29
Joined: 16 Jun 2023

14 Dec 2023

WaxTrax wrote:
14 Dec 2023
Nice work! I especially like being able to see and reference all the different version numbers in one place. Since this is all done in JS and parsed on the user side, one feature suggestion I have is the ability to toggle displayed columns, especially if you add more parsed information over time (if there is more to be added, I don't know what all the information in the .dat file is).

Tip for Mac users -- when you're in a file / Finder view, you can press Command + Shift + . (period / dot) to toggle hidden files, which will make it easier to get to the file you need for this to work.
Thanks for the suggestions.

Toggling columns would be pretty useful especially as I add further items, so i'll add that when I have time. I'm unsure what other information is left to be uncovered. The 'export log' function shows all the data for each device and there are a few chunks of bytes here and there that I've not found a purpose for.

The tip is great I'll add that too.

avasopht
Competition Winner
Posts: 3973
Joined: 16 Jan 2015

14 Dec 2023

Brilliant job. It's been a long time since we had an unofficial tool created.

Back in the day, Propellerhead used to host a bunch of unofficial tools, like the Reason player.

User avatar
NoiseCrime
Posts: 29
Joined: 16 Jun 2023

14 Dec 2023

avasopht wrote:
14 Dec 2023
Brilliant job. It's been a long time since we had an unofficial tool created.

Back in the day, Propellerhead used to host a bunch of unofficial tools, like the Reason player.
Thanks.
I have plans for a few other as I mentioned once I get the time to invest in them.

What was the 'Reason Player'? Its not something I remember and googling now just has pages of links to the new rack players.

User avatar
NoiseCrime
Posts: 29
Joined: 16 Jun 2023

14 Dec 2023

Am I correct that the 'edit post' feature has a time limit?
The option appears to disappear from older posts so I can't add this to the original post.

1.1.0 Update
I made a few quick updates
  • Added support for device status - Invalid, Enabled, Disabled.
  • Updated the help page - include additional tips for OSX.
Its been a while since I did web development, so I had problems with my browser continuing to use cached versions of the page. I think I fixed it for the javascript files, but not sure about the html or css. You might want to try 'CTRL-R' or 'CMD-R' if the page isn't working as expected. If you still have problems you can access the previous version here https://www.noisecrime.com/reason/rpd-parser-05/

Future ideas
  • Add support for highlighting disabled or invalid devices for easier visual recognition.
  • Support for writing an updated PluginDatabase.dat file
Being able to write a new PluginDatabase.dat file could be of use to multi-select a bunch of devices and enable/disable them quickly, assuming that the built in Plugin Manager doesn't support that ( don't have my machine to hand to test ) and assuming I can provide an appropriate interface to do so in html.

avasopht
Competition Winner
Posts: 3973
Joined: 16 Jan 2015

15 Dec 2023

NoiseCrime wrote:
14 Dec 2023
avasopht wrote:
14 Dec 2023
Brilliant job. It's been a long time since we had an unofficial tool created.

Back in the day, Propellerhead used to host a bunch of unofficial tools, like the Reason player.
Thanks.
I have plans for a few other as I mentioned once I get the time to invest in them.

What was the 'Reason Player'? Its not something I remember and googling now just has pages of links to the new rack players.
It was a program that could play your Reason songs without opening Reason.

User avatar
NoiseCrime
Posts: 29
Joined: 16 Jun 2023

15 Dec 2023

avasopht wrote:
15 Dec 2023
It was a program that could play your Reason songs without opening Reason.
That sounds cool and actually something that could be of use to me as i've been wondering about utilising Reason as the backend for some midi interactive installation. Being able to have a 'restricted' player that could still be controlled via midi would make things much simpler than running the whole program.

Post Reply
  • Information
  • Who is online

    Users browsing this forum: deeplink and 10 guests