Papageno
An Advanced Pattern Matching Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
ppg_cluster.h
Go to the documentation of this file.
1 /* Copyright 2017 noseglasses <shinynoseglasses@gmail.com>
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU Lesser General Public License as published by
5  * the Free Software Foundation, either version 3 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef PPG_CLUSTER_H
18 #define PPG_CLUSTER_H
19 
20 #include "ppg_token.h"
21 #include "ppg_input.h"
22 #include "ppg_layer.h"
23 
33  // a cluster that does not tolerate deactivation of inputs before all
34  // inputs are activated. If this condition is violated, the
35  // cluster is considered as invalid
36 };
37 
50  PPG_Layer layer,
51  PPG_Action action,
52  PPG_Count n_inputs,
53  PPG_Input_Id inputs[]);
54 
70  PPG_Count n_inputs,
71  PPG_Input_Id inputs[]);
72 
77 #define PPG_CLUSTER_CREATE(...) \
78  ppg_cluster_create(PPG_INPUTS(__VA_ARGS__))
79 
80 #endif
Action information.
Definition: ppg_action.h:55
Set this flag to gain.
Definition: ppg_cluster.h:32
PPG_Cluster_Flags
Flags that configure cluster behavior.
Definition: ppg_cluster.h:31
PPG_Token ppg_cluster(PPG_Layer layer, PPG_Action action, PPG_Count n_inputs, PPG_Input_Id inputs[])
Defines a stand alone note cluster.
uint8_t PPG_Input_Id
The type used as input identifier.
Definition: ppg_input.h:29
PPG_Token ppg_cluster_create(PPG_Count n_inputs, PPG_Input_Id inputs[])
Generates a cluster token.
void * PPG_Token
The token type.
Definition: ppg_token.h:38