ape
0.5.0
Audio Programming Environment
shared-src
ape
Events.h
Go to the documentation of this file.
1
/*************************************************************************************
2
3
Audio Programming Environment - Audio Plugin - v. 0.4.0.
4
5
Copyright (C) 2017 Janus Lynggaard Thorborg [LightBridge Studios]
6
7
This program is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
(at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with this program. If not, see <http://www.gnu.org/licenses/>.
19
20
See \licenses\ for additional details on licenses associated with this program.
21
22
**************************************************************************************
23
24
file:Event.h
25
26
Defines events messaged by ape.
27
28
*************************************************************************************/
29
30
#ifndef APE_EVENT_H
31
#define APE_EVENT_H
32
33
#include "
SharedInterface.h
"
34
35
struct
APE_Event_CtrlValueChanged
36
{
37
float
value
;
38
char
text
[64];
39
char
title
[64];
40
int
tag
;
41
bool
unused
;
42
};
43
47
struct
APE_Event_IOChanged
48
{
49
size_t
inputs
;
50
size_t
outputs
;
51
size_t
blockSize
;
52
double
sampleRate
;
53
};
54
58
struct
APE_Event_PlayStateChanged
59
{
60
bool
isPlaying
;
61
};
62
63
typedef
enum
64
{
65
CtrlValueChanged
= 0,
66
IOChanged
,
67
PlayStateChanged
68
}
APE_EventType
;
69
70
struct
APE_Event
71
{
72
APE_EventType
eventType
;
73
union
74
{
75
APE_Event_CtrlValueChanged
*
eCtrlValueChanged
;
76
APE_Event_IOChanged
*
eIOChanged
;
77
APE_Event_PlayStateChanged
*
ePlayStateChanged
;
78
}
event
;
79
};
80
81
#if defined(__cplusplus) && !defined(__cfront)
82
namespace
ape
83
{
84
struct
Events
85
{
86
using
CtrlValueChanged
=
APE_Event_CtrlValueChanged
;
87
using
IOChanged
=
APE_Event_IOChanged
;
88
using
PlayStateChanged
=
APE_Event_PlayStateChanged
;
89
};
90
91
using
Event =
APE_Event
;
92
using
EventType =
APE_EventType
;
93
};
94
#endif
95
#endif
APE_Event::eventType
APE_EventType eventType
Definition:
Events.h:71
APE_Event_CtrlValueChanged::title
char title[64]
Definition:
Events.h:64
APE_Event::event
union APE_Event::@0 event
IOChanged
Definition:
Events.h:65
APE_Event_CtrlValueChanged::text
char text[64]
Definition:
Events.h:63
APE_Event_IOChanged::blockSize
size_t blockSize
Definition:
Events.h:50
APE_Event_PlayStateChanged
Guaranteed to be mutually exclusive to any concurrent processing.
Definition:
Events.h:57
APE_EventType
APE_EventType
Definition:
Events.h:62
ape
Definition:
audiofile.h:7
APE_Event_CtrlValueChanged::tag
int tag
Definition:
Events.h:65
APE_Event_IOChanged::inputs
size_t inputs
Definition:
Events.h:48
APE_Event_PlayStateChanged::isPlaying
bool isPlaying
Definition:
Events.h:59
APE_Event::eIOChanged
APE_Event_IOChanged * eIOChanged
Definition:
Events.h:75
APE_Event::ePlayStateChanged
APE_Event_PlayStateChanged * ePlayStateChanged
Definition:
Events.h:76
APE_Event_CtrlValueChanged::unused
bool unused
Definition:
Events.h:66
APE_Event_IOChanged
Guaranteed to be mutually exclusive to any concurrent processing.
Definition:
Events.h:46
APE_Event_CtrlValueChanged::value
float value
Definition:
Events.h:62
APE_Event
Definition:
Events.h:69
APE_Event_IOChanged::outputs
size_t outputs
Definition:
Events.h:49
CtrlValueChanged
Definition:
Events.h:64
PlayStateChanged
Definition:
Events.h:66
APE_Event::eCtrlValueChanged
APE_Event_CtrlValueChanged * eCtrlValueChanged
Definition:
Events.h:74
SharedInterface.h
APE_Event_CtrlValueChanged
Definition:
Events.h:34
APE_Event_IOChanged::sampleRate
double sampleRate
Definition:
Events.h:51
Generated by
1.8.16