Skip to content

Commit 74c6c55

Browse files
committed
Add Quad-Panner internal plugin, cleanup
Signed-off-by: falkTX <falktx@falktx.com>
1 parent 2cb5ba7 commit 74c6c55

6 files changed

Lines changed: 315 additions & 73 deletions

File tree

source/native-plugins/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ OBJS = \
4040
$(OBJDIR)/bypass.c.o \
4141
$(OBJDIR)/cv-to-audio.c.o \
4242
$(OBJDIR)/lfo.c.o \
43+
$(OBJDIR)/quadpanner.c.o \
4344
$(OBJDIR)/midi-channel-filter.c.o \
4445
$(OBJDIR)/midi-channel-ab.c.o \
4546
$(OBJDIR)/midi-channelize.c.o \

source/native-plugins/_all.c

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
1-
/*
2-
* Carla Native Plugins
3-
* Copyright (C) 2012-2020 Filipe Coelho <falktx@falktx.com>
4-
*
5-
* This program is free software; you can redistribute it and/or
6-
* modify it under the terms of the GNU General Public License as
7-
* published by the Free Software Foundation; either version 2 of
8-
* the License, or any later version.
9-
*
10-
* This program is distributed in the hope that it will be useful,
11-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13-
* GNU General Public License for more details.
14-
*
15-
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
16-
*/
1+
// SPDX-FileCopyrightText: 2011-2025 Filipe Coelho <falktx@falktx.com>
2+
// SPDX-License-Identifier: GPL-2.0-or-later
173

184
#include "CarlaDefines.h"
195
#include "CarlaNative.h"
@@ -25,6 +11,7 @@ extern void carla_register_native_plugin_audiogain(void);
2511
extern void carla_register_native_plugin_bypass(void);
2612
extern void carla_register_native_plugin_cv2audio(void);
2713
extern void carla_register_native_plugin_lfo(void);
14+
extern void carla_register_native_plugin_quadpanner(void);
2815
extern void carla_register_native_plugin_midi2cv(void);
2916
extern void carla_register_native_plugin_midichanab(void);
3017
extern void carla_register_native_plugin_midichanfilter(void);
@@ -38,15 +25,15 @@ extern void carla_register_native_plugin_miditranspose(void);
3825
// Audio file
3926
extern void carla_register_native_plugin_audiofile(void);
4027

41-
// MIDI file and sequencer
28+
// MIDI file
4229
extern void carla_register_native_plugin_midifile(void);
43-
extern void carla_register_native_plugin_midipattern(void);
4430

4531
// Carla
4632
extern void carla_register_native_plugin_carla(void);
4733

4834
// External-UI plugins
4935
extern void carla_register_native_plugin_bigmeter(void);
36+
extern void carla_register_native_plugin_midipattern(void);
5037
extern void carla_register_native_plugin_notes(void);
5138
extern void carla_register_native_plugin_xycontroller(void);
5239

@@ -65,6 +52,7 @@ void carla_register_all_native_plugins(void)
6552
carla_register_native_plugin_bypass();
6653
carla_register_native_plugin_cv2audio();
6754
carla_register_native_plugin_lfo();
55+
carla_register_native_plugin_quadpanner();
6856
carla_register_native_plugin_midi2cv();
6957
carla_register_native_plugin_midichanab();
7058
carla_register_native_plugin_midichannelize();

source/native-plugins/_data.cpp

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
1-
/*
2-
* Carla Native Plugins
3-
* Copyright (C) 2012-2020 Filipe Coelho <falktx@falktx.com>
4-
*
5-
* This program is free software; you can redistribute it and/or
6-
* modify it under the terms of the GNU General Public License as
7-
* published by the Free Software Foundation; either version 2 of
8-
* the License, or any later version.
9-
*
10-
* This program is distributed in the hope that it will be useful,
11-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13-
* GNU General Public License for more details.
14-
*
15-
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
16-
*/
1+
// SPDX-FileCopyrightText: 2011-2025 Filipe Coelho <falktx@falktx.com>
2+
// SPDX-License-Identifier: GPL-2.0-or-later
173

