LMMS
Loading...
Searching...
No Matches
ipslcontextinfo.h
Go to the documentation of this file.
1//************************************************************************************************
2//
3// PreSonus Plug-In Extensions
4// Written and placed in the PUBLIC DOMAIN by PreSonus Software Ltd.
5//
6// Filename : ipslcontextinfo.h
7// Created by : PreSonus Software Ltd., 08/2013, last updated 11/2016
8// Description : Context Information Interface
9//
10//************************************************************************************************
11/*
12 DISCLAIMER:
13 The PreSonus Plug-In Extensions are host-specific extensions of existing proprietary technologies,
14 provided to the community on an AS IS basis. They are not part of any official 3rd party SDK and
15 PreSonus is not affiliated with the owner of the underlying technology in any way.
16*/
17//************************************************************************************************
18
19#ifndef _ipslcontextinfo_h
20#define _ipslcontextinfo_h
21
24
25namespace Presonus {
26
27//************************************************************************************************
28// IContextInfoProvider
52//************************************************************************************************
53
64
65DECLARE_CLASS_IID (IContextInfoProvider, 0x483e61ea, 0x17994494, 0x8199a35a, 0xebb35e3c)
66
67//************************************************************************************************
68// IContextInfoProvider2
71//************************************************************************************************
72
91
92DECLARE_CLASS_IID (IContextInfoProvider2, 0x61e45968, 0x3d364f39, 0xb15e1733, 0x4944172b)
93
94//************************************************************************************************
95// IContextInfoHandler
98//************************************************************************************************
99
101{
103 virtual void PLUGIN_API notifyContextInfoChange () = 0;
104
105 static const Steinberg::FUID iid;
106};
107
108DECLARE_CLASS_IID (IContextInfoHandler, 0xc3b17bc0, 0x2c174494, 0x80293402, 0xfbc4bbf8)
109
110//************************************************************************************************
111// IContextInfoHandler2
115//************************************************************************************************
116
118{
121 virtual void PLUGIN_API notifyContextInfoChange (Steinberg::FIDString id) = 0;
122
123 static const Steinberg::FUID iid;
124};
125
126DECLARE_CLASS_IID (IContextInfoHandler2, 0x31e29a7a, 0xe55043ad, 0x8b95b9b8, 0xda1fbe1e)
127
128//************************************************************************************************
129// Context Information Attributes
130//************************************************************************************************
131
132namespace ContextInfo
133{
144
151
152 // per instance
157 const Steinberg::FIDString kIndex = "index";
158 const Steinberg::FIDString kColor = "color";
159 const Steinberg::FIDString kVisibility = "visibility";
160 const Steinberg::FIDString kSelected = "selected";
161 const Steinberg::FIDString kMultiSelect = "multiselect";
162 const Steinberg::FIDString kFocused = "focused";
163
164 const Steinberg::FIDString kRegionName = "regionName";
165 const Steinberg::FIDString kRegionSelected = "regionSelected";
166
167 // per instance (requires IContextInfoHandler2 on plug-in side)
168 const Steinberg::FIDString kVolume = "volume";
169 const Steinberg::FIDString kMaxVolume = "maxVolume";
173 const Steinberg::FIDString kSendCount = "sendcount";
174 const Steinberg::FIDString kSendLevel = "sendlevel";
175 const Steinberg::FIDString kMaxSendLevel = "maxSendlevel";
176
177 // global
178 const Steinberg::FIDString kActiveDocumentID = "activeDocumentID";
179 const Steinberg::FIDString kDocumentID = "documentID";
180 const Steinberg::FIDString kDocumentName = "documentName";
181 const Steinberg::FIDString kDocumentFolder = "documentFolder";
182 const Steinberg::FIDString kAudioFolder = "audioFolder";
183 const Steinberg::FIDString kIndexMode = "indexMode";
184}
185
186} // namespace Presonus
187
189
190#endif // _ipslcontextinfo_h
Definition funknown.h:233
Definition funknown.h:361
#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4)
Definition funknown.h:74
static PuglViewHint int value
Definition pugl.h:1708
Definition ipslcontextinfo.h:133
const Steinberg::FIDString kSendCount
(R) send count [int]
Definition ipslcontextinfo.h:173
ChannelType
Definition ipslcontextinfo.h:136
@ kOut
output to audio driver (main or sub-out)
Definition ipslcontextinfo.h:142
@ kTrack
audio track
Definition ipslcontextinfo.h:137
@ kBus
audio bus
Definition ipslcontextinfo.h:138
@ kFX
FX channel.
Definition ipslcontextinfo.h:139
@ kIn
input from audio driver
Definition ipslcontextinfo.h:141
@ kSynth
output of virtual instrument
Definition ipslcontextinfo.h:140
const Steinberg::FIDString kSendLevel
(R/W) send level factor, index is appended to id (e.g. "sendlevel0" for first), also available as str...
Definition ipslcontextinfo.h:174
const Steinberg::FIDString kType
(R) channel type (int32, see ChannelType enumeration)
Definition ipslcontextinfo.h:155
const Steinberg::FIDString kActiveDocumentID
(R) active document identifier, use to get identity of the active document (string)
Definition ipslcontextinfo.h:178
const Steinberg::FIDString kFocused
(R) focus for user input when multiple channels are selected (int32, 0: false, 1: true)
Definition ipslcontextinfo.h:162
const Steinberg::FIDString kSolo
(R/W) solo (int32, 0: false, 1: true)
Definition ipslcontextinfo.h:172
const Steinberg::FIDString kMaxSendLevel
(R) maximum send level factor, also available as string
Definition ipslcontextinfo.h:175
const Steinberg::FIDString kID
(R) channel identifier, use to compare identity (string)
Definition ipslcontextinfo.h:153
const Steinberg::FIDString kMaxVolume
(R) maximum volume factor [float, 1. = 0dB], also available as string
Definition ipslcontextinfo.h:169
const Steinberg::FIDString kDocumentID
(R) document identifier, use to compare identity (string)
Definition ipslcontextinfo.h:179
const Steinberg::FIDString kMultiSelect
(W) select channel without unselecting others (int32, 0: false, 1: true)
Definition ipslcontextinfo.h:161
const Steinberg::FIDString kColor
(R/W) channel color (int32: RGBA)
Definition ipslcontextinfo.h:158
const Steinberg::FIDString kIndex
(R) channel index (int32, starts at zero)
Definition ipslcontextinfo.h:157
const Steinberg::FIDString kSelected
(R/W) selection state, channel is selected exlusively and scrolled into view on write (int32,...
Definition ipslcontextinfo.h:160
const Steinberg::FIDString kDocumentName
(R) document name, can be displayed to user (string)
Definition ipslcontextinfo.h:180
ChannelIndexMode
Definition ipslcontextinfo.h:147
@ kFlatIndex
channel indices are contiguous (example: track 1, track 2, bus 3, bus 4)
Definition ipslcontextinfo.h:148
@ kPerTypeIndex
channel indices restarts at zero for each type (example: track 1, track 2, bus 1, bus 2)
Definition ipslcontextinfo.h:149
const Steinberg::FIDString kRegionName
(R) name of region/event for region/event-based effects (string)
Definition ipslcontextinfo.h:164
const Steinberg::FIDString kAudioFolder
(R) folder for audio files (string)
Definition ipslcontextinfo.h:182
const Steinberg::FIDString kPan
(R/W) stereo panning [float, < 0.5 = (L), 0.5 = (C), > 0.5 = (R)], also available as string
Definition ipslcontextinfo.h:170
const Steinberg::FIDString kVolume
(R/W) volume factor [float, 0. = -oo dB, 1. = 0dB, etc.], also available as string
Definition ipslcontextinfo.h:168
const Steinberg::FIDString kDocumentFolder
(R) document folder (string)
Definition ipslcontextinfo.h:181
const Steinberg::FIDString kIndexMode
(R) channel index mode (default is flat, see ChannelIndexMode enumeration)
Definition ipslcontextinfo.h:183
const Steinberg::FIDString kVisibility
(R) channel visibility (int32, 0: false, 1: true)
Definition ipslcontextinfo.h:159
const Steinberg::FIDString kName
(R/W) channel name, can be displayed to the user (string)
Definition ipslcontextinfo.h:154
const Steinberg::FIDString kRegionSelected
(R) selection state of region/event for region/event-based effects (int32, 0: false,...
Definition ipslcontextinfo.h:165
const Steinberg::FIDString kMute
(R/W) mute (int32, 0: false, 1: true)
Definition ipslcontextinfo.h:171
const Steinberg::FIDString kMain
(R) channel is main output (int32, 0: false, 1: true)
Definition ipslcontextinfo.h:156
Definition juce_VST3Headers.h:188
char16 TChar
UTF-16 character.
Definition vsttypes.h:62
Definition baseiids.cpp:43
int int32
Definition ftypes.h:50
const char8 * FIDString
Definition ftypes.h:117
int32 tresult
Definition ftypes.h:76
Definition ipslcontextinfo.h:118
virtual void PLUGIN_API notifyContextInfoChange(Steinberg::FIDString id)=0
static const Steinberg::FUID iid
Definition ipslcontextinfo.h:123
Definition ipslcontextinfo.h:101
static const Steinberg::FUID iid
Definition ipslcontextinfo.h:105
virtual void PLUGIN_API notifyContextInfoChange()=0
Definition ipslcontextinfo.h:74
virtual Steinberg::tresult PLUGIN_API setContextInfoValue(Steinberg::FIDString id, Steinberg::int32 value)=0
static const Steinberg::FUID iid
Definition ipslcontextinfo.h:89
virtual Steinberg::tresult PLUGIN_API setContextInfoString(Steinberg::FIDString id, Steinberg::Vst::TChar *string)=0
virtual Steinberg::tresult PLUGIN_API setContextInfoValue(Steinberg::FIDString id, double value)=0
virtual Steinberg::tresult PLUGIN_API getContextInfoValue(double &value, Steinberg::FIDString id)=0
Definition ipslcontextinfo.h:55
virtual Steinberg::tresult PLUGIN_API getContextInfoString(Steinberg::Vst::TChar *string, Steinberg::int32 maxCharCount, Steinberg::FIDString id)=0
virtual Steinberg::tresult PLUGIN_API getContextInfoValue(Steinberg::int32 &value, Steinberg::FIDString id)=0
static const Steinberg::FUID iid
Definition ipslcontextinfo.h:62