/usr/include/swami/libswamigui/SwamiguiRoot.h is in libswami-dev 2.0.0+svn389-5.
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 | /*
* SwamiguiRoot.h - Main Swami user interface object
*
* Swami
* 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 General Public License
* as published by the Free Software Foundation; version 2
* of the License only.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA or point your web browser to http://www.gnu.org.
*/
#ifndef __SWAMIGUI_ROOT_H__
#define __SWAMIGUI_ROOT_H__
typedef struct _SwamiguiRoot SwamiguiRoot;
typedef struct _SwamiguiRootClass SwamiguiRootClass;
#include <gtk/gtk.h>
#include <libinstpatch/libinstpatch.h>
#include <libswami/libswami.h>
#include <swamigui/SwamiguiTreeStore.h>
#include <swamigui/SwamiguiTree.h>
#include <swamigui/SwamiguiStatusbar.h>
#define SWAMIGUI_TYPE_ROOT (swamigui_root_get_type ())
#define SWAMIGUI_ROOT(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), SWAMIGUI_TYPE_ROOT, SwamiguiRoot))
#define SWAMIGUI_ROOT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), SWAMIGUI_TYPE_ROOT, SwamiguiRootClass))
#define SWAMIGUI_IS_ROOT(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWAMIGUI_TYPE_ROOT))
#define SWAMIGUI_IS_ROOT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), SWAMIGUI_TYPE_ROOT))
typedef enum
{
SWAMIGUI_QUIT_CONFIRM_ALWAYS, /* always pop a quit confirmation */
SWAMIGUI_QUIT_CONFIRM_UNSAVED, /* only if there are unsaved files */
SWAMIGUI_QUIT_CONFIRM_NEVER /* spontaneous combust */
} SwamiguiQuitConfirm;
/* Swami User Interface Object */
struct _SwamiguiRoot
{
SwamiRoot parent_instance; /* derived from SwamiRoot */
SwamiguiTreeStore *patch_store; /* patch tree store */
IpatchList *tree_stores; /* list of tree stores (including above) */
IpatchList *selection; /* most recent item selection (trees, etc) */
GtkWidget *main_window; /* Main toplevel window */
GtkWidget *tree; /* Tree widget */
GtkWidget *splits; /* Note/velocity splits widget */
gboolean splits_changed; /* Set to TRUE if splits-item changed and needs updating */
GtkWidget *panel_selector; /* Panel selector widget */
SwamiguiStatusbar *statusbar; /* Main statusbar */
SwamiWavetbl *wavetbl; /* Wavetable object */
gboolean solo_item_enabled; /* TRUE if solo item enabled, FALSE otherwise */
GObject *solo_item; /* Solo item child of active-item or NULL */
char *solo_item_icon; /* Stores original icon of current solo item or NULL */
SwamiControlQueue *ctrl_queue; /* control update queue */
guint update_timeout_id; /* GSource ID for GUI update timeout */
int update_interval; /* GUI update interval in milliseconds */
SwamiControlFunc *ctrl_prop; /* patch item property change ctrl listener */
SwamiControlFunc *ctrl_add; /* patch item add control listener */
SwamiControlFunc *ctrl_remove; /* patch item remove control listener */
SwamiguiQuitConfirm quit_confirm; /* quit confirm enum */
gboolean splash_enable; /* show splash on startup? */
guint splash_delay; /* splash delay in milliseconds (0 to wait for button press) */
gboolean tips_enable; /* display next tip on startup? */
int tips_position; /* Swami tips position */
guint *piano_lower_keys; /* zero terminated array of keys (or NULL) */
guint *piano_upper_keys; /* zero terminated array of keys (or NULL) */
GType default_patch_type; /* default patch type (for File->New) */
GNode *loaded_xml_config; /* Last loaded XML config (usually only on startup) or NULL */
};
struct _SwamiguiRootClass
{
SwamiRootClass parent_class;
/* signals */
void (*quit)(SwamiguiRoot *root);
};
/* global instances of SwamiguiRoot */
extern SwamiguiRoot *swamigui_root;
extern SwamiRoot *swami_root; /* just for convenience */
void swamigui_init (int *argc, char **argv[]);
GType swamigui_root_get_type (void);
SwamiguiRoot *swamigui_root_new (void);
void swamigui_root_activate (SwamiguiRoot *root);
void swamigui_root_quit (SwamiguiRoot *root);
SwamiguiRoot *swamigui_get_root (gpointer gobject);
gboolean swamigui_root_save_prefs (SwamiguiRoot *root);
gboolean swamigui_root_load_prefs (SwamiguiRoot *root);
#endif
|