summaryrefslogtreecommitdiffstats
path: root/src/server/internals
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/internals')
-rw-r--r--src/server/internals/Delay.cpp16
-rw-r--r--src/server/internals/Delay.hpp17
-rw-r--r--src/server/internals/Note.hpp8
3 files changed, 21 insertions, 20 deletions
diff --git a/src/server/internals/Delay.cpp b/src/server/internals/Delay.cpp
index 7d735eb7..e2838d31 100644
--- a/src/server/internals/Delay.cpp
+++ b/src/server/internals/Delay.cpp
@@ -156,7 +156,7 @@ DelayNode::process(ProcessContext& context)
const uint32_t buffer_mask = plugin_data->_buffer_mask;
const unsigned int sample_rate = plugin_data->_srate;
float delay_samples = plugin_data->_delay_samples;
- long write_phase = plugin_data->_write_phase;
+ int64_t write_phase = plugin_data->_write_phase;
const uint32_t sample_count = context.nframes();
if (write_phase == 0) {
@@ -165,11 +165,11 @@ DelayNode::process(ProcessContext& context)
}
if (delay_time == _last_delay_time) {
- const long idelay_samples = (long)delay_samples;
- const float frac = delay_samples - idelay_samples;
+ const int64_t idelay_samples = (int64_t)delay_samples;
+ const float frac = delay_samples - idelay_samples;
for (uint32_t i = 0; i < sample_count; i++) {
- long read_phase = write_phase - (long)delay_samples;
+ int64_t read_phase = write_phase - (int64_t)delay_samples;
const float read = cube_interp(frac,
buffer_at(read_phase - 1),
buffer_at(read_phase),
@@ -185,10 +185,10 @@ DelayNode::process(ProcessContext& context)
for (uint32_t i = 0; i < sample_count; i++) {
delay_samples += delay_samples_slope;
write_phase++;
- const long read_phase = write_phase - (long)delay_samples;
- const long idelay_samples = (long)delay_samples;
- const float frac = delay_samples - idelay_samples;
- const float read = cube_interp(frac,
+ const int64_t read_phase = write_phase - (int64_t)delay_samples;
+ const int64_t idelay_samples = (int64_t)delay_samples;
+ const float frac = delay_samples - idelay_samples;
+ const float read = cube_interp(frac,
buffer_at(read_phase - 1),
buffer_at(read_phase),
buffer_at(read_phase + 1),
diff --git a/src/server/internals/Delay.hpp b/src/server/internals/Delay.hpp
index 7c7c05e6..4cca4ed7 100644
--- a/src/server/internals/Delay.hpp
+++ b/src/server/internals/Delay.hpp
@@ -54,20 +54,17 @@ public:
float delay_samples() const { return _delay_samples; }
private:
- inline float& buffer_at(long phase) const { return _buffer[phase & _buffer_mask]; }
+ inline float& buffer_at(int64_t phase) const { return _buffer[phase & _buffer_mask]; }
InputPort* _delay_port;
InputPort* _in_port;
OutputPort* _out_port;
-
- typedef long Phase;
-
- float* _buffer;
- uint32_t _buffer_length;
- uint32_t _buffer_mask;
- Phase _write_phase;
- float _last_delay_time;
- float _delay_samples;
+ float* _buffer;
+ uint32_t _buffer_length;
+ uint32_t _buffer_mask;
+ uint64_t _write_phase;
+ float _last_delay_time;
+ float _delay_samples;
};
} // namespace Server
diff --git a/src/server/internals/Note.hpp b/src/server/internals/Note.hpp
index 4053c052..8e83a404 100644
--- a/src/server/internals/Note.hpp
+++ b/src/server/internals/Note.hpp
@@ -68,14 +68,18 @@ private:
struct Key {
enum State { OFF, ON_ASSIGNED, ON_UNASSIGNED };
Key() : state(OFF), voice(0), time(0) {}
- State state; uint32_t voice; SampleCount time;
+ State state;
+ uint32_t voice;
+ SampleCount time;
};
/** Voice, one of these always exists for each voice */
struct Voice {
enum State { FREE, ACTIVE, HOLDING };
Voice() : state(FREE), note(0), time(0) {}
- State state; uint8_t note; SampleCount time;
+ State state;
+ uint8_t note;
+ SampleCount time;
};
float note_to_freq(int num);