/usr/include/bse/bsewave.hh is in libbse-dev 0.7.8-1.
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 | // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
#ifndef __BSE_WAVE_H__
#define __BSE_WAVE_H__
#include <bse/bsesource.hh>
G_BEGIN_DECLS
/* --- BSE type macros --- */
#define BSE_TYPE_WAVE (BSE_TYPE_ID (BseWave))
#define BSE_WAVE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_WAVE, BseWave))
#define BSE_WAVE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_WAVE, BseWaveClass))
#define BSE_IS_WAVE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_WAVE))
#define BSE_IS_WAVE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_WAVE))
#define BSE_WAVE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_WAVE, BseWaveClass))
/* --- BseWave --- */
typedef struct _BseWaveClass BseWaveClass;
typedef struct {
GslWaveChunk *wchunk;
gfloat osc_freq;
gfloat velocity; /* 0..1 */
} BseWaveEntry;
typedef struct {
guint n_entries;
BseWaveEntry entries[1]; /* flexible array */
} BseWaveIndex;
struct _BseWave
{
BseSource parent_object;
/* requested BseModule indices */
guint request_count;
GSList *index_list;
guint index_dirty : 1;
/* locator */
guint locator_set : 1;
gchar *file_name;
gchar *wave_name;
/* wave data */
gchar **xinfos;
/* wave chunks */
guint n_wchunks;
SfiRing *wave_chunks; /* data=GslWaveChunk* */
SfiRing *open_handles; /* data=GslDataHandle* */
};
struct _BseWaveClass
{
BseSourceClass parent_class;
};
/* --- prototypes -- */
void bse_wave_clear (BseWave *wave);
BseErrorType bse_wave_load_wave_file (BseWave *wave,
const gchar *file_name,
const gchar *wave_name,
BseFreqArray *list_array,
BseFreqArray *skip_array,
gboolean rename_wave);
void bse_wave_add_chunk (BseWave *wave,
GslWaveChunk *wchunk);
GslWaveChunk* bse_wave_lookup_chunk (BseWave *wave,
gfloat mix_freq,
gfloat osc_freq,
gfloat velocity);
void bse_wave_remove_chunk (BseWave *wave,
GslWaveChunk *wchunk);
void bse_wave_request_index (BseWave *wave);
BseWaveIndex* bse_wave_get_index_for_modules (BseWave *wave);
void bse_wave_drop_index (BseWave *wave);
/* BseWaveIndex is safe to use from BseModules (self-contained constant structure) */
GslWaveChunk* bse_wave_index_lookup_best (BseWaveIndex *windex,
gfloat osc_freq,
gfloat velocity);
G_END_DECLS
#endif /* __BSE_WAVE_H__ */
|