[Goodies-commits] r7577 - in parole/trunk: . data data/interfaces data/mime po src
Ali Abdallah
aliov at xfce.org
Mon Jun 15 12:43:31 CEST 2009
Author: aliov
Date: 2009-06-15 10:43:30 +0000 (Mon, 15 Jun 2009)
New Revision: 7577
Added:
parole/trunk/data/interfaces/parole-settings.ui
parole/trunk/data/mime/
parole/trunk/data/mime/Makefile.am
parole/trunk/data/mime/mime-functions.sh
parole/trunk/data/mime/mime-type-include.sh
parole/trunk/data/mime/mime-type-list.txt
Modified:
parole/trunk/ChangeLog
parole/trunk/Makefile.am
parole/trunk/configure.ac.in
parole/trunk/data/Makefile.am
parole/trunk/po/POTFILES.in
parole/trunk/po/parole-media-player.pot
parole/trunk/src/Makefile.am
parole/trunk/src/filters.c
parole/trunk/src/mediachooser.c
parole/trunk/src/player.c
Log:
* Clear the play pixbuf when finishing playing a list.
* Added mime type functions to generate mime types supported
by Parole, code to do this is taken from Totem.
* Fix finalizing media chooser object before sending file open signal
when opening single media file.
* Add missing files in yesterday's commit.
Modified: parole/trunk/ChangeLog
===================================================================
--- parole/trunk/ChangeLog 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/ChangeLog 2009-06-15 10:43:30 UTC (rev 7577)
@@ -1,3 +1,11 @@
+2009-06-15: Ali aliov at xfce.org
+ * Clear the play pixbuf when finishing playing a list.
+ * Added mime type functions to generate mime types supported
+ by Parole, code to do this is taken from Totem.
+ * Fix finalizing media chooser object before sending file open signal
+ when opening single media file.
+ * Add missing files in yesterday's commit.
+
2009-06-14: Ali aliov at xfce.org
* Added code for configurations.
* By default visualizations are disabled when playing audio files.
Modified: parole/trunk/Makefile.am
===================================================================
--- parole/trunk/Makefile.am 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/Makefile.am 2009-06-15 10:43:30 UTC (rev 7577)
@@ -1,5 +1,6 @@
-SUBDIRS = src \
- data \
+SUBDIRS = \
+ data \
+ src \
po
EXTRA_DIST = \
Modified: parole/trunk/configure.ac.in
===================================================================
--- parole/trunk/configure.ac.in 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/configure.ac.in 2009-06-15 10:43:30 UTC (rev 7577)
@@ -116,11 +116,12 @@
AC_OUTPUT([
Makefile
-src/Makefile
data/Makefile
data/pixmaps/Makefile
data/interfaces/Makefile
data/icons/Makefile
+data/mime/Makefile
+src/Makefile
po/Makefile.in
])
Modified: parole/trunk/data/Makefile.am
===================================================================
--- parole/trunk/data/Makefile.am 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/data/Makefile.am 2009-06-15 10:43:30 UTC (rev 7577)
@@ -1,7 +1,8 @@
SUBDIRS = \
interfaces \
pixmaps \
- icons
+ icons \
+ mime
#
# .desktop file
Added: parole/trunk/data/interfaces/parole-settings.ui
===================================================================
--- parole/trunk/data/interfaces/parole-settings.ui (rev 0)
+++ parole/trunk/data/interfaces/parole-settings.ui 2009-06-15 10:43:30 UTC (rev 7577)
@@ -0,0 +1,208 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-requires xfce4 0.0 -->
+ <!-- interface-naming-policy project-wide -->
+ <object class="XfceTitledDialog" id="settings-dialog">
+ <property name="border_width">5</property>
+ <property name="type_hint">normal</property>
+ <property name="has_separator">False</property>
+ <signal name="response" handler="parole_conf_dialog_response_cb"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkCheckButton" id="enable-vis">
+ <property name="label" translatable="yes">Enable visualization when playing audio file</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Changing this will take effect after parole is restarted or a new media file is loaded.</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="parole_conf_dialog_enable_vis_changed_cb"/>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Visualization type:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="vis-combobox">
+ <property name="visible">True</property>
+ <property name="model">liststore1</property>
+ <signal name="changed" handler="parole_conf_dialog_vis_plugin_changed_cb"/>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext1"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Audio</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Display</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame3">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Subtitles</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="help">
+ <property name="label" translatable="yes">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="close">
+ <property name="label" translatable="yes">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-11">help</action-widget>
+ <action-widget response="-7">close</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkListStore" id="liststore1">
+ <columns>
+ <!-- column-name gchararray1 -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+</interface>
Added: parole/trunk/data/mime/Makefile.am
===================================================================
--- parole/trunk/data/mime/Makefile.am (rev 0)
+++ parole/trunk/data/mime/Makefile.am 2009-06-15 10:43:30 UTC (rev 7577)
@@ -0,0 +1,15 @@
+# Based On Totem
+
+nodist_noinst_HEADERS = parole-mime-types.h
+
+parole-mime-types.h: mime-type-include.sh mime-type-list.txt mime-functions.sh
+ $(srcdir)/mime-type-include.sh $(srcdir)/mime-type-list.txt \
+ > $@
+
+EXTRA_DIST = \
+ mime-functions.sh \
+ mime-type-include.sh \
+ mime-type-list.txt
+
+CLEANFILES = \
+ parole-mime-types.h
\ No newline at end of file
Added: parole/trunk/data/mime/mime-functions.sh
===================================================================
--- parole/trunk/data/mime/mime-functions.sh (rev 0)
+++ parole/trunk/data/mime/mime-functions.sh 2009-06-15 10:43:30 UTC (rev 7577)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+get_audio_mimetypes ()
+{
+ MIMETYPES=`grep -v ^# $1 | grep "\/" | grep audio | grep -v "audio/x-pn-realaudio"`
+ MIMETYPES="$MIMETYPES application/x-flac"
+ MIMETYPES="$MIMETYPES application/vnd.rn-realmedia"
+}
+
+get_video_mimetypes ()
+{
+ MIMETYPES=`grep -v ^# $1 | grep -v x-content/ | grep -v audio | grep -v "application/x-flac"`
+ MIMETYPES="$MIMETYPES audio/x-pn-realaudio"
+}
+
Added: parole/trunk/data/mime/mime-type-include.sh
===================================================================
--- parole/trunk/data/mime/mime-type-include.sh (rev 0)
+++ parole/trunk/data/mime/mime-type-include.sh 2009-06-15 10:43:30 UTC (rev 7577)
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+. `dirname $0`/mime-functions.sh
+
+echo_mime () {
+ echo "\"$i\","
+}
+
+MIMETYPES=`grep -v ^# $1 | grep -v x-content/`
+
+echo "/* generated with mime-types-include.sh, don't edit */"
+
+get_audio_mimetypes $1;
+
+echo "char *audio_mime_types[] = {"
+for i in $MIMETYPES ; do
+ echo_mime;
+done
+
+echo "};"
+
+get_video_mimetypes $1;
+
+echo "char *video_mime_types[] = {"
+for i in $MIMETYPES ; do
+ echo_mime;
+done
+
+echo "};"
+
Property changes on: parole/trunk/data/mime/mime-type-include.sh
___________________________________________________________________
Added: svn:executable
+ *
Added: parole/trunk/data/mime/mime-type-list.txt
===================================================================
--- parole/trunk/data/mime/mime-type-list.txt (rev 0)
+++ parole/trunk/data/mime/mime-type-list.txt 2009-06-15 10:43:30 UTC (rev 7577)
@@ -0,0 +1,104 @@
+application/ogg
+application/ram
+application/sdp
+application/smil
+application/smil+xml
+application/vnd.rn-realmedia
+application/x-extension-m4a
+application/x-extension-mp4
+application/x-flac
+application/x-flash-video
+application/x-matroska
+application/x-netshow-channel
+application/x-ogg
+application/x-quicktime-media-link
+application/x-quicktimeplayer
+application/x-shorten
+application/x-smil
+application/xspf+xml
+audio/3gpp
+audio/ac3
+audio/AMR
+audio/AMR-WB
+audio/basic
+audio/midi
+audio/mp4
+audio/mpeg
+audio/mpegurl
+audio/ogg
+audio/vnd.rn-realaudio
+audio/x-ape
+audio/x-flac
+audio/x-it
+audio/x-m4a
+audio/x-matroska
+audio/x-mod
+audio/x-mp3
+audio/x-mpeg
+audio/x-mpegurl
+audio/x-ms-asf
+audio/x-ms-asx
+audio/x-ms-wax
+audio/x-ms-wma
+audio/x-musepack
+audio/x-pn-aiff
+audio/x-pn-au
+audio/x-pn-realaudio
+audio/x-pn-realaudio-plugin
+audio/x-pn-wav
+audio/x-pn-windows-acm
+audio/x-realaudio
+audio/x-real-audio
+audio/x-sbc
+audio/x-scpls
+audio/x-speex
+audio/x-tta
+audio/x-wav
+audio/x-wavpack
+audio/x-vorbis
+audio/x-vorbis+ogg
+audio/x-xm
+image/vnd.rn-realpix
+image/x-pict
+misc/ultravox
+text/google-video-pointer
+text/x-google-video-pointer
+video/3gpp
+video/dv
+video/fli
+video/flv
+video/mp4
+video/mp4v-es
+video/mpeg
+video/msvideo
+video/ogg
+video/quicktime
+video/vivo
+video/vnd.divx
+video/vnd.rn-realvideo
+video/vnd.vivo
+video/x-anim
+video/x-avi
+video/x-flc
+video/x-fli
+video/x-flic
+video/x-flv
+video/x-m4v
+video/x-matroska
+video/x-mpeg
+video/x-ms-asf
+video/x-msvideo
+video/x-ms-wm
+video/x-ms-wmv
+video/x-ms-wmx
+video/x-ms-wvx
+video/x-nsv
+video/x-ogm+ogg
+video/x-theora+ogg
+video/x-totem-stream
+x-content/video-dvd
+x-content/video-vcd
+x-content/video-svcd
+# No support for those yet
+#x-content/video-blueray
+#x-content/video-hddvd
Modified: parole/trunk/po/POTFILES.in
===================================================================
--- parole/trunk/po/POTFILES.in 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/po/POTFILES.in 2009-06-15 10:43:30 UTC (rev 7577)
@@ -2,6 +2,7 @@
data/interfaces/mediachooser.ui
data/interfaces/playlist.ui
data/interfaces/openlocation.ui
+data/interfaces/parole-settings.ui
data/parole-media-player.desktop.in
src/gst.c
src/builder.c
Modified: parole/trunk/po/parole-media-player.pot
===================================================================
--- parole/trunk/po/parole-media-player.pot 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/po/parole-media-player.pot 2009-06-15 10:43:30 UTC (rev 7577)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-10 20:58+0200\n"
+"POT-Creation-Date: 2009-06-15 12:41+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -20,16 +20,16 @@
msgid "Parole Media Player"
msgstr ""
-#: ../src/gst.c:640
+#: ../src/gst.c:650
msgid "Error in changing state to ready"
msgstr ""
-#: ../src/gst.c:687
+#: ../src/gst.c:697
msgid ""
"Unable to load playbin GStreamer plugin, check your GStreamer installation"
msgstr ""
-#: ../src/gst.c:702
+#: ../src/gst.c:712
msgid ""
"Unable to load video GStreamer plugin, check your GStreamer installation"
msgstr ""
@@ -38,19 +38,19 @@
msgid "Check your Parole installation"
msgstr ""
-#: ../src/mediachooser.c:433
+#: ../src/mediachooser.c:436
msgid "Add media files"
msgstr ""
-#: ../src/mediachooser.c:433
+#: ../src/mediachooser.c:436
msgid "Open media file"
msgstr ""
-#: ../src/mediachooser.c:450
+#: ../src/mediachooser.c:453
msgid "Add"
msgstr ""
-#: ../src/mediachooser.c:450
+#: ../src/mediachooser.c:453
msgid "Open"
msgstr ""
@@ -58,27 +58,27 @@
msgid "Media list"
msgstr ""
-#: ../src/player.c:161
+#: ../src/player.c:168
msgid "Hide playlist"
msgstr ""
-#: ../src/player.c:170
+#: ../src/player.c:177
msgid "Show playlist"
msgstr ""
-#: ../src/player.c:299 ../src/statusbar.c:121 ../src/statusbar.c:123
+#: ../src/player.c:306 ../src/statusbar.c:125 ../src/statusbar.c:127
msgid "Playing"
msgstr ""
-#: ../src/player.c:300
+#: ../src/player.c:307
msgid "Media stream is not seekable"
msgstr ""
-#: ../src/player.c:316 ../src/player.c:329
+#: ../src/player.c:323 ../src/player.c:336
msgid "Paused"
msgstr ""
-#: ../src/player.c:347
+#: ../src/player.c:354
msgid "Stopped"
msgstr ""
@@ -95,18 +95,18 @@
"</b>"
msgstr ""
-#: ../src/statusbar.c:133
+#: ../src/statusbar.c:137
msgid "Buffering"
msgstr ""
-#: ../src/filters.c:47
-msgid "Audio files"
+#: ../src/filters.c:45
+msgid "Supported audio"
msgstr ""
#: ../src/filters.c:63
-msgid "Video files"
+msgid "Supported video"
msgstr ""
-#: ../src/filters.c:78
-msgid "Audio and video"
+#: ../src/filters.c:81
+msgid "Supported audio and video"
msgstr ""
Modified: parole/trunk/src/Makefile.am
===================================================================
--- parole/trunk/src/Makefile.am 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/src/Makefile.am 2009-06-15 10:43:30 UTC (rev 7577)
@@ -52,6 +52,7 @@
parole_media_player_CFLAGS = \
-I$(top_srcdir) \
+ -I$(top_srcdir)/data/mime \
-DLOCALEDIR=\"$(localedir)\" \
-DG_LOG_DOMAIN=\"parole-media-player\" \
-export-dynamic \
Modified: parole/trunk/src/filters.c
===================================================================
--- parole/trunk/src/filters.c 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/src/filters.c 2009-06-15 10:43:30 UTC (rev 7577)
@@ -30,23 +30,22 @@
#include <glib.h>
#include "filters.h"
+#include "data/mime/parole-mime-types.h"
/*
- * Of course those are temporary filters.
- */
-
-/*
* Supported Audio formats.
*/
GtkFileFilter *parole_get_supported_audio_filter (void)
{
GtkFileFilter *filter;
+ guint i;
filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Audio files"));
+ gtk_file_filter_set_name (filter, _("Supported audio"));
- gtk_file_filter_add_mime_type (filter, "audio/*");
+ for ( i = 0; i < G_N_ELEMENTS (audio_mime_types); i++)
+ gtk_file_filter_add_mime_type (filter, audio_mime_types[i]);
return filter;
}
@@ -57,12 +56,14 @@
GtkFileFilter *parole_get_supported_video_filter (void)
{
GtkFileFilter *filter;
+ guint i;
filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Video files"));
+ gtk_file_filter_set_name (filter, _("Supported video"));
- gtk_file_filter_add_mime_type (filter, "video/*");
+ for ( i = 0; i < G_N_ELEMENTS (video_mime_types); i++)
+ gtk_file_filter_add_mime_type (filter, video_mime_types[i]);
return filter;
}
@@ -73,12 +74,17 @@
GtkFileFilter *parole_get_supported_media_filter (void)
{
GtkFileFilter *filter;
+ guint i;
+
filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Audio and video"));
+ gtk_file_filter_set_name (filter, _("Supported audio and video"));
- gtk_file_filter_add_mime_type (filter, "video/*");
- gtk_file_filter_add_mime_type (filter, "audio/*");
+ for ( i = 0; i < G_N_ELEMENTS (audio_mime_types); i++)
+ gtk_file_filter_add_mime_type (filter, audio_mime_types[i]);
+
+ for ( i = 0; i < G_N_ELEMENTS (video_mime_types); i++)
+ gtk_file_filter_add_mime_type (filter, video_mime_types[i]);
return filter;
}
Modified: parole/trunk/src/mediachooser.c
===================================================================
--- parole/trunk/src/mediachooser.c 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/src/mediachooser.c 2009-06-15 10:43:30 UTC (rev 7577)
@@ -375,13 +375,14 @@
if ( multiple == FALSE )
{
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_chooser));
- parole_media_chooser_close (NULL, chooser);
+
if ( G_LIKELY (filename != NULL ) )
{
file = parole_media_file_new (filename);
g_signal_emit (G_OBJECT (chooser), signals [MEDIA_FILE_OPENED], 0, file);
g_free (filename);
}
+ parole_media_chooser_close (NULL, chooser);
}
else
{
@@ -397,7 +398,7 @@
ParoleMediaFile *file;
GtkWidget *entry;
const gchar *location;
-
+
entry = GTK_WIDGET (g_object_get_data (G_OBJECT (chooser), "entry"));
location = gtk_entry_get_text (GTK_ENTRY (entry));
Modified: parole/trunk/src/player.c
===================================================================
--- parole/trunk/src/player.c 2009-06-15 07:11:06 UTC (rev 7576)
+++ parole/trunk/src/player.c 2009-06-15 10:43:30 UTC (rev 7577)
@@ -389,6 +389,7 @@
if ( player->priv->row )
{
+ parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
row = parole_media_list_get_next_row (player->priv->list, player->priv->row);
if ( row )
More information about the Goodies-commits
mailing list