aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-18 20:38:16 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-30 15:56:15 +0200
commit81cb3c2cb062255fb3d44e1df246a52489cd035b (patch)
tree0cf0776f87340e4f9f37922209882d3ee523cd5d /src
parent099969757f0f74c1fc3a65db05442261227174d3 (diff)
downloadexperiment-player-81cb3c2cb062255fb3d44e1df246a52489cd035b.tar.gz
first draft of transcript widget
Diffstat (limited to 'src')
-rw-r--r--src/default.ui29
-rw-r--r--src/experiment-player.h5
-rw-r--r--src/main.c43
3 files changed, 73 insertions, 4 deletions
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</property>
<property name="can_focus">True</property>
<property name="position">339</property>
<child>
- <object class="GtkLabel" id="transcript_widget">
+ <object class="GtkHBox" id="transcript_hbox">
<property name="visible">True</property>
- <property name="label" translatable="yes">Transcript Widget (TODO)</property>
+ <property name="sensitive">False</property>
+ <child>
+ <object class="GtkExperimentTranscript" id="transcript_wizard_widget">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkExperimentTranscript" id="transcript_proband_widget">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVScrollbar" id="transcript_scroll_widget">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="resize">False</property>
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 <gtk-vlc-player.h>
#include <gtk-experiment-navigator.h>
+#include <gtk-experiment-transcript.h>
#include <experiment-reader.h>
#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));