1 /* 2 * Copyright (C) 2007-2015 Paul Davis <paul@linuxaudiosystems.com> 3 * Copyright (C) 2009 David Robillard <d@drobilla.net> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) 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 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 */ 19 20 #ifndef __ardour_runtime_functions_h__ 21 #define __ardour_runtime_functions_h__ 22 23 #include "ardour/libardour_visibility.h" 24 #include "ardour/types.h" 25 26 namespace ARDOUR { 27 28 typedef float (*compute_peak_t) (const ARDOUR::Sample *, pframes_t, float); 29 typedef void (*find_peaks_t) (const ARDOUR::Sample *, pframes_t, float *, float*); 30 typedef void (*apply_gain_to_buffer_t) (ARDOUR::Sample *, pframes_t, float); 31 typedef void (*mix_buffers_with_gain_t) (ARDOUR::Sample *, const ARDOUR::Sample *, pframes_t, float); 32 typedef void (*mix_buffers_no_gain_t) (ARDOUR::Sample *, const ARDOUR::Sample *, pframes_t); 33 typedef void (*copy_vector_t) (ARDOUR::Sample *, const ARDOUR::Sample *, pframes_t); 34 35 LIBARDOUR_API extern compute_peak_t compute_peak; 36 LIBARDOUR_API extern find_peaks_t find_peaks; 37 LIBARDOUR_API extern apply_gain_to_buffer_t apply_gain_to_buffer; 38 LIBARDOUR_API extern mix_buffers_with_gain_t mix_buffers_with_gain; 39 LIBARDOUR_API extern mix_buffers_no_gain_t mix_buffers_no_gain; 40 LIBARDOUR_API extern copy_vector_t copy_vector; 41 } 42 43 #endif /* __ardour_runtime_functions_h__ */ 44