1 /* -*- linux-c -*- 2 Copyright (C) 2004 Tom Szilagyi 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program; if not, write to the Free Software 16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 18 $Id: plugin.h 1235 2012-02-04 10:27:48Z assworth $ 19 */ 20 21 #ifndef AQUALUNG_PLUGIN_H 22 #define AQUALUNG_PLUGIN_H 23 24 #include <glib.h> 25 #include <gtk/gtk.h> 26 27 #include <ladspa.h> 28 29 #include "common.h" 30 #include "trashlist.h" 31 32 33 #define MAX_PLUGINS 128 34 #define MAX_KNOBS 128 35 36 typedef struct { 37 char filename[MAXLEN]; 38 int index; 39 void * library; 40 int is_restored; 41 int is_mono; 42 int is_bypassed; 43 int shift_pressed; 44 const LADSPA_Descriptor * descriptor; 45 LADSPA_Handle * handle; 46 LADSPA_Handle * handle2; 47 GtkWidget * window; 48 GtkWidget * bypass_button; 49 gint timeout; 50 GtkAdjustment * adjustments[MAX_KNOBS]; 51 LADSPA_Data knobs[MAX_KNOBS]; 52 trashlist_t * trashlist; 53 } plugin_instance; 54 55 56 void create_fxbuilder(void); 57 void show_fxbuilder(void); 58 void hide_fxbuilder(void); 59 void save_plugin_data(void); 60 void load_plugin_data(void); 61 62 63 #endif /* AQUALUNG_PLUGIN_H */ 64 65 // vim: shiftwidth=8:tabstop=8:softtabstop=8 : 66 67