/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleList.h is in libinstpatch-dev 1.0.0-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 | /*
* libInstPatch
* Copyright (C) 1999-2010 Joshua "Element" Green <jgreen@users.sourceforge.net>
*
* This program 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; version 2.1
* of the License only.
*
* 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 program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA or on the web at http://www.gnu.org.
*/
/**
* SECTION: IpatchSampleList
* @short_description: Sample list data types and functions
* @see_also:
* @stability: Stable
*
* Sample lists define audio data from concatenated segments of other
* audio sources. The lists are always mono (a single channel can be
* selected from multi-channel sources). Multi-channel audio can be
* created from combining multiple sample lists of the same length.
*/
#ifndef __IPATCH_SAMPLE_LIST_H__
#define __IPATCH_SAMPLE_LIST_H__
#include <glib.h>
#include <glib-object.h>
typedef struct _IpatchSampleList IpatchSampleList;
typedef struct _IpatchSampleListItem IpatchSampleListItem;
#include <libinstpatch/IpatchSample.h>
/* Boxed type for sample list */
#define IPATCH_TYPE_SAMPLE_LIST (ipatch_sample_list_get_type ())
/**
* IpatchSampleList:
*
* A sample edit list. Allows for non-destructive sample editing by defining
* new audio samples from one or more audio sample segments.
*/
struct _IpatchSampleList
{
GList *items; /* list of IpatchSampleListItem structs */
guint total_size; /* total size of audio data in frames */
};
/**
* IpatchSampleListItem:
*
* Defines an audio segment in a #IpatchSampleList.
*/
struct _IpatchSampleListItem
{
IpatchSample *sample; /* Sample for this segment */
guint ofs; /* Offset in sample of segment start */
guint size; /* Size in frames of audio segment */
guint32 channel : 3; /* Channel to use in sample */
guint32 reserved : 29;
};
GType ipatch_sample_list_get_type (void);
IpatchSampleList *ipatch_sample_list_new (void);
void ipatch_sample_list_free (IpatchSampleList *list);
IpatchSampleList *ipatch_sample_list_duplicate (IpatchSampleList *list);
IpatchSampleListItem *ipatch_sample_list_item_new (void);
IpatchSampleListItem *ipatch_sample_list_item_new_init (IpatchSample *sample,
guint ofs, guint size,
guint channel);
void ipatch_sample_list_item_free (IpatchSampleListItem *item);
IpatchSampleListItem *ipatch_sample_list_item_duplicate (IpatchSampleListItem *item);
void ipatch_sample_list_append (IpatchSampleList *list, IpatchSample *sample,
guint ofs, guint size, guint channel);
void ipatch_sample_list_prepend (IpatchSampleList *list, IpatchSample *sample,
guint ofs, guint size, guint channel);
void ipatch_sample_list_insert_index (IpatchSampleList *list, guint index,
IpatchSample *sample, guint ofs,
guint size, guint channel);
void ipatch_sample_list_insert (IpatchSampleList *list, guint pos,
IpatchSample *sample, guint ofs,
guint size, guint channel);
void ipatch_sample_list_cut (IpatchSampleList *list, guint pos, guint size);
gboolean ipatch_sample_list_render (IpatchSampleList *list, gpointer buf,
guint pos, guint size, int format, GError **err);
#endif
|