前言

阅读此教程需要一定的C++和JUCE基础。
我的Bilibili频道:香芋派Taro
我的个人博客:taropie0224.github.io
我的公众号:香芋派的烘焙坊
我的音频技术交流群:1136403177
我的个人微信:JazzyTaroPie

最近有人私聊我问了我这个问题,不得不让我再吐槽一遍官方的turotial,官网的教程目前还是这个样子的,emmm,依然没有更新:

那咋办?

所以很多已经开始使用apvts的小伙伴就很迷惑了?那我怎么保存自己的插件状态?
来到PluginProcessor.cpp中的getStateInformation()setStateInformation() 这两个函数中,添加上如下这些:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void yourPluginsAudioProcessor::getStateInformation (juce::MemoryBlock& destData)
{
juce::MemoryOutputStream stream(destData, false);
apvts.state.writeToStream(stream);
}

void yourPluginsAudioProcessor::setStateInformation (const void* data, int sizeInBytes)
{
juce::ValueTree tree = juce::ValueTree::readFromData(data, sizeInBytes);

if (tree.isValid()) {
apvts.state = tree;
}
}

至于为什么…你暂时也不用管,后面我们聊到如何设置和管理插件自定义预设的时候再细说这件事情~