Translations from launchpad!
[sgc.git] / sgc.h
blob3b80c88c4f8976c0f65be97f2474c2465a123aef
1 #include <glib/gi18n.h>
2 #include <gtk/gtk.h>
3 #include <glade/glade.h>
4 #include <glib/gstdio.h>
5 #include <pango/pango-utils.h>
6 #include <unistd.h>
7 #include "Thing.h"
8 #include "PitchTier.h"
9 #include "Pitch.h"
11 /* Paths to files and directories */
12 #define DISTPATH "distfiles" /* This is the output direcory for new distfiles */
13 #define LOCALEDIR "locale" /* This is the directory for localizations */
14 #define PINYINPATH "pinyin" /* Here we store the common audioexamples */
15 #define PITCHPATH "PitchTiers" /* This is the temporary output for praatscripts */
16 #define RECORDPATH "records" /* Here we store the voice recordings */
17 #define GLADESOURCE "sgc.glade" /* Filename that stores the Glade GUI */
18 #define CONFIGFILE "sgc.ini" /* Filename that stores the configuration file */
19 #define SCRIPTPATH "SGC_ToneProt" /* This is the recognizer path for SGC */
20 #define WORDLISTS "wordlists" /* This is the directory with wordlists */
21 #define TESTFILE "tests.txt" /* If everything fails use this filename */
23 #ifdef MINGW
24 #define STORAGE "APPDATA"
25 #define STOREAS "sgc"
26 #else
27 #define STORAGE "HOME"
28 #define STOREAS ".sgc"
29 #endif
31 /* Hardcodec configs */
32 #define MAXTESTS 0 /* Maximum amount of word splits from a file */
34 #define RECORDTIME 3.5 /* Amount of time to record */
35 // #define LASTEXAMPLE 1 /* Play last example, instead of last recording */
37 /* Use our own PitchTier Parser, or use the one that was copied from praat.
38 * On windows we use this one because of compatibility issues
40 #define PITCHTIER 1
42 #define PRAATEXTERNAL 1
44 /* Which binary do we need to invoke in order to start a script */
45 #ifdef MINGW
46 #define PRAATBIN "praatcon.exe"
47 #elif PPC
48 #define PRAATBIN "./praat.ppc"
49 #else
50 #define PRAATBIN "./praat"
51 #endif
53 extern GladeXML *xml;
54 extern gdouble upperRegister;
56 gpointer sound_init(void *args);
57 gpointer play(void *args);
58 gpointer example(void *args);
59 gpointer record(void *args);
61 void drawPitchTier(cairo_t *cr, gchar *filename, gint width, gint height, gdouble top);
63 void on_buttonNext_clicked(GtkWidget *widget, gpointer user_data);
64 void on_treeview_edited (GtkCellRendererText *celltext, const gchar *string_path, const gchar *new_text, gpointer data);
65 void on_windowMain_realize(GtkWidget *widget, gpointer user_data);
68 void create_list_view();
70 void add_entry(gchar *txt);
72 void fileOpen(gchar *filename);
73 void fileSave(gchar *filename);
74 void fileClose();
75 void updateWidgets();
77 enum
79 COL_TEXT = 0,
80 NUM_COLS
84 GtkListStore *liststore;
85 GtkTreeIter mainIter;
86 gboolean treevalid;
87 gchar *base;
88 gchar *file;
90 void clear();
91 gboolean next(GtkWidget *next);
92 gboolean prev(GtkWidget *prev);
93 void removeRecordings();
94 void setBase(gchar *newbase);
95 void setFile(gchar *newfile);
97 void configOpen();
98 void configSave();
100 gboolean openSGC(gchar *oldfilename);
101 void saveSGC(gchar *dir, gchar *path);