Load a .fxp preset in vst~ with a read message

    Feb 24 2014 | 10:18 am
    Hi !
    I would like to know if there is way to load a preset .fxp in vst~ without opening an dialogbox, just by sending a read message to vst~ like "read my_preset.fxp"
    Thanks for any help !

    • Feb 24 2014 | 12:22 pm
      That's exactly how it works. But the file must be in the Max paths or you must give an absolute path.
    • Feb 24 2014 | 4:00 pm
      Yes, the preset does need to be in the Max search path. In my experience there is a wide variety of variables to consider when using messages to vst~ to load presets. Depending on the vst client being used (not all use the .fxb/.fxp extension when saving their own internal states to file) I have found it useful to: >Load the vst client into vst~ >set the vst preset you plan to recall using messages to vst~ >use the "write","writebank", or "writepgm" messahe to vst~ to call up a save dialog >save the preset with a unique name to the Max search path >use this preset, saved from Max, when sending "read" messages to vst~
      I have had success with this process saving and restoring vst instruments and multi-instruments to vst~. In my experience vst~ sometimes can't open a preset file that it has not also created.
    • Feb 25 2014 | 11:10 am
      Thank you both for your answers ! Write and read message without opening a save dialog works but it's not portative on others computer, you don't know where presets are located, it for that I would like to constitute a bank of preset using fxp extension. The problem is I don't find the exact message to send to the vst~ objet (if it exists ... ) Like :
      read my_preset.fxp or read "my_preset.fxp" etc...
      Thanks again!
    • Feb 25 2014 | 12:39 pm
      I keep the following in an abstraction - it returns the path to the folder in which it lives and then I just append a relative path to it to define the location where my .fxp files should live. That makes it portable.
    • Feb 25 2014 | 3:37 pm
      Great !! I didn't understand directly vst~ needs the complete path in the message read!
      Thanks a lot for you abstraction, it's effectively perfect to make it portable :)
    • Jan 06 2017 | 11:26 pm
      Hi, It seem that there's a difference in the file format (also if the extension is right, aka fxp) if you write the file with a simple write or writepgm command and then add the filename, or if you use one of the two options (write or writepgm) adding a full or a conform path. the two files are then different inside, and another host read the first but not the second. You can read the second option only inside Max. So this seems to be a bug in Max (6.1.8). Now I'll see if the same happens in Max7 too. Italo
    • Jan 06 2017 | 11:33 pm
      No, same error also in Max7.
    • Jan 06 2017 | 11:40 pm
      In this screenshot you can see the differences of both files, left is good, right is bad. On the right side only the first part of the file is ok, all the other seems to be older presets part of the plug, and this portion of the file let it reed as an error in the original host (UAD Console). But the first good file is created right without errors, and it's created without the adding of any path.
    • Mar 28 2021 | 6:06 pm
      so ive got '...fxp' file working with loadbang > read can't seem to 'send and receive' message to perform the same task?
    • Mar 29 2021 | 5:02 am
      you have almost no control over the order of messages when using s/r, so it coud be that the initialisation fails when you loadbang it on open, and you only had luck that it worked without s/r before? other than that s/r is the same as using a connection.
    • Mar 30 2021 | 3:26 pm
      Hi Roman, thank you for writing this response. The system you're talking about it works only if you previously save an fxp, but not with the normal presets files of a plug. Exactly, the Relab LX480 plug, save his presets as xxxx.lx480 files, and is located at /Library (not Users, but Root)/Application Support/Relab Development/LX480 Complete/Presets/... Same with the VSS3 of TC Electronic, that save his presets in ~ (Users)/Library/Audio/Presets/TC Electronic/VSS3/ and as xxx.gpf files. But you can recall them also using normal ints (also greater than 128). Send and returns are not an issue....
    • Mar 30 2021 | 4:04 pm
      never forget that loading files from disk is not neccessarily threadsafe, and that you can not call a preset from a loadbang when the plug-in is not yet present, because it is a function of the plug-in and not the max object. so... you should only send "17" to vst~ after the plug-in has finished loading.
      ( twogate is a gate 2 which takes 0+1 instead of 1+2 )
      ( twogate is a gate 2 which takes 0+1 instead of 1+2 )
    • Mar 30 2021 | 4:23 pm
      alternative #4 is to implement a custom preset saving system in your VST patch using .txt, .coll, pattrstorage or even hardcode it if you think it´s fun. :) i believe that is the only way to get that issue with those additional, 128+ external preset files a la TC or arturia under control programmatically. however, if you need that often, and only for a limited number of plug-ins, why not quickly convert those bullshit format preset files to .fxb or aupreset? that will be better to handle in max.
    • Apr 07 2021 | 9:55 pm
      https://cycling74.com/forums/load-a-fxp-preset-in-vst-with-a-read-message-2/replies/1#reply-6060c58e73538a0b37e06ab1 Hi Penfolder, the fxp file format in AU doesn't work at all. As VST3 the extension instead is ##.vst3.preset... and the vst3preset file created by a VST3 plug won't work: not recognized at all by the plug...and the file was created....