From 81cb3c2cb062255fb3d44e1df246a52489cd035b Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Fri, 18 May 2012 20:38:16 +0200 Subject: first draft of transcript widget --- src/default.ui | 29 +++++++++++++++++++++++++++-- src/experiment-player.h | 5 +++++ src/main.c | 43 +++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 73 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/default.ui b/src/default.ui index 23123a0..3ab26f3 100644 --- a/src/default.ui +++ b/src/default.ui @@ -268,9 +268,34 @@ audio-volume-medium True 339 - + True - Transcript Widget (TODO) + False + + + True + + + 0 + + + + + True + + + 1 + + + + + True + + + False + 2 + + False diff --git a/src/experiment-player.h b/src/experiment-player.h index 1d9f8a2..0f32945 100644 --- a/src/experiment-player.h +++ b/src/experiment-player.h @@ -14,6 +14,11 @@ extern GtkWidget *player_widget, *playpause_button, *volume_button; +extern GtkWidget *transcript_hbox, + *transcript_wizard_widget, + *transcript_proband_widget, + *transcript_scroll_widget; + extern GtkWidget *navigator_scrolledwindow, *navigator_widget; diff --git a/src/main.c b/src/main.c index fc05a1b..8901502 100644 --- a/src/main.c +++ b/src/main.c @@ -19,6 +19,7 @@ #include #include +#include #include #include "experiment-player.h" @@ -31,6 +32,11 @@ GtkWidget *player_widget, *playpause_button, *volume_button; +GtkWidget *transcript_hbox, + *transcript_wizard_widget, + *transcript_proband_widget, + *transcript_scroll_widget; + GtkWidget *navigator_scrolledwindow, *navigator_widget; @@ -172,7 +178,6 @@ load_media_file(const gchar *file) current_filename = g_strdup(file); gtk_widget_set_sensitive(controls_hbox, TRUE); - gtk_widget_set_sensitive(navigator_scrolledwindow, TRUE); button_image_set_from_stock(GTK_BUTTON(playpause_button), "gtk-media-play"); @@ -190,6 +195,20 @@ load_transcript_file(const gchar *file) if (reader == NULL) return TRUE; + res = gtk_experiment_transcript_load(GTK_EXPERIMENT_TRANSCRIPT(transcript_wizard_widget), + reader); + if (res) { + g_object_unref(G_OBJECT(reader)); + return TRUE; + } + + res = gtk_experiment_transcript_load(GTK_EXPERIMENT_TRANSCRIPT(transcript_proband_widget), + reader); + if (res) { + g_object_unref(G_OBJECT(reader)); + return TRUE; + } + res = gtk_experiment_navigator_load(GTK_EXPERIMENT_NAVIGATOR(navigator_widget), reader); if (res) { @@ -198,6 +217,10 @@ load_transcript_file(const gchar *file) } g_object_unref(reader); + + gtk_widget_set_sensitive(transcript_hbox, TRUE); + gtk_widget_set_sensitive(navigator_scrolledwindow, TRUE); + return FALSE; } @@ -256,17 +279,33 @@ main(int argc, char *argv[]) BUILDER_INIT(builder, quickopen_menu); BUILDER_INIT(builder, quickopen_menu_empty_item); + BUILDER_INIT(builder, transcript_hbox); + BUILDER_INIT(builder, transcript_wizard_widget); + BUILDER_INIT(builder, transcript_proband_widget); + BUILDER_INIT(builder, transcript_scroll_widget); + BUILDER_INIT(builder, navigator_scrolledwindow); BUILDER_INIT(builder, navigator_widget); g_object_unref(G_OBJECT(builder)); - /* connect timeline and volume button with player widget */ + /** @todo most of this could be done in Glade with proper catalog files */ + /* connect timeline, volume button and other widgets with player widget */ adj = gtk_vlc_player_get_time_adjustment(GTK_VLC_PLAYER(player_widget)); gtk_range_set_adjustment(GTK_RANGE(scale_widget), adj); + gtk_experiment_transcript_set_time_adjustment(GTK_EXPERIMENT_TRANSCRIPT(transcript_wizard_widget), + adj); + gtk_experiment_transcript_set_time_adjustment(GTK_EXPERIMENT_TRANSCRIPT(transcript_proband_widget), + adj); + gtk_range_set_adjustment(GTK_RANGE(transcript_scroll_widget), adj); + adj = gtk_vlc_player_get_volume_adjustment(GTK_VLC_PLAYER(player_widget)); gtk_scale_button_set_adjustment(GTK_SCALE_BUTTON(volume_button), adj); + /* configure transcript widgets */ + GTK_EXPERIMENT_TRANSCRIPT(transcript_wizard_widget)->speaker = g_strdup("Wizard"); + GTK_EXPERIMENT_TRANSCRIPT(transcript_proband_widget)->speaker = g_strdup("Proband"); + quickopen_directory = g_strdup(DEFAULT_QUICKOPEN_DIR); refresh_quickopen_menu(GTK_MENU(quickopen_menu)); -- cgit v1.2.3