ape  0.5.0
Audio Programming Environment
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 
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 
59  {
60  bool isPlaying;
61  };
62 
63  typedef enum
64  {
68  } APE_EventType;
69 
70  struct APE_Event
71  {
73  union
74  {
78  } event;
79  };
80 
81  #if defined(__cplusplus) && !defined(__cfront)
82  namespace ape
83  {
84  struct Events
85  {
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