Anklang-0.3.0.dev956+gd75ac925 anklang-0.3.0.dev956+gd75ac925
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
liquidsfzplugin.hh
Go to the documentation of this file.
1 // This Source Code Form is licensed MPL-2.0: http://mozilla.org/MPL/2.0
2#include "trkn/tracktion.hh" // PCH include must come first
3#include "liquidsfz.hh"
4#include <ase/cxxaux.hh>
5
6namespace Ase
7{
8
9class LiquidSFZPlugin : public tracktion::Plugin
10{
11 class RTMutex
12 {
13 std::atomic_flag locked_flag = ATOMIC_FLAG_INIT;
14 public:
15 bool try_lock();
16 void wait_for_lock();
17 void unlock();
18 };
19
20 LiquidSFZ::Synth synth_;
21 RTMutex rt_mutex_;
22public:
23 juce::String getName() const override { return TRANS("LiquidSFZ"); }
24 juce::String getPluginType() override { return xmlTypeName; }
25 juce::String getSelectableDescription() override { return TRANS("LiquidSFZ"); }
26 bool isSynth() override { return true; }
27 bool needsConstantBufferSize() override { return false; }
28 bool takesMidiInput() override { return true; }
29
30 static const char* xmlTypeName;
31
32 LiquidSFZPlugin (tracktion::PluginCreationInfo info);
33 void initialise (const tracktion::PluginInitialisationInfo& info) override;
34 void deinitialise() override;
35 void applyToBuffer (const tracktion::PluginRenderContext& fc) override;
36 bool load (const String& filename);
37
38};
39
40}
#define TRANS(stringLiteral)
The Anklang C++ API namespace.
Definition api.hh:8