LMMS
Loading...
Searching...
No Matches
ivstevents.h
Go to the documentation of this file.
1//------------------------------------------------------------------------
2// Project : VST SDK
3//
4// Category : Interfaces
5// Filename : pluginterfaces/vst/ivstevents.h
6// Created by : Steinberg, 11/2005
7// Description : VST Events Interfaces
8//
9//-----------------------------------------------------------------------------
10// This file is part of a Steinberg SDK. It is subject to the license terms
11// in the LICENSE file found in the top-level directory of this distribution
12// and at www.steinberg.net/sdklicenses.
13// No part of the SDK, including this file, may be copied, modified, propagated,
14// or distributed except according to the terms contained in the LICENSE file.
15//-----------------------------------------------------------------------------
16
17#pragma once
18
21
22//------------------------------------------------------------------------
24//------------------------------------------------------------------------
25
26//------------------------------------------------------------------------
27namespace Steinberg {
28namespace Vst {
29
30//------------------------------------------------------------------------
37
38//------------------------------------------------------------------------
52
53//------------------------------------------------------------------------
65
66//------------------------------------------------------------------------
71{
74 const uint8* bytes;
75
78 {
80 };
81};
82
83//------------------------------------------------------------------------
94
95//------------------------------------------------------------------------
108
109//------------------------------------------------------------------------
121
122//------------------------------------------------------------------------
136
137//------------------------------------------------------------------------
186
187//------------------------------------------------------------------------
196class IEventList : public FUnknown
197{
198public:
199//------------------------------------------------------------------------
201 virtual int32 PLUGIN_API getEventCount () = 0;
202
204 virtual tresult PLUGIN_API getEvent (int32 index, Event& e /*out*/) = 0;
205
207 virtual tresult PLUGIN_API addEvent (Event& e /*in*/) = 0;
208
209//------------------------------------------------------------------------
210 static const FUID iid;
211};
212
213DECLARE_CLASS_IID (IEventList, 0x3A2C4214, 0x346349FE, 0xB2C4F397, 0xB9695A44)
214
215//------------------------------------------------------------------------
216} // namespace Vst
217} // namespace Steinberg
218
219//------------------------------------------------------------------------
221//------------------------------------------------------------------------
Definition funknown.h:233
Definition funknown.h:361
Definition ivstevents.h:197
virtual tresult PLUGIN_API addEvent(Event &e)=0
virtual int32 PLUGIN_API getEventCount()=0
virtual tresult PLUGIN_API getEvent(int32 index, Event &e)=0
static const FUID iid
Definition ivstevents.h:210
* e
Definition inflate.c:1404
#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4)
Definition funknown.h:74
Definition ivstattributes.h:28
char16 TChar
UTF-16 character.
Definition vsttypes.h:62
NoteIDUserRange
Definition ivstevents.h:33
@ kNoteIDUserRangeLowerBound
Definition ivstevents.h:34
@ kNoteIDUserRangeUpperBound
Definition ivstevents.h:35
double TQuarterNotes
time expressed in quarter notes
Definition vsttypes.h:79
Definition baseiids.cpp:43
short int16
Definition ftypes.h:43
int int32
Definition ftypes.h:50
unsigned short uint16
Definition ftypes.h:44
char int8
Definition ftypes.h:39
unsigned char uint8
Definition ftypes.h:40
int32 tresult
Definition ftypes.h:76
unsigned int uint32
Definition ftypes.h:51
Definition ivstevents.h:100
int16 root
range [0, 127] = [C-2, G8] with A3=440Hz
Definition ivstevents.h:101
int16 mask
root is bit 0
Definition ivstevents.h:103
int16 bassNote
range [0, 127] = [C-2, G8] with A3=440Hz
Definition ivstevents.h:102
uint16 textLen
null character (without including the terminating null character itself)
Definition ivstevents.h:104
const TChar * text
UTF-16, null terminated Hosts Chord Name.
Definition ivstevents.h:106
Definition ivstevents.h:71
uint32 type
type of this data block (see DataTypes)
Definition ivstevents.h:73
DataTypes
Definition ivstevents.h:78
@ kMidiSysEx
for MIDI system exclusive message
Definition ivstevents.h:79
const uint8 * bytes
pointer to the data block
Definition ivstevents.h:74
uint32 size
size in bytes of the data block bytes
Definition ivstevents.h:72
Definition ivstevents.h:143
DataEvent data
type == kDataEvent
Definition ivstevents.h:177
int32 sampleOffset
sample frames related to the current block start sample position
Definition ivstevents.h:145
EventFlags
Definition ivstevents.h:151
@ kUserReserved1
reserved for user (for internal use)
Definition ivstevents.h:154
@ kIsLive
indicates that the event is played live (directly from keyboard)
Definition ivstevents.h:152
@ kUserReserved2
reserved for user (for internal use)
Definition ivstevents.h:155
LegacyMIDICCOutEvent midiCCOut
type == kLegacyMIDICCOutEvent
Definition ivstevents.h:183
NoteExpressionTextEvent noteExpressionText
type == kNoteExpressionTextEvent
Definition ivstevents.h:180
PolyPressureEvent polyPressure
type == kPolyPressureEvent
Definition ivstevents.h:178
uint16 flags
combination of EventFlags
Definition ivstevents.h:147
NoteExpressionValueEvent noteExpressionValue
type == kNoteExpressionValueEvent
Definition ivstevents.h:179
NoteOnEvent noteOn
type == kNoteOnEvent
Definition ivstevents.h:175
int32 busIndex
event bus index
Definition ivstevents.h:144
TQuarterNotes ppqPosition
position in project
Definition ivstevents.h:146
EventTypes
Definition ivstevents.h:160
@ kScaleEvent
is ScaleEvent
Definition ivstevents.h:168
@ kNoteExpressionValueEvent
is NoteExpressionValueEvent
Definition ivstevents.h:165
@ kPolyPressureEvent
is PolyPressureEvent
Definition ivstevents.h:164
@ kNoteExpressionTextEvent
is NoteExpressionTextEvent
Definition ivstevents.h:166
@ kNoteOffEvent
is NoteOffEvent
Definition ivstevents.h:162
@ kChordEvent
is ChordEvent
Definition ivstevents.h:167
@ kNoteOnEvent
is NoteOnEvent
Definition ivstevents.h:161
@ kLegacyMIDICCOutEvent
is LegacyMIDICCOutEvent
Definition ivstevents.h:169
@ kDataEvent
is DataEvent
Definition ivstevents.h:163
uint16 type
a value from EventTypes
Definition ivstevents.h:172
ScaleEvent scale
type == kScaleEvent
Definition ivstevents.h:182
NoteOffEvent noteOff
type == kNoteOffEvent
Definition ivstevents.h:176
ChordEvent chord
type == kChordEvent
Definition ivstevents.h:181
Definition ivstevents.h:130
uint8 controlNumber
see enum ControllerNumbers [0, 255]
Definition ivstevents.h:131
int8 value
value of Controller [0, 127]
Definition ivstevents.h:133
int8 value2
[0, 127] used for pitch bend (kPitchBend) and polyPressure (kCtrlPolyPressure)
Definition ivstevents.h:134
int8 channel
channel index in event bus [0, 15]
Definition ivstevents.h:132
Definition ivstnoteexpression.h:107
Definition ivstnoteexpression.h:93
Definition ivstevents.h:58
float velocity
range [0.0, 1.0]
Definition ivstevents.h:61
float tuning
1.f = +1 cent, -1.f = -1 cent
Definition ivstevents.h:63
int32 noteId
associated noteOn identifier (if not available then -1)
Definition ivstevents.h:62
int16 channel
channel index in event bus
Definition ivstevents.h:59
int16 pitch
range [0, 127] = [C-2, G8] with A3=440Hz (12-TET)
Definition ivstevents.h:60
Definition ivstevents.h:44
int32 length
in sample frames (optional, Note Off has to follow in any case!)
Definition ivstevents.h:49
float tuning
1.f = +1 cent, -1.f = -1 cent
Definition ivstevents.h:47
int16 channel
channel index in event bus
Definition ivstevents.h:45
int32 noteId
note identifier (if not available then -1)
Definition ivstevents.h:50
int16 pitch
range [0, 127] = [C-2, G8] with A3=440Hz (12-TET: twelve-tone equal temperament)
Definition ivstevents.h:46
float velocity
range [0.0, 1.0]
Definition ivstevents.h:48
Definition ivstevents.h:88
int32 noteId
event should be applied to the noteId (if not -1)
Definition ivstevents.h:92
float pressure
range [0.0, 1.0]
Definition ivstevents.h:91
int16 pitch
range [0, 127] = [C-2, G8] with A3=440Hz
Definition ivstevents.h:90
int16 channel
channel index in event bus
Definition ivstevents.h:89
Definition ivstevents.h:114
int16 mask
Bit 0 = C, Bit 1 = C#, ... (0x5ab5 = Major Scale).
Definition ivstevents.h:116
const TChar * text
UTF-16, null terminated, Hosts Scale Name.
Definition ivstevents.h:119
int16 root
range [0, 127] = root Note/Transpose Factor
Definition ivstevents.h:115
uint16 textLen
null character (without including the terminating null character itself)
Definition ivstevents.h:117