Deluge Firmware 1.3.0
Build date: 2025.04.16
Loading...
Searching...
No Matches
EngineMkI.h
1/*
2 * Copyright 2014 Pascal Gauthier.
3 * Copyright 2012 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#pragma once
19
20#include "fm_core.h"
21#include "fm_op_kernel.h"
22
23class EngineMkI : public FmCore {
24public:
25 EngineMkI();
26
27 void render(int32_t* output, int n, FmOpParams* params, int algorithm, int32_t* fb_buf,
28 int32_t feedback_shift) override;
29
30 void compute(int32_t* output, int n, const int32_t* input, int32_t phase0, int32_t freq, int32_t gain1,
31 int32_t gain2, int32_t dgain, bool add);
32
33 void compute_pure(int32_t* output, int n, int32_t phase0, int32_t freq, int32_t gain1, int32_t gain2, int32_t dgain,
34 bool add);
35
36 void compute_fb(int32_t* output, int n, int32_t phase0, int32_t freq, int32_t gain1, int32_t gain2, int32_t dgain,
37 int32_t* fb_buf, int fb_gain, bool add);
38
39 void compute_fb2(int32_t* output, int n, FmOpParams* params, int32_t gain01, int32_t gain02, int32_t dgain0,
40 int32_t* fb_buf, int fb_shift);
41
42 void compute_fb3(int32_t* output, int n, FmOpParams* params, int32_t gain01, int32_t gain02, int32_t dgain0,
43 int32_t* fb_buf, int fb_shift);
44};
Definition fm_core.h:52
Definition param.cpp:27
Definition fm_op_kernel.h:21