lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
include
Lv2Evbuf.h
Go to the documentation of this file.
1
/*
2
* Lv2Evbuf.h - Lv2 event buffer definitions
3
*
4
* Copyright (c) 2019-2020 Johannes Lorenz <jlsf2013$users.sourceforge.net, $=@>
5
*
6
* This file is part of LMMS - https://lmms.io
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public
10
* License as published by the Free Software Foundation; either
11
* version 2 of the License, or (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public
19
* License along with this program (see COPYING); if not, write to the
20
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
* Boston, MA 02110-1301 USA.
22
*
23
*/
24
25
/*
26
* The original code was written by David Robillard <http://drobilla.net>
27
* Original version: 6f22ee0 from https://github.com/drobilla/jalv.git
28
* Minor changes have been done, but no functional changes.
29
* Considering this as an "external library", the identifiers do not need to
30
* match the LMMS coding conventions.
31
*/
32
33
#ifndef LMMS_LV2_EVBUF_H
34
#define LMMS_LV2_EVBUF_H
35
36
#include "lmmsconfig.h"
37
38
#ifdef LMMS_HAVE_LV2
39
40
#include <cstdint>
41
42
43
namespace
lmms
44
{
45
46
50
using
LV2_Evbuf
=
struct
LV2_Evbuf_Impl
;
51
55
struct
LV2_Evbuf_Iterator
56
{
57
LV2_Evbuf
*
evbuf
;
58
uint32_t
offset
;
59
};
60
65
LV2_Evbuf
*
66
lv2_evbuf_new
(uint32_t capacity, uint32_t atom_Chunk, uint32_t atom_Sequence);
67
71
void
72
lv2_evbuf_free
(
LV2_Evbuf
* evbuf);
73
81
void
82
lv2_evbuf_reset
(
LV2_Evbuf
* evbuf,
bool
input);
83
87
uint32_t
88
lv2_evbuf_get_size
(
LV2_Evbuf
* evbuf);
89
94
void
*
95
lv2_evbuf_get_buffer
(
LV2_Evbuf
* evbuf);
96
100
LV2_Evbuf_Iterator
101
lv2_evbuf_begin
(
LV2_Evbuf
* evbuf);
102
106
LV2_Evbuf_Iterator
107
lv2_evbuf_end
(
LV2_Evbuf
* evbuf);
108
113
bool
114
lv2_evbuf_is_valid
(
LV2_Evbuf_Iterator
iter);
115
121
LV2_Evbuf_Iterator
122
lv2_evbuf_next
(
LV2_Evbuf_Iterator
iter);
123
132
bool
133
lv2_evbuf_get
(
LV2_Evbuf_Iterator
iter,
134
uint32_t* frames,
135
uint32_t* type,
136
uint32_t* size,
137
uint8_t** data);
138
146
bool
147
lv2_evbuf_write
(
LV2_Evbuf_Iterator
* iter,
148
uint32_t frames,
149
uint32_t type,
150
uint32_t size,
151
const
uint8_t* data);
152
153
154
}
// namespace lmms
155
156
#endif
// LMMS_HAVE_LV2
157
158
#endif
// LMMS_LV2_EVBUF_H
lmms
Definition
RemotePluginBase.cpp:34
lmms::lv2_evbuf_begin
LV2_Evbuf_Iterator lv2_evbuf_begin(LV2_Evbuf *evbuf)
Definition
Lv2Evbuf.cpp:103
lmms::lv2_evbuf_get_buffer
void * lv2_evbuf_get_buffer(LV2_Evbuf *evbuf)
Definition
Lv2Evbuf.cpp:97
lmms::lv2_evbuf_free
void lv2_evbuf_free(LV2_Evbuf *evbuf)
Definition
Lv2Evbuf.cpp:69
lmms::LV2_Evbuf
struct LV2_Evbuf_Impl LV2_Evbuf
Definition
Lv2Evbuf.h:50
lmms::lv2_evbuf_is_valid
bool lv2_evbuf_is_valid(LV2_Evbuf_Iterator iter)
Definition
Lv2Evbuf.cpp:118
lmms::lv2_evbuf_get_size
uint32_t lv2_evbuf_get_size(LV2_Evbuf *evbuf)
Definition
Lv2Evbuf.cpp:87
lmms::lv2_evbuf_write
bool lv2_evbuf_write(LV2_Evbuf_Iterator *iter, uint32_t frames, uint32_t type, uint32_t size, const uint8_t *data)
Definition
Lv2Evbuf.cpp:167
lmms::lv2_evbuf_new
LV2_Evbuf * lv2_evbuf_new(uint32_t capacity, uint32_t atom_Chunk, uint32_t atom_Sequence)
Definition
Lv2Evbuf.cpp:57
lmms::lv2_evbuf_reset
void lv2_evbuf_reset(LV2_Evbuf *evbuf, bool input)
Definition
Lv2Evbuf.cpp:75
lmms::lv2_evbuf_next
LV2_Evbuf_Iterator lv2_evbuf_next(LV2_Evbuf_Iterator iter)
Definition
Lv2Evbuf.cpp:124
lmms::lv2_evbuf_end
LV2_Evbuf_Iterator lv2_evbuf_end(LV2_Evbuf *evbuf)
Definition
Lv2Evbuf.cpp:110
lmms::lv2_evbuf_get
bool lv2_evbuf_get(LV2_Evbuf_Iterator iter, uint32_t *frames, uint32_t *type, uint32_t *size, uint8_t **data)
Definition
Lv2Evbuf.cpp:142
lmms::LV2_Evbuf_Impl
Definition
Lv2Evbuf.cpp:43
lmms::LV2_Evbuf_Iterator
Definition
Lv2Evbuf.h:56
lmms::LV2_Evbuf_Iterator::evbuf
LV2_Evbuf * evbuf
Definition
Lv2Evbuf.h:57
lmms::LV2_Evbuf_Iterator::offset
uint32_t offset
Definition
Lv2Evbuf.h:58
Generated on
for lmms by
1.18.0