/usr/include/bse/bsesnet.h is in libbse-dev 0.7.4-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | /* BSE - Better Sound Engine
* Copyright (C) 1997-1999, 2000-2003 Tim Janik
*
* 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.
*
* A copy of the GNU Lesser General Public License should ship along
* with this library; if not, see http://www.gnu.org/copyleft/.
*/
#ifndef __BSE_SNET_H__
#define __BSE_SNET_H__
#include <bse/bsesuper.h>
#include <bse/bseglobals.h> /* FIXME */
G_BEGIN_DECLS
/* --- object type macros --- */
#define BSE_TYPE_SNET (BSE_TYPE_ID (BseSNet))
#define BSE_SNET(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_SNET, BseSNet))
#define BSE_SNET_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_SNET, BseSNetClass))
#define BSE_IS_SNET(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_SNET))
#define BSE_IS_SNET_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_SNET))
#define BSE_SNET_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_SNET, BseSNetClass))
#define BSE_SNET_USER_SYNTH(src) ((BSE_OBJECT_FLAGS (src) & BSE_SNET_FLAG_USER_SYNTH) != 0)
/* --- BseSNet flags --- */
typedef enum /*< skip >*/
{
BSE_SNET_FLAG_USER_SYNTH = 1 << (BSE_SUPER_FLAGS_USHIFT + 0)
} BseSNetFlags;
#define BSE_SNET_FLAGS_USHIFT (BSE_SUPER_FLAGS_USHIFT + 1)
/* --- BseSNet object --- */
typedef struct
{
gchar *name;
guint context : 31;
guint input : 1;
BseModule *src_omodule; /* output */
guint src_ostream;
BseModule *dest_imodule; /* input */
guint dest_istream;
} BseSNetPort;
struct _BseSNet
{
BseSuper parent_object;
SfiRing *sources; /* of type BseSource* */
SfiRing *isources; /* internal (protected) sources */
GSList *iport_names;
GSList *oport_names;
gpointer port_array; /* of type BseSNetPort* */
GSList *tmp_context_children;
guint port_unregistered_id;
};
struct _BseSNetClass
{
BseSuperClass parent_class;
};
struct _BseMidiContext {
BseMidiReceiver *midi_receiver;
guint midi_channel;
guint voice_id;
};
/* --- prototypes --- */
guint bse_snet_create_context (BseSNet *snet,
BseMidiContext mcontext,
BseTrans *trans);
guint bse_snet_context_clone_branch (BseSNet *self,
guint context,
BseSource *context_merger,
BseMidiContext mcontext,
BseTrans *trans);
gboolean bse_snet_context_is_branch (BseSNet *self,
guint context_id);
void bse_snet_intern_child (BseSNet *self,
gpointer child);
BseMidiContext bse_snet_get_midi_context (BseSNet *snet,
guint context_handle);
const gchar* bse_snet_iport_name_register (BseSNet *snet,
const gchar *tmpl_name);
gboolean bse_snet_iport_name_registered (BseSNet *snet,
const gchar *name);
void bse_snet_iport_name_unregister (BseSNet *snet,
const gchar *name);
const gchar* bse_snet_oport_name_register (BseSNet *snet,
const gchar *tmpl_name);
gboolean bse_snet_oport_name_registered (BseSNet *snet,
const gchar *name);
void bse_snet_oport_name_unregister (BseSNet *snet,
const gchar *name);
void bse_snet_set_iport_src (BseSNet *snet,
const gchar *port_name,
guint snet_context,
BseModule *omodule,
guint ostream,
BseTrans *trans);
void bse_snet_set_iport_dest (BseSNet *snet,
const gchar *port_name,
guint snet_context,
BseModule *imodule,
guint istream,
BseTrans *trans);
void bse_snet_set_oport_src (BseSNet *snet,
const gchar *port_name,
guint snet_context,
BseModule *omodule,
guint ostream,
BseTrans *trans);
void bse_snet_set_oport_dest (BseSNet *snet,
const gchar *port_name,
guint snet_context,
BseModule *imodule,
guint istream,
BseTrans *trans);
G_END_DECLS
#endif /* __BSE_SNET_H__ */
|