summaryrefslogtreecommitdiff
path: root/plugins/wildmidi/include
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-31 20:01:59 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-31 20:01:59 +0200
commit9beeeadca3d347fefd46da2ef190d3be9653a4ff (patch)
tree8e219ada509eef6de7162704e975c08811b3578a /plugins/wildmidi/include
parent24c83bd204883f3847aecd3cbed8ee3b8ed2169e (diff)
wildmidi plugin
Diffstat (limited to 'plugins/wildmidi/include')
-rw-r--r--plugins/wildmidi/include/wildmidi_lib.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/plugins/wildmidi/include/wildmidi_lib.h b/plugins/wildmidi/include/wildmidi_lib.h
new file mode 100644
index 00000000..b95eb392
--- /dev/null
+++ b/plugins/wildmidi/include/wildmidi_lib.h
@@ -0,0 +1,56 @@
+/*
+ wildmidi_lib.h
+
+ Midi Wavetable Processing library
+
+ Copyright (C)2001-2004 Chris Ison
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Email: cisos@bigpond.net.au
+ wildcode@users.sourceforge.net
+
+ $Id: wildmidi_lib.h,v 1.6 2004/01/26 02:24:33 wildcode Exp $
+*/
+
+#define WM_MO_LINEAR_VOLUME 0x0001
+#define WM_MO_EXPENSIVE_INTERPOLATION 0x0002
+#define WM_MO_REVERB 0x0004
+#define WM_MO_BIG_ENDIAN_OUTPUT 0x0020
+
+#define WM_GS_VERSION 0x0001
+
+struct _WM_Info {
+ unsigned long int current_sample;
+ unsigned long int approx_total_samples;
+ unsigned short int mixer_options;
+};
+
+typedef void midi;
+
+extern const char * WildMidi_GetString (unsigned short int info);
+extern int WildMidi_Init (const char * config_file, unsigned short int rate, unsigned short int options);
+extern int WildMidi_MasterVolume (unsigned char master_volume);
+extern midi * WildMidi_Open (const char *midifile);
+extern midi * WildMidi_OpenBuffer (unsigned char *midibuffer, unsigned long int size);
+extern int WildMidi_LoadSamples ( midi * handle);
+extern int WildMidi_GetOutput (midi * handle, char * buffer, unsigned long int size);
+extern int WildMidi_SetOption (midi * handle, unsigned short int options, unsigned short int setting);
+extern struct _WM_Info * WildMidi_GetInfo ( midi * handle );
+extern int WildMidi_FastSeek ( midi * handle, unsigned long int *sample_pos);
+extern int WildMidi_SampledSeek ( midi * handle, unsigned long int *sample_pos);
+extern int WildMidi_Close (midi * handle);
+extern int WildMidi_Shutdown ( void );
+// extern void WildMidi_ReverbSet(midi * handle, float width, float wet, float dry, float damp, float roomsize);