-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMatrix1000Patch.h
45 lines (29 loc) · 1.28 KB
/
Matrix1000Patch.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
Copyright (c) 2020 Christof Ruch. All rights reserved.
Dual licensed: Distributed under Affero GPL license by default, an MIT license is available for purchase
*/
#pragma once
#include "Patch.h"
#include "DetailedParametersCapability.h"
#include "StoredPatchNameCapability.h"
#include "Matrix1000ParamDefinition.h"
namespace midikraft {
class Matrix1000Patch : public Patch, public StoredPatchNameCapability, public DefaultNameCapability, public DetailedParametersCapability {
public:
Matrix1000Patch(Synth::PatchData const &patchdata, MidiProgramNumber place);
virtual std::string name() const override;
virtual MidiProgramNumber patchNumber() const override;
// StoredPatchNameCapability
virtual void setName(std::string const &name) override;
// DefaultNameCapability
virtual bool isDefaultName(std::string const &patchName) const override;
int value(SynthParameterDefinition const ¶m) const;
int param(Matrix1000Param id) const;
SynthParameterDefinition const ¶mBySysexIndex(int sysexIndex) const;
bool paramActive(Matrix1000Param id) const;
std::string lookupValue(Matrix1000Param id) const;
virtual std::vector<std::shared_ptr<SynthParameterDefinition>> allParameterDefinitions() const override;
private:
MidiProgramNumber number_;
};
}