184
#include "CarlaNative.h"
195
#include "CarlaMIDI.h"
@@ -122,6 +108,22 @@ static const NativePluginDescriptor sNativePluginDescriptors[] = {
122108
/* copyright */ "GNU GPL v2+",
123109
DESCFUNCS_WITHOUTCV
124110
},
111+
{
112+
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
113+
/* hints */ NATIVE_PLUGIN_IS_RTSAFE,
114+
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
115+
/* audioIns */ 4,
116+
/* audioOuts */ 4,
117+
/* midiIns */ 0,
118+
/* midiOuts */ 0,
119+
/* paramIns */ 2,
120+
/* paramOuts */ 0,
121+
/* name */ "Quad-Panner",
122+
/* label */ "quadpanner",
123+
/* maker */ "falkTX",
124+
/* copyright */ "GNU GPL v2+",
125+
DESCFUNCS_WITHOUTCV
126+
},
125127
{
126128
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
127129
/* hints */ NATIVE_PLUGIN_IS_RTSAFE,

source/native-plugins/audio-gain.c

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,7 @@
1-
/*
2-
* Carla Native Plugins
3-
* Copyright (C) 2012-2019 Filipe Coelho <falktx@falktx.com>
4-
*
5-
* This program is free software; you can redistribute it and/or
6-
* modify it under the terms of the GNU General Public License as
7-
* published by the Free Software Foundation; either version 2 of
8-
* the License, or any later version.
9-
*
10-
* This program is distributed in the hope that it will be useful,
11-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13-
* GNU General Public License for more details.
14-
*
15-
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
16-
*/
1+
// SPDX-FileCopyrightText: 2011-2025 Filipe Coelho <falktx@falktx.com>
2+
// SPDX-License-Identifier: GPL-2.0-or-later
173

184
#include "CarlaNative.h"
19-
#include "CarlaMIDI.h"
205

216
#include <math.h>
227
#include <stdbool.h>
@@ -203,8 +188,8 @@ void handle_audio_buffers(const float* inBuffer, float* outBuffer, Filter* const
203188

204189
// FIXME for v3.0, use const for the input buffer
205190
static void audiogain_process(NativePluginHandle handle,
206-
float** inBuffer, float** outBuffer, uint32_t frames,
207-
const NativeMidiEvent* midiEvents, uint32_t midiEventCount)
191+
float** inBuffer, float** outBuffer, uint32_t frames,
192+
const NativeMidiEvent* midiEvents, uint32_t midiEventCount)
208193
{
209194
const float gain = handlePtr->gain;
210195
const bool applyLeft = handlePtr->applyLeft;

source/native-plugins/midi-to-cv.c

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
1-
/*
2-
* Carla Native Plugins
3-
* Copyright (C) 2012-2019 Filipe Coelho <falktx@falktx.com>
4-
*
5-
* This program is free software; you can redistribute it and/or
6-
* modify it under the terms of the GNU General Public License as
7-
* published by the Free Software Foundation; either version 2 of
8-
* the License, or any later version.
9-
*
10-
* This program is distributed in the hope that it will be useful,
11-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13-
* GNU General Public License for more details.
14-
*
15-
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
16-
*/
1+
// SPDX-FileCopyrightText: 2011-2025 Filipe Coelho <falktx@falktx.com>
2+
// SPDX-License-Identifier: GPL-2.0-or-later
173

184
/* This plugin code is based on MOD Devices' midi-to-cv-mono by Bram Giesen and Jarno Verheesen
195
*/
@@ -385,9 +371,6 @@ static const NativePluginDescriptor midi2cvDesc = {
385371
.set_midi_program = NULL,
386372
.set_custom_data = NULL,
387373

388-
.get_buffer_port_name = midi2cv_get_buffer_port_name,
389-
.get_buffer_port_range = midi2cv_get_buffer_port_range,
390-
391374
.ui_show = NULL,
392375
.ui_idle = NULL,
393376

@@ -404,7 +387,10 @@ static const NativePluginDescriptor midi2cvDesc = {
404387

405388
.dispatcher = NULL,
406389

407-
.render_inline_display = NULL
390+
.render_inline_display = NULL,
391+
392+
.get_buffer_port_name = midi2cv_get_buffer_port_name,
393+
.get_buffer_port_range = midi2cv_get_buffer_port_range,
408394
};
409395

410396
// -----------------------------------------------------------------------

0 commit comments

Comments
 (0)