LMMS
Loading...
Searching...
No Matches
SFZRegion.cpp
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
8#include "SFZRegion.h"
9#include "SFZSample.h"
10
11namespace sfzero
12{
13
15{
16 delay = 0.0;
17 start = 0.0;
18 attack = 0.0;
19 hold = 0.0;
20 decay = 0.0;
21 sustain = 100.0;
22 release = 0.0;
23}
24
26{
27 // Clear for velocity or other modification.
28 delay = start = attack = hold = decay = sustain = release = 0.0;
29}
30
32
34{
35#if 1
36 sample = nullptr;
37 lokey = 0;
38 lovel = 0;
40 group = 0;
41 off_by = 0;
42 off_mode = fast;
43
44 offset = 0;
45 end = 0;
46 negative_end = false;
48 loop_start = 0;
49 loop_end = 0;
50 transpose = 0;
51 tune = 0;
52#else
53 memset(this, 0, sizeof(*this));
54#endif
55
56 hikey = 127;
57 hivel = 127;
58 pitch_keycenter = 60; // C4
59 pitch_keytrack = 100;
60 bend_up = 200;
61 bend_down = -200;
62 volume = pan = 0.0f;
63 amp_veltrack = 100.0f;
64 ampeg.clear();
65 ampeg_veltrack.clearMod();
66}
67
69{
70 water::String info = water::String::formatted("%d - %d, vel %d - %d", lokey, hikey, lovel, hivel);
71 if (sample)
72 {
73 info << sample->getShortName();
74 }
75 info << "\n";
76 return info;
77}
78
79float Region::timecents2Secs(int timecents) { return static_cast<float>(pow(2.0, timecents / 1200.0)); }
80
81}
Definition String.h:48
static String formatted(const String formatString,...)
Definition String.cpp:1747
struct backing_store_struct * info
Definition jmemsys.h:183
Definition SFZDebug.cpp:11
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
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
@ 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
@ attack
Definition SFZRegion.h:33
@ no_loop
Definition SFZRegion.h:42
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