LMMS
Loading...
Searching...
No Matches
SFZRegion.h
Go to the documentation of this file.
1/*************************************************************************************
2 * Original code copyright (C) 2012 Steve Folta
3 * Converted to Juce module (C) 2016 Leo Olivers
4 * Forked from https://github.com/stevefolta/SFZero
5 * For license info please see the LICENSE file distributed with this source code
6 *************************************************************************************/
7#ifndef SFZREGION_H_INCLUDED
8#define SFZREGION_H_INCLUDED
9
10#include "SFZCommon.h"
11
12#include "water/text/String.h"
13
14namespace sfzero
15{
16
17class Sample;
18
19// Region is designed to be able to be bitwise-copied.
20
22{
24
25 void clear();
26 void clearMod();
27};
28
29struct Region
30{
38
47
49 {
52 };
53
54 Region();
55 void clear();
57
58 bool matches(int note, int velocity, Trigger trig)
59 {
60 return (note >= lokey && note <= hikey && velocity >= lovel && velocity <= hivel &&
61 (trig == this->trigger || (this->trigger == attack && (trig == first || trig == legato))));
62 }
63
68 int group;
71
78 int tune;
81
82 float volume, pan;
84
86
87 static float timecents2Secs(int timecents);
88};
89
90}
91
92#endif // SFZREGION_H_INCLUDED
Definition SFZSample.h:21
Definition String.h:48
Definition SFZDebug.cpp:11
long long int64
Definition water.h:100
Definition SFZRegion.h:22
float release
Definition SFZRegion.h:23
float hold
Definition SFZRegion.h:23
float delay
Definition SFZRegion.h:23
void clear()
Definition SFZRegion.cpp:14
float sustain
Definition SFZRegion.h:23
float attack
Definition SFZRegion.h:23
void clearMod()
Definition SFZRegion.cpp:25
float decay
Definition SFZRegion.h:23
float start
Definition SFZRegion.h:23
Region()
Definition SFZRegion.cpp:31
float amp_veltrack
Definition SFZRegion.h:83
int lokey
Definition SFZRegion.h:65
Sample * sample
Definition SFZRegion.h:64
int group
Definition SFZRegion.h:68
EGParameters ampeg_veltrack
Definition SFZRegion.h:85
bool matches(int note, int velocity, Trigger trig)
Definition SFZRegion.h:58
Trigger trigger
Definition SFZRegion.h:67
EGParameters ampeg
Definition SFZRegion.h:85
water::int64 offset
Definition SFZRegion.h:72
float pan
Definition SFZRegion.h:82
int tune
Definition SFZRegion.h:78
int pitch_keycenter
Definition SFZRegion.h:79
bool negative_end
Definition SFZRegion.h:74
water::int64 off_by
Definition SFZRegion.h:69
water::int64 end
Definition SFZRegion.h:73
int bend_down
Definition SFZRegion.h:80
water::String dump()
Definition SFZRegion.cpp:68
void clear()
Definition SFZRegion.cpp:33
int pitch_keytrack
Definition SFZRegion.h:79
int bend_up
Definition SFZRegion.h:80
OffMode
Definition SFZRegion.h:49
@ normal
Definition SFZRegion.h:51
@ fast
Definition SFZRegion.h:50
water::int64 loop_end
Definition SFZRegion.h:76
int hivel
Definition SFZRegion.h:66
int hikey
Definition SFZRegion.h:65
LoopMode loop_mode
Definition SFZRegion.h:75
OffMode off_mode
Definition SFZRegion.h:70
Trigger
Definition SFZRegion.h:32
@ legato
Definition SFZRegion.h:36
@ release
Definition SFZRegion.h:34
@ first
Definition SFZRegion.h:35
@ attack
Definition SFZRegion.h:33
LoopMode
Definition SFZRegion.h:40
@ no_loop
Definition SFZRegion.h:42
@ sample_loop
Definition SFZRegion.h:41
@ loop_sustain
Definition SFZRegion.h:45
@ one_shot
Definition SFZRegion.h:43
@ loop_continuous
Definition SFZRegion.h:44
int transpose
Definition SFZRegion.h:77
float volume
Definition SFZRegion.h:82
static float timecents2Secs(int timecents)
Definition SFZRegion.cpp:79
water::int64 loop_start
Definition SFZRegion.h:76
int lovel
Definition SFZRegion.h:66