Expose all 8 voices
[zyn.git] / addnote.h
blobc513f5cf09f738750d9a922ddf685e3d5511cf3f
1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*****************************************************************************
4 * Copyright (C) 2009 Nedko Arnaudov <nedko@arnaudov.name>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License
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.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *****************************************************************************/
21 #ifndef AD_NOTE_H__INCLUDED
22 #define AD_NOTE_H__INCLUDED
24 typedef void * zyn_addnote_handle;
26 bool
27 zyn_addnote_create(
28 struct zyn_addsynth * synth_ptr,
29 zyn_addnote_handle * handle_ptr);
31 void
32 zyn_addnote_destroy(
33 zyn_addnote_handle handle);
35 void
36 zyn_addnote_note_on(
37 zyn_addnote_handle handle,
38 float panorama,
39 bool random_grouping,
40 REALTYPE freq,
41 REALTYPE velocity,
42 bool portamento,
43 int midinote);
45 /* returns true if note is still active and false otherwise */
46 bool
47 zyn_addnote_noteout(
48 zyn_addnote_handle handle,
49 REALTYPE *outl,
50 REALTYPE *outr);
52 void
53 zyn_addnote_note_off(
54 zyn_addnote_handle handle);
56 void
57 zyn_addnote_force_disable(
58 zyn_addnote_handle handle);
60 #endif /* #ifndef AD_NOTE_H__INCLUDED */