-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathC700Properties.h
158 lines (134 loc) · 6.96 KB
/
C700Properties.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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
//
// C700Properties.h
// C700
//
// Created by osoumen on 2017/02/16.
//
//
#ifndef __C700__C700Properties__
#define __C700__C700Properties__
#include "C700defines.h"
#include <map>
// properties
enum
{
kAudioUnitCustomProperty_Begin = 64000,
kAudioUnitCustomProperty_ProgramName = kAudioUnitCustomProperty_Begin,
kAudioUnitCustomProperty_BRRData,
kAudioUnitCustomProperty_Rate,
kAudioUnitCustomProperty_BaseKey,
kAudioUnitCustomProperty_LowKey,
kAudioUnitCustomProperty_HighKey,
kAudioUnitCustomProperty_LoopPoint,
kAudioUnitCustomProperty_Loop,
kAudioUnitCustomProperty_AR,
kAudioUnitCustomProperty_DR,
kAudioUnitCustomProperty_SL,
kAudioUnitCustomProperty_SR1,
kAudioUnitCustomProperty_VolL,
kAudioUnitCustomProperty_VolR,
kAudioUnitCustomProperty_Echo,
kAudioUnitCustomProperty_Bank,
kAudioUnitCustomProperty_EditingProgram,
kAudioUnitCustomProperty_EditingChannel,
//↓エコー部
kAudioUnitCustomProperty_Band1,
kAudioUnitCustomProperty_Band2,
kAudioUnitCustomProperty_Band3,
kAudioUnitCustomProperty_Band4,
kAudioUnitCustomProperty_Band5,
kAudioUnitCustomProperty_TotalRAM, // read only
kAudioUnitCustomProperty_PGDictionary,
kAudioUnitCustomProperty_XIData, // read only
kAudioUnitCustomProperty_NoteOnTrack_1, // read only
kAudioUnitCustomProperty_NoteOnTrack_2, // read only
kAudioUnitCustomProperty_NoteOnTrack_3, // read only
kAudioUnitCustomProperty_NoteOnTrack_4, // read only
kAudioUnitCustomProperty_NoteOnTrack_5, // read only
kAudioUnitCustomProperty_NoteOnTrack_6, // read only
kAudioUnitCustomProperty_NoteOnTrack_7, // read only
kAudioUnitCustomProperty_NoteOnTrack_8, // read only
kAudioUnitCustomProperty_NoteOnTrack_9, // read only
kAudioUnitCustomProperty_NoteOnTrack_10, // read only
kAudioUnitCustomProperty_NoteOnTrack_11, // read only
kAudioUnitCustomProperty_NoteOnTrack_12, // read only
kAudioUnitCustomProperty_NoteOnTrack_13, // read only
kAudioUnitCustomProperty_NoteOnTrack_14, // read only
kAudioUnitCustomProperty_NoteOnTrack_15, // read only
kAudioUnitCustomProperty_NoteOnTrack_16, // read only
kAudioUnitCustomProperty_MaxNoteTrack_1,
kAudioUnitCustomProperty_MaxNoteTrack_2,
kAudioUnitCustomProperty_MaxNoteTrack_3,
kAudioUnitCustomProperty_MaxNoteTrack_4,
kAudioUnitCustomProperty_MaxNoteTrack_5,
kAudioUnitCustomProperty_MaxNoteTrack_6,
kAudioUnitCustomProperty_MaxNoteTrack_7,
kAudioUnitCustomProperty_MaxNoteTrack_8,
kAudioUnitCustomProperty_MaxNoteTrack_9,
kAudioUnitCustomProperty_MaxNoteTrack_10,
kAudioUnitCustomProperty_MaxNoteTrack_11,
kAudioUnitCustomProperty_MaxNoteTrack_12,
kAudioUnitCustomProperty_MaxNoteTrack_13,
kAudioUnitCustomProperty_MaxNoteTrack_14,
kAudioUnitCustomProperty_MaxNoteTrack_15,
kAudioUnitCustomProperty_MaxNoteTrack_16,
kAudioUnitCustomProperty_SourceFileRef,
kAudioUnitCustomProperty_IsEmaphasized,
kAudioUnitCustomProperty_SustainMode,
kAudioUnitCustomProperty_MonoMode,
kAudioUnitCustomProperty_PortamentoOn,
kAudioUnitCustomProperty_PortamentoRate,
kAudioUnitCustomProperty_NoteOnPriority,
kAudioUnitCustomProperty_ReleasePriority,
kAudioUnitCustomProperty_IsHwConnected, // read only
// グローバル設定ファイルはau,vst共通にするためsaveToGlobalなものはCStringに
kAudioUnitCustomProperty_SongRecordPath, // char[PATH_LEN_MAX] ->dsp
kAudioUnitCustomProperty_RecSaveAsSpc, // bool ->dsp
kAudioUnitCustomProperty_RecSaveAsSmc, // bool ->dsp
kAudioUnitCustomProperty_RecordStartBeatPos,// double ->kernel
kAudioUnitCustomProperty_RecordLoopStartBeatPos,// double ->kernel
kAudioUnitCustomProperty_RecordEndBeatPos, // double ->kernel
kAudioUnitCustomProperty_TimeBaseForSmc, // int ->dsp
kAudioUnitCustomProperty_GameTitle, // char[32](smc出力時には21バイトに切り詰められる) ->dsp
kAudioUnitCustomProperty_SongTitle, // char[32] ->dsp
kAudioUnitCustomProperty_NameOfDumper, // char[16] ->dsp
kAudioUnitCustomProperty_ArtistOfSong, // char[32] ->dsp
kAudioUnitCustomProperty_SongComments, // char[32] ->dsp
kAudioUnitCustomProperty_RepeatNumForSpc, // float ->dsp
kAudioUnitCustomProperty_FadeMsTimeForSpc, // int ->dsp
kAudioUnitCustomProperty_SongPlayerCode, // CFData ->dsp write only
kAudioUnitCustomProperty_SongPlayerCodeVer, // int32 read only
kAudioUnitCustomProperty_HostBeatPos, // double read only
kAudioUnitCustomProperty_MaxNoteOnTotal, // int
kAudioUnitCustomProperty_PitchModulationOn,
kAudioUnitCustomProperty_NoiseOn,
kAudioUnitCustomProperty_SR2,
// 新規追加する場合は必ずこの後に追加すること
kAudioUnitCustomProperty_End,
kNumberOfProperties = kAudioUnitCustomProperty_End-kAudioUnitCustomProperty_Begin
};
enum PropertyDataType {
propertyDataTypeFloat32, // 32bit実数型
propertyDataTypeDouble, // 64bit実数型
propertyDataTypeInt32, // 32bit整数型
propertyDataTypeBool, // bool型 vstではintとして持つ
propertyDataTypeStruct, // outDataSizeをサイズとする構造体
propertyDataTypeString, // AUではCFStringにwrapされる VSTではoutDataSizeを最大文字数とするCString
propertyDataTypeFilePath, // AUではCFURLにwrapされる VSTではoutDataSizeを最大文字数とするCString
propertyDataTypeVariableData, // AUではCFDataにwrapされる可変長データ VSTではSetGet時にsizeを設定する
propertyDataTypePointer, // 単なるポインタ型 UIとのやりとりのみに使用し、保存しないタイプのプロパティ
};
typedef struct {
unsigned int propId; // プロパティID
unsigned int outDataSize; // データのサイズ boolは1を示すが、VSTでchunk保存時には4バイトを使用する
bool outWritable; // AUでGetしたデータに書き込みが出来るかどうか
PropertyDataType dataType; // データのタイプ
bool readOnly; // setを実装しない場合にtrueを設定する
bool saveToProg; // プログラム(音色)の中に含める
bool saveToSong; // 曲保存時に含める
bool saveToGlobal; // 初期設定の中に含める
char savekey[32]; // AUで保存の際に使用するキー 保存フラグのいずれかを指定した場合必要
double defaultValue; // 未設定の場合に使用される初期値 負数を指定すると無効にできる
} PropertyDescription;
void createPropertyParamMap(std::map<int, PropertyDescription> &m);
#endif /* defined(__C700__C700Properties__) */