mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-14 13:21:28 +00:00
60b626e820
Original commit message from CVS: glade based gstplay version. better avi/mpeg support. nice about dialog :-) Drag and drop should work.
127 lines
3.2 KiB
C
127 lines
3.2 KiB
C
#ifdef HAVE_CONFIG_H
|
|
# include <config.h>
|
|
#endif
|
|
|
|
#include <gnome.h>
|
|
#include <glade/glade.h>
|
|
#include <gst/gst.h>
|
|
|
|
#include "gstplay.h"
|
|
#include "callbacks.h"
|
|
#include "interface.h"
|
|
|
|
extern GstElement *src;
|
|
extern gboolean picture_shown;
|
|
extern GstPlayState state;
|
|
extern guchar statusline[];
|
|
extern guchar *statustext;
|
|
extern GtkFileSelection *open_file_selection;
|
|
|
|
void
|
|
on_save1_activate (GtkMenuItem *menuitem,
|
|
gpointer user_data)
|
|
{
|
|
printf("file1 activate\n");
|
|
|
|
}
|
|
|
|
void
|
|
on_save_as1_activate (GtkMenuItem *menuitem,
|
|
gpointer user_data)
|
|
{
|
|
printf("file1 activate\n");
|
|
|
|
}
|
|
|
|
void
|
|
on_media2_activate (GtkMenuItem *menuitem,
|
|
gpointer user_data)
|
|
{
|
|
printf("file1 activate\n");
|
|
|
|
}
|
|
void
|
|
on_preferences1_activate (GtkMenuItem *menuitem,
|
|
gpointer user_data)
|
|
{
|
|
printf("file1 activate\n");
|
|
|
|
}
|
|
|
|
void
|
|
on_open2_activate (GtkMenuItem *menuitem,
|
|
gpointer user_data)
|
|
{
|
|
GladeXML *xml;
|
|
xml = glade_xml_new("gstplay.glade", "fileselection1");
|
|
/* connect the signals in the interface */
|
|
glade_xml_signal_autoconnect(xml);
|
|
open_file_selection = glade_xml_get_widget(xml, "fileselection1");
|
|
}
|
|
|
|
void
|
|
on_toggle_play_toggled (GtkToggleButton *togglebutton,
|
|
gpointer user_data)
|
|
{
|
|
update_buttons(0);
|
|
change_state(GSTPLAY_PLAYING);
|
|
|
|
}
|
|
|
|
void
|
|
on_toggle_pause_toggled (GtkToggleButton *togglebutton,
|
|
gpointer user_data)
|
|
{
|
|
update_buttons(1);
|
|
change_state(GSTPLAY_PAUSE);
|
|
|
|
}
|
|
|
|
void
|
|
on_toggle_stop_toggled (GtkToggleButton *togglebutton,
|
|
gpointer user_data)
|
|
{
|
|
update_buttons(2);
|
|
change_state(GSTPLAY_STOPPED);
|
|
}
|
|
|
|
void
|
|
on_hscale1_value_changed (GtkAdjustment *adj,
|
|
gpointer user_data)
|
|
{
|
|
int size = gst_util_get_int_arg(GTK_OBJECT(src),"size");
|
|
|
|
gtk_object_set(GTK_OBJECT(src),"offset",(int)(adj->value*size/100.0),NULL);
|
|
|
|
if (state != GSTPLAY_PLAYING) {
|
|
show_next_picture();
|
|
}
|
|
}
|
|
|
|
void
|
|
on_drawingarea1_configure_event (GtkWidget *widget, GdkEventConfigure *event,
|
|
gpointer user_data)
|
|
{
|
|
gdk_draw_rectangle(widget->window,
|
|
widget->style->black_gc,
|
|
TRUE, 0,0,
|
|
widget->allocation.width,
|
|
widget->allocation.height);
|
|
|
|
gdk_draw_string(widget->window,widget->style->font,widget->style->white_gc, 8, 15, statustext);
|
|
gdk_draw_string(widget->window,widget->style->font,widget->style->white_gc, widget->allocation.width-100, 15, statusline);
|
|
}
|
|
|
|
void on_about_activate(GtkWidget *widget, gpointer data)
|
|
{
|
|
GladeXML *xml;
|
|
xml = glade_xml_new("gstplay.glade", "about");
|
|
/* connect the signals in the interface */
|
|
glade_xml_signal_autoconnect(xml);
|
|
}
|
|
|
|
void on_gstplay_destroy(GtkWidget *widget, gpointer data)
|
|
{
|
|
gtk_main_quit();
|
|
}
|
|
|