# Making preset files available to the DAW

**URL:** <https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248>\
**Category:** Audio Plugins\
**Created:** [June 21, 2020, 1:55pm UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248 "2020-06-21T13:55:02Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZiggyBcn](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ziggybcn/32/8716_2.png) [@ZiggyBcn](https://forum.juce.com/u/ZiggyBcn)\
**Post date:** [June 21, 2020, 1:55pm UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248/1 "2020-06-21T13:55:02Z")

</div>

Hello, I’ve seen some vst3 plugins can tell the host where are their preset files, so they are available in the DAW. How can this be done? Is there a way to tell the host: That’s the location and extension of my preset files? Or a way to send the list of available presets to the DAW anyhow?

---

<div class="post-metadata">

**Author:** ![eyalamir](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/eyalamir/32/2978_2.png) [@eyalamir](https://forum.juce.com/u/eyalamir)\
**Post date:** [June 21, 2020, 3:00pm UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248/2 "2020-06-21T15:00:30Z")

</div>

The DAW doesn’t know anything about how a plugin stores it׳s presets.

If the plugin implements a load/save mechanism, you can store that location in a preference file. The host however, knows nothing about the process: it will only talk the plugin when it wants to load or save the current state into the session (using the state of parameters and/or a custom data chunk)

---

<div class="post-metadata">

**Author:** ![fefanto](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/fefanto/32/1518_2.png) [@fefanto](https://forum.juce.com/u/fefanto)\
**Post date:** [June 21, 2020, 4:20pm UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248/3 "2020-06-21T16:20:58Z")

</div>

As far as the DAW browsing your plugin preset files directly, vst has some “standard” file formats: .fxp/.fxb for vst2 and (not expert on the following) .vstpreset for vst3.  
These formats I’m afraid are kinda obsolete (vst2) or used mostly only by cubase (vst3).

Your best path for getting that result is to implement the plugin interfaces for:

Getnumprograms= count of all your factory presets (saved where you want, in valuetree XML format)

SetcurrentProgram() = makes your plugin APVTS load your i-th factory plugin.

GetProgramName= returns the name of your i-th factory presets.

It’s not a bulletproof strategy, but most DAWS are pretty apt at showing your list of factory presets “pseudonatively” this way.

---

<div class="post-metadata">

**Author:** ![ZiggyBcn](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ziggybcn/32/8716_2.png) [@ZiggyBcn](https://forum.juce.com/u/ZiggyBcn)\
**Post date:** [June 21, 2020, 5:06pm UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248/4 "2020-06-21T17:06:45Z")

</div>

Thanks! I think this is what I’ll try. I’ve seen some focusrite plugins that, somehow, allow the DAW to show the avilable presets even without the plugins loaded (you can see that if you use focusrite plugins vst3 on Presonus Studio One) and I was wanting to provide the same with my own plugins. I’ll see if implementing what you suggest helps with this.

---

<div class="post-metadata">

**Author:** ![eyalamir](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/eyalamir/32/2978_2.png) [@eyalamir](https://forum.juce.com/u/eyalamir)\
**Post date:** [June 21, 2020, 5:22pm UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248/5 "2020-06-21T17:22:55Z")

</div>

What you describe sounds indeed like the programs feature @fefanto showed earlier. This is a way to report the names of your factory presets without pointing the host to actual files.

---

<div class="post-metadata">

**Author:** ![yairadix](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/yairadix/32/1114_2.png) [@yairadix](https://forum.juce.com/u/yairadix)\
**Post date:** [June 22, 2020, 7:44am UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248/6 "2020-06-22T07:44:11Z")

</div>

Our plugins ship with `.fxp` files for VSTs, `.tfx` files for Pro Tools, `.aupreset` files for Logic, and our own internal preset management.

Some users really appreciate support of host presets. They work well with the hosts’ control surface integration and accessibility features.

We do this with the help of a script that converts between preset formats. 8 years ago I shared an early version of this script but it didn’t seem like there was any interest:

> [@Script to convert .aupreset to .fxp](https://forum.juce.com/t/script-to-convert-aupreset-to-fxp/7919):
>
> Ho ho. I made a small Python script to convert .aupreset files to .fxp format (VST presets). Hopefully others may find it useful too. Our use case for it was creating our factory presets for SurferEQ once in Logic and then converting them to other formats. This script could be easily adapted to convert the other way around. (it uses the Construct library to describe the fxb format declaratively for both parsing and building) Happy Holidays! from construct import Array, BFloat32, Bytes, Con…

---

<div class="post-metadata">

**Author:** ![ZiggyBcn](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ziggybcn/32/8716_2.png) [@ZiggyBcn](https://forum.juce.com/u/ZiggyBcn)\
**Post date:** [June 22, 2020, 8:06am UTC](https://forum.juce.com/t/making-preset-files-available-to-the-daw/40248/7 "2020-06-22T08:06:42Z")

</div>

Thanks @yairadix
