LMMS
Loading...
Searching...
No Matches
events.h
Go to the documentation of this file.
1/*
2 * travesty, pure C VST3-compatible interface
3 * Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any purpose with
6 * or without fee is hereby granted, provided that the above copyright notice and this
7 * permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
10 * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
11 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
13 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17#pragma once
18
19#include "base.h"
20
21#include "align_push.h"
22
26
35
38 int16_t pitch; // MIDI note number
39 float velocity;
41 float tuning;
42};
43
49
56
64
71
78
84
90
94
98
110
129
133
135#ifndef __cplusplus
136 struct v3_funknown;
137#endif
138 uint32_t (V3_API* get_event_count)(void* self);
139 v3_result (V3_API* get_event)(void* self, int32_t idx, struct v3_event* event);
140 v3_result (V3_API* add_event)(void* self, struct v3_event* event);
141};
142
143static constexpr const v3_tuid v3_event_list_iid =
144 V3_ID(0x3A2C4214, 0x346349FE, 0xB2C4F397, 0xB9695A44);
145
146#ifdef __cplusplus
147
151
152struct v3_event_list_cpp : v3_funknown {
153 v3_event_list list;
154};
155
156#endif
157
158#include "align_pop.h"
#define V3_ID(a, b, c, d)
Definition base.h:111
#define V3_API
Definition base.h:59
int32_t v3_result
Definition base.h:35
uint8_t v3_tuid[16]
Definition base.h:46
unsigned short uint16_t
Definition mid.cpp:99
int int32_t
Definition mid.cpp:97
unsigned int uint32_t
Definition mid.cpp:100
short int16_t
Definition mid.cpp:96
unsigned char uint8_t
Definition mid.cpp:98
signed char int8_t
Definition mid.cpp:95
Definition events.h:57
uint16_t text_len
Definition events.h:61
int16_t root
Definition events.h:58
int16_t bass_note
Definition events.h:59
int16_t mask
Definition events.h:60
const int16_t * text
Definition events.h:62
Definition events.h:44
uint32_t type
Definition events.h:46
uint32_t size
Definition events.h:45
const uint8_t * bytes
Definition events.h:47
Definition events.h:72
int8_t channel
Definition events.h:74
int8_t value2
Definition events.h:76
uint8_t cc_number
Definition events.h:73
int8_t value
Definition events.h:75
Definition events.h:134
int32_t idx
Definition events.h:139
int32_t struct v3_event * event
Definition events.h:139
uint32_t(V3_API *get_event_count)(void *self)
Definition events.h:85
int32_t note_id
Definition events.h:86
uint32_t text_len
Definition events.h:87
const int16_t * text
Definition events.h:88
Definition events.h:79
double value
Definition events.h:82
int32_t note_id
Definition events.h:81
uint32_t type_id
Definition events.h:80
Definition events.h:36
float velocity
Definition events.h:39
int16_t pitch
Definition events.h:38
float tuning
Definition events.h:41
int16_t channel
Definition events.h:37
int32_t note_id
Definition events.h:40
Definition events.h:27
float tuning
Definition events.h:30
int32_t note_id
Definition events.h:33
float velocity
Definition events.h:31
int16_t pitch
Definition events.h:29
int16_t channel
Definition events.h:28
int32_t length
Definition events.h:32
Definition events.h:50
int16_t channel
Definition events.h:51
float pressure
Definition events.h:53
int16_t pitch
Definition events.h:52
int32_t note_id
Definition events.h:54
Definition events.h:65
int16_t mask
Definition events.h:67
uint16_t text_len
Definition events.h:68
int16_t root
Definition events.h:66
const int16_t * text
Definition events.h:69
Definition events.h:111
struct v3_event_scale scale
Definition events.h:123
struct v3_event_note_on note_on
Definition events.h:118
double ppq_position
Definition events.h:114
struct v3_event_chord chord
Definition events.h:122
uint16_t flags
Definition events.h:115
struct v3_event_legacy_midi_cc_out midi_cc_out
Definition events.h:124
struct v3_event_note_expression_text note_exp_text
Definition events.h:126
struct v3_event_poly_pressure poly_pressure
Definition events.h:121
uint16_t type
Definition events.h:116
struct v3_event_note_expression_value note_exp_value
Definition events.h:125
struct v3_event_data data
Definition events.h:120
int32_t bus_index
Definition events.h:112
int32_t sample_offset
Definition events.h:113
struct v3_event_note_off note_off
Definition events.h:119
Definition base.h:142
v3_event_type
Definition events.h:99
@ V3_EVENT_CHORD
Definition events.h:106
@ V3_EVENT_NOTE_OFF
Definition events.h:101
@ V3_EVENT_POLY_PRESSURE
Definition events.h:103
@ V3_EVENT_SCALE
Definition events.h:107
@ V3_EVENT_DATA
Definition events.h:102
@ V3_EVENT_NOTE_EXP_TEXT
Definition events.h:105
@ V3_EVENT_NOTE_ON
Definition events.h:100
@ V3_EVENT_LEGACY_MIDI_CC_OUT
Definition events.h:108
@ V3_EVENT_NOTE_EXP_VALUE
Definition events.h:104
static constexpr const v3_tuid v3_event_list_iid
Definition events.h:143
v3_event_flags
Definition events.h:95
@ V3_EVENT_IS_LIVE
Definition events.h:96