Python script - aupreset to fxp and back

Plug-in hosts and other software applications discussion
User avatar
KVRAF
32364 posts since 14 Sep, 2002 from In teh net

Post Mon Jun 18, 2012 4:51 pm

I have come across this script to convert presets from au to fxp, the author says it should be easy to reverse it but I don't know how or how to use it - anyone understand Python?

http://www.rawmaterialsoftware.com/view ... f=8&t=8337

User avatar
KVRAF

Topic Starter

32364 posts since 14 Sep, 2002 from In teh net

Post Tue Jun 19, 2012 1:02 am

bump

User avatar
KVRAF

Topic Starter

32364 posts since 14 Sep, 2002 from In teh net

Post Tue Jun 19, 2012 9:18 am

I came across this that seems able to convert between formats but I don't know how to use it - I tried loading the compiled component versions but they didn't load:

http://code.google.com/p/symbiosis-au-v ... troduction

KVRAF
2253 posts since 25 Aug, 2003 from Bournemouth, UK

Post Tue Jun 19, 2012 10:07 am

Handy little script, thanks! I've just tried it myself, converting some aupresets to fxp, and it seems to do a good job.

I take it you're having problems using the python script? If it helps, I can knock up a quick 'what I did to get it working' document to take you through it step-by-step?
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

User avatar
KVRAF

Topic Starter

32364 posts since 14 Sep, 2002 from In teh net

Post Tue Jun 19, 2012 11:06 am

CPB wrote:Handy little script, thanks! I've just tried it myself, converting some aupresets to fxp, and it seems to do a good job.

I take it you're having problems using the python script? If it helps, I can knock up a quick 'what I did to get it working' document to take you through it step-by-step?
Thanks - what I need is to convert some fxp presets to au - would you be able to reverse it and then show me how to run it? (I have no idea what you do with such things)

Thanks

KVRAF
2253 posts since 25 Aug, 2003 from Bournemouth, UK

Post Tue Jun 19, 2012 11:25 am

Unfortunately, the python script as is only does the conversion one way: .aupreset to .fxp.

But don't panic: I wouldn't have thought that improving the script to convert .fxp to .aupreset would be too much work (famous last words!) and it seems like a fun diversion to spend half an hour on. If no one else beats me to it, I'll have a look this weekend. After a long week coding audio software, what better way is there to relax than by, er, coding audio software?!

I'll also see about adding bulk conversion to do an entire folder's worth of .aupresets in one hit; sure beats doing each individually.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

User avatar
KVRAF

Topic Starter

32364 posts since 14 Sep, 2002 from In teh net

Post Tue Jun 19, 2012 11:27 am

Thanks - that would be great - I have 50 odd presets to convert and no experience with programming languages

I think a tool like this would make a lot of people happy

KVRist
102 posts since 31 Dec, 2008

Post Tue Jun 19, 2012 11:56 am

"Python script - aupreset to fxp and back"

I confess to be a bit of a Python fan but I've never seen that sketch...

Ministry of Silly Walks and (of course, seeing as I'm from there) 4 Yorkshiremen are my favourites :) :)

http://www.youtube.com/watch?v=IqhlQfXUk7w

http://www.youtube.com/watch?v=qlIXn0r0AY8

KVRAF
2253 posts since 25 Aug, 2003 from Bournemouth, UK

Post Sat Jun 23, 2012 2:53 am

I've had a deeper look into the code now; it's likely a no-go, I'm afraid. The format of data stored in the aupreset file isn't consistent between plug-ins: I expected as much, because, well, no-one else has written a generic aupreset / fxp converter yet!

It's certainly possible to write specific converters for specific plug-ins: I can convert aupresets for all the Loomer products, for example, and with a few changes to the provided script I've managed to convert Zebralette aupresets to fxp. But, alas, it seems there is no holy grail of automated generic preset conversion.

So, I guess the next question is: for what plug-in(s) did you want the presets converted?
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

User avatar
KVRAF

Topic Starter

32364 posts since 14 Sep, 2002 from In teh net

Post Sat Jun 23, 2012 2:56 am

DFX Transverb - unfortunately there is no VST version on Mac and I made nearly 50 presets for it on Windows (in fxb and fxp format) that I can't use because the AU won't open them

KVRAF
2253 posts since 25 Aug, 2003 from Bournemouth, UK

Post Sat Jun 23, 2012 3:01 am

I'm not familar with that particular plug-in, but the fact it's (seemingly) open-source means that, in this instance, conversion could be automated. I'll take a look at some point this weekend.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

User avatar
KVRAF

Topic Starter

32364 posts since 14 Sep, 2002 from In teh net

Post Sat Jun 23, 2012 3:34 am

Thanks that's really good of you

KVRAF
2253 posts since 25 Aug, 2003 from Bournemouth, UK

Post Sat Jun 23, 2012 4:10 am

No problem: it's an entertaining intellectual diversion, and sure beats The Times cryptic crossword!

Anyway, I have an update report: I've successfully converted a Windows Transverb.fxp into an .aupreset, albeit manually. It was simply a case of ripping out the FPCh chunk, converting it into base64, and embedding it into an aupreset dom structure. I'll just need to automate this in a python script, wrap it all up in an easily distributable app, and then you can bulk convert all the presets you want.

And as a bonus, I *think* this will work with most VST's fxp files, provided they adhere to certain requirements in how they store their data.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

KVRAF
8502 posts since 7 Apr, 2003

Post Sat Jun 23, 2012 4:50 am

:) that is a true programmer right there!

Nice guy and smart. Newbies pay attention and look up!

KVRAF
2253 posts since 25 Aug, 2003 from Bournemouth, UK

Post Sat Jun 23, 2012 9:31 am

I have a first attempt at this cobbled together now. I assumed you'd rather use an app than deal with Python and it's associated resources; with that in mind, I bundled it using py2app into a standalone, albeit still command-line, app. Download the .zipped Mac OS X app here, or the python source here.

There are a few bits of information, absent from fxp format presets, that is required by au presets. The first three of these, the so called 'type', 'subtype', and 'manufacturer', can be found by running (from the command-line)

Code: Select all

auval -a
and then copying the three, four character codes for the destination plugin. Our own Aspect, for example, uses:

Code: Select all

aumu Lmaa Loom  -  Loomer: Aspect
aumu Lmaa Loom are the type, subtype, and manufacturer, respectively.

The final piece of information is the state key. This is completely defined by the developer, and there is no simple way to programatically find this. All is not lost, however: just save an aupreset using the plug-in, open it (in TextEdit, for example), and locate the key. Note that it is NOT the <key>data</key> line, but is usually found after that. Again, in Aspect's case, we have "<key>jucePluginState</key>"

So, in the case of Transverb, assuming that your presets are stored in .fxp format and in a folder called "~/transverb_presets", from the directory you've unzipped the app, you need to run:

Code: Select all

./fxp2aupreset.app/Contents/MacOS/fxp2aupreset ~/transverb_presets aumf DFtv DFX! destroyfx-data
[/size]
or for those using the python script:

Code: Select all

python ./fxp2aupreset.py ~/transverb_presets aumf DFtv DFX! destroyfx-data.
[/size]

If all goes according to plan, this will create an aupreset for each fxp file it finds. Copy the aupresets into ~/Library/Audio/Presets/... in order for Logic/AU Lab or whatever to find them. Make sure you've already saved at least one preset with the plug-in to ensure that the .aupreset folder have been created beforehand.

Let me know how this works out for you. I've tested it with a few Transverb .fxp presets, and they appear to load in AU Lab successfully.

( And thanks for the vote of confidence grymmjack, much appreciated!)
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”