Python script - aupreset to fxp and back
- KVRAF
- Topic Starter
- 35276 posts since 14 Sep, 2002 from In teh net
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
http://www.rawmaterialsoftware.com/view ... f=8&t=8337
- KVRAF
- Topic Starter
- 35276 posts since 14 Sep, 2002 from In teh net
- KVRAF
- Topic Starter
- 35276 posts since 14 Sep, 2002 from In teh net
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
http://code.google.com/p/symbiosis-au-v ... troduction
-
- KVRAF
- 2678 posts since 25 Aug, 2003 from Bournemouth, UK
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?
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.
- KVRAF
- Topic Starter
- 35276 posts since 14 Sep, 2002 from In teh net
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)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
-
- KVRAF
- 2678 posts since 25 Aug, 2003 from Bournemouth, UK
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.
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.
- KVRAF
- Topic Starter
- 35276 posts since 14 Sep, 2002 from In teh net
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
I think a tool like this would make a lot of people happy
-
- KVRist
- 102 posts since 31 Dec, 2008
"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
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
- 2678 posts since 25 Aug, 2003 from Bournemouth, UK
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?
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.
- KVRAF
- Topic Starter
- 35276 posts since 14 Sep, 2002 from In teh net
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
- 2678 posts since 25 Aug, 2003 from Bournemouth, UK
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.
- KVRAF
- Topic Starter
- 35276 posts since 14 Sep, 2002 from In teh net
Thanks that's really good of you
-
- KVRAF
- 2678 posts since 25 Aug, 2003 from Bournemouth, UK
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.
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
- 8519 posts since 7 Apr, 2003
that is a true programmer right there!
Nice guy and smart. Newbies pay attention and look up!
Nice guy and smart. Newbies pay attention and look up!
-
- KVRAF
- 2678 posts since 25 Aug, 2003 from Bournemouth, UK
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)and then copying the three, four character codes for the destination plugin. Our own Aspect, for example, uses:
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:
[/size]
or for those using the python script:
[/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!)
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
Code: Select all
aumu Lmaa Loom - Loomer: Aspect
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
or for those using the python script:
Code: Select all
python ./fxp2aupreset.py ~/transverb_presets aumf DFtv DFX! destroyfx-data.
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.