├── .circleci └── config.yml ├── .github └── ISSUE_TEMPLATE.md ├── AUTHORS ├── COPYING ├── ChangeLog ├── ChangeLog.pre-gitlog ├── INSTALL ├── MAINTAINERS ├── Makefile.am ├── NEWS ├── README ├── TODO ├── autogen.sh ├── configure.ac ├── data ├── Makefile.am ├── desktop.sh ├── fullscreen.ui ├── icons │ ├── 16x16 │ │ ├── Makefile.am │ │ ├── xplayer-tv.png │ │ ├── xplayer-tv.svg │ │ └── xplayer.png │ ├── 22x22 │ │ ├── Makefile.am │ │ ├── xplayer-tv.png │ │ ├── xplayer-tv.svg │ │ └── xplayer.png │ ├── 24x24 │ │ ├── Makefile.am │ │ ├── xplayer-tv.png │ │ └── xplayer.png │ ├── 32x32 │ │ ├── Makefile.am │ │ ├── xplayer-tv.png │ │ ├── xplayer-tv.svg │ │ └── xplayer.png │ ├── 48x48 │ │ ├── Makefile.am │ │ ├── xplayer-tv.png │ │ └── xplayer.png │ ├── 64x64 │ │ ├── Makefile.am │ │ └── xplayer.png │ ├── 96x96 │ │ ├── Makefile.am │ │ └── xplayer.png │ ├── Makefile.am │ ├── scalable │ │ ├── Makefile.am │ │ ├── xplayer-tv.svg │ │ └── xplayer-view-sidebar-symbolic.svg │ └── xplayer.svg ├── mime-functions.sh ├── mime-type-imports.sh ├── mime-type-include.sh ├── mime-type-list.txt ├── org.x.player.gschema.xml.in.in ├── playlist.ui ├── preferences.ui ├── properties.ui ├── thumbnailer.sh ├── uri-scheme-include.sh ├── uri-schemes-list.txt ├── uri.ui ├── xplayer-bugreport.py ├── xplayer-video-thumbnailer.1 ├── xplayer-video-thumbnailer.pod ├── xplayer.1 ├── xplayer.desktop.in.in.in ├── xplayer.pc.in ├── xplayer.thumbnailer.in └── xplayer.ui ├── debian ├── bug │ └── control ├── changelog ├── compat ├── control ├── copyright ├── gir1.2-xplayer-1.0.install ├── libxplayer-dev.install ├── libxplayer0.install ├── patches │ ├── 91_quicklist_entries.patch │ ├── 92_gst-plugins-good.patch │ ├── 93_grilo_optional.patch │ ├── correct_desktop_mimetypes.patch │ ├── git-fix-subtitle-downloader.patch │ ├── git_clutter_correct_use.patch │ ├── revert_shell_menu.patch │ └── series ├── rules ├── source │ └── format ├── source_xplayer.py ├── test.html ├── watch ├── xplayer-common.install ├── xplayer-plugins-extra.install ├── xplayer-plugins.install ├── xplayer-thumbnailer.install ├── xplayer.README.Debian ├── xplayer.install ├── xplayer.lintian-overrides ├── xplayer.menu └── xplayer.xpm ├── docs ├── Makefile.am └── reference │ ├── Makefile.am │ ├── version.xml │ ├── version.xml.in │ ├── xplayer-docs.xml │ ├── xplayer-overrides.txt │ ├── xplayer-plugins.xml │ ├── xplayer-sections.txt │ └── xplayer.types ├── gtk-doc.make ├── help ├── C │ ├── figures │ │ ├── xplayer_next_button.png │ │ ├── xplayer_pause_button.png │ │ ├── xplayer_play_button.png │ │ ├── xplayer_previous_button.png │ │ ├── xplayer_show_playlist_button.png │ │ ├── xplayer_start_window.png │ │ ├── xplayer_volume_maximum_button.png │ │ └── xplayer_volume_mute_button.png │ ├── index.docbook │ └── legal.xml ├── ChangeLog ├── Makefile.am ├── bg │ └── bg.po ├── ca │ └── ca.po ├── cs │ └── cs.po ├── da │ └── da.po ├── de │ └── de.po ├── el │ └── el.po ├── en_GB │ └── en_GB.po ├── es │ └── es.po ├── eu │ └── eu.po ├── fi │ └── fi.po ├── fr │ └── fr.po ├── gl │ └── gl.po ├── hr │ ├── figures │ │ └── xplayer_start_window.png │ └── hr.po ├── it │ └── it.po ├── ja │ └── ja.po ├── oc │ └── oc.po ├── pa │ └── pa.po ├── pl │ └── pl.po ├── pt_BR │ └── pt_BR.po ├── ro │ └── ro.po ├── ru │ └── ru.po ├── sl │ └── sl.po ├── sv │ └── sv.po ├── te │ └── te.po ├── uk │ └── uk.po ├── zh_CN │ └── zh_CN.po ├── zh_HK │ └── zh_HK.po └── zh_TW │ └── zh_TW.po ├── intltool-extract.in ├── intltool-merge.in ├── intltool-update.in ├── libgd ├── Makefile.am ├── README ├── libgd.m4 ├── libgd │ ├── gd-main-icon-view.c │ ├── gd-main-icon-view.h │ ├── gd-main-view-generic.c │ ├── gd-main-view-generic.h │ ├── gd-styled-text-renderer.c │ ├── gd-styled-text-renderer.h │ ├── gd-tagged-entry.c │ ├── gd-tagged-entry.h │ ├── gd-toggle-pixbuf-renderer.c │ ├── gd-toggle-pixbuf-renderer.h │ ├── gd-two-lines-renderer.c │ ├── gd-two-lines-renderer.h │ ├── gd-types-catalog.c │ ├── gd-types-catalog.h │ └── gd.h ├── test-header-bar.c ├── test-revealer.c └── test-stack.c ├── license_change ├── m4 └── intltool.m4 ├── po ├── ChangeLog ├── LINGUAS ├── Makefile.in.in ├── POTFILES.in ├── POTFILES.skip ├── af.po ├── am.po ├── ar.po ├── as.po ├── ast.po ├── az.po ├── be.po ├── be@latin.po ├── bg.po ├── bn.po ├── bn_IN.po ├── br.po ├── bs.po ├── ca.po ├── ca@valencia.po ├── crh.po ├── cs.po ├── cy.po ├── da.po ├── de.po ├── dz.po ├── el.po ├── en@shaw.po ├── en_CA.po ├── en_GB.po ├── eo.po ├── es.po ├── et.po ├── eu.po ├── fa.po ├── fi.po ├── fr.po ├── fr_CA.po ├── ga.po ├── gl.po ├── gu.po ├── gv.po ├── he.po ├── hi.po ├── hr.po ├── hu.po ├── ia.po ├── id.po ├── ie.po ├── is.po ├── it.po ├── ja.po ├── ka.po ├── kab.po ├── kk.po ├── km.po ├── kn.po ├── ko.po ├── ku.po ├── ky.po ├── la.po ├── lt.po ├── lv.po ├── mai.po ├── makepot ├── mg.po ├── mk.po ├── ml.po ├── mr.po ├── ms.po ├── my.po ├── nb.po ├── ne.po ├── nl.po ├── nn.po ├── oc.po ├── or.po ├── pa.po ├── pl.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── rue.po ├── rw.po ├── si.po ├── sk.po ├── sl.po ├── sq.po ├── sr.po ├── sr@latin.po ├── sv.po ├── ta.po ├── te.po ├── tg.po ├── th.po ├── tr.po ├── ug.po ├── uk.po ├── ur.po ├── uz.po ├── vi.po ├── wa.po ├── xh.po ├── xplayer.pot ├── zgh.po ├── zh_CN.po ├── zh_HK.po ├── zh_TW.po └── zu.po ├── src ├── Makefile.am ├── backend │ ├── Makefile.am │ ├── bacon-video-osd-actor.c │ ├── bacon-video-osd-actor.h │ ├── bacon-video-widget-enums.c │ ├── bacon-video-widget-enums.h │ ├── bacon-video-widget-gst-missing-plugins.c │ ├── bacon-video-widget-gst-missing-plugins.h │ ├── bacon-video-widget.c │ ├── bacon-video-widget.h │ ├── bvw-test.c │ ├── gsd-osd-window-private.h │ ├── gsd-osd-window.c │ ├── gsd-osd-window.h │ ├── video-utils.c │ ├── video-utils.h │ ├── xplayer-aspect-frame.c │ └── xplayer-aspect-frame.h ├── egg-macros.h ├── eggdesktopfile.c ├── eggdesktopfile.h ├── eggfileformatchooser.c ├── eggfileformatchooser.h ├── eggsmclient-osx.c ├── eggsmclient-private.h ├── eggsmclient-win32.c ├── eggsmclient-xsmp.c ├── eggsmclient.c ├── eggsmclient.h ├── gd-fullscreen-filter.c ├── gd-fullscreen-filter.h ├── gst │ ├── Makefile.am │ ├── xplayer-gst-helpers.c │ ├── xplayer-gst-helpers.h │ ├── xplayer-gst-pixbuf-helpers.c │ ├── xplayer-gst-pixbuf-helpers.h │ ├── xplayer-rtl-helpers.c │ ├── xplayer-rtl-helpers.h │ ├── xplayer-time-helpers.c │ └── xplayer-time-helpers.h ├── plugins │ ├── Makefile.am │ ├── Makefile.plugins │ ├── apple-trailers │ │ ├── Makefile.am │ │ ├── apple-trailers.plugin.in │ │ └── xplayer-apple-trailers.c │ ├── autoload-subtitles │ │ ├── Makefile.am │ │ ├── autoload-subtitles.plugin.in │ │ └── xplayer-autoload-subtitles.c │ ├── brasero-disc-recorder │ │ ├── Makefile.am │ │ ├── brasero-disc-recorder.plugin.in │ │ └── xplayer-disc-recorder.c │ ├── chapters │ │ ├── Makefile.am │ │ ├── chapters-edit.ui │ │ ├── chapters-list.ui │ │ ├── chapters.plugin.in │ │ ├── xplayer-chapters-utils.c │ │ ├── xplayer-chapters-utils.h │ │ ├── xplayer-chapters.c │ │ ├── xplayer-cmml-parser.c │ │ ├── xplayer-cmml-parser.h │ │ ├── xplayer-edit-chapter.c │ │ └── xplayer-edit-chapter.h │ ├── dbusservice │ │ ├── Makefile.am │ │ ├── dbusservice.plugin.in │ │ └── dbusservice.py │ ├── grilo │ │ ├── Makefile.am │ │ ├── grilo.plugin.in │ │ ├── grilo.ui │ │ ├── xplayer-grilo.c │ │ ├── xplayer-grilo.conf │ │ ├── xplayer-search-entry.c │ │ └── xplayer-search-entry.h │ ├── gromit │ │ ├── Makefile.am │ │ ├── gromit.plugin.in │ │ └── xplayer-gromit.c │ ├── im-status │ │ ├── Makefile.am │ │ ├── xplayer-im-status.c │ │ └── xplayer-im-status.plugin.in │ ├── lirc │ │ ├── Makefile.am │ │ ├── lirc.plugin.in │ │ ├── xplayer-lirc.c │ │ └── xplayer_lirc_default │ ├── media-player-keys │ │ ├── Makefile.am │ │ ├── media-player-keys.plugin.in │ │ └── xplayer-media-player-keys.c │ ├── ontop │ │ ├── Makefile.am │ │ ├── ontop.plugin.in │ │ └── xplayer-ontop.c │ ├── opensubtitles │ │ ├── Makefile.am │ │ ├── hash.py │ │ ├── opensubtitles.plugin.in │ │ ├── opensubtitles.py │ │ ├── opensubtitles.ui │ │ └── org.x.player.plugins.opensubtitles.gschema.xml.in.in │ ├── properties │ │ ├── Makefile.am │ │ ├── movie-properties.plugin.in │ │ └── xplayer-movie-properties.c │ ├── pythonconsole │ │ ├── Makefile.am │ │ ├── console.py │ │ ├── org.x.player.plugins.pythonconsole.gschema.xml.in.in │ │ ├── pythonconsole.plugin.in │ │ └── pythonconsole.py │ ├── recent │ │ ├── Makefile.am │ │ ├── recent.plugin.in │ │ └── xplayer-recent.c │ ├── rotation │ │ ├── Makefile.am │ │ ├── bacon-video.vapi │ │ ├── rotation.plugin.in │ │ └── xplayer-rotation-plugin.vala │ ├── sample-vala │ │ ├── Makefile.am │ │ ├── libsample_vala_la_vala.stamp │ │ ├── sample-vala.plugin.in │ │ ├── xplayer-sample-vala-plugin.c │ │ └── xplayer-sample-vala-plugin.vala │ ├── samplepython │ │ ├── Makefile.am │ │ ├── samplepython.plugin.in │ │ └── samplepython.py │ ├── screensaver │ │ ├── Makefile.am │ │ ├── screensaver.plugin.in │ │ └── xplayer-screensaver.c │ ├── screenshot │ │ ├── Makefile.am │ │ ├── gallery.ui │ │ ├── screenshot-filename-builder.c │ │ ├── screenshot-filename-builder.h │ │ ├── screenshot.plugin.in │ │ ├── xplayer-gallery-progress.c │ │ ├── xplayer-gallery-progress.h │ │ ├── xplayer-gallery.c │ │ ├── xplayer-gallery.h │ │ ├── xplayer-screenshot-plugin.c │ │ └── xplayer-screenshot-plugin.h │ ├── sidebar-test │ │ ├── Makefile.am │ │ ├── sidebar-test.plugin.in │ │ └── xplayer-sidebar-test.c │ ├── skipto │ │ ├── Makefile.am │ │ ├── skipto.plugin.in │ │ ├── skipto.ui │ │ ├── xplayer-skipto-plugin.c │ │ ├── xplayer-skipto.c │ │ ├── xplayer-skipto.h │ │ ├── xplayer-time-entry.c │ │ └── xplayer-time-entry.h │ ├── vimeo │ │ ├── Makefile.am │ │ ├── vimeo.plugin.in │ │ └── xplayer-vimeo.c │ ├── xplayer-dirs.c │ ├── xplayer-dirs.h │ ├── xplayer-plugin.h │ ├── xplayer-plugins-engine.c │ ├── xplayer-plugins-engine.h │ └── zeitgeist-dp │ │ ├── Makefile.am │ │ ├── bacon-video.vapi │ │ ├── libxplayer_zeitgeist_dp_plugin_la_vala.stamp │ │ ├── xplayer-zeitgeist-dp-plugin.c │ │ ├── xplayer-zeitgeist-dp-plugin.vala │ │ └── zeitgeist-dp.plugin.in ├── properties │ ├── Makefile.am │ ├── bacon-video-widget-properties.c │ └── bacon-video-widget-properties.h ├── xplayer-audio-preview.c ├── xplayer-dnd-menu.c ├── xplayer-dnd-menu.h ├── xplayer-fullscreen.c ├── xplayer-fullscreen.h ├── xplayer-interface.c ├── xplayer-interface.h ├── xplayer-menu.c ├── xplayer-menu.h ├── xplayer-object.c ├── xplayer-open-location.c ├── xplayer-open-location.h ├── xplayer-options.c ├── xplayer-options.h ├── xplayer-playlist.c ├── xplayer-playlist.h ├── xplayer-preferences.c ├── xplayer-preferences.h ├── xplayer-private.h ├── xplayer-profile.h ├── xplayer-resources.c ├── xplayer-resources.h ├── xplayer-session.c ├── xplayer-session.h ├── xplayer-sidebar.c ├── xplayer-sidebar.h ├── xplayer-subtitle-encoding.c ├── xplayer-subtitle-encoding.h ├── xplayer-time-label.c ├── xplayer-time-label.h ├── xplayer-uri.c ├── xplayer-uri.h ├── xplayer-video-thumbnailer.c ├── xplayer.c └── xplayer.h └── xplayer.doap /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2.0 2 | 3 | shared: &shared 4 | 5 | steps: 6 | 7 | - checkout 8 | 9 | - run: 10 | name: Prepare environment 11 | command: apt-get update 12 | 13 | - run: 14 | name: Install dependencies 15 | command: | 16 | wget https://github.com/linuxmint/xapps/releases/download/master.${CIRCLE_JOB}/packages.tar.gz -O xapps.tar.gz 17 | wget https://github.com/linuxmint/xplayer-plparser/releases/download/master.${CIRCLE_JOB}/packages.tar.gz -O xplayer-plparser.tar.gz 18 | ls *.tar.gz | xargs -i tar zxvf {} 19 | apt install --yes --allow-downgrades ./packages/*.deb 20 | rm -rf packages 21 | 22 | - run: 23 | name: Build project 24 | command: mint-build -i 25 | 26 | - run: 27 | name: Prepare packages 28 | command: | 29 | if [ -z $CI_PULL_REQUEST ]; then 30 | mkdir /packages 31 | mv /root/*.deb /packages/ 32 | git log > /packages/git.log 33 | cd / 34 | tar zcvf packages.tar.gz packages 35 | fi 36 | 37 | - run: 38 | name: Deploy packages to Github 39 | command: | 40 | if [ -z $CI_PULL_REQUEST ]; then 41 | wget https://github.com/tcnksm/ghr/releases/download/v0.5.4/ghr_v0.5.4_linux_amd64.zip 42 | apt-get install --yes unzip 43 | unzip ghr_v0.5.4_linux_amd64.zip 44 | TAG="master".$CIRCLE_JOB 45 | ./ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME -replace $TAG /packages.tar.gz 46 | ./ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME -recreate -b "Latest unstable packages" $TAG /packages.tar.gz 47 | fi 48 | 49 | jobs: 50 | "mint20": 51 | <<: *shared 52 | docker: 53 | - image: linuxmintd/mint20-amd64 54 | 55 | "lmde4": 56 | <<: *shared 57 | docker: 58 | - image: linuxmintd/lmde4-amd64 59 | 60 | workflows: 61 | version: 2 62 | build: 63 | jobs: 64 | - "mint20" 65 | - "lmde4" 66 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | ``` 3 | * Xplayer version (xplayer --version) 4 | * Distribution - (Mint 17.2, Arch, Fedora 25, etc...) 5 | ``` 6 | 7 | **Issue** 8 | 9 | 10 | 11 | **Steps to reproduce** 12 | 13 | 14 | 15 | **Expected behaviour** 16 | 17 | 18 | 19 | **Other information** 20 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Xplayer is based on Totem 3.10. 2 | 3 | Totem: 4 | ------ 5 | 6 | Bastien Nocera 7 | Julien Moutte (GStreamer backend) 8 | https://wiki.gnome.org/Apps/Videos 9 | 10 | Xplayer: 11 | -------- 12 | https://github.com/linuxmint/xplayer/graphs/contributors 13 | -------------------------------------------------------------------------------- /MAINTAINERS: -------------------------------------------------------------------------------- 1 | https://github.com/linuxmint/xplayer/graphs/contributors 2 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | ACLOCAL_AMFLAGS = -I m4 -I libgd ${ACLOCAL_FLAGS} 2 | 3 | SUBDIRS = libgd po data help src docs 4 | 5 | EXTRA_DIST = \ 6 | license_change \ 7 | autogen.sh \ 8 | intltool-extract.in \ 9 | intltool-merge.in \ 10 | intltool-update.in \ 11 | AUTHORS NEWS \ 12 | ChangeLog.pre-gitlog \ 13 | MAINTAINERS \ 14 | xplayer.doap 15 | 16 | MAINTAINERCLEANFILES = \ 17 | $(srcdir)/INSTALL \ 18 | $(srcdir)/aclocal.m4 \ 19 | $(srcdir)/autoscan.log \ 20 | $(srcdir)/compile \ 21 | $(srcdir)/config.guess \ 22 | $(srcdir)/config.h.in \ 23 | $(srcdir)/config.sub \ 24 | $(srcdir)/configure.scan \ 25 | $(srcdir)/depcomp \ 26 | $(srcdir)/install-sh \ 27 | $(srcdir)/ltmain.sh \ 28 | $(srcdir)/missing \ 29 | $(srcdir)/mkinstalldirs \ 30 | $(srcdir)/py-compile \ 31 | $(srcdir)/gtk-doc.make \ 32 | $(srcdir)/ChangeLog \ 33 | $(srcdir)/omf.make \ 34 | $(srcdir)/xmldocs.make \ 35 | `find "$(srcdir)" -type f -name Makefile.in -print` 36 | 37 | DISTCLEANFILES = intltool-extract intltool-merge intltool-update 38 | 39 | DIST_SUBDIRS = $(SUBDIRS) 40 | DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper --enable-gtk-doc --with-nautilusdir='$${libdir}/nautilus/extensions-2.0-distcheck' --enable-vala=no --enable-introspection 41 | 42 | # Build ChangeLog from GIT history 43 | ChangeLog: 44 | @if test -f $(top_srcdir)/.git/HEAD; then \ 45 | git log --stat --after="Mon Jul 20 23:47:57 2009" > $@; \ 46 | fi 47 | 48 | dist: ChangeLog 49 | 50 | .PHONY: ChangeLog 51 | 52 | -include $(top_srcdir)/git.mk 53 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | General Information 2 | =================== 3 | 4 | xplayer is a generic media player. 5 | 6 | Controls 7 | ======== 8 | 9 | Ctrl+H: 10 | Hide/Show controls in windowed mode 11 | P, Ctrl+Space: 12 | Play/Pause 13 | Escape (in full screen mode): 14 | Switch to windowed mode 15 | Ctrl+F: 16 | Toggle full screen 17 | 0/½, 1, 2: 18 | Zoom respectively to 50%, 100% and 200% of the video's original size 19 | Left arrow: 20 | Go back 15 seconds 21 | Right arrow: 22 | Go forward 60 seconds 23 | Shift+Left arrow: 24 | Go back 5 seconds 25 | Shift+Right arrow: 26 | Go forward 15 seconds 27 | Ctrl+Left arrow: 28 | Go back 3 minutes 29 | Ctrl+Right arrow: 30 | Go forward 10 minutes 31 | Up Arrow: 32 | Increase the volume by 8% 33 | Down Arrow: 34 | Decrease the volume by 8% 35 | Keypad Up / Keypad 8: 36 | DVD Action Up 37 | Keypad Down / Keypad 2: 38 | DVD Action Down 39 | Keypad Left / Keypad 4: 40 | DVD Action Left 41 | Keypad Right / Keypad 6: 42 | DVD Action Right 43 | B, Alt+Left arrow, Minus key: 44 | Previous stream (Back) 45 | N, Alt+Right arrow, Plus key: 46 | Next stream (Next) 47 | Ctrl+Q: 48 | Quit 49 | Ctrl+R, Ctrl+T: 50 | Zoom in and zoom out, respectively 51 | Ctrl+0: 52 | Reset the zoom level 53 | Ctrl+K: 54 | Show the "Skip to" dialog 55 | Ctrl+D: 56 | Toggle drawing using Gromit 57 | Ctrl+E: 58 | Erase drawing using Gromit 59 | Mouse button 1 double-click: 60 | Toggle full screen 61 | Middle mouse button click: 62 | Play/Pause 63 | 64 | Copyright 65 | ========= 66 | 67 | UI help by Seth Nickell 68 | 69 | Automatic GStreamer codec installation (optional) 70 | ================================================================ 71 | - requires GStreamer core and gst-plugins-base >= 0.10.12 72 | - calls (via GStreamer) a predefined external helper script (which is to be 73 | installed by the distro and can be defined via gst-plugins-base's configure 74 | script when building gst-plugins-base) with details of missing GStreamer 75 | plugins. See 76 | http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html#id511743 77 | for more information on how this all works together. 78 | 79 | BUGS 80 | ==== 81 | 82 | To get a better debug output, run: 83 | # xplayer --debug 84 | 85 | Or for the stand-alone applications: 86 | # gsettings set org.x.player debug true 87 | then run your application and capture its output 88 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | see README 2 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Run this to generate all the initial makefiles, etc. 3 | 4 | srcdir=`dirname $0` 5 | test -z "$srcdir" && srcdir=. 6 | 7 | ACLOCAL_FLAGS="-I libgd $ACLOCAL_FLAGS" 8 | 9 | (test -f $srcdir/configure.ac) || { 10 | echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" 11 | echo " top-level xplayer directory" 12 | exit 1 13 | } 14 | 15 | mkdir -p m4 16 | 17 | gtkdocize --copy || exit 1 18 | intltoolize --force --copy --automake || exit 1 19 | autoreconf --verbose --force --install || exit 1 20 | 21 | cd "$olddir" 22 | if [ "$NOCONFIGURE" = "" ]; then 23 | "$srcdir/configure" "$@" || exit 1 24 | 25 | if [ "$1" = "--help" ]; then exit 0 else 26 | echo "Now type 'make' to compile" || exit 1 27 | fi 28 | else 29 | echo "Skipping configure process." 30 | fi 31 | -------------------------------------------------------------------------------- /data/desktop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo_mime () { 4 | printf "$i;"; 5 | } 6 | 7 | echo_handler () { 8 | printf "x-scheme-handler/$i;"; 9 | } 10 | 11 | MIMETYPES=`grep -v ^# $1` 12 | printf MimeType=; 13 | for i in $MIMETYPES ; do 14 | echo_mime; 15 | done 16 | 17 | MIMETYPES=`grep -v ^# $2` 18 | for i in $MIMETYPES ; do 19 | echo_handler; 20 | done 21 | 22 | echo "" 23 | -------------------------------------------------------------------------------- /data/icons/16x16/Makefile.am: -------------------------------------------------------------------------------- 1 | icondir = $(datadir)/icons/hicolor/16x16/apps 2 | icon_DATA = xplayer.png 3 | 4 | tvicondir = $(datadir)/icons/hicolor/16x16/devices/ 5 | tvicon_DATA = xplayer-tv.png 6 | 7 | EXTRA_DIST = $(icon_DATA) $(tvicon_DATA) xplayer-tv.svg 8 | 9 | -include $(top_srcdir)/git.mk 10 | -------------------------------------------------------------------------------- /data/icons/16x16/xplayer-tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/16x16/xplayer-tv.png -------------------------------------------------------------------------------- /data/icons/16x16/xplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/16x16/xplayer.png -------------------------------------------------------------------------------- /data/icons/22x22/Makefile.am: -------------------------------------------------------------------------------- 1 | icondir = $(datadir)/icons/hicolor/22x22/apps 2 | icon_DATA = xplayer.png 3 | 4 | tvicondir = $(datadir)/icons/hicolor/22x22/devices/ 5 | tvicon_DATA = xplayer-tv.png 6 | 7 | EXTRA_DIST = $(icon_DATA) $(tvicon_DATA) xplayer-tv.svg 8 | 9 | -include $(top_srcdir)/git.mk 10 | -------------------------------------------------------------------------------- /data/icons/22x22/xplayer-tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/22x22/xplayer-tv.png -------------------------------------------------------------------------------- /data/icons/22x22/xplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/22x22/xplayer.png -------------------------------------------------------------------------------- /data/icons/24x24/Makefile.am: -------------------------------------------------------------------------------- 1 | icondir = $(datadir)/icons/hicolor/24x24/apps 2 | icon_DATA = xplayer.png 3 | 4 | tvicondir = $(datadir)/icons/hicolor/24x24/devices/ 5 | tvicon_DATA = xplayer-tv.png 6 | 7 | EXTRA_DIST = $(icon_DATA) $(tvicon_DATA) 8 | 9 | -include $(top_srcdir)/git.mk 10 | -------------------------------------------------------------------------------- /data/icons/24x24/xplayer-tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/24x24/xplayer-tv.png -------------------------------------------------------------------------------- /data/icons/24x24/xplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/24x24/xplayer.png -------------------------------------------------------------------------------- /data/icons/32x32/Makefile.am: -------------------------------------------------------------------------------- 1 | icondir = $(datadir)/icons/hicolor/32x32/apps 2 | icon_DATA = xplayer.png 3 | 4 | tvicondir = $(datadir)/icons/hicolor/32x32/devices/ 5 | tvicon_DATA = xplayer-tv.png 6 | 7 | EXTRA_DIST = $(icon_DATA) $(tvicon_DATA) xplayer-tv.svg 8 | 9 | -include $(top_srcdir)/git.mk 10 | -------------------------------------------------------------------------------- /data/icons/32x32/xplayer-tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/32x32/xplayer-tv.png -------------------------------------------------------------------------------- /data/icons/32x32/xplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/32x32/xplayer.png -------------------------------------------------------------------------------- /data/icons/48x48/Makefile.am: -------------------------------------------------------------------------------- 1 | icondir = $(datadir)/icons/hicolor/48x48/apps 2 | icon_DATA = xplayer.png 3 | 4 | tvicondir = $(datadir)/icons/hicolor/48x48/devices/ 5 | tvicon_DATA = xplayer-tv.png 6 | 7 | EXTRA_DIST = $(icon_DATA) $(tvicon_DATA) 8 | 9 | -include $(top_srcdir)/git.mk 10 | -------------------------------------------------------------------------------- /data/icons/48x48/xplayer-tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/48x48/xplayer-tv.png -------------------------------------------------------------------------------- /data/icons/48x48/xplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/48x48/xplayer.png -------------------------------------------------------------------------------- /data/icons/64x64/Makefile.am: -------------------------------------------------------------------------------- 1 | icondir = $(datadir)/icons/hicolor/64x64/apps 2 | icon_DATA = xplayer.png 3 | 4 | EXTRA_DIST = $(icon_DATA) 5 | 6 | -include $(top_srcdir)/git.mk 7 | -------------------------------------------------------------------------------- /data/icons/64x64/xplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/64x64/xplayer.png -------------------------------------------------------------------------------- /data/icons/96x96/Makefile.am: -------------------------------------------------------------------------------- 1 | icondir = $(datadir)/icons/hicolor/96x96/apps 2 | icon_DATA = xplayer.png 3 | 4 | EXTRA_DIST = $(icon_DATA) 5 | 6 | -include $(top_srcdir)/git.mk 7 | -------------------------------------------------------------------------------- /data/icons/96x96/xplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/data/icons/96x96/xplayer.png -------------------------------------------------------------------------------- /data/icons/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = 16x16 22x22 24x24 32x32 48x48 64x64 96x96 scalable 2 | 3 | EXTRA_DIST = xplayer.svg 4 | 5 | -include $(top_srcdir)/git.mk 6 | -------------------------------------------------------------------------------- /data/icons/scalable/Makefile.am: -------------------------------------------------------------------------------- 1 | tvicondir = $(datadir)/icons/hicolor/scalable/devices/ 2 | tvicon_DATA = xplayer-tv.svg 3 | 4 | sidebaricondir = $(datadir)/icons/hicolor/scalable/actions/ 5 | sidebaricon_DATA = xplayer-view-sidebar-symbolic.svg 6 | 7 | EXTRA_DIST = $(tvicon_DATA) $(sidebaricon_DATA) 8 | 9 | -include $(top_srcdir)/git.mk 10 | -------------------------------------------------------------------------------- /data/mime-functions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | get_audio_mimetypes () 4 | { 5 | MIMETYPES=`grep -v '^#' $1 | grep "\/" | grep audio | grep -v "audio/x-pn-realaudio" | grep -v "audio/x-scpls" | grep -v "audio/mpegurl" | grep -v "audio/x-mpegurl" | grep -v x-scheme-handler/` 6 | MIMETYPES="$MIMETYPES application/x-flac" 7 | } 8 | 9 | get_video_mimetypes () 10 | { 11 | MIMETYPES=`grep -v '^#' $1 | grep -v x-content/ | grep -v audio | grep -v "application/x-flac" | grep -v "text/google-video-pointer" | grep -v "application/x-quicktime-media-link" | grep -v "application/smil" | grep -v "application/smil+xml" | grep -v "application/x-smil" | grep -v "application/xspf+xml" | grep -v x-scheme-handler/` 12 | MIMETYPES="$MIMETYPES audio/x-pn-realaudio" 13 | } 14 | 15 | -------------------------------------------------------------------------------- /data/mime-type-imports.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . `dirname $0`/mime-functions.sh 4 | 5 | echo_mime () { 6 | echo " \"$i\"," 7 | } 8 | 9 | 10 | echo "/* generated with mime-type-imports.sh in the xplayer module, don't edit or" 11 | echo " commit in the sushi module without filing a bug against xplayer */" 12 | 13 | echo "let audioTypes = [" 14 | get_audio_mimetypes $1; 15 | for i in $MIMETYPES ; do 16 | echo_mime; 17 | done 18 | echo -e "];\n" 19 | echo "let videoTypes = [" 20 | get_video_mimetypes $1; 21 | for i in $MIMETYPES ; do 22 | echo_mime; 23 | done 24 | echo "];" 25 | 26 | -------------------------------------------------------------------------------- /data/mime-type-include.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . `dirname $0`/mime-functions.sh 4 | 5 | echo_mime () { 6 | echo "\"$i\"," 7 | } 8 | 9 | if [ x"$1" = "x--nautilus" ] ; then 10 | get_audio_mimetypes $2; 11 | 12 | echo "/* generated with mime-type-include.sh in the xplayer module, don't edit or " 13 | echo " commit in the nautilus module without filing a bug against xplayer */" 14 | 15 | echo "static const char *audio_mime_types[] = {" 16 | for i in $MIMETYPES ; do 17 | echo_mime; 18 | done 19 | 20 | echo "NULL" 21 | echo "};" 22 | 23 | exit 0 24 | fi 25 | 26 | MIMETYPES=`grep -v '^#' $1 | grep -v x-content/ | grep -v x-scheme-handler/` 27 | 28 | echo "/* generated with mime-types-include.sh, don't edit */" 29 | echo "static const gchar *mime_types[] = {" 30 | 31 | for i in $MIMETYPES ; do 32 | echo_mime; 33 | done 34 | 35 | echo "NULL" 36 | echo "};" 37 | 38 | get_audio_mimetypes $1; 39 | 40 | echo "static const gchar *audio_mime_types[] = {" 41 | for i in $MIMETYPES ; do 42 | echo_mime; 43 | done 44 | 45 | echo "NULL" 46 | echo "};" 47 | 48 | get_video_mimetypes $1; 49 | 50 | echo "static const gchar *video_mime_types[] = {" 51 | for i in $MIMETYPES ; do 52 | echo_mime; 53 | done 54 | 55 | echo "NULL" 56 | echo "};" 57 | 58 | -------------------------------------------------------------------------------- /data/mime-type-list.txt: -------------------------------------------------------------------------------- 1 | application/mxf 2 | application/ogg 3 | application/ram 4 | application/sdp 5 | application/smil 6 | application/smil+xml 7 | application/vnd.apple.mpegurl 8 | application/vnd.ms-wpl 9 | application/vnd.rn-realmedia 10 | application/x-extension-m4a 11 | application/x-extension-mp4 12 | application/x-flac 13 | application/x-flash-video 14 | application/x-matroska 15 | application/x-netshow-channel 16 | application/x-ogg 17 | application/x-quicktime-media-link 18 | application/x-quicktimeplayer 19 | application/x-shorten 20 | application/x-smil 21 | application/xspf+xml 22 | audio/3gpp 23 | audio/ac3 24 | audio/AMR 25 | audio/AMR-WB 26 | audio/basic 27 | audio/flac 28 | audio/midi 29 | audio/mp2 30 | audio/mp4 31 | audio/mpeg 32 | audio/mpegurl 33 | audio/ogg 34 | audio/prs.sid 35 | audio/vnd.rn-realaudio 36 | audio/x-aiff 37 | audio/x-ape 38 | audio/x-flac 39 | audio/x-gsm 40 | audio/x-it 41 | audio/x-m4a 42 | audio/x-matroska 43 | audio/x-mod 44 | audio/x-mp3 45 | audio/x-mpeg 46 | audio/x-mpegurl 47 | audio/x-ms-asf 48 | audio/x-ms-asx 49 | audio/x-ms-wax 50 | audio/x-ms-wma 51 | audio/x-musepack 52 | audio/x-pn-aiff 53 | audio/x-pn-au 54 | audio/x-pn-realaudio 55 | audio/x-pn-realaudio-plugin 56 | audio/x-pn-wav 57 | audio/x-pn-windows-acm 58 | audio/x-realaudio 59 | audio/x-real-audio 60 | audio/x-s3m 61 | audio/x-sbc 62 | audio/x-scpls 63 | audio/x-speex 64 | audio/x-stm 65 | audio/x-tta 66 | audio/x-wav 67 | audio/x-wavpack 68 | audio/x-vorbis 69 | audio/x-vorbis+ogg 70 | audio/x-xm 71 | image/vnd.rn-realpix 72 | image/x-pict 73 | misc/ultravox 74 | text/google-video-pointer 75 | text/x-google-video-pointer 76 | video/3gp 77 | video/3gpp 78 | video/dv 79 | video/divx 80 | video/fli 81 | video/flv 82 | video/mp2t 83 | video/mp4 84 | video/mp4v-es 85 | video/mpeg 86 | video/msvideo 87 | video/ogg 88 | video/quicktime 89 | video/vivo 90 | video/vnd.divx 91 | video/vnd.mpegurl 92 | video/vnd.rn-realvideo 93 | video/vnd.vivo 94 | video/webm 95 | video/x-anim 96 | video/x-avi 97 | video/x-flc 98 | video/x-fli 99 | video/x-flic 100 | video/x-flv 101 | video/x-m4v 102 | video/x-matroska 103 | video/x-mpeg 104 | video/x-mpeg2 105 | video/x-ms-asf 106 | video/x-ms-asx 107 | video/x-msvideo 108 | video/x-ms-wm 109 | video/x-ms-wmv 110 | video/x-ms-wmx 111 | video/x-ms-wvx 112 | video/x-nsv 113 | video/x-ogm+ogg 114 | video/x-theora+ogg 115 | video/x-xplayer-stream 116 | x-content/video-dvd 117 | x-content/video-vcd 118 | x-content/video-svcd 119 | # No support for those yet 120 | # FIXME make sure to update xplayer-menu.c 121 | #x-content/video-blueray 122 | #x-content/video-hddvd 123 | -------------------------------------------------------------------------------- /data/thumbnailer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . `dirname $0`/mime-functions.sh 4 | 5 | echo_mime () { 6 | printf "$i;"; 7 | } 8 | 9 | printf MimeType=; 10 | 11 | get_video_mimetypes $1; 12 | for i in $MIMETYPES ; do 13 | echo_mime; 14 | done 15 | 16 | get_audio_mimetypes $1; 17 | for i in $MIMETYPES ; do 18 | echo_mime; 19 | done 20 | 21 | echo "" 22 | -------------------------------------------------------------------------------- /data/uri-scheme-include.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . `dirname $0`/mime-functions.sh 4 | 5 | echo_mime () { 6 | echo "\"$i\"," 7 | } 8 | 9 | SCHEMES=`grep -v '^#' $1` 10 | 11 | echo "/* generated with uri-scheme-include.sh, don't edit */" 12 | echo "static const gchar *uri_schemes[] = {" 13 | 14 | for i in $SCHEMES ; do 15 | echo_mime; 16 | done 17 | 18 | echo "NULL" 19 | echo "};" 20 | -------------------------------------------------------------------------------- /data/uri-schemes-list.txt: -------------------------------------------------------------------------------- 1 | pnm 2 | mms 3 | net 4 | rtp 5 | rtmp 6 | rtsp 7 | mmsh 8 | uvox 9 | icy 10 | icyx 11 | -------------------------------------------------------------------------------- /data/uri.ui: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | True 7 | 5 8 | 6 9 | vertical 10 | 11 | 12 | True 13 | 0 14 | Enter the _address of the file you would like to open: 15 | True 16 | True 17 | uri 18 | 19 | 20 | False 21 | False 22 | 23 | 24 | 25 | 26 | True 27 | True 28 | 29 | 30 | 31 | 1 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /data/xplayer-bugreport.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | import os 3 | from datetime import datetime 4 | import gi 5 | gi.require_version('Gtk', '3.0') 6 | from gi.repository import Gtk 7 | 8 | # Get the GStreamer version 9 | if os.system ('gst-typefind-0.10 --version') == 0: 10 | # List the formats of the last files played 11 | last_visited = 0 12 | recent_manager = Gtk.RecentManager.get_default () 13 | last = None 14 | for recent in recent_manager.get_items (): 15 | if recent.has_group ("Xplayer"): 16 | if recent.get_visited () > last_visited: 17 | last_visited = recent.get_visited () 18 | last = recent.get_uri_display () 19 | 20 | if last != None: 21 | file_handle = os.popen ('gst-typefind-0.10 "%s"' % (last)) 22 | parts = file_handle.read ().split (' ') 23 | date = datetime.fromtimestamp (last_visited) 24 | print ('Listened to a "%s" file on %s' % (parts.pop ().strip (), date.isoformat ())) 25 | -------------------------------------------------------------------------------- /data/xplayer-video-thumbnailer.pod: -------------------------------------------------------------------------------- 1 | =head1 NAME 2 | 3 | xplayer-video-thumbnailer - video thumbnailer for the GNOME desktop 4 | 5 | =head1 SYNOPSYS 6 | 7 | B [-j|--jpeg] [-l|--no-limit] [-g num|--gallery num] [-s size] input output [backend options] 8 | 9 | =head1 DESCRIPTION 10 | 11 | This manual page documents briefly the B command. This manual page was written for the Debian Project because the original program does not have a manual page. 12 | 13 | B is used internally by GNOME applications such as B to generate PNG thumbnails of video files. While it is possible to invoke it manually, it is usually done automatically by B. 14 | 15 | =head1 ARGUMENTS 16 | 17 | =over 8 18 | 19 | =item B 20 | 21 | The input filename. This can be in any format that B can play. 22 | 23 | =item B 24 | 25 | The output filename, output in PNG format. 26 | 27 | =item B 28 | 29 | Options to be passed to the backend (i.e. B). 30 | 31 | =back 32 | 33 | =head1 OPTIONS 34 | 35 | =over 8 36 | 37 | =item B<-j> B<--jpeg> 38 | 39 | Switch the output format to JPEG. The default is PNG. 40 | 41 | =item B<-g num> B<--gallery num> 42 | 43 | Output a gallery of the given number (0 is the default) of screenshots. 44 | 45 | =item B<-l> B<--no-limit> 46 | 47 | Don't limit the thumbnailing time to 30 seconds. For debugging purposes. 48 | 49 | =item B<-s size> 50 | 51 | The size of the thumbnail. Example: "64x64". The default is "128x96". 52 | 53 | =back 54 | 55 | =head1 AUTHOR 56 | 57 | B was written by Bastien Nocera . 58 | 59 | This manual page was written by Zack Cerza for the Debian Project (but may be used by others). 60 | 61 | =head1 SEE ALSO 62 | 63 | =over 8 64 | 65 | =item B, B 66 | 67 | =back 68 | -------------------------------------------------------------------------------- /data/xplayer.desktop.in.in.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | _Name=Media Player 3 | _Comment=Play movies 4 | _Keywords=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc; 5 | Exec=xplayer %U 6 | Icon=xplayer 7 | Terminal=false 8 | Type=Application 9 | Categories=GTK;GNOME;AudioVideo;Player;Video; 10 | @MIMETYPES@ 11 | X-GNOME-DocPath=xplayer/xplayer.xml 12 | X-GNOME-Bugzilla-Bugzilla=GNOME 13 | X-GNOME-Bugzilla-Product=xplayer 14 | X-GNOME-Bugzilla-Component=general 15 | X-GNOME-Bugzilla-Version=@VERSION@ 16 | X-GNOME-Bugzilla-OtherBinaries=xplayer-video-thumbnailer;xplayer-audio-preview; 17 | X-GNOME-Bugzilla-ExtraInfoScript=@FULL_LIBEXECDIR@/xplayer/xplayer-bugreport.py 18 | StartupNotify=true 19 | Actions=Play;Next;Previous;Mute;Fullscreen; 20 | 21 | [Desktop Action Play] 22 | _Name=Play/Pause 23 | Exec=xplayer --play-pause 24 | OnlyShowIn=Unity; 25 | 26 | [Desktop Action Next] 27 | _Name=Next 28 | Exec=xplayer --next 29 | OnlyShowIn=Unity; 30 | 31 | [Desktop Action Previous] 32 | _Name=Previous 33 | Exec=xplayer --previous 34 | OnlyShowIn=Unity; 35 | 36 | [Desktop Action Mute] 37 | _Name=Mute 38 | Exec=xplayer --mute 39 | OnlyShowIn=Unity; 40 | 41 | [Desktop Action Fullscreen] 42 | _Name=Fullscreen 43 | Exec=xplayer --fullscreen 44 | OnlyShowIn=Unity; 45 | -------------------------------------------------------------------------------- /data/xplayer.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@/xplayer/@XPLAYER_API_VERSION@ 5 | pluginsdir=@PLUGINDIR@ 6 | 7 | Name: Xplayer 8 | Description: Xplayer Movie Player plugin API 9 | Requires: gio-2.0 >= @GLIB_REQS@ gtk+-3.0 >= @GTK_REQS@ xplayer-plparser >= @XPLAYER_PLPARSER_REQS@ 10 | Version: @VERSION@ 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /data/xplayer.thumbnailer.in: -------------------------------------------------------------------------------- 1 | [Thumbnailer Entry] 2 | TryExec=@BINDIR@/xplayer-video-thumbnailer 3 | Exec=@BINDIR@/xplayer-video-thumbnailer -s %s %u %o 4 | -------------------------------------------------------------------------------- /debian/bug/control: -------------------------------------------------------------------------------- 1 | report-with: xplayer-gstreamer xplayer-xine 2 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /debian/gir1.2-xplayer-1.0.install: -------------------------------------------------------------------------------- 1 | usr/lib/girepository-1.0/ 2 | -------------------------------------------------------------------------------- /debian/libxplayer-dev.install: -------------------------------------------------------------------------------- 1 | usr/include/xplayer/1.0/ 2 | usr/lib/libxplayer.so 3 | usr/lib/pkgconfig/ 4 | usr/share/gir-1.0/ 5 | -------------------------------------------------------------------------------- /debian/libxplayer0.install: -------------------------------------------------------------------------------- 1 | usr/lib/libxplayer.so.* 2 | -------------------------------------------------------------------------------- /debian/patches/91_quicklist_entries.patch: -------------------------------------------------------------------------------- 1 | Author: Nekhelesh Ramananthan 2 | Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/xplayer/+bug/938031 3 | 4 | Origin: vendor 5 | Forwarded: https://bugzilla.gnome.org/671088 6 | Reviewed-By: Stéphane Graber 7 | 8 | --- xplayer-3.0.1.orig/data/xplayer.desktop.in.in.in 9 | +++ xplayer-3.0.1/data/xplayer.desktop.in.in.in 10 | @@ -14,3 +14,29 @@ X-GNOME-Bugzilla-Version=@VERSION@ 11 | X-GNOME-Bugzilla-OtherBinaries=xplayer-video-thumbnailer;xplayer-audio-preview; 12 | X-GNOME-Bugzilla-ExtraInfoScript=@FULL_LIBEXECDIR@/xplayer/xplayer-bugreport.py 13 | StartupNotify=true 14 | +Actions=Play;Next;Previous;Mute;Fullscreen; 15 | + 16 | +[Desktop Action Play] 17 | +_Name=Play/Pause 18 | +Exec=xplayer --play-pause 19 | +OnlyShowIn=Unity; 20 | + 21 | +[Desktop Action Next] 22 | +_Name=Next 23 | +Exec=xplayer --next 24 | +OnlyShowIn=Unity; 25 | + 26 | +[Desktop Action Previous] 27 | +_Name=Previous 28 | +Exec=xplayer --previous 29 | +OnlyShowIn=Unity; 30 | + 31 | +[Desktop Action Mute] 32 | +_Name=Mute 33 | +Exec=xplayer --mute 34 | +OnlyShowIn=Unity; 35 | + 36 | +[Desktop Action Fullscreen] 37 | +_Name=Fullscreen 38 | +Exec=xplayer --fullscreen 39 | +OnlyShowIn=Unity; 40 | -------------------------------------------------------------------------------- /debian/patches/92_gst-plugins-good.patch: -------------------------------------------------------------------------------- 1 | Description: Build without gstreamer1.0-plugins-bad 2 | Forwarded: no 3 | 4 | Index: xplayer-3.8.0/configure.ac 5 | =================================================================== 6 | --- xplayer-3.8.0.orig/configure.ac 2013-05-25 23:04:04.000000000 -0400 7 | +++ xplayer-3.8.0/configure.ac 2013-05-25 23:05:34.814379307 -0400 8 | @@ -187,10 +187,6 @@ 9 | shift; 10 | done 11 | 12 | -dnl Check for elements from gst-plugins-bad 13 | -dnl Set plugins which contain below elements 14 | -PKG_CHECK_MODULES(GST_PLUGINS_BAD, gstreamer-plugins-bad-1.0 >= 1.0.2) 15 | - 16 | dnl Check the smclient backend 17 | AC_MSG_CHECKING([which smclient backend to use]) 18 | AC_ARG_WITH([smclient], 19 | -------------------------------------------------------------------------------- /debian/patches/93_grilo_optional.patch: -------------------------------------------------------------------------------- 1 | Description: Don't die if we can't build the grilo plugin. We should be MIRing grilo soon to make this no longer required. 2 | Forwarded: not-needed 3 | 4 | Index: b/configure.ac 5 | =================================================================== 6 | --- a/configure.ac 7 | +++ b/configure.ac 8 | @@ -466,7 +466,7 @@ 9 | PKG_CHECK_MODULES(LIBGRILO, grilo-0.2 >= $GRILO_REQS, 10 | [HAVE_LIBGRILO=yes], [HAVE_LIBGRILO=no]) 11 | if test "${HAVE_LIBGRILO}" != "yes" ; then 12 | - plugin_error "you need libgrilo >= $GRILO_REQS installed for the Grilo plugin" 13 | + plugin_error_or_ignore "you need libgrilo >= $GRILO_REQS installed for the Grilo plugin" 14 | add_plugin="0" 15 | fi 16 | ;; 17 | -------------------------------------------------------------------------------- /debian/patches/correct_desktop_mimetypes.patch: -------------------------------------------------------------------------------- 1 | Index: xplayer-3.4.2/data/Makefile.am 2 | =================================================================== 3 | --- xplayer-3.4.2.orig/data/Makefile.am 2012-05-15 19:33:09.509491282 -0400 4 | +++ xplayer-3.4.2/data/Makefile.am 2012-05-15 19:33:11.465500977 -0400 5 | @@ -58,7 +58,7 @@ 6 | 7 | xplayer.desktop.in: xplayer.desktop.in.in mime-type-list.txt uri-schemes-list.txt desktop.sh 8 | $(AM_V_GEN) cat xplayer.desktop.in.in | sed 's,@FULL_LIBEXECDIR@,$(FULL_LIBEXECDIR),' > $@ &&\ 9 | - $(SHELL) $(srcdir)/desktop.sh $(srcdir)/mime-type-list.txt $(srcdir)/uri-schemes-list.txt >> $@ 10 | + $(AM_V_GEN) cat xplayer.desktop.in.in | sed 's,@MIMETYPES@,$(shell $(srcdir)/desktop.sh $(srcdir)/mime-type-list.txt $(srcdir)/uri-schemes-list.txt),' > $@ 11 | 12 | EXTRA_DIST += desktop.sh 13 | CLEANFILES += \ 14 | Index: xplayer-3.4.2/data/xplayer.desktop.in.in.in 15 | =================================================================== 16 | --- xplayer-3.4.2.orig/data/xplayer.desktop.in.in.in 2012-05-15 19:33:09.509491282 -0400 17 | +++ xplayer-3.4.2/data/xplayer.desktop.in.in.in 2012-05-15 19:33:11.465500977 -0400 18 | @@ -6,6 +6,7 @@ 19 | Terminal=false 20 | Type=Application 21 | Categories=GTK;GNOME;AudioVideo;Player;Video; 22 | +@MIMETYPES@ 23 | X-GNOME-DocPath=xplayer/xplayer.xml 24 | X-GNOME-Bugzilla-Bugzilla=GNOME 25 | X-GNOME-Bugzilla-Product=xplayer 26 | -------------------------------------------------------------------------------- /debian/patches/git-fix-subtitle-downloader.patch: -------------------------------------------------------------------------------- 1 | Description: adds a missing library import and circumvents an 2 | incompatibility between xplayer 3.10 and pygobject 3.11 3 | Author: Matthias Niess 4 | Origin: vendor 5 | Bug: https://bugzilla.gnome.org/show_bug.cgi?id=724093 6 | Ubuntu-Bug: https://bugs.launchpad.net/ubuntu/+source/xplayer/+bug/1292262 7 | Forwarded: not-needed 8 | 9 | Index: fix-lp1292262/src/plugins/opensubtitles/opensubtitles.py 10 | =================================================================== 11 | --- fix-lp1292262.orig/src/plugins/opensubtitles/opensubtitles.py 2014-03-23 17:02:37.229660000 +0100 12 | +++ fix-lp1292262/src/plugins/opensubtitles/opensubtitles.py 2014-03-23 17:05:57.629681060 +0100 13 | @@ -1,7 +1,7 @@ 14 | # -*- coding: utf-8 -*- 15 | 16 | from gi.repository import GObject, Peas, Gtk, Gdk # pylint: disable-msg=E0611 17 | -from gi.repository import Gio, Pango, Xplayer # pylint: disable-msg=E0611 18 | +from gi.repository import GLib, Gio, Pango, Xplayer # pylint: disable-msg=E0611 19 | 20 | import xmlrpclib 21 | import threading 22 | @@ -438,7 +438,7 @@ 23 | builder = Xplayer.plugin_load_interface ("opensubtitles", 24 | "opensubtitles.ui", True, 25 | self._xplayer.get_main_window (), 26 | - self) 27 | + None) 28 | 29 | # Obtain all the widgets we need to initialize 30 | combobox = builder.get_object ('language_combobox') 31 | -------------------------------------------------------------------------------- /debian/patches/git_clutter_correct_use.patch: -------------------------------------------------------------------------------- 1 | From 4a7e14f2fe4aaba751a5de427233a32024f3eb81 Mon Sep 17 00:00:00 2001 2 | From: Alban Browaeys 3 | Date: Sat, 29 Jun 2013 05:36:29 +0000 4 | Subject: backend: Fix pick in the aspect frame 5 | 6 | Fixes: 7 | (xplayer:24473): Clutter-WARNING **: The required ID of 2 does not refer 8 | to an existing actor; this usually implies that the pick() of an actor 9 | is not correctly implemented or that there is an error in the 10 | glReadPixels() implementation of the GL driver. 11 | 12 | Let parent do the pick "draw" for the container as per 13 | Example 24. Pick implementation of a container of the clutter 14 | reference manual version 1.8, Section "Implementing a new actor". 15 | 16 | https://bugzilla.gnome.org/show_bug.cgi?id=703368 17 | --- 18 | diff --git a/src/backend/xplayer-aspect-frame.c b/src/backend/xplayer-aspect-frame.c 19 | index 7dee217..7e72e08 100644 20 | --- a/src/backend/xplayer-aspect-frame.c 21 | +++ b/src/backend/xplayer-aspect-frame.c 22 | @@ -320,9 +320,7 @@ xplayer_aspect_frame_pick (ClutterActor *actor, 23 | 24 | clutter_actor_get_allocation_box (actor, &box); 25 | 26 | - cogl_set_source_color4ub (color->red, color->green, 27 | - color->blue, color->alpha); 28 | - cogl_rectangle (box.x1, box.y1, box.x2, box.y2); 29 | + CLUTTER_ACTOR_CLASS (xplayer_aspect_frame_parent_class)->pick (actor, color); 30 | 31 | child = clutter_actor_get_child_at_index (actor, 0); 32 | 33 | -------------------------------------------------------------------------------- /debian/patches/series: -------------------------------------------------------------------------------- 1 | correct_desktop_mimetypes.patch 2 | 91_quicklist_entries.patch 3 | 92_gst-plugins-good.patch 4 | 93_grilo_optional.patch 5 | revert_shell_menu.patch 6 | git-fix-subtitle-downloader.patch 7 | git_clutter_correct_use.patch 8 | 9 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #-*- makefile -*- 3 | 4 | export DEB_BUILD_MAINT_OPTIONS = hardening=+all 5 | DPKG_EXPORT_BUILDFLAGS = 1 6 | include /usr/share/dpkg/buildflags.mk 7 | 8 | include /usr/share/cdbs/1/rules/autoreconf.mk 9 | include /usr/share/cdbs/1/rules/debhelper.mk 10 | include /usr/share/cdbs/1/class/gnome.mk 11 | include /usr/share/cdbs/1/rules/utils.mk 12 | include /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk 13 | include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk 14 | 15 | DEB_CONFIGURE_EXTRA_FLAGS += \ 16 | --disable-Werror \ 17 | --enable-vala=yes \ 18 | --disable-run-in-source-tree 19 | 20 | DEB_DH_STRIP_ARGS := --dbg-package=xplayer-dbg 21 | DEB_DH_MAKESHLIBS_ARGS += -Xplugins/ 22 | DEB_DH_GIREPOSITORY_ARGS += -lsrc 23 | DEB_DH_MAKESHLIBS_ARGS_libxplayer0 += -V'libxplayer0 (>= $(DEB_VERSION)), libxplayer0 (<< $(DEB_GNOME_NEXTVERSION))' 24 | DEB_DH_INSTALL_ARGS += --fail-missing -Xlibxplayer.a -Xlibxplayer.la 25 | 26 | common-binary-predeb-arch:: 27 | find debian -name *.a -exec rm '{}' \; 28 | find debian -name *.la -exec rm '{}' \; 29 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /debian/source_xplayer.py: -------------------------------------------------------------------------------- 1 | import os, apport.packaging, apport.hookutils 2 | 3 | def add_info(report, ui): 4 | 5 | response = ui.choice("How would you describe the issue?", ["The xplayer interface is not working correctly", "No sound is being played", "Some audio files or videos are not being played correctly"], False) 6 | 7 | if response == None: # user cancelled 8 | raise StopIteration 9 | if response[0] == 1: # the issue is a sound one 10 | os.execlp('apport-bug', 'apport-bug', 'audio') 11 | 12 | if response[0] == 2: # the issue is a codec one 13 | report.add_package_info("libgstreamer1.0-0") 14 | return 15 | 16 | report["LogAlsaMixer"] = apport.hookutils.command_output(["/usr/bin/amixer"]) 17 | report["GstreamerVersions"] = apport.hookutils.package_versions("gstreamer*") 18 | report["XorgLog"] = apport.hookutils.read_file("/var/log/Xorg.0.log") 19 | -------------------------------------------------------------------------------- /debian/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Test 4 | 5 | 6 |
7 |

PIMP

8 |

PIMP Internet Media Player

9 | 10 | 11 | 16 | 17 | 18 | 22 | 26 | 30 | 31 |
12 | 15 |
19 | 21 | 23 | 25 | 27 | 29 |
32 | 49 |
50 | 51 | 52 | -------------------------------------------------------------------------------- /debian/watch: -------------------------------------------------------------------------------- 1 | version=3 2 | http://download.gnome.org/sources/xplayer/([\d\.]+[02468])/xplayer-([\d\.]+)\.tar\.xz 3 | -------------------------------------------------------------------------------- /debian/xplayer-common.install: -------------------------------------------------------------------------------- 1 | debian/source_xplayer.py usr/share/apport/package-hooks 2 | debian/xplayer.xpm usr/share/pixmaps 3 | usr/share/glib-2.0 4 | usr/share/help 5 | usr/share/icons 6 | usr/share/locale 7 | usr/share/man 8 | usr/share/xplayer 9 | -------------------------------------------------------------------------------- /debian/xplayer-plugins-extra.install: -------------------------------------------------------------------------------- 1 | usr/lib/xplayer/plugins/gromit 2 | -------------------------------------------------------------------------------- /debian/xplayer-plugins.install: -------------------------------------------------------------------------------- 1 | # Needs porting 2 | # usr/lib/xplayer/plugins/bbc 3 | usr/lib/xplayer/plugins/apple-trailers 4 | usr/lib/xplayer/plugins/autoload-subtitles 5 | usr/lib/xplayer/plugins/brasero-disc-recorder 6 | usr/lib/xplayer/plugins/chapters 7 | usr/lib/xplayer/plugins/dbus 8 | usr/lib/xplayer/plugins/im-status 9 | usr/lib/xplayer/plugins/lirc 10 | usr/lib/xplayer/plugins/media-player-keys 11 | usr/lib/xplayer/plugins/ontop 12 | usr/lib/xplayer/plugins/opensubtitles 13 | usr/lib/xplayer/plugins/properties 14 | usr/lib/xplayer/plugins/pythonconsole 15 | usr/lib/xplayer/plugins/recent 16 | usr/lib/xplayer/plugins/rotation 17 | usr/lib/xplayer/plugins/screensaver 18 | usr/lib/xplayer/plugins/screenshot 19 | usr/lib/xplayer/plugins/skipto 20 | usr/lib/xplayer/plugins/vimeo 21 | usr/lib/xplayer/plugins/zeitgeist-dp 22 | -------------------------------------------------------------------------------- /debian/xplayer-thumbnailer.install: -------------------------------------------------------------------------------- 1 | usr/share/thumbnailers 2 | usr/bin/xplayer-audio-preview 3 | usr/bin/xplayer-video-thumbnailer 4 | -------------------------------------------------------------------------------- /debian/xplayer.README.Debian: -------------------------------------------------------------------------------- 1 | ---[ Configuring the output sink 2 | 3 | You can choose your preferred output sink by using gnome-sound-properties (in 4 | the gnome-control-center package), or by editing the GConf key: 5 | /system/gstreamer/0.10/default/musicaudiosink 6 | 7 | The default is to detect your output sink automagically. 8 | 9 | 10 | -------------------------------------------------------------------------------- /debian/xplayer.install: -------------------------------------------------------------------------------- 1 | debian/bug/control /usr/share/bug/xplayer/ 2 | usr/bin/xplayer 3 | usr/lib/xplayer/xplayer 4 | usr/share/applications 5 | -------------------------------------------------------------------------------- /debian/xplayer.lintian-overrides: -------------------------------------------------------------------------------- 1 | # The icon is in xplayer-common 2 | xplayer: menu-icon-missing usr/share/pixmaps/xplayer.xpm 3 | -------------------------------------------------------------------------------- /debian/xplayer.menu: -------------------------------------------------------------------------------- 1 | ?package(xplayer):\ 2 | needs="X11"\ 3 | section="Applications/Video"\ 4 | title="Xplayer"\ 5 | icon="/usr/share/pixmaps/xplayer.xpm"\ 6 | command="/usr/bin/xplayer" 7 | -------------------------------------------------------------------------------- /docs/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = reference 2 | 3 | -include $(top_srcdir)/git.mk 4 | -------------------------------------------------------------------------------- /docs/reference/version.xml: -------------------------------------------------------------------------------- 1 | 2.2.9 2 | -------------------------------------------------------------------------------- /docs/reference/version.xml.in: -------------------------------------------------------------------------------- 1 | @XPLAYER_VERSION_MAJOR@.@XPLAYER_VERSION_MINOR@.@XPLAYER_VERSION_MICRO@ 2 | -------------------------------------------------------------------------------- /docs/reference/xplayer-docs.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | ]> 7 | 8 | 9 | Xplayer Reference Manual 10 | 11 | for Xplayer &version;. The latest version of this documentation can be found online at 12 | http://library.gnome.org/devel/xplayer/. 13 | 14 | 15 | 16 | 17 | Tutorials 18 | 19 | 20 | 21 | 22 | Core API 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | Index of all symbols 31 | 32 | 33 | 34 | Index of new symbols in 2.90.0 35 | 36 | 37 | 38 | Index of new symbols in 2.90.6 39 | 40 | 41 | 42 | Index of new symbols in 3.0 43 | 44 | 45 | 46 | Index of new symbols in 3.1.5 47 | 48 | 49 | 50 | Index of deprecated symbols 51 | 52 | 53 | 54 | Annotation glossary 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /docs/reference/xplayer-overrides.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/docs/reference/xplayer-overrides.txt -------------------------------------------------------------------------------- /docs/reference/xplayer.types: -------------------------------------------------------------------------------- 1 | #include "xplayer.h" 2 | #include "bacon-video-widget.h" 3 | 4 | xplayer_object_get_type 5 | bacon_video_widget_get_type 6 | -------------------------------------------------------------------------------- /help/C/figures/xplayer_next_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_next_button.png -------------------------------------------------------------------------------- /help/C/figures/xplayer_pause_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_pause_button.png -------------------------------------------------------------------------------- /help/C/figures/xplayer_play_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_play_button.png -------------------------------------------------------------------------------- /help/C/figures/xplayer_previous_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_previous_button.png -------------------------------------------------------------------------------- /help/C/figures/xplayer_show_playlist_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_show_playlist_button.png -------------------------------------------------------------------------------- /help/C/figures/xplayer_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_start_window.png -------------------------------------------------------------------------------- /help/C/figures/xplayer_volume_maximum_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_volume_maximum_button.png -------------------------------------------------------------------------------- /help/C/figures/xplayer_volume_mute_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/C/figures/xplayer_volume_mute_button.png -------------------------------------------------------------------------------- /help/Makefile.am: -------------------------------------------------------------------------------- 1 | @YELP_HELP_RULES@ 2 | 3 | HELP_ID = xplayer 4 | 5 | HELP_FILES = \ 6 | index.docbook \ 7 | legal.xml 8 | 9 | HELP_MEDIA = \ 10 | figures/xplayer_show_playlist_button.png \ 11 | figures/xplayer_next_button.png \ 12 | figures/xplayer_start_window.png \ 13 | figures/xplayer_pause_button.png \ 14 | figures/xplayer_volume_maximum_button.png \ 15 | figures/xplayer_play_button.png \ 16 | figures/xplayer_volume_mute_button.png \ 17 | figures/xplayer_previous_button.png 18 | 19 | HELP_LINGUAS = bg ca cs da de el en_GB es eu fi fr gl hr it ja oc pa pl pt_BR ro ru sl sv te uk zh_CN zh_HK zh_TW 20 | 21 | -include $(top_srcdir)/git.mk 22 | -------------------------------------------------------------------------------- /help/hr/figures/xplayer_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/help/hr/figures/xplayer_start_window.png -------------------------------------------------------------------------------- /intltool-extract.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/intltool-extract.in -------------------------------------------------------------------------------- /intltool-merge.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/intltool-merge.in -------------------------------------------------------------------------------- /intltool-update.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/xplayer/56839ed1c6b1690dc6d198e2184e8a4116b0d6c2/intltool-update.in -------------------------------------------------------------------------------- /libgd/libgd/gd-main-icon-view.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef __GD_MAIN_ICON_VIEW_H__ 23 | #define __GD_MAIN_ICON_VIEW_H__ 24 | 25 | #include 26 | #include 27 | 28 | G_BEGIN_DECLS 29 | 30 | #define GD_TYPE_MAIN_ICON_VIEW gd_main_icon_view_get_type() 31 | 32 | #define GD_MAIN_ICON_VIEW(obj) \ 33 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ 34 | GD_TYPE_MAIN_ICON_VIEW, GdMainIconView)) 35 | 36 | #define GD_MAIN_ICON_VIEW_CLASS(klass) \ 37 | (G_TYPE_CHECK_CLASS_CAST ((klass), \ 38 | GD_TYPE_MAIN_ICON_VIEW, GdMainIconViewClass)) 39 | 40 | #define GD_IS_MAIN_ICON_VIEW(obj) \ 41 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ 42 | GD_TYPE_MAIN_ICON_VIEW)) 43 | 44 | #define GD_IS_MAIN_ICON_VIEW_CLASS(klass) \ 45 | (G_TYPE_CHECK_CLASS_TYPE ((klass), \ 46 | GD_TYPE_MAIN_ICON_VIEW)) 47 | 48 | #define GD_MAIN_ICON_VIEW_GET_CLASS(obj) \ 49 | (G_TYPE_INSTANCE_GET_CLASS ((obj), \ 50 | GD_TYPE_MAIN_ICON_VIEW, GdMainIconViewClass)) 51 | 52 | typedef struct _GdMainIconView GdMainIconView; 53 | typedef struct _GdMainIconViewClass GdMainIconViewClass; 54 | typedef struct _GdMainIconViewPrivate GdMainIconViewPrivate; 55 | 56 | struct _GdMainIconView 57 | { 58 | GtkIconView parent; 59 | 60 | GdMainIconViewPrivate *priv; 61 | }; 62 | 63 | struct _GdMainIconViewClass 64 | { 65 | GtkIconViewClass parent_class; 66 | }; 67 | 68 | GType gd_main_icon_view_get_type (void) G_GNUC_CONST; 69 | 70 | GtkWidget * gd_main_icon_view_new (void); 71 | 72 | G_END_DECLS 73 | 74 | #endif /* __GD_MAIN_ICON_VIEW_H__ */ 75 | -------------------------------------------------------------------------------- /libgd/libgd/gd-styled-text-renderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef _GD_STYLED_TEXT_RENDERER_H 23 | #define _GD_STYLED_TEXT_RENDERER_H 24 | 25 | #include 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define GD_TYPE_STYLED_TEXT_RENDERER gd_styled_text_renderer_get_type() 32 | 33 | #define GD_STYLED_TEXT_RENDERER(obj) \ 34 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ 35 | GD_TYPE_STYLED_TEXT_RENDERER, GdStyledTextRenderer)) 36 | 37 | #define GD_STYLED_TEXT_RENDERER_CLASS(klass) \ 38 | (G_TYPE_CHECK_CLASS_CAST ((klass), \ 39 | GD_TYPE_STYLED_TEXT_RENDERER, GdStyledTextRendererClass)) 40 | 41 | #define GD_IS_STYLED_TEXT_RENDERER(obj) \ 42 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ 43 | GD_TYPE_STYLED_TEXT_RENDERER)) 44 | 45 | #define GD_IS_STYLED_TEXT_RENDERER_CLASS(klass) \ 46 | (G_TYPE_CHECK_CLASS_TYPE ((klass), \ 47 | GD_TYPE_STYLED_TEXT_RENDERER)) 48 | 49 | #define GD_STYLED_TEXT_RENDERER_GET_CLASS(obj) \ 50 | (G_TYPE_INSTANCE_GET_CLASS ((obj), \ 51 | GD_TYPE_STYLED_TEXT_RENDERER, GdStyledTextRendererClass)) 52 | 53 | typedef struct _GdStyledTextRenderer GdStyledTextRenderer; 54 | typedef struct _GdStyledTextRendererClass GdStyledTextRendererClass; 55 | typedef struct _GdStyledTextRendererPrivate GdStyledTextRendererPrivate; 56 | 57 | struct _GdStyledTextRenderer 58 | { 59 | GtkCellRendererText parent; 60 | 61 | GdStyledTextRendererPrivate *priv; 62 | }; 63 | 64 | struct _GdStyledTextRendererClass 65 | { 66 | GtkCellRendererTextClass parent_class; 67 | }; 68 | 69 | GType gd_styled_text_renderer_get_type (void) G_GNUC_CONST; 70 | 71 | GtkCellRenderer *gd_styled_text_renderer_new (void); 72 | void gd_styled_text_renderer_add_class (GdStyledTextRenderer *self, 73 | const gchar *class); 74 | void gd_styled_text_renderer_remove_class (GdStyledTextRenderer *self, 75 | const gchar *class); 76 | 77 | G_END_DECLS 78 | 79 | #endif /* _GD_STYLED_TEXT_RENDERER_H */ 80 | -------------------------------------------------------------------------------- /libgd/libgd/gd-tagged-entry.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef __GD_TAGGED_ENTRY_H__ 23 | #define __GD_TAGGED_ENTRY_H__ 24 | 25 | #include 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define GD_TYPE_TAGGED_ENTRY gd_tagged_entry_get_type() 32 | 33 | #define GD_TAGGED_ENTRY(obj) \ 34 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ 35 | GD_TYPE_TAGGED_ENTRY, GdTaggedEntry)) 36 | 37 | #define GD_TAGGED_ENTRY_CLASS(klass) \ 38 | (G_TYPE_CHECK_CLASS_CAST ((klass), \ 39 | GD_TYPE_TAGGED_ENTRY, GdTaggedEntryClass)) 40 | 41 | #define GD_IS_TAGGED_ENTRY(obj) \ 42 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ 43 | GD_TYPE_TAGGED_ENTRY)) 44 | 45 | #define GD_IS_TAGGED_ENTRY_CLASS(klass) \ 46 | (G_TYPE_CHECK_CLASS_TYPE ((klass), \ 47 | GD_TYPE_TAGGED_ENTRY)) 48 | 49 | #define GD_TAGGED_ENTRY_GET_CLASS(obj) \ 50 | (G_TYPE_INSTANCE_GET_CLASS ((obj), \ 51 | GD_TYPE_TAGGED_ENTRY, GdTaggedEntryClass)) 52 | 53 | typedef struct _GdTaggedEntry GdTaggedEntry; 54 | typedef struct _GdTaggedEntryClass GdTaggedEntryClass; 55 | typedef struct _GdTaggedEntryPrivate GdTaggedEntryPrivate; 56 | 57 | struct _GdTaggedEntry 58 | { 59 | GtkSearchEntry parent; 60 | 61 | GdTaggedEntryPrivate *priv; 62 | }; 63 | 64 | struct _GdTaggedEntryClass 65 | { 66 | GtkSearchEntryClass parent_class; 67 | }; 68 | 69 | GType gd_tagged_entry_get_type (void) G_GNUC_CONST; 70 | 71 | GdTaggedEntry *gd_tagged_entry_new (void); 72 | 73 | void gd_tagged_entry_set_tag_button_visible (GdTaggedEntry *self, 74 | gboolean visible); 75 | gboolean gd_tagged_entry_get_tag_button_visible (GdTaggedEntry *self); 76 | 77 | gboolean gd_tagged_entry_add_tag (GdTaggedEntry *entry, 78 | const gchar *id, 79 | const gchar *label); 80 | 81 | gboolean gd_tagged_entry_remove_tag (GdTaggedEntry *self, 82 | const gchar *id); 83 | 84 | gboolean gd_tagged_entry_set_tag_label (GdTaggedEntry *self, 85 | const gchar *tag_id, 86 | const gchar *label); 87 | 88 | G_END_DECLS 89 | 90 | #endif /* __GD_TAGGED_ENTRY_H__ */ 91 | -------------------------------------------------------------------------------- /libgd/libgd/gd-toggle-pixbuf-renderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef _GD_TOGGLE_PIXBUF_RENDERER_H 23 | #define _GD_TOGGLE_PIXBUF_RENDERER_H 24 | 25 | #include 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define GD_TYPE_TOGGLE_PIXBUF_RENDERER gd_toggle_pixbuf_renderer_get_type() 32 | 33 | #define GD_TOGGLE_PIXBUF_RENDERER(obj) \ 34 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ 35 | GD_TYPE_TOGGLE_PIXBUF_RENDERER, GdTogglePixbufRenderer)) 36 | 37 | #define GD_TOGGLE_PIXBUF_RENDERER_CLASS(klass) \ 38 | (G_TYPE_CHECK_CLASS_CAST ((klass), \ 39 | GD_TYPE_TOGGLE_PIXBUF_RENDERER, GdTogglePixbufRendererClass)) 40 | 41 | #define GD_IS_TOGGLE_PIXBUF_RENDERER(obj) \ 42 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ 43 | GD_TYPE_TOGGLE_PIXBUF_RENDERER)) 44 | 45 | #define GD_IS_TOGGLE_PIXBUF_RENDERER_CLASS(klass) \ 46 | (G_TYPE_CHECK_CLASS_TYPE ((klass), \ 47 | GD_TYPE_TOGGLE_PIXBUF_RENDERER)) 48 | 49 | #define GD_TOGGLE_PIXBUF_RENDERER_GET_CLASS(obj) \ 50 | (G_TYPE_INSTANCE_GET_CLASS ((obj), \ 51 | GD_TYPE_TOGGLE_PIXBUF_RENDERER, GdTogglePixbufRendererClass)) 52 | 53 | typedef struct _GdTogglePixbufRenderer GdTogglePixbufRenderer; 54 | typedef struct _GdTogglePixbufRendererClass GdTogglePixbufRendererClass; 55 | typedef struct _GdTogglePixbufRendererPrivate GdTogglePixbufRendererPrivate; 56 | 57 | struct _GdTogglePixbufRenderer 58 | { 59 | GtkCellRendererPixbuf parent; 60 | 61 | GdTogglePixbufRendererPrivate *priv; 62 | }; 63 | 64 | struct _GdTogglePixbufRendererClass 65 | { 66 | GtkCellRendererPixbufClass parent_class; 67 | }; 68 | 69 | GType gd_toggle_pixbuf_renderer_get_type (void) G_GNUC_CONST; 70 | 71 | GtkCellRenderer *gd_toggle_pixbuf_renderer_new (void); 72 | 73 | G_END_DECLS 74 | 75 | #endif /* _GD_TOGGLE_PIXBUF_RENDERER_H */ 76 | -------------------------------------------------------------------------------- /libgd/libgd/gd-two-lines-renderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef _GD_TWO_LINES_RENDERER_H 23 | #define _GD_TWO_LINES_RENDERER_H 24 | 25 | #include 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define GD_TYPE_TWO_LINES_RENDERER gd_two_lines_renderer_get_type() 32 | 33 | #define GD_TWO_LINES_RENDERER(obj) \ 34 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ 35 | GD_TYPE_TWO_LINES_RENDERER, GdTwoLinesRenderer)) 36 | 37 | #define GD_TWO_LINES_RENDERER_CLASS(klass) \ 38 | (G_TYPE_CHECK_CLASS_CAST ((klass), \ 39 | GD_TYPE_TWO_LINES_RENDERER, GdTwoLinesRendererClass)) 40 | 41 | #define GD_IS_TWO_LINES_RENDERER(obj) \ 42 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ 43 | GD_TYPE_TWO_LINES_RENDERER)) 44 | 45 | #define GD_IS_TWO_LINES_RENDERER_CLASS(klass) \ 46 | (G_TYPE_CHECK_CLASS_TYPE ((klass), \ 47 | GD_TYPE_TWO_LINES_RENDERER)) 48 | 49 | #define GD_TWO_LINES_RENDERER_GET_CLASS(obj) \ 50 | (G_TYPE_INSTANCE_GET_CLASS ((obj), \ 51 | GD_TYPE_TWO_LINES_RENDERER, GdTwoLinesRendererClass)) 52 | 53 | typedef struct _GdTwoLinesRenderer GdTwoLinesRenderer; 54 | typedef struct _GdTwoLinesRendererClass GdTwoLinesRendererClass; 55 | typedef struct _GdTwoLinesRendererPrivate GdTwoLinesRendererPrivate; 56 | 57 | struct _GdTwoLinesRenderer 58 | { 59 | GtkCellRendererText parent; 60 | 61 | GdTwoLinesRendererPrivate *priv; 62 | }; 63 | 64 | struct _GdTwoLinesRendererClass 65 | { 66 | GtkCellRendererTextClass parent_class; 67 | }; 68 | 69 | GType gd_two_lines_renderer_get_type (void) G_GNUC_CONST; 70 | 71 | GtkCellRenderer *gd_two_lines_renderer_new (void); 72 | 73 | G_END_DECLS 74 | 75 | #endif /* _GD_TWO_LINES_RENDERER_H */ 76 | -------------------------------------------------------------------------------- /libgd/libgd/gd-types-catalog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | */ 19 | 20 | #ifndef __GD_TYPES_CATALOG_H__ 21 | #define __GD_TYPES_CATALOG_H__ 22 | 23 | #include 24 | 25 | G_BEGIN_DECLS 26 | 27 | void gd_ensure_types (void); 28 | 29 | G_END_DECLS 30 | 31 | #endif /* __GD_TYPES_CATALOG_H__ */ 32 | -------------------------------------------------------------------------------- /libgd/libgd/gd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | */ 19 | 20 | #ifndef __GD_H__ 21 | #define __GD_H__ 22 | 23 | #ifdef HAVE_CONFIG_H 24 | # include 25 | #endif 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #include 32 | 33 | #ifdef LIBGD_GTK_HACKS 34 | # include 35 | # include 36 | #endif 37 | 38 | #ifdef LIBGD__VIEW_COMMON 39 | # include 40 | # include 41 | # include 42 | # include 43 | #endif 44 | 45 | #ifdef LIBGD_MAIN_ICON_VIEW 46 | # include 47 | #endif 48 | 49 | #ifdef LIBGD_MAIN_LIST_VIEW 50 | # include 51 | #endif 52 | 53 | #ifdef LIBGD_MAIN_VIEW 54 | # include 55 | #endif 56 | 57 | #ifdef LIBGD_MAIN_TOOLBAR 58 | # include 59 | #endif 60 | 61 | #ifdef LIBGD_HEADER_BAR 62 | # include 63 | #endif 64 | 65 | #ifdef LIBGD__HEADER_BUTTON 66 | # include 67 | #endif 68 | 69 | #ifdef LIBGD_MARGIN_CONTAINER 70 | # include 71 | #endif 72 | 73 | #ifdef LIBGD_TAGGED_ENTRY 74 | # include 75 | #endif 76 | 77 | #ifdef LIBGD_NOTIFICATION 78 | # include 79 | #endif 80 | 81 | #ifdef LIBGD_REVEALER 82 | # include 83 | #endif 84 | 85 | #ifdef LIBGD_STACK 86 | # include 87 | # include 88 | #endif 89 | 90 | G_END_DECLS 91 | 92 | #endif /* __GD_H__ */ 93 | -------------------------------------------------------------------------------- /libgd/test-header-bar.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | static void 5 | on_switch_clicked (GtkWidget *button, 6 | GdHeaderBar *bar) 7 | { 8 | GtkWidget *image = NULL; 9 | static gboolean use_custom = TRUE; 10 | 11 | if (use_custom) 12 | { 13 | image = gtk_image_new_from_icon_name ("face-wink-symbolic", GTK_ICON_SIZE_MENU); 14 | use_custom = FALSE; 15 | } 16 | else 17 | { 18 | use_custom = TRUE; 19 | } 20 | 21 | gd_header_bar_set_custom_title (bar, image); 22 | } 23 | 24 | gint 25 | main (gint argc, 26 | gchar ** argv) 27 | { 28 | GtkWidget *window, *bar, *box, *button; 29 | 30 | gtk_init (&argc, &argv); 31 | 32 | if (g_getenv ("RTL")) 33 | gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); 34 | else 35 | gtk_widget_set_default_direction (GTK_TEXT_DIR_LTR); 36 | 37 | window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 38 | gtk_widget_set_size_request (window, 300, 300); 39 | 40 | box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); 41 | gtk_container_add (GTK_CONTAINER (window), box); 42 | 43 | bar = gd_header_bar_new (); 44 | gtk_box_pack_start (GTK_BOX (box), bar, FALSE, TRUE, 0); 45 | 46 | gd_header_bar_set_title (GD_HEADER_BAR (bar), "Title Title Title Title Title Title"); 47 | gd_header_bar_set_subtitle (GD_HEADER_BAR (bar), "Subtitle Subtitle Subtitle Subtitle Subtitle Subtitle"); 48 | button = gtk_button_new_with_label ("Switch"); 49 | gtk_widget_set_valign (button, GTK_ALIGN_CENTER); 50 | gtk_style_context_add_class (gtk_widget_get_style_context (button), GTK_STYLE_CLASS_RAISED); 51 | gd_header_bar_pack_start (GD_HEADER_BAR (bar), button); 52 | g_signal_connect (button, "clicked", G_CALLBACK (on_switch_clicked), bar); 53 | 54 | button = gtk_button_new_with_label ("Done"); 55 | gtk_widget_set_valign (button, GTK_ALIGN_CENTER); 56 | gtk_style_context_add_class (gtk_widget_get_style_context (button), "suggested-action"); 57 | 58 | gd_header_bar_pack_end (GD_HEADER_BAR (bar), button); 59 | 60 | button = gtk_button_new_with_label ("Almost"); 61 | gtk_widget_set_valign (button, GTK_ALIGN_CENTER); 62 | gtk_style_context_add_class (gtk_widget_get_style_context (button), GTK_STYLE_CLASS_RAISED); 63 | gd_header_bar_pack_end (GD_HEADER_BAR (bar), button); 64 | 65 | gtk_widget_show_all (window); 66 | gtk_main (); 67 | 68 | gtk_widget_destroy (window); 69 | 70 | return 0; 71 | } 72 | -------------------------------------------------------------------------------- /libgd/test-revealer.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | gint 5 | main (gint argc, 6 | gchar ** argv) 7 | { 8 | GtkWidget *window, *revealer, *box, *widget, *entry; 9 | 10 | gtk_init (&argc, &argv); 11 | 12 | window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 13 | gtk_widget_set_size_request (window, 300, 300); 14 | 15 | box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); 16 | widget = gtk_toggle_button_new_with_label ("Revealed"); 17 | gtk_container_add (GTK_CONTAINER (box), widget); 18 | gtk_container_add (GTK_CONTAINER (window), box); 19 | 20 | revealer = gd_revealer_new (); 21 | entry = gtk_entry_new (); 22 | gtk_container_add (GTK_CONTAINER (revealer), entry); 23 | gtk_container_add (GTK_CONTAINER (box), revealer); 24 | 25 | g_object_bind_property (widget, "active", revealer, "reveal-child", 0); 26 | 27 | gtk_widget_show_all (window); 28 | gtk_main (); 29 | 30 | gtk_widget_destroy (window); 31 | 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /license_change: -------------------------------------------------------------------------------- 1 | Christian Schaller: Monday 7th February 2005 2 | - Added following exception clause to all GPL files: 3 | 4 | " 5 | The Xplayer project hereby grants permission for non-GPL compatible 6 | GStreamer plugins to be used and distributed together with GStreamer and 7 | Xplayer. This permission is above and beyond the permissions granted by 8 | the GPL license by which Xplayer is covered. If you modify this code, you may 9 | extend this exception to your version of the code, but you are not obligated 10 | to do so. If you do not wish to do so, delete this exception statement from 11 | your version. 12 | " 13 | 14 | This was done with the permission of all copyright holders as listed below: 15 | 16 | Bastien Nocera 17 | Xan Lopez 18 | sanjay Kumar J 19 | Julien Moutte 20 | Sebastien Bacher 21 | Jon Trowbridge 22 | Ronald S. Bultje 23 | Dennis Cranston 24 | John McCutchan 25 | Jakub Steiner 26 | Mattias Eriksson 27 | Jorn Baayen 28 | Gustavo Carneiro 29 | Frederic Crozat 30 | Luca Ferretti 31 | Anders Carlsson 32 | James Willcox 33 | Colin Walters 34 | 35 | Bastien Nocera: Thursday 3rd May 2007 36 | - Added exception clause to ev-sidebar.[ch] 37 | (Note that all copyright holders also agreed to relicensing that same code 38 | under the LGPL for inclusion in GTK+ 39 | See http://bugzilla.gnome.org/show_bug.cgi?id=307044) 40 | 41 | This was done with the permission of all copyright holders as listed below: 42 | Marco Pesenti Gritti 43 | Jonathan Blandford 44 | Nickolay V. Shmyrev 45 | Carlos Garcia Campos 46 | 47 | Bastien Nocera: Sunday 13th May 2007 48 | - Added exception clause to src/plugins/*.[ch] 49 | (See http://bugzilla.gnome.org/show_bug.cgi?id=435523 for details) 50 | This was done with the permission of all copyright holders as listed below: 51 | 52 | Bastien Nocera 53 | Jesse van den Kieboom 54 | Paolo Maggi 55 | Paolo Borelli 56 | Steve Frécinaux 57 | Adam Hooper 58 | Christian Persch 60 | Marco Pesenti Gritti 61 | Jonathan Matthew 62 | James "Doc" Livingston 63 | William Jon McCann 64 | Christophe Fergeau 65 | 66 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | af 2 | am 3 | ar 4 | as 5 | ast 6 | az 7 | be 8 | be@latin 9 | bg 10 | bn 11 | bn_IN 12 | br 13 | bs 14 | ca 15 | ca@valencia 16 | crh 17 | cs 18 | cy 19 | da 20 | de 21 | dz 22 | el 23 | en_CA 24 | en_GB 25 | en@shaw 26 | eo 27 | es 28 | et 29 | eu 30 | fa 31 | fi 32 | fr 33 | fr_CA 34 | ga 35 | gl 36 | gu 37 | gv 38 | he 39 | hi 40 | hr 41 | hu 42 | ia 43 | id 44 | ie 45 | is 46 | it 47 | ja 48 | ka 49 | kab 50 | kk 51 | km 52 | kn 53 | ko 54 | ku 55 | ky 56 | la 57 | lt 58 | lv 59 | mai 60 | mg 61 | mk 62 | ml 63 | mr 64 | ms 65 | my 66 | nb 67 | ne 68 | nl 69 | nn 70 | oc 71 | or 72 | pa 73 | pl 74 | pt 75 | pt_BR 76 | ro 77 | ru 78 | rw 79 | si 80 | sk 81 | sl 82 | sq 83 | sr 84 | sr@latin 85 | sv 86 | ta 87 | te 88 | tg 89 | th 90 | tr 91 | ug 92 | uk 93 | ur 94 | vi 95 | wa 96 | xh 97 | zgh 98 | zh_CN 99 | zh_HK 100 | zh_TW 101 | zu 102 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | data/org.x.player.gschema.xml.in 2 | data/xplayer-handlers.schemas.in 3 | data/xplayer-video-thumbnail.schemas.in 4 | data/xplayer.desktop.in 5 | data/xplayer.desktop.in.in 6 | data/fullscreen.glade 7 | data/playlist.glade 8 | data/plugins.glade 9 | data/properties.glade 10 | data/xplayer.glade 11 | data/uri.glade 12 | src/backend/gstscreenshot.c 13 | src/xplayer-video-indexer.c 14 | src/xplayer-video-thumbnailer.c 15 | src/plugins/jamendo/org.x.player.plugins.jamendo.gschema.xml.in 16 | src/plugins/opensubtitles/org.x.player.plugins.opensubtitles.gschema.xml.in 17 | src/plugins/publish/org.x.player.plugins.publish.gschema.xml.in 18 | src/plugins/publish/publish-plugin.glade 19 | src/plugins/pythonconsole/org.x.player.plugins.pythonconsole.gschema.xml.in 20 | src/plugins/rotation/xplayer-rotation-plugin.c 21 | src/plugins/samplepython/samplepython.plugin.in 22 | src/plugins/sample-vala/sample-vala.plugin.in 23 | src/plugins/sidebar-test/sidebar-test.plugin.in 24 | -------------------------------------------------------------------------------- /po/makepot: -------------------------------------------------------------------------------- 1 | INTLTOOL_EXTRACT="/usr/bin/intltool-extract" XGETTEXT="/usr/bin/xgettext" srcdir=. /usr/bin/intltool-update --gettext-package xplayer --pot -------------------------------------------------------------------------------- /src/backend/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_PROGRAMS = bvw-test 2 | 3 | noinst_LTLIBRARIES = libbaconvideowidget.la 4 | 5 | bvw_test_SOURCES = bvw-test.c 6 | 7 | bvw_test_CPPFLAGS = \ 8 | -DDATADIR=\"$(pkgdatadir)\" \ 9 | -DLOGO_PATH=DATADIR\"\"G_DIR_SEPARATOR_S\"xplayer\"G_DIR_SEPARATOR_S\"xplayer_logo.png\" \ 10 | -DG_LOG_DOMAIN="\"bvw-test\"" \ 11 | $(DISABLE_DEPRECATED) \ 12 | $(AM_CPPFLAGS) 13 | 14 | bvw_test_CFLAGS = \ 15 | $(BACKEND_CFLAGS) \ 16 | $(AM_CFLAGS) 17 | 18 | bvw_test_LDADD = \ 19 | libbaconvideowidget.la \ 20 | $(BACKEND_LIBS) 21 | 22 | # Enums 23 | BVW_ENUM_FILES = bacon-video-widget-enums.c bacon-video-widget-enums.h 24 | 25 | bacon-video-widget-enums.h: bacon-video-widget.h Makefile 26 | $(AM_V_GEN)($(GLIB_MKENUMS) \ 27 | --fhead "#ifndef BVW_ENUMS_H\n#define BVW_ENUMS_H\n\n#include \n\nG_BEGIN_DECLS\n" \ 28 | --fprod "/* enumerations from \"@filename@\" */\n" \ 29 | --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define BVW_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ 30 | --ftail "G_END_DECLS\n\n#endif /* !BVW_ENUMS_H */" $(srcdir)/bacon-video-widget.h > $@) 31 | 32 | bacon-video-widget-enums.c: bacon-video-widget.h Makefile bacon-video-widget-enums.h 33 | $(AM_V_GEN)($(GLIB_MKENUMS) \ 34 | --fhead "#include \"bacon-video-widget.h\"\n#include \"bacon-video-widget-enums.h\"" \ 35 | --fprod "\n/* enumerations from \"@filename@\" */" \ 36 | --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ 37 | --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ 38 | --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ 39 | $(srcdir)/bacon-video-widget.h > $@) 40 | 41 | libbaconvideowidget_la_SOURCES = \ 42 | $(BVW_MARSHAL_FILES) \ 43 | $(BVW_ENUM_FILES) \ 44 | bacon-video-widget.h \ 45 | video-utils.c video-utils.h \ 46 | bacon-video-widget.c \ 47 | bacon-video-widget-gst-missing-plugins.c \ 48 | bacon-video-widget-gst-missing-plugins.h \ 49 | xplayer-aspect-frame.h \ 50 | xplayer-aspect-frame.c \ 51 | gsd-osd-window.c \ 52 | gsd-osd-window.h \ 53 | gsd-osd-window-private.h \ 54 | bacon-video-osd-actor.c \ 55 | bacon-video-osd-actor.h 56 | 57 | libbaconvideowidget_la_CPPFLAGS = \ 58 | -D_REENTRANT \ 59 | -I$(top_srcdir)/src/gst/ \ 60 | -I$(top_builddir)/src/backend \ 61 | $(DISABLE_DEPRECATED) \ 62 | $(AM_CPPFLAGS) 63 | 64 | libbaconvideowidget_la_CFLAGS = \ 65 | $(BACKEND_CFLAGS) \ 66 | $(AM_CFLAGS) 67 | 68 | libbaconvideowidget_la_LIBADD = \ 69 | $(top_builddir)/src/gst/libxplayergsthelpers.la \ 70 | $(top_builddir)/src/gst/libxplayergstpixbufhelpers.la \ 71 | $(BACKEND_LIBS) \ 72 | -lm 73 | 74 | libbaconvideowidget_la_LDFLAGS= \ 75 | -no-undefined 76 | 77 | CLEANFILES = \ 78 | $(BVW_MARSHAL_FILES) \ 79 | $(BVW_ENUM_FILES) 80 | 81 | -include $(top_srcdir)/git.mk 82 | -------------------------------------------------------------------------------- /src/backend/bacon-video-osd-actor.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8; tab-width: 8 -*- 2 | * 3 | * On-screen-display (OSD) window for gnome-settings-daemon's plugins 4 | * 5 | * Copyright (C) 2006 William Jon McCann 6 | * Copyright (C) 2009 Novell, Inc 7 | * 8 | * Authors: 9 | * William Jon McCann 10 | * Federico Mena-Quintero 11 | * 12 | * This program is free software; you can redistribute it and/or 13 | * modify it under the terms of the GNU Lesser General Public 14 | * License as published by the Free Software Foundation; either 15 | * version 2, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be 18 | * useful, but WITHOUT ANY WARRANTY; without even the implied 19 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 20 | * PURPOSE. See the GNU Lesser General Public License for more 21 | * details. 22 | * 23 | * You should have received a copy of the GNU Lesser General 24 | * Public License along with this program; if not, write to the 25 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 26 | * Boston, MA 02111-1307, USA. 27 | * 28 | */ 29 | 30 | #ifndef BACON_VIDEO_OSD_ACTOR_H 31 | #define BACON_VIDEO_OSD_ACTOR_H 32 | 33 | #include 34 | #include 35 | 36 | G_BEGIN_DECLS 37 | 38 | #define BACON_TYPE_VIDEO_OSD_ACTOR (bacon_video_osd_actor_get_type ()) 39 | #define BACON_VIDEO_OSD_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BACON_TYPE_VIDEO_OSD_ACTOR, BaconVideoOsdActor)) 40 | #define BACON_VIDEO_OSD_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BACON_TYPE_VIDEO_OSD_ACTOR, BaconVideoOsdActorClass)) 41 | #define BACON_IS_VIDEO_OSD_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BACON_TYPE_VIDEO_OSD_ACTOR)) 42 | #define BACON_IS_VIDEO_OSD_ACTOR_CLASS(klass) (G_TYPE_INSTANCE_GET_CLASS ((klass), BACON_TYPE_VIDEO_OSD_ACTOR)) 43 | #define BACON_VIDEO_OSD_ACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BACON_TYPE_VIDEO_OSD_ACTOR, BaconVideoOsdActorClass)) 44 | 45 | typedef struct BaconVideoOsdActor BaconVideoOsdActor; 46 | typedef struct BaconVideoOsdActorClass BaconVideoOsdActorClass; 47 | typedef struct BaconVideoOsdActorPrivate BaconVideoOsdActorPrivate; 48 | 49 | struct BaconVideoOsdActor { 50 | ClutterActor parent; 51 | 52 | BaconVideoOsdActorPrivate *priv; 53 | }; 54 | 55 | struct BaconVideoOsdActorClass { 56 | ClutterActorClass parent_class; 57 | }; 58 | 59 | GType bacon_video_osd_actor_get_type (void); 60 | 61 | ClutterActor * bacon_video_osd_actor_new (void); 62 | void bacon_video_osd_actor_set_content (BaconVideoOsdActor *osd, const char *icon_name, const char *message); 63 | void bacon_video_osd_actor_hide (BaconVideoOsdActor *osd); 64 | void bacon_video_osd_actor_show (BaconVideoOsdActor *osd); 65 | void bacon_video_osd_actor_show_and_fade (BaconVideoOsdActor *osd); 66 | 67 | G_END_DECLS 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /src/backend/bacon-video-widget-enums.h: -------------------------------------------------------------------------------- 1 | 2 | /* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ 3 | 4 | #ifndef BVW_ENUMS_H 5 | #define BVW_ENUMS_H 6 | 7 | #include 8 | 9 | G_BEGIN_DECLS 10 | /* enumerations from "./bacon-video-widget.h" */ 11 | GType bvw_error_get_type (void) G_GNUC_CONST; 12 | #define BVW_TYPE_ERROR (bvw_error_get_type()) 13 | GType bvw_metadata_type_get_type (void) G_GNUC_CONST; 14 | #define BVW_TYPE_METADATA_TYPE (bvw_metadata_type_get_type()) 15 | GType bvw_video_property_get_type (void) G_GNUC_CONST; 16 | #define BVW_TYPE_VIDEO_PROPERTY (bvw_video_property_get_type()) 17 | GType bvw_aspect_ratio_get_type (void) G_GNUC_CONST; 18 | #define BVW_TYPE_ASPECT_RATIO (bvw_aspect_ratio_get_type()) 19 | GType bvw_zoom_mode_get_type (void) G_GNUC_CONST; 20 | #define BVW_TYPE_ZOOM_MODE (bvw_zoom_mode_get_type()) 21 | GType bvw_rotation_get_type (void) G_GNUC_CONST; 22 | #define BVW_TYPE_ROTATION (bvw_rotation_get_type()) 23 | GType bvw_dvd_event_get_type (void) G_GNUC_CONST; 24 | #define BVW_TYPE_DVD_EVENT (bvw_dvd_event_get_type()) 25 | GType bvw_audio_output_type_get_type (void) G_GNUC_CONST; 26 | #define BVW_TYPE_AUDIO_OUTPUT_TYPE (bvw_audio_output_type_get_type()) 27 | G_END_DECLS 28 | 29 | #endif /* !BVW_ENUMS_H */ 30 | 31 | /* Generated data ends here */ 32 | 33 | -------------------------------------------------------------------------------- /src/backend/bacon-video-widget-gst-missing-plugins.h: -------------------------------------------------------------------------------- 1 | /* bacon-video-widget-gst-missing-plugins.h 2 | 3 | Copyright (C) 2007 Tim-Philipp Müller 4 | 5 | The Gnome Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The Gnome Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the Gnome Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | Boston, MA 02110-1301 USA. 19 | 20 | Author: Tim-Philipp Müller 21 | */ 22 | 23 | #ifndef BACON_VIDEO_WIDGET_GST_MISSING_PLUGINS_H 24 | #define BACON_VIDEO_WIDGET_GST_MISSING_PLUGINS_H 25 | 26 | #include "bacon-video-widget.h" 27 | 28 | G_BEGIN_DECLS 29 | 30 | void bacon_video_widget_gst_missing_plugins_setup (BaconVideoWidget *bvw); 31 | void bacon_video_widget_gst_missing_plugins_blacklist (void); 32 | 33 | G_END_DECLS 34 | 35 | #endif /* BACON_VIDEO_WIDGET_GST_MISSING_PLUGINS_H */ 36 | -------------------------------------------------------------------------------- /src/backend/gsd-osd-window-private.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8; tab-width: 8 -*- 2 | * 3 | * On-screen-display (OSD) window for gnome-settings-daemon's plugins 4 | * 5 | * Copyright (C) 2006 William Jon McCann 6 | * Copyright (C) 2009 Novell, Inc 7 | * 8 | * Authors: 9 | * William Jon McCann 10 | * Federico Mena-Quintero 11 | * 12 | * This program is free software; you can redistribute it and/or 13 | * modify it under the terms of the GNU Lesser General Public 14 | * License as published by the Free Software Foundation; either 15 | * version 2, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be 18 | * useful, but WITHOUT ANY WARRANTY; without even the implied 19 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 20 | * PURPOSE. See the GNU Lesser General Public License for more 21 | * details. 22 | * 23 | * You should have received a copy of the GNU Lesser General 24 | * Public License along with this program; if not, write to the 25 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 26 | * Boston, MA 02111-1307, USA. 27 | * 28 | */ 29 | 30 | /* GsdOsdWindow is an "on-screen-display" window (OSD). It is the cute, 31 | * semi-transparent, curved popup that appears when you press a hotkey global to 32 | * the desktop, such as to change the volume, switch your monitor's parameters, 33 | * etc. 34 | * 35 | * You can create a GsdOsdWindow and use it as a normal GtkWindow. It will 36 | * automatically center itself, figure out if it needs to be composited, etc. 37 | * Just pack your widgets in it, sit back, and enjoy the ride. 38 | */ 39 | 40 | #ifndef GSD_OSD_WINDOW_PRIVATE_H 41 | #define GSD_OSD_WINDOW_PRIVATE_H 42 | 43 | #include 44 | #include 45 | #include 46 | 47 | G_BEGIN_DECLS 48 | 49 | #define DIALOG_FADE_TIMEOUT 1500 /* timeout before fade starts */ 50 | #define FADE_FRAME_TIMEOUT 10 /* timeout in ms between each frame of the fade */ 51 | 52 | typedef struct { 53 | int width; 54 | int height; 55 | GtkStyleContext *style; 56 | GtkTextDirection direction; 57 | 58 | GtkIconTheme *theme; 59 | const char *icon_name; 60 | const char *message; 61 | } GsdOsdDrawContext; 62 | 63 | void gsd_osd_window_draw (GsdOsdDrawContext *ctx, cairo_t *cr); 64 | 65 | G_END_DECLS 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /src/backend/gsd-osd-window.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8; tab-width: 8 -*- 2 | * 3 | * On-screen-display (OSD) window for gnome-settings-daemon's plugins 4 | * 5 | * Copyright (C) 2006 William Jon McCann 6 | * Copyright (C) 2009 Novell, Inc 7 | * 8 | * Authors: 9 | * William Jon McCann 10 | * Federico Mena-Quintero 11 | * 12 | * This program is free software; you can redistribute it and/or 13 | * modify it under the terms of the GNU Lesser General Public 14 | * License as published by the Free Software Foundation; either 15 | * version 2, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be 18 | * useful, but WITHOUT ANY WARRANTY; without even the implied 19 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 20 | * PURPOSE. See the GNU Lesser General Public License for more 21 | * details. 22 | * 23 | * You should have received a copy of the GNU Lesser General 24 | * Public License along with this program; if not, write to the 25 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 26 | * Boston, MA 02111-1307, USA. 27 | * 28 | */ 29 | 30 | /* GsdOsdWindow is an "on-screen-display" window (OSD). It is the cute, 31 | * semi-transparent, curved popup that appears when you press a hotkey global to 32 | * the desktop, such as to change the volume, switch your monitor's parameters, 33 | * etc. 34 | */ 35 | 36 | #ifndef GSD_OSD_WINDOW_H 37 | #define GSD_OSD_WINDOW_H 38 | 39 | #include 40 | #include 41 | 42 | G_BEGIN_DECLS 43 | 44 | #define GSD_TYPE_OSD_WINDOW (gsd_osd_window_get_type ()) 45 | #define GSD_OSD_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSD_TYPE_OSD_WINDOW, GsdOsdWindow)) 46 | #define GSD_OSD_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSD_TYPE_OSD_WINDOW, GsdOsdWindowClass)) 47 | #define GSD_IS_OSD_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSD_TYPE_OSD_WINDOW)) 48 | #define GSD_IS_OSD_WINDOW_CLASS(klass) (G_TYPE_INSTANCE_GET_CLASS ((klass), GSD_TYPE_OSD_WINDOW)) 49 | #define GSD_OSD_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSD_TYPE_OSD_WINDOW, GsdOsdWindowClass)) 50 | 51 | typedef struct GsdOsdWindow GsdOsdWindow; 52 | typedef struct GsdOsdWindowClass GsdOsdWindowClass; 53 | typedef struct GsdOsdWindowPrivate GsdOsdWindowPrivate; 54 | 55 | struct GsdOsdWindow { 56 | GtkWindow parent; 57 | 58 | GsdOsdWindowPrivate *priv; 59 | }; 60 | 61 | struct GsdOsdWindowClass { 62 | GtkWindowClass parent_class; 63 | }; 64 | 65 | typedef enum { 66 | GSD_OSD_WINDOW_ACTION_VOLUME, 67 | GSD_OSD_WINDOW_ACTION_CUSTOM 68 | } GsdOsdWindowAction; 69 | 70 | GType gsd_osd_window_get_type (void); 71 | 72 | GtkWidget * gsd_osd_window_new (void); 73 | gboolean gsd_osd_window_is_valid (GsdOsdWindow *window); 74 | 75 | G_END_DECLS 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /src/backend/video-utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2002-2010 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission is above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #include 29 | #include 30 | 31 | void xplayer_gdk_window_set_invisible_cursor (GdkWindow *window); 32 | void xplayer_gdk_window_set_waiting_cursor (GdkWindow *window); 33 | 34 | gboolean xplayer_ratio_fits_screen (GtkWidget *widget, 35 | int video_width, 36 | int video_height, 37 | gfloat ratio); 38 | 39 | -------------------------------------------------------------------------------- /src/eggsmclient-private.h: -------------------------------------------------------------------------------- 1 | /* eggsmclient-private.h 2 | * Copyright (C) 2007 Novell, Inc. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the 16 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 | * Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef __EGG_SM_CLIENT_PRIVATE_H__ 21 | #define __EGG_SM_CLIENT_PRIVATE_H__ 22 | 23 | #include 24 | 25 | #if !GTK_CHECK_VERSION(2,91,7) && !GTK_CHECK_VERSION(3,0,0) 26 | /* GTK+ 3 includes this automatically */ 27 | #include 28 | #endif 29 | 30 | #include "eggsmclient.h" 31 | 32 | G_BEGIN_DECLS 33 | 34 | GKeyFile *egg_sm_client_save_state (EggSMClient *client); 35 | void egg_sm_client_quit_requested (EggSMClient *client); 36 | void egg_sm_client_quit_cancelled (EggSMClient *client); 37 | void egg_sm_client_quit (EggSMClient *client); 38 | 39 | #if defined (GDK_WINDOWING_X11) 40 | # ifdef EGG_SM_CLIENT_BACKEND_XSMP 41 | GType egg_sm_client_xsmp_get_type (void); 42 | EggSMClient *egg_sm_client_xsmp_new (void); 43 | # endif 44 | # ifdef EGG_SM_CLIENT_BACKEND_DBUS 45 | GType egg_sm_client_dbus_get_type (void); 46 | EggSMClient *egg_sm_client_dbus_new (void); 47 | # endif 48 | #elif defined (GDK_WINDOWING_WIN32) 49 | GType egg_sm_client_win32_get_type (void); 50 | EggSMClient *egg_sm_client_win32_new (void); 51 | #elif defined (GDK_WINDOWING_QUARTZ) 52 | GType egg_sm_client_osx_get_type (void); 53 | EggSMClient *egg_sm_client_osx_new (void); 54 | #endif 55 | 56 | G_END_DECLS 57 | 58 | 59 | #endif /* __EGG_SM_CLIENT_PRIVATE_H__ */ 60 | -------------------------------------------------------------------------------- /src/gd-fullscreen-filter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef __GD_FULLSCREEN_FILTER_H__ 23 | #define __GD_FULLSCREEN_FILTER_H__ 24 | 25 | #include 26 | 27 | G_BEGIN_DECLS 28 | 29 | #define GD_TYPE_FULLSCREEN_FILTER gd_fullscreen_filter_get_type() 30 | 31 | #define GD_FULLSCREEN_FILTER(obj) \ 32 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ 33 | GD_TYPE_FULLSCREEN_FILTER, GdFullscreenFilter)) 34 | 35 | #define GD_FULLSCREEN_FILTER_CLASS(klass) \ 36 | (G_TYPE_CHECK_CLASS_CAST ((klass), \ 37 | GD_TYPE_FULLSCREEN_FILTER, GdFullscreenFilterClass)) 38 | 39 | #define GD_IS_FULLSCREEN_FILTER(obj) \ 40 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ 41 | GD_TYPE_FULLSCREEN_FILTER)) 42 | 43 | #define GD_IS_FULLSCREEN_FILTER_CLASS(klass) \ 44 | (G_TYPE_CHECK_CLASS_TYPE ((klass), \ 45 | GD_TYPE_FULLSCREEN_FILTER)) 46 | 47 | #define GD_FULLSCREEN_FILTER_GET_CLASS(obj) \ 48 | (G_TYPE_INSTANCE_GET_CLASS ((obj), \ 49 | GD_TYPE_FULLSCREEN_FILTER, GdFullscreenFilterClass)) 50 | 51 | typedef struct _GdFullscreenFilter GdFullscreenFilter; 52 | typedef struct _GdFullscreenFilterClass GdFullscreenFilterClass; 53 | typedef struct _GdFullscreenFilterPrivate GdFullscreenFilterPrivate; 54 | 55 | struct _GdFullscreenFilter 56 | { 57 | GObject parent; 58 | 59 | GdFullscreenFilterPrivate *priv; 60 | }; 61 | 62 | struct _GdFullscreenFilterClass 63 | { 64 | GObjectClass parent_class; 65 | }; 66 | 67 | GType gd_fullscreen_filter_get_type (void) G_GNUC_CONST; 68 | 69 | GdFullscreenFilter *gd_fullscreen_filter_new (void); 70 | void gd_fullscreen_filter_start (GdFullscreenFilter *self); 71 | void gd_fullscreen_filter_stop (GdFullscreenFilter *self); 72 | 73 | G_END_DECLS 74 | 75 | #endif /* __GD_FULLSCREEN_FILTER_H__ */ 76 | -------------------------------------------------------------------------------- /src/gst/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = \ 2 | libxplayergsthelpers.la \ 3 | libxplayergstpixbufhelpers.la \ 4 | libxplayertimehelpers.la \ 5 | libxplayerrtlhelpers.la 6 | 7 | libxplayergsthelpers_la_SOURCES = \ 8 | xplayer-gst-helpers.c \ 9 | xplayer-gst-helpers.h 10 | 11 | libxplayergsthelpers_la_CPPFLAGS = \ 12 | -D_REENTRANT \ 13 | $(DISABLE_DEPRECATED) \ 14 | $(AM_CPPFLAGS) 15 | 16 | libxplayergsthelpers_la_CFLAGS = \ 17 | $(HELPER_CFLAGS) \ 18 | $(AM_CFLAGS) 19 | 20 | libxplayergsthelpers_la_LIBADD = $(HELPER_LIBS) 21 | libxplayergsthelpers_la_LDFLAGS= -no-undefined 22 | 23 | libxplayergstpixbufhelpers_la_SOURCES = \ 24 | xplayer-gst-pixbuf-helpers.c \ 25 | xplayer-gst-pixbuf-helpers.h 26 | 27 | libxplayergstpixbufhelpers_la_CPPFLAGS = \ 28 | -D_REENTRANT \ 29 | $(DISABLE_DEPRECATED) \ 30 | $(AM_CPPFLAGS) 31 | 32 | libxplayergstpixbufhelpers_la_CFLAGS = \ 33 | $(PIXBUF_HELPER_CFLAGS) \ 34 | $(AM_CFLAGS) 35 | 36 | libxplayergstpixbufhelpers_la_LIBADD = $(PIXBUF_HELPER_LIBS) 37 | libxplayergstpixbufhelpers_la_LDFLAGS= -no-undefined 38 | 39 | libxplayertimehelpers_la_SOURCES = \ 40 | xplayer-time-helpers.c \ 41 | xplayer-time-helpers.h 42 | 43 | libxplayertimehelpers_la_CPPFLAGS = \ 44 | -D_REENTRANT \ 45 | $(DISABLE_DEPRECATED) \ 46 | $(AM_CPPFLAGS) 47 | 48 | libxplayertimehelpers_la_CFLAGS = \ 49 | $(TIME_HELPER_CFLAGS) \ 50 | $(AM_CFLAGS) 51 | 52 | libxplayertimehelpers_la_LIBADD = $(TIME_HELPER_LIBS) 53 | libxplayertimehelpers_la_LDFLAGS= -no-undefined 54 | 55 | libxplayerrtlhelpers_la_SOURCES = \ 56 | xplayer-rtl-helpers.c \ 57 | xplayer-rtl-helpers.h 58 | 59 | libxplayerrtlhelpers_la_CPPFLAGS = \ 60 | -D_REENTRANT \ 61 | $(DISABLE_DEPRECATED) \ 62 | $(AM_CPPFLAGS) 63 | 64 | libxplayerrtlhelpers_la_CFLAGS = \ 65 | $(RTL_HELPER_CFLAGS) \ 66 | $(AM_CFLAGS) 67 | 68 | libxplayerrtlhelpers_la_LIBADD = $(RTL_HELPER_LIBS) 69 | libxplayerrtlhelpers_la_LDFLAGS= -no-undefined 70 | 71 | EXTRA_DIST = xplayer-time-helpers.h 72 | 73 | -include $(top_srcdir)/git.mk 74 | -------------------------------------------------------------------------------- /src/gst/xplayer-gst-helpers.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2007 the GStreamer project 3 | * Julien Moutte 4 | * Ronald Bultje 5 | * Copyright (C) 2005-2008 Tim-Philipp Müller 6 | * Copyright (C) 2009 Sebastian Dröge 7 | * Copyright © 2009 Christian Persch 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | * 23 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 24 | * plugins to be used and distributed together with GStreamer and Xplayer. This 25 | * permission is above and beyond the permissions granted by the GPL license 26 | * Xplayer is covered by. 27 | * 28 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 29 | * See license_change file for details. 30 | * 31 | */ 32 | 33 | #include "xplayer-gst-helpers.h" 34 | 35 | #include 36 | #include 37 | 38 | void 39 | xplayer_gst_message_print (GstMessage *msg, 40 | GstElement *play, 41 | const char *filename) 42 | { 43 | GError *err = NULL; 44 | char *dbg = NULL; 45 | 46 | g_return_if_fail (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR); 47 | 48 | if (play != NULL) { 49 | g_return_if_fail (filename != NULL); 50 | 51 | GST_DEBUG_BIN_TO_DOT_FILE (GST_BIN_CAST (play), 52 | GST_DEBUG_GRAPH_SHOW_ALL ^ GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS, 53 | filename); 54 | } 55 | 56 | gst_message_parse_error (msg, &err, &dbg); 57 | if (err) { 58 | char *uri; 59 | 60 | g_object_get (play, "uri", &uri, NULL); 61 | GST_ERROR ("message = %s", GST_STR_NULL (err->message)); 62 | GST_ERROR ("domain = %d (%s)", err->domain, 63 | GST_STR_NULL (g_quark_to_string (err->domain))); 64 | GST_ERROR ("code = %d", err->code); 65 | GST_ERROR ("debug = %s", GST_STR_NULL (dbg)); 66 | GST_ERROR ("source = %" GST_PTR_FORMAT, msg->src); 67 | GST_ERROR ("uri = %s", GST_STR_NULL (uri)); 68 | g_free (uri); 69 | 70 | g_error_free (err); 71 | } 72 | g_free (dbg); 73 | } 74 | 75 | /* 76 | * vim: sw=2 ts=8 cindent noai bs=2 77 | */ 78 | -------------------------------------------------------------------------------- /src/gst/xplayer-gst-helpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2001,2002,2003,2004,2005 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission are above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #ifndef HAVE_XPLAYER_GST_HELPERS_H 29 | #define HAVE_XPLAYER_GST_HELPERS_H 30 | 31 | #define GST_USE_UNSTABLE_API 1 32 | 33 | #include 34 | 35 | G_BEGIN_DECLS 36 | 37 | /* GstPlayFlags flags from playbin */ 38 | typedef enum { 39 | GST_PLAY_FLAG_VIDEO = (1 << 0), 40 | GST_PLAY_FLAG_AUDIO = (1 << 1), 41 | GST_PLAY_FLAG_TEXT = (1 << 2), 42 | GST_PLAY_FLAG_VIS = (1 << 3), 43 | GST_PLAY_FLAG_SOFT_VOLUME = (1 << 4), 44 | GST_PLAY_FLAG_NATIVE_AUDIO = (1 << 5), 45 | GST_PLAY_FLAG_NATIVE_VIDEO = (1 << 6), 46 | GST_PLAY_FLAG_DOWNLOAD = (1 << 7), 47 | GST_PLAY_FLAG_BUFFERING = (1 << 8), 48 | GST_PLAY_FLAG_DEINTERLACE = (1 << 9), 49 | GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10), 50 | GST_PLAY_FLAG_FORCE_FILTERS = (1 << 11), 51 | } GstPlayFlags; 52 | 53 | void xplayer_gst_message_print (GstMessage *msg, 54 | GstElement *play, 55 | const char *filename); 56 | 57 | G_END_DECLS 58 | 59 | #endif /* HAVE_XPLAYER_GST_HELPERS_H */ 60 | -------------------------------------------------------------------------------- /src/gst/xplayer-gst-pixbuf-helpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2001,2002,2003,2004,2005 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission are above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #ifndef HAVE_XPLAYER_GST_PIXBUF_HELPERS_H 29 | #define HAVE_XPLAYER_GST_PIXBUF_HELPERS_H 30 | 31 | #define GST_USE_UNSTABLE_API 1 32 | 33 | #include 34 | #include 35 | 36 | G_BEGIN_DECLS 37 | 38 | GdkPixbuf * xplayer_gst_playbin_get_frame (GstElement *play); 39 | 40 | GdkPixbuf * xplayer_gst_tag_list_get_cover (GstTagList *tag_list); 41 | 42 | G_END_DECLS 43 | 44 | #endif /* HAVE_XPLAYER_GST_PIXBUF_HELPERS_H */ 45 | -------------------------------------------------------------------------------- /src/gst/xplayer-rtl-helpers.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2013 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission is above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #include 29 | 30 | #include "xplayer-rtl-helpers.h" 31 | 32 | struct { 33 | const char *orig; 34 | const char *ltr; 35 | const char *rtl; 36 | } icons[] = { 37 | { "go-previous", "go-previous-symbolic", "go-previous-rtl-symbolic" }, 38 | { "media-playback-start", "media-playback-start-symbolic", "media-playback-start-rtl-symbolic" }, 39 | { "media-seek-forward", "media-seek-forward-symbolic", "media-seek-forward-rtl-symbolic" }, 40 | { "media-seek-backward", "media-seek-backward-symbolic", "media-seek-backward-rtl-symbolic" }, 41 | { "media-skip-forward", "media-skip-forward-symbolic", "media-skip-forward-rtl-symbolic" }, 42 | { "media-skip-backward", "media-skip-backward-symbolic", "media-skip-backward-rtl-symbolic" }, 43 | }; 44 | 45 | const char * 46 | xplayer_get_rtl_icon_name (const char *name) 47 | { 48 | guint i; 49 | gboolean rtl; 50 | 51 | g_return_val_if_fail (name != NULL, NULL); 52 | 53 | for (i = 0; i < G_N_ELEMENTS(icons); i++) { 54 | if (g_str_equal (name, icons[i].orig)) { 55 | rtl = (gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL); 56 | return rtl ? icons[i].rtl : icons[i].ltr; 57 | } 58 | } 59 | 60 | return NULL; 61 | } 62 | -------------------------------------------------------------------------------- /src/gst/xplayer-rtl-helpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2013 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission is above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #ifndef _XPLAYER_RTL_HELPERS_H_ 29 | #define _XPLAYER_RTL_HELPERS_H_ 30 | 31 | #include 32 | 33 | const char *xplayer_get_rtl_icon_name (const char *name); 34 | 35 | #endif /* _XPLAYER_RTL_HELPERS_H_ */ 36 | -------------------------------------------------------------------------------- /src/gst/xplayer-time-helpers.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2002-2012 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission is above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #include 29 | #include 30 | 31 | #include "xplayer-time-helpers.h" 32 | 33 | 34 | /* FIXME: Remove 35 | * See https://bugzilla.gnome.org/show_bug.cgi?id=679850 */ 36 | char * 37 | xplayer_time_to_string (gint64 msecs) 38 | { 39 | int sec, min, hour, _time; 40 | 41 | _time = (int) (msecs / 1000); 42 | sec = _time % 60; 43 | _time = _time - sec; 44 | min = (_time % (60*60)) / 60; 45 | _time = _time - (min * 60); 46 | hour = _time / (60*60); 47 | 48 | if (hour > 0) 49 | { 50 | /* hour:minutes:seconds */ 51 | /* Translators: This is a time format, like "9:05:02" for 9 52 | * hours, 5 minutes, and 2 seconds. You may change ":" to 53 | * the separator that your locale uses or use "%Id" instead 54 | * of "%d" if your locale uses localized digits. 55 | */ 56 | return g_strdup_printf (C_("long time format", "%d:%02d:%02d"), hour, min, sec); 57 | } 58 | 59 | /* minutes:seconds */ 60 | /* Translators: This is a time format, like "5:02" for 5 61 | * minutes and 2 seconds. You may change ":" to the 62 | * separator that your locale uses or use "%Id" instead of 63 | * "%d" if your locale uses localized digits. 64 | */ 65 | return g_strdup_printf (C_("short time format", "%d:%02d"), min, sec); 66 | } 67 | -------------------------------------------------------------------------------- /src/gst/xplayer-time-helpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2002-2012 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission is above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #ifndef _XPLAYER_TIME_HELPERS_H_ 29 | #define _XPLAYER_TIME_HELPERS_H_ 30 | 31 | #include 32 | 33 | char *xplayer_time_to_string (gint64 msecs); 34 | 35 | #endif /* _XPLAYER_TIME_HELPERS_H_ */ 36 | -------------------------------------------------------------------------------- /src/plugins/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = $(PLUGINS) 2 | DIST_SUBDIRS = $(ALL_PLUGINS) 3 | 4 | EXTRA_DIST = Makefile.plugins 5 | 6 | -include $(top_srcdir)/git.mk 7 | -------------------------------------------------------------------------------- /src/plugins/Makefile.plugins: -------------------------------------------------------------------------------- 1 | %.plugin: %.plugin.in 2 | $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache 3 | 4 | plugin_DATA = $(plugin_in_files:.plugin.in=.plugin) 5 | 6 | CLEANFILES = $(plugin_DATA) 7 | DISTCLEANFILES = $(plugin_DATA) 8 | EXTRA_DIST = $(plugin_in_files) 9 | 10 | AM_CPPFLAGS = \ 11 | -DG_LOG_DOMAIN=\""Xplayer"\" \ 12 | $(DISABLE_DEPRECATED) \ 13 | -I$(top_srcdir)/ \ 14 | -I$(top_srcdir)/src \ 15 | -I$(top_srcdir)/src/plugins \ 16 | -I$(top_srcdir)/src/gst 17 | 18 | plugin_cflags = \ 19 | $(PLAYER_CFLAGS) \ 20 | $(WARN_CFLAGS) 21 | 22 | plugin_ldflags = \ 23 | -export-dynamic \ 24 | -no-undefined \ 25 | -avoid-version \ 26 | -module 27 | 28 | plugin_libadd = \ 29 | $(top_builddir)/src/libxplayer.la 30 | 31 | # Checking rules for Python plugins 32 | # Execute pylint on all the requisite files individually, returning non-zero 33 | # iff any of the calls to pylint returned non-zero. 34 | check-pylint: $(plugin_PYTHON) 35 | if ENABLE_PYTHON 36 | @exitstatus=0; \ 37 | for py in $^; do \ 38 | $(PYLINT) -i y -d C0111 -d W0511 -d F0401 $$py; \ 39 | \ 40 | newexitstatus=$$?; \ 41 | if [ $$exitstatus == 0 ]; then \ 42 | exitstatus=$$newexitstatus; \ 43 | fi; \ 44 | done; \ 45 | exit $$exitstatus 46 | endif 47 | 48 | check: check-pylint 49 | 50 | .PHONY: check-pylint 51 | -------------------------------------------------------------------------------- /src/plugins/apple-trailers/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/apple-trailers 4 | plugin_LTLIBRARIES = libapple-trailers.la 5 | 6 | plugin_in_files = apple-trailers.plugin.in 7 | 8 | libapple_trailers_la_SOURCES = xplayer-apple-trailers.c 9 | libapple_trailers_la_LDFLAGS = $(plugin_ldflags) 10 | libapple_trailers_la_LIBADD = $(plugin_libadd) 11 | libapple_trailers_la_CFLAGS = $(plugin_cflags) 12 | 13 | -include $(top_srcdir)/git.mk 14 | -------------------------------------------------------------------------------- /src/plugins/apple-trailers/apple-trailers.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=apple-trailers 3 | IAge=1 4 | Builtin=true 5 | _Name=Apple Trailers 6 | _Description=Sets the user agent for the Apple Trailers site 7 | Authors=Bastien Nocera 8 | Copyright=Copyright © 2012 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/apple-trailers/xplayer-apple-trailers.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 25 | * See license_change file for details. 26 | * 27 | */ 28 | 29 | 30 | #include "config.h" 31 | 32 | #include 33 | 34 | #include "xplayer-plugin.h" 35 | #include "xplayer.h" 36 | 37 | #define XPLAYER_TYPE_APPLE_TRAILERS_PLUGIN (xplayer_apple_trailers_plugin_get_type ()) 38 | #define XPLAYER_APPLE_TRAILERS_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XPLAYER_TYPE_APPLE_TRAILERS_PLUGIN, XplayerAppleTrailersPlugin)) 39 | 40 | typedef struct { 41 | guint signal_id; 42 | XplayerObject *xplayer; 43 | } XplayerAppleTrailersPluginPrivate; 44 | 45 | XPLAYER_PLUGIN_REGISTER(XPLAYER_TYPE_APPLE_TRAILERS_PLUGIN, XplayerAppleTrailersPlugin, xplayer_apple_trailers_plugin) 46 | 47 | static char * 48 | get_user_agent_cb (XplayerObject *xplayer, 49 | const char *mrl) 50 | { 51 | if (g_str_has_prefix (mrl, "http://movies.apple.com") || 52 | g_str_has_prefix (mrl, "http://trailers.apple.com")) 53 | return g_strdup ("Quicktime/7.2.0"); 54 | return NULL; 55 | } 56 | 57 | static void 58 | impl_activate (PeasActivatable *plugin) 59 | { 60 | XplayerAppleTrailersPlugin *pi = XPLAYER_APPLE_TRAILERS_PLUGIN (plugin); 61 | 62 | pi->priv->xplayer = g_object_ref (g_object_get_data (G_OBJECT (plugin), "object")); 63 | pi->priv->signal_id = g_signal_connect (G_OBJECT (pi->priv->xplayer), "get-user-agent", 64 | G_CALLBACK (get_user_agent_cb), NULL); 65 | } 66 | 67 | static void 68 | impl_deactivate (PeasActivatable *plugin) 69 | { 70 | XplayerAppleTrailersPlugin *pi = XPLAYER_APPLE_TRAILERS_PLUGIN (plugin); 71 | 72 | if (pi->priv->signal_id) { 73 | g_signal_handler_disconnect (pi->priv->xplayer, pi->priv->signal_id); 74 | pi->priv->signal_id = 0; 75 | } 76 | 77 | if (pi->priv->xplayer) { 78 | g_object_unref (pi->priv->xplayer); 79 | pi->priv->xplayer = NULL; 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/plugins/autoload-subtitles/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/autoload-subtitles 4 | plugin_LTLIBRARIES = libautoload-subtitles.la 5 | 6 | plugin_in_files = autoload-subtitles.plugin.in 7 | 8 | libautoload_subtitles_la_SOURCES = xplayer-autoload-subtitles.c 9 | libautoload_subtitles_la_LDFLAGS = $(plugin_ldflags) 10 | libautoload_subtitles_la_LIBADD = $(plugin_libadd) 11 | libautoload_subtitles_la_CFLAGS = $(plugin_cflags) 12 | 13 | -include $(top_srcdir)/git.mk 14 | -------------------------------------------------------------------------------- /src/plugins/autoload-subtitles/autoload-subtitles.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=autoload-subtitles 3 | IAge=1 4 | Builtin=true 5 | _Name=Autoload Subtitles 6 | _Description=Autoloads text subtitles 7 | Authors=Bastien Nocera 8 | Copyright=Copyright © 2012 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/brasero-disc-recorder/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/brasero-disc-recorder 4 | plugin_LTLIBRARIES = libbrasero-disc-recorder.la 5 | 6 | plugin_in_files = brasero-disc-recorder.plugin.in 7 | 8 | libbrasero_disc_recorder_la_SOURCES = xplayer-disc-recorder.c 9 | libbrasero_disc_recorder_la_LDFLAGS = $(plugin_ldflags) 10 | libbrasero_disc_recorder_la_LIBADD = \ 11 | $(plugin_libadd) \ 12 | $(DISC_RECORDER_LIBS) 13 | libbrasero_disc_recorder_la_CFLAGS = \ 14 | $(plugin_cflags) \ 15 | $(DISC_RECORDER_CFLAGS) 16 | 17 | -include $(top_srcdir)/git.mk 18 | -------------------------------------------------------------------------------- /src/plugins/brasero-disc-recorder/brasero-disc-recorder.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=brasero-disc-recorder 3 | IAge=1 4 | Builtin=false 5 | _Name=Video Disc Recorder 6 | _Description=Records (S)VCDs or video DVDs 7 | Authors=Philippe Rouquier 8 | Copyright=Copyright © 2008 Philippe Rouquier 9 | Website=http://www.gnome.org/projects/brasero/ 10 | -------------------------------------------------------------------------------- /src/plugins/chapters/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/chapters 4 | plugin_LTLIBRARIES = libchapters.la 5 | 6 | plugin_in_files = chapters.plugin.in 7 | 8 | uidir = $(plugindir) 9 | ui_DATA = chapters-list.ui chapters-edit.ui 10 | EXTRA_DIST += $(ui_DATA) 11 | 12 | libchapters_la_SOURCES = \ 13 | xplayer-chapters.c \ 14 | xplayer-cmml-parser.c \ 15 | xplayer-cmml-parser.h \ 16 | xplayer-chapters-utils.c \ 17 | xplayer-chapters-utils.h \ 18 | xplayer-edit-chapter.c \ 19 | xplayer-edit-chapter.h 20 | libchapters_la_LDFLAGS = $(plugin_ldflags) 21 | libchapters_la_LIBADD = \ 22 | $(plugin_libadd) \ 23 | $(CHAPTERS_LIBS) 24 | libchapters_la_CFLAGS = \ 25 | $(plugin_cflags) \ 26 | $(CHAPTERS_CFLAGS) 27 | 28 | -include $(top_srcdir)/git.mk 29 | -------------------------------------------------------------------------------- /src/plugins/chapters/chapters-edit.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | True 7 | 5 8 | vertical 9 | 6 10 | 11 | 12 | True 13 | 0 14 | Name for new chapter: 15 | 16 | 17 | False 18 | False 19 | 0 20 | 21 | 22 | 23 | 24 | True 25 | True 26 | 27 | True 28 | 29 | 30 | 31 | 1 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/plugins/chapters/chapters.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=chapters 3 | IAge=1 4 | Builtin=true 5 | _Name=Chapters 6 | _Description=Support chapter markers in movies 7 | Authors=Alexander Saprykin 8 | Copyright=Copyright © 2010 Alexander Saprykin 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/chapters/xplayer-chapters-utils.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Alexander Saprykin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | */ 24 | 25 | /* 26 | * SECTION:xplayer-chapters-utils 27 | * @short_description: misc helper functions 28 | * @stability: Unstable 29 | * @include: xplayer-chapters-utils.h 30 | * 31 | * These functions are used for misc operations within chapters plugin. 32 | */ 33 | 34 | #include 35 | 36 | #include "xplayer-chapters-utils.h" 37 | #include 38 | 39 | /** 40 | * xplayer_remove_file_extension: 41 | * @filename: filename to remove extension from 42 | * 43 | * Removes extension from the @filename. 44 | * 45 | * Returns: filename without extension on success, %NULL otherwise; free with g_free (). 46 | **/ 47 | gchar * 48 | xplayer_remove_file_extension (const gchar *filename) 49 | { 50 | gchar *p, *s; 51 | 52 | g_return_val_if_fail (filename != NULL, NULL); 53 | g_return_val_if_fail (strlen (filename) > 0, NULL); 54 | 55 | p = g_strrstr (filename, "."); 56 | if (G_UNLIKELY (p == NULL)) 57 | return NULL; 58 | 59 | s = g_strrstr (p, G_DIR_SEPARATOR_S); 60 | if (G_UNLIKELY (s != NULL)) 61 | return NULL; 62 | 63 | return g_strndup (filename, ABS(p - filename)); 64 | } 65 | 66 | /** 67 | * xplayer_change_file_extension: 68 | * @filename: filename to change extension in 69 | * @ext: new extension for @filename 70 | * 71 | * Changes extension in @filename to @ext. 72 | * 73 | * Returns: filename with new extension on success, %NULL otherwise; free with g_free (). 74 | **/ 75 | gchar * 76 | xplayer_change_file_extension (const gchar *filename, 77 | const gchar *ext) 78 | { 79 | gchar *no_ext, *new_file; 80 | 81 | g_return_val_if_fail (filename != NULL, NULL); 82 | g_return_val_if_fail (strlen (filename) > 0, NULL); 83 | g_return_val_if_fail (ext != NULL, NULL); 84 | g_return_val_if_fail (strlen (ext) > 0, NULL); 85 | 86 | no_ext = xplayer_remove_file_extension (filename); 87 | 88 | if (no_ext == NULL) 89 | return NULL; 90 | 91 | new_file = g_strconcat (no_ext, ".", ext, NULL); 92 | g_free (no_ext); 93 | 94 | return new_file; 95 | } 96 | -------------------------------------------------------------------------------- /src/plugins/chapters/xplayer-chapters-utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Alexander Saprykin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | */ 24 | 25 | #ifndef XPLAYER_CHAPTERS_UTILS_H_ 26 | #define XPLAYER_CHAPTERS_UTILS_H_ 27 | 28 | #include 29 | 30 | gchar * xplayer_remove_file_extension (const gchar *filename); 31 | gchar * xplayer_change_file_extension (const gchar *filename, const gchar *ext); 32 | 33 | #endif /* XPLAYER_CHAPTERS_UTILS_H_ */ 34 | -------------------------------------------------------------------------------- /src/plugins/chapters/xplayer-edit-chapter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Alexander Saprykin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | */ 24 | 25 | #ifndef XPLAYER_EDIT_CHAPTER_H 26 | #define XPLAYER_EDIT_CHAPTER_H 27 | 28 | #include 29 | 30 | G_BEGIN_DECLS 31 | 32 | #define XPLAYER_TYPE_EDIT_CHAPTER (xplayer_edit_chapter_get_type ()) 33 | #define XPLAYER_EDIT_CHAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XPLAYER_TYPE_EDIT_CHAPTER, XplayerEditChapter)) 34 | #define XPLAYER_EDIT_CHAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XPLAYER_TYPE_EDIT_CHAPTER, XplayerEditChapterClass)) 35 | #define XPLAYER_IS_EDIT_CHAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XPLAYER_TYPE_EDIT_CHAPTER)) 36 | #define XPLAYER_IS_EDIT_CHAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XPLAYER_TYPE_EDIT_CHAPTER)) 37 | 38 | typedef struct XplayerEditChapter XplayerEditChapter; 39 | typedef struct XplayerEditChapterClass XplayerEditChapterClass; 40 | typedef struct XplayerEditChapterPrivate XplayerEditChapterPrivate; 41 | 42 | struct XplayerEditChapter { 43 | GtkDialog parent; 44 | XplayerEditChapterPrivate *priv; 45 | }; 46 | 47 | struct XplayerEditChapterClass { 48 | GtkDialogClass parent_class; 49 | }; 50 | 51 | GType xplayer_edit_chapter_get_type (void); 52 | GtkWidget * xplayer_edit_chapter_new (void); 53 | void xplayer_edit_chapter_set_title (XplayerEditChapter *edit_chapter, const gchar *title); 54 | gchar * xplayer_edit_chapter_get_title (XplayerEditChapter *edit_chapter); 55 | 56 | G_END_DECLS 57 | 58 | #endif /* XPLAYER_EDIT_CHAPTER_H */ 59 | -------------------------------------------------------------------------------- /src/plugins/dbusservice/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/dbus 4 | plugin_PYTHON = dbusservice.py 5 | 6 | plugin_in_files = dbusservice.plugin.in 7 | 8 | -include $(top_srcdir)/git.mk 9 | -------------------------------------------------------------------------------- /src/plugins/dbusservice/dbusservice.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Loader=python3 3 | Module=dbusservice 4 | IAge=1 5 | _Name=MPRIS Support 6 | _Description=This plugin enables MPRIS support over DBUS. 7 | Authors=Lucky , Philip Withnall 8 | Copyright=Copyright © 2009 Lucky, Philip Withnall 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/grilo/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/grilo 4 | plugin_LTLIBRARIES = libgrilo.la 5 | 6 | plugin_in_files = grilo.plugin.in 7 | 8 | uidir = $(plugindir) 9 | ui_DATA = grilo.ui 10 | EXTRA_DIST += $(ui_DATA) 11 | 12 | confdir = $(plugindir) 13 | conf_DATA = xplayer-grilo.conf 14 | EXTRA_DIST += $(conf_DATA) 15 | 16 | libgrilo_la_SOURCES = \ 17 | xplayer-grilo.c \ 18 | xplayer-search-entry.c \ 19 | xplayer-search-entry.h 20 | 21 | libgrilo_la_LDFLAGS = $(plugin_ldflags) 22 | libgrilo_la_LIBADD = \ 23 | $(plugin_libadd) \ 24 | $(LIBGRILO_LIBS) \ 25 | $(top_builddir)/libgd/libgd.la 26 | libgrilo_la_CFLAGS = \ 27 | $(plugin_cflags) \ 28 | $(LIBGRILO_CFLAGS) \ 29 | -I $(top_srcdir)/src/gst/ \ 30 | -I $(top_srcdir)/libgd/ 31 | 32 | -include $(top_srcdir)/git.mk 33 | 34 | -------------------------------------------------------------------------------- /src/plugins/grilo/grilo.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=grilo 3 | Builtin=true 4 | IAge=1 5 | _Name=Grilo Browser 6 | _Description=A plugin to let you browse media content from various sources 7 | Authors=Iago Toral Quiroga , Juan A. Suarez Romero 8 | Copyright=Copyright © 2011 Igalia S.L. 9 | Website=http://live.gnome.org/Grilo/ 10 | -------------------------------------------------------------------------------- /src/plugins/grilo/xplayer-grilo.conf: -------------------------------------------------------------------------------- 1 | [grl-vimeo] 2 | api-key = db924d3b7f1d5f3d6fdfeb4488ad01e2 3 | api-secret = bef979d87f28ec47 4 | 5 | [grl-youtube] 6 | api-key = AI39si7Ix-bf9xRLx5PK1sjsG2FQjSHblunuaI8YvHdYbkV2BcgOemHE6Nzb9t6LaMsekofKGSwgAETzbo7OvL8L3vH4vrFaqw 7 | format = best 8 | -------------------------------------------------------------------------------- /src/plugins/grilo/xplayer-search-entry.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef __XPLAYER_SEARCH_ENTRY_H__ 23 | #define __XPLAYER_SEARCH_ENTRY_H__ 24 | 25 | #include 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define XPLAYER_TYPE_SEARCH_ENTRY xplayer_search_entry_get_type() 32 | #define XPLAYER_SEARCH_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XPLAYER_TYPE_SEARCH_ENTRY, XplayerSearchEntry)) 33 | #define XPLAYER_SEARCH_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XPLAYER_TYPE_SEARCH_ENTRY, XplayerSearchEntryClass)) 34 | #define XPLAYER_IS_SEARCH_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XPLAYER_TYPE_SEARCH_ENTRY)) 35 | #define XPLAYER_IS_SEARCH_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XPLAYER_TYPE_SEARCH_ENTRY)) 36 | #define XPLAYER_SEARCH_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XPLAYER_TYPE_SEARCH_ENTRY, XplayerSearchEntryClass)) 37 | 38 | typedef struct _XplayerSearchEntry XplayerSearchEntry; 39 | typedef struct _XplayerSearchEntryClass XplayerSearchEntryClass; 40 | typedef struct _XplayerSearchEntryPrivate XplayerSearchEntryPrivate; 41 | 42 | struct _XplayerSearchEntry 43 | { 44 | GtkBox parent; 45 | 46 | XplayerSearchEntryPrivate *priv; 47 | }; 48 | 49 | struct _XplayerSearchEntryClass 50 | { 51 | GtkBoxClass parent_class; 52 | }; 53 | 54 | GType xplayer_search_entry_get_type (void) G_GNUC_CONST; 55 | 56 | XplayerSearchEntry *xplayer_search_entry_new (void); 57 | 58 | void xplayer_search_entry_add_source (XplayerSearchEntry *entry, 59 | const gchar *id, 60 | const gchar *label, 61 | int priority); 62 | 63 | void xplayer_search_entry_remove_source (XplayerSearchEntry *self, 64 | const gchar *id); 65 | 66 | const char *xplayer_search_entry_get_text (XplayerSearchEntry *self); 67 | 68 | const char *xplayer_search_entry_get_selected_id (XplayerSearchEntry *self); 69 | void xplayer_search_entry_set_selected_id (XplayerSearchEntry *self, 70 | const char *id); 71 | 72 | G_END_DECLS 73 | 74 | #endif /* __XPLAYER_SEARCH_ENTRY_H__ */ 75 | -------------------------------------------------------------------------------- /src/plugins/gromit/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/gromit 4 | plugin_LTLIBRARIES = libgromit.la 5 | 6 | plugin_in_files = gromit.plugin.in 7 | 8 | libgromit_la_SOURCES = xplayer-gromit.c 9 | libgromit_la_LDFLAGS = $(plugin_ldflags) 10 | libgromit_la_CFLAGS = $(plugin_cflags) 11 | libgromit_la_LIBADD = $(plugin_libadd) 12 | 13 | -include $(top_srcdir)/git.mk 14 | -------------------------------------------------------------------------------- /src/plugins/gromit/gromit.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=gromit 3 | IAge=1 4 | _Name=Gromit Annotations 5 | _Description=Presentation helper to make annotations on screen 6 | Authors=Bastien Nocera, Jan Arne Petersen 7 | Copyright=Copyright © 2007 Bastien Nocera, Jan Arne Petersen 8 | Website=https://github.com/linuxmint/xplayer/ 9 | -------------------------------------------------------------------------------- /src/plugins/im-status/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/im-status 4 | plugin_LTLIBRARIES = libxplayer-im-status.la 5 | 6 | plugin_in_files = xplayer-im-status.plugin.in 7 | 8 | libxplayer_im_status_la_SOURCES = xplayer-im-status.c 9 | libxplayer_im_status_la_LDFLAGS = $(plugin_ldflags) 10 | libxplayer_im_status_la_LIBADD = \ 11 | $(plugin_libadd) 12 | libxplayer_im_status_la_CFLAGS = \ 13 | $(plugin_cflags) 14 | 15 | -include $(top_srcdir)/git.mk 16 | -------------------------------------------------------------------------------- /src/plugins/im-status/xplayer-im-status.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=xplayer-im-status 3 | IAge=1 4 | Builtin=false 5 | _Name=Instant Messenger Status 6 | _Description=Set your Instant Messenger status to away when a movie is playing 7 | Authors=Bastien Nocera, Philip Withnall 8 | Copyright=Copyright © 2007, 2011 Bastien Nocera, Philip Withnall 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/lirc/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/lirc 4 | plugin_LTLIBRARIES = liblirc.la 5 | 6 | plugin_in_files = lirc.plugin.in 7 | 8 | configdir = $(PLUGINDIR)/lirc 9 | config_DATA = xplayer_lirc_default 10 | EXTRA_DIST += $(config_DATA) 11 | 12 | liblirc_la_SOURCES = xplayer-lirc.c 13 | liblirc_la_LDFLAGS = $(plugin_ldflags) 14 | liblirc_la_LIBADD = \ 15 | $(plugin_libadd) \ 16 | $(LIRC_LIBS) 17 | liblirc_la_CFLAGS = \ 18 | $(plugin_cflags) \ 19 | $(LIRC_CFLAGS) 20 | 21 | -include $(top_srcdir)/git.mk 22 | -------------------------------------------------------------------------------- /src/plugins/lirc/lirc.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=lirc 3 | IAge=1 4 | _Name=Infrared Remote Control 5 | _Description=Support infrared remote control 6 | Authors=Jan Arne Petersen 7 | Copyright=Copyright © 2007 Jan Arne Petersen 8 | Website=https://github.com/linuxmint/xplayer/ 9 | -------------------------------------------------------------------------------- /src/plugins/media-player-keys/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/media-player-keys 4 | plugin_LTLIBRARIES = libmedia_player_keys.la 5 | 6 | plugin_in_files = media-player-keys.plugin.in 7 | 8 | libmedia_player_keys_la_SOURCES = \ 9 | xplayer-media-player-keys.c 10 | libmedia_player_keys_la_LDFLAGS = $(plugin_ldflags) 11 | libmedia_player_keys_la_LIBADD = \ 12 | $(plugin_libadd) \ 13 | $(MEDIA_PLAYER_KEYS_LIBS) 14 | libmedia_player_keys_la_CFLAGS = \ 15 | $(plugin_cflags) \ 16 | $(MEDIA_PLAYER_KEYS_CFLAGS) 17 | 18 | -include $(top_srcdir)/git.mk 19 | -------------------------------------------------------------------------------- /src/plugins/media-player-keys/media-player-keys.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=media_player_keys 3 | IAge=1 4 | _Name=Media Player Keys 5 | _Description=Support additional media player keys 6 | Builtin=true 7 | Authors=Jan Arne Petersen 8 | Copyright=Copyright © 2007 Jan Arne Petersen 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/ontop/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/ontop 4 | plugin_LTLIBRARIES = libontop.la 5 | 6 | plugin_in_files = ontop.plugin.in 7 | 8 | libontop_la_SOURCES = xplayer-ontop.c 9 | libontop_la_LDFLAGS = $(plugin_ldflags) 10 | libontop_la_CFLAGS = $(plugin_cflags) 11 | libontop_la_LIBADD = $(plugin_libadd) 12 | 13 | -include $(top_srcdir)/git.mk 14 | -------------------------------------------------------------------------------- /src/plugins/ontop/ontop.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=ontop 3 | IAge=1 4 | _Name=Always On Top 5 | _Description=Keep the main window on top when playing a movie 6 | Authors=Bastien Nocera 7 | Copyright=Copyright © 2007 Bastien Nocera 8 | Website=https://github.com/linuxmint/xplayer/ 9 | -------------------------------------------------------------------------------- /src/plugins/opensubtitles/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/opensubtitles 4 | plugin_PYTHON = opensubtitles.py hash.py 5 | 6 | plugin_in_files = opensubtitles.plugin.in 7 | 8 | uidir = $(plugindir) 9 | ui_DATA = opensubtitles.ui 10 | EXTRA_DIST += $(ui_DATA) 11 | 12 | @INTLTOOL_XML_NOMERGE_RULE@ 13 | @GSETTINGS_RULES@ 14 | 15 | gsettings_SCHEMAS = org.x.player.plugins.opensubtitles.gschema.xml 16 | CLEANFILES += $(gsettings_SCHEMAS) 17 | 18 | -include $(top_srcdir)/git.mk 19 | -------------------------------------------------------------------------------- /src/plugins/opensubtitles/hash.py: -------------------------------------------------------------------------------- 1 | import struct 2 | import os 3 | from gi.repository import Gio # pylint: disable-msg=E0611 4 | 5 | SIZE_ERROR = -1 6 | SEEK_ERROR = -2 7 | 8 | def hash_file (name): 9 | """ FIXME Need to handle exceptions !! """ 10 | 11 | longlongformat = 'q' # long long 12 | bytesize = struct.calcsize (longlongformat) 13 | 14 | file_to_hash = Gio.File.new_for_uri (name) 15 | 16 | file_info = file_to_hash.query_info ('standard::size', 0, None) 17 | filesize = file_info.get_attribute_uint64 ('standard::size') 18 | 19 | file_hash = filesize 20 | 21 | if filesize < 65536 * 2: 22 | return SIZE_ERROR, 0 23 | 24 | file_handle = open (file_to_hash.get_path (), "rb") 25 | 26 | for _ in range(int(65536 / bytesize)): 27 | buf = file_handle.read (bytesize) 28 | (l_value,) = struct.unpack (longlongformat, buf) 29 | file_hash += l_value 30 | file_hash = file_hash & 0xFFFFFFFFFFFFFFFF #to remain as 64bit number 31 | 32 | file_handle.seek (max (0, filesize - 65536), os.SEEK_SET) 33 | 34 | if file_handle.tell() != max (0, filesize - 65536): 35 | return SEEK_ERROR, 0 36 | 37 | for _ in range(int(65536/bytesize)): 38 | buf = file_handle.read (bytesize) 39 | (l_value,) = struct.unpack (longlongformat, buf) 40 | file_hash += l_value 41 | file_hash = file_hash & 0xFFFFFFFFFFFFFFFF 42 | 43 | file_handle.close () 44 | returnedhash = "%016x" % file_hash 45 | 46 | return returnedhash, filesize 47 | 48 | -------------------------------------------------------------------------------- /src/plugins/opensubtitles/opensubtitles.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Loader=python3 3 | Module=opensubtitles 4 | IAge=1 5 | _Name=Subtitle Downloader 6 | _Description=Look for subtitles for the currently playing movie 7 | Authors=Xavier Queralt 8 | Copyright=Copyright © 2008 Xavier Queralt 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/opensubtitles/org.x.player.plugins.opensubtitles.gschema.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | '' 6 | <_summary>Subtitle language 7 | <_description>The language to search for subtitles for movies in. 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/properties/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/properties 4 | plugin_LTLIBRARIES = libmovie-properties.la 5 | 6 | plugin_in_files = movie-properties.plugin.in 7 | 8 | libmovie_properties_la_SOURCES = xplayer-movie-properties.c 9 | libmovie_properties_la_LDFLAGS = $(plugin_ldflags) 10 | libmovie_properties_la_LIBADD = \ 11 | $(plugin_libadd) \ 12 | $(top_builddir)/src/properties/libbaconvideowidgetproperties.la 13 | libmovie_properties_la_CFLAGS = $(plugin_cflags) 14 | libmovie_properties_la_CPPFLAGS = \ 15 | -I$(top_srcdir)/src/properties/ \ 16 | -I$(top_srcdir)/src/backend/ \ 17 | $(AM_CPPFLAGS) 18 | 19 | -include $(top_srcdir)/git.mk 20 | -------------------------------------------------------------------------------- /src/plugins/properties/movie-properties.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=movie-properties 3 | IAge=1 4 | Builtin=true 5 | _Name=Movie Properties 6 | _Description=Adds movie properties to the sidebar 7 | Authors=Bastien Nocera 8 | Copyright=Copyright © 2007 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/pythonconsole/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/pythonconsole 4 | plugin_PYTHON = pythonconsole.py console.py 5 | 6 | plugin_in_files = pythonconsole.plugin.in 7 | 8 | @INTLTOOL_XML_NOMERGE_RULE@ 9 | @GSETTINGS_RULES@ 10 | 11 | gsettings_SCHEMAS = org.x.player.plugins.pythonconsole.gschema.xml 12 | CLEANFILES += $(gsettings_SCHEMAS) 13 | 14 | -include $(top_srcdir)/git.mk 15 | -------------------------------------------------------------------------------- /src/plugins/pythonconsole/org.x.player.plugins.pythonconsole.gschema.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | '' 6 | <_summary>rpdb2 password 7 | <_description>A password to protect the rpdb2 server for debugging Xplayer from unauthorized remote access. If this is empty, a default of 'xplayer' will be used. 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/plugins/pythonconsole/pythonconsole.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Loader=python3 3 | Module=pythonconsole 4 | IAge=1 5 | _Name=Python Console 6 | _Description=Interactive Python console 7 | Authors=Steve Frécinaux 8 | Copyright=Copyright © 2006 Steve Frécinaux 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/recent/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/recent 4 | plugin_LTLIBRARIES = librecent.la 5 | 6 | plugin_in_files = recent.plugin.in 7 | 8 | librecent_la_SOURCES = xplayer-recent.c 9 | librecent_la_LDFLAGS = $(plugin_ldflags) 10 | librecent_la_LIBADD = $(plugin_libadd) 11 | librecent_la_CFLAGS = $(plugin_cflags) 12 | 13 | -include $(top_srcdir)/git.mk 14 | -------------------------------------------------------------------------------- /src/plugins/recent/recent.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=recent 3 | IAge=1 4 | Builtin=true 5 | _Name=Recent files 6 | _Description=Adds files that have been played to recent files 7 | Authors=Bastien Nocera 8 | Copyright=Copyright © 2012 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/rotation/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/rotation 4 | plugin_LTLIBRARIES = librotation.la 5 | 6 | plugin_in_files = rotation.plugin.in 7 | 8 | AM_VALAFLAGS = \ 9 | --girdir=$(top_builddir)/src \ 10 | --pkg Xplayer-1.0 --pkg libpeas-1.0 --pkg gtk+-3.0 bacon-video.vapi 11 | 12 | librotation_la_SOURCES = xplayer-rotation-plugin.vala 13 | librotation_la_LDFLAGS = $(plugin_ldflags) 14 | librotation_la_CFLAGS = $(plugin_cflags) -include $(CONFIG_HEADER) -I $(top_srcdir)/src/backend 15 | librotation_la_LIBADD = $(plugin_libadd) 16 | 17 | GITIGNOREFILES = \ 18 | $(librotation_la_SOURCES:.vala=.c) \ 19 | librotation_la_vala.stamp \ 20 | $(NULL) 21 | 22 | -include $(top_srcdir)/git.mk 23 | -------------------------------------------------------------------------------- /src/plugins/rotation/bacon-video.vapi: -------------------------------------------------------------------------------- 1 | [CCode (cprefix = "Bacon", lower_case_cprefix = "bacon_")] 2 | 3 | namespace Bacon { 4 | [CCode (cheader_filename = "bacon-video-widget.h")] 5 | public class VideoWidget : Gtk.Widget { 6 | [CCode (has_construct_function = false)] 7 | public VideoWidget () throws GLib.Error; 8 | 9 | public Rotation get_rotation (); 10 | public void set_rotation (Rotation rotation); 11 | } 12 | [CCode (cname="BvwRotation", cprefix = "BVW_ROTATION_", cheader_filename = "bacon-video-widget.h")] 13 | public enum Rotation { 14 | R_ZERO = 0, 15 | R_90R = 1, 16 | R_180 = 2, 17 | R_90L = 3 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/plugins/rotation/rotation.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=rotation 3 | IAge=1 4 | _Name=Rotation Plugin 5 | _Description=Allows videos to be rotated if they are in the wrong orientation 6 | Authors=Simon Wenner 7 | Copyright=Copyright © 2011 Simon Wenner 8 | Website=https://github.com/linuxmint/xplayer/ 9 | -------------------------------------------------------------------------------- /src/plugins/sample-vala/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/sample-vala 4 | plugin_LTLIBRARIES = libsample-vala.la 5 | 6 | plugin_in_files = sample-vala.plugin.in 7 | 8 | # here we are explicitly specifying gtk+-3.0 to use the vapi because vala still 9 | # cannot parse the gir 10 | AM_VALAFLAGS = \ 11 | --girdir=$(top_srcdir)/src \ 12 | --pkg Xplayer-1.0 --pkg libpeas-1.0 --pkg gtk+-3.0 13 | 14 | libsample_vala_la_SOURCES = xplayer-sample-vala-plugin.vala 15 | libsample_vala_la_LDFLAGS = $(plugin_ldflags) 16 | libsample_vala_la_CFLAGS = $(plugin_cflags) 17 | libsample_vala_la_LIBADD = $(plugin_libadd) 18 | 19 | GITIGNOREFILES = \ 20 | $(libsample_vala_la_SOURCES:.vala=.c) \ 21 | libsample_vala_la_vala.stamp \ 22 | $(NULL) 23 | 24 | # Override to _not_ install the test plugins 25 | install-pluginLTLIBRARIES: 26 | install-pluginDATA: 27 | uninstall-pluginLTLIBRARIES: 28 | uninstall-pluginDATA: 29 | 30 | -include $(top_srcdir)/git.mk 31 | -------------------------------------------------------------------------------- /src/plugins/sample-vala/libsample_vala_la_vala.stamp: -------------------------------------------------------------------------------- 1 | stamp 2 | -------------------------------------------------------------------------------- /src/plugins/sample-vala/sample-vala.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=sample-vala 3 | IAge=1 4 | _Name=Vala Sample Plugin 5 | _Description=A useless sample plugin in Vala 6 | Authors=Philip Withnall 7 | Copyright=Copyright © 2007 James Livingston, Philip Withnall 8 | Website=https://github.com/linuxmint/xplayer/ 9 | -------------------------------------------------------------------------------- /src/plugins/sample-vala/xplayer-sample-vala-plugin.vala: -------------------------------------------------------------------------------- 1 | using GLib; 2 | using Xplayer; 3 | 4 | class SampleValaPlugin: GLib.Object, Peas.Activatable { 5 | public GLib.Object object { owned get; construct; } 6 | 7 | public void activate () { 8 | print ("Hello world\n"); 9 | } 10 | 11 | public void deactivate () { 12 | print ("Goodbye world\n"); 13 | } 14 | 15 | /* Gir doesn't allow marking functions as non-abstract */ 16 | public void update_state () {} 17 | } 18 | 19 | [ModuleInit] 20 | public void peas_register_types (GLib.TypeModule module) { 21 | var objmodule = module as Peas.ObjectModule; 22 | objmodule.register_extension_type (typeof(Peas.Activatable), typeof(SampleValaPlugin)); 23 | } 24 | -------------------------------------------------------------------------------- /src/plugins/samplepython/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/sample-python 4 | plugin_PYTHON = samplepython.py 5 | 6 | plugin_in_files = samplepython.plugin.in 7 | 8 | # Override to _not_ install the test plugins 9 | install-pluginPYTHON: 10 | install-pluginDATA: 11 | uninstall-pluginPYTHON: 12 | uninstall-pluginDATA: 13 | 14 | -include $(top_srcdir)/git.mk 15 | -------------------------------------------------------------------------------- /src/plugins/samplepython/samplepython.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Loader=python 3 | Module=samplepython 4 | IAge=1 5 | _Name=Python Sample Plugin 6 | _Description=A useless sample plugin in Python 7 | Authors=Philip Withnall 8 | Copyright=Copyright © 2006 James Livingston, 2007 Philip Withnall 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/samplepython/samplepython.py: -------------------------------------------------------------------------------- 1 | # From code by James Livingston 2 | 3 | from gi.repository import GObject, Peas, Xplayer # pylint: disable-msg=E0611,W0611 4 | 5 | class SamplePython (GObject.Object, Peas.Activatable): 6 | __gtype_name__ = 'SamplePython' 7 | 8 | object = GObject.property (type = GObject.Object) 9 | 10 | def __init__ (self): 11 | GObject.Object.__init__ (self) 12 | 13 | def do_activate (self): 14 | print "Activating sample Python plugin" 15 | self.object.action_fullscreen_toggle () 16 | 17 | def do_deactivate (self): 18 | print "Deactivating sample Python plugin" 19 | self.object.action_fullscreen_toggle () 20 | -------------------------------------------------------------------------------- /src/plugins/screensaver/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/screensaver 4 | plugin_LTLIBRARIES = libscreensaver.la 5 | 6 | plugin_in_files = screensaver.plugin.in 7 | 8 | libscreensaver_la_SOURCES = xplayer-screensaver.c 9 | libscreensaver_la_LDFLAGS = $(plugin_ldflags) 10 | libscreensaver_la_LIBADD = $(plugin_libadd) 11 | libscreensaver_la_CPPFLAGS = $(AM_CPPFLAGS) 12 | libscreensaver_la_CFLAGS = $(plugin_cflags) 13 | 14 | -include $(top_srcdir)/git.mk 15 | -------------------------------------------------------------------------------- /src/plugins/screensaver/screensaver.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=screensaver 3 | IAge=1 4 | Builtin=true 5 | _Name=Screen Saver 6 | _Description=Deactivates the screen saver when a movie is playing 7 | Authors=Bastien Nocera 8 | Copyright=Copyright © 2007 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/screenshot/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/screenshot 4 | plugin_LTLIBRARIES = libscreenshot.la 5 | 6 | plugin_in_files = screenshot.plugin.in 7 | 8 | uidir = $(plugindir) 9 | ui_DATA = gallery.ui 10 | EXTRA_DIST += $(ui_DATA) 11 | 12 | libscreenshot_la_SOURCES = \ 13 | xplayer-screenshot-plugin.c \ 14 | xplayer-screenshot-plugin.h \ 15 | screenshot-filename-builder.c \ 16 | screenshot-filename-builder.h \ 17 | xplayer-gallery.c \ 18 | xplayer-gallery.h \ 19 | xplayer-gallery-progress.c \ 20 | xplayer-gallery-progress.h 21 | libscreenshot_la_LDFLAGS = $(plugin_ldflags) 22 | libscreenshot_la_CFLAGS = $(plugin_cflags) -Wno-format-nonliteral 23 | libscreenshot_la_LIBADD = $(plugin_libadd) 24 | 25 | -include $(top_srcdir)/git.mk 26 | -------------------------------------------------------------------------------- /src/plugins/screenshot/screenshot-filename-builder.h: -------------------------------------------------------------------------------- 1 | /* screenshot-filename-builder.c - Builds a filename suitable for a screenshot 2 | * 3 | * Copyright (C) 2008, 2011 Cosimo Cecchi 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License as 7 | * published by the Free Software Foundation; either version 2 of the 8 | * License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 18 | * USA 19 | * 20 | * 28th June 2012: Bastien Nocera: Add exception clause. 21 | * See license_change file for details. 22 | */ 23 | 24 | #ifndef __SCREENSHOT_FILENAME_BUILDER_H__ 25 | #define __SCREENSHOT_FILENAME_BUILDER_H__ 26 | 27 | #include 28 | 29 | void screenshot_build_filename_async (const char *save_dir, 30 | const char *screenshot_origin, 31 | GAsyncReadyCallback callback, 32 | gpointer user_data); 33 | gchar *screenshot_build_filename_finish (GAsyncResult *result, 34 | GError **error); 35 | 36 | #endif /* __SCREENSHOT_FILENAME_BUILDER_H__ */ 37 | -------------------------------------------------------------------------------- /src/plugins/screenshot/screenshot.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=screenshot 3 | IAge=1 4 | Builtin=true 5 | _Name=Screenshot 6 | _Description=Allows screenshots and galleries to be taken of videos 7 | Authors=Philip Withnall, Bastien Nocera 8 | Copyright=Copyright © 2008 Philip Withnall, 2004 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/screenshot/xplayer-gallery-progress.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2008 Philip Withnall 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 25 | * See license_change file for details. 26 | */ 27 | 28 | #ifndef XPLAYER_GALLERY_PROGRESS_H 29 | #define XPLAYER_GALLERY_PROGRESS_H 30 | 31 | #include 32 | #include 33 | #include 34 | 35 | G_BEGIN_DECLS 36 | 37 | #define XPLAYER_TYPE_GALLERY_PROGRESS (xplayer_gallery_progress_get_type ()) 38 | #define XPLAYER_GALLERY_PROGRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XPLAYER_TYPE_GALLERY_PROGRESS, XplayerGalleryProgress)) 39 | #define XPLAYER_GALLERY_PROGRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), XPLAYER_TYPE_GALLERY_PROGRESS, XplayerGalleryProgressClass)) 40 | #define XPLAYER_IS_GALLERY_PROGRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XPLAYER_TYPE_GALLERY_PROGRESS)) 41 | #define XPLAYER_IS_GALLERY_PROGRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), XPLAYER_TYPE_GALLERY_PROGRESS)) 42 | #define XPLAYER_GALLERY_PROGRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XPLAYER_TYPE_GALLERY_PROGRESS, XplayerGalleryProgressClass)) 43 | 44 | typedef struct _XplayerGalleryProgressPrivate XplayerGalleryProgressPrivate; 45 | 46 | typedef struct { 47 | GtkDialog parent; 48 | XplayerGalleryProgressPrivate *priv; 49 | } XplayerGalleryProgress; 50 | 51 | typedef struct { 52 | GtkDialogClass parent; 53 | } XplayerGalleryProgressClass; 54 | 55 | GType xplayer_gallery_progress_get_type (void); 56 | XplayerGalleryProgress *xplayer_gallery_progress_new (GPid child_pid, const gchar *output_filename); 57 | void xplayer_gallery_progress_run (XplayerGalleryProgress *self, gint stdout_fd); 58 | 59 | G_END_DECLS 60 | 61 | #endif /* !XPLAYER_GALLERY_PROGRESS_H */ 62 | -------------------------------------------------------------------------------- /src/plugins/screenshot/xplayer-gallery.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2008 Philip Withnall 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 25 | * See license_change file for details. 26 | */ 27 | 28 | #ifndef XPLAYER_GALLERY_H 29 | #define XPLAYER_GALLERY_H 30 | 31 | #include 32 | #include 33 | #include 34 | 35 | #include "xplayer.h" 36 | 37 | G_BEGIN_DECLS 38 | 39 | #define XPLAYER_TYPE_GALLERY (xplayer_gallery_get_type ()) 40 | #define XPLAYER_GALLERY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XPLAYER_TYPE_GALLERY, XplayerGallery)) 41 | #define XPLAYER_GALLERY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), XPLAYER_TYPE_GALLERY, XplayerGalleryClass)) 42 | #define XPLAYER_IS_GALLERY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XPLAYER_TYPE_GALLERY)) 43 | #define XPLAYER_IS_GALLERY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), XPLAYER_TYPE_GALLERY)) 44 | #define XPLAYER_GALLERY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XPLAYER_TYPE_GALLERY, XplayerGalleryClass)) 45 | 46 | typedef struct _XplayerGalleryPrivate XplayerGalleryPrivate; 47 | 48 | typedef struct { 49 | GtkFileChooserDialog parent; 50 | XplayerGalleryPrivate *priv; 51 | } XplayerGallery; 52 | 53 | typedef struct { 54 | GtkFileChooserDialogClass parent; 55 | } XplayerGalleryClass; 56 | 57 | GType xplayer_gallery_get_type (void); 58 | XplayerGallery *xplayer_gallery_new (Xplayer *xplayer); 59 | 60 | G_END_DECLS 61 | 62 | #endif /* !XPLAYER_GALLERY_H */ 63 | -------------------------------------------------------------------------------- /src/plugins/screenshot/xplayer-screenshot-plugin.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2008 Philip Withnall 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 25 | * See license_change file for details. 26 | */ 27 | 28 | #ifndef XPLAYER_SCREENSHOT_PLUGIN_H 29 | #define XPLAYER_SCREENSHOT_PLUGIN_H 30 | 31 | #include 32 | 33 | #include "xplayer.h" 34 | #include 35 | #include 36 | 37 | G_BEGIN_DECLS 38 | 39 | gchar *xplayer_screenshot_plugin_setup_file_chooser (const char *filename_format, const char *movie_name) G_GNUC_WARN_UNUSED_RESULT G_GNUC_FORMAT (1); 40 | void xplayer_screenshot_plugin_update_file_chooser (const char *filename); 41 | 42 | G_END_DECLS 43 | 44 | #endif /* !XPLAYER_SCREENSHOT_PLUGIN_H */ 45 | -------------------------------------------------------------------------------- /src/plugins/sidebar-test/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/sidebar-test 4 | plugin_LTLIBRARIES = libsidebar-test.la 5 | 6 | plugin_in_files = sidebar-test.plugin.in 7 | 8 | libsidebar_test_la_SOURCES = xplayer-sidebar-test.c 9 | libsidebar_test_la_LDFLAGS = $(plugin_ldflags) 10 | libsidebar_test_la_CFLAGS = $(plugin_cflags) 11 | libsidebar_test_la_LIBADD = $(plugin_libadd) 12 | 13 | # Override to _not_ install the test plugins 14 | install-pluginLTLIBRARIES: 15 | install-pluginDATA: 16 | uninstall-pluginLTLIBRARIES: 17 | uninstall-pluginDATA: 18 | 19 | -include $(top_srcdir)/git.mk 20 | -------------------------------------------------------------------------------- /src/plugins/sidebar-test/sidebar-test.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=sidebar-test 3 | IAge=1 4 | Builtin=false 5 | _Name=Sidebar Test 6 | _Description=A test for the sidebar plugin API 7 | Authors=Bastien Nocera 8 | Copyright=Copyright © 2007 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/sidebar-test/xplayer-sidebar-test.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2007 Bastien Nocera 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #include "config.h" 29 | 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include 35 | 36 | #include "xplayer-plugin.h" 37 | #include "xplayer.h" 38 | 39 | #define XPLAYER_TYPE_SIDEBAR_TEST_PLUGIN (xplayer_sidebar_test_plugin_get_type ()) 40 | #define XPLAYER_SIDEBAR_TEST_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XPLAYER_TYPE_SIDEBAR_TEST_PLUGIN, XplayerSidebarTestPlugin)) 41 | #define XPLAYER_SIDEBAR_TEST_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), XPLAYER_TYPE_SIDEBAR_TEST_PLUGIN, XplayerSidebarTestPluginClass)) 42 | #define XPLAYER_IS_SIDEBAR_TEST_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XPLAYER_TYPE_SIDEBAR_TEST_PLUGIN)) 43 | #define XPLAYER_IS_SIDEBAR_TEST_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), XPLAYER_TYPE_SIDEBAR_TEST_PLUGIN)) 44 | #define XPLAYER_SIDEBAR_TEST_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XPLAYER_TYPE_SIDEBAR_TEST_PLUGIN, XplayerSidebarTestPluginClass)) 45 | 46 | typedef struct { 47 | gpointer unused; 48 | } XplayerSidebarTestPluginPrivate; 49 | 50 | XPLAYER_PLUGIN_REGISTER(XPLAYER_TYPE_SIDEBAR_TEST_PLUGIN, XplayerSidebarTestPlugin, xplayer_sidebar_test_plugin) 51 | 52 | static void 53 | impl_activate (PeasActivatable *plugin) 54 | { 55 | GtkWidget *label; 56 | 57 | label = gtk_label_new ("This is a test sidebar main widget"); 58 | gtk_widget_show (label); 59 | xplayer_add_sidebar_page (g_object_get_data (G_OBJECT (plugin), "object"), 60 | "sidebar-test", 61 | "Sidebar Test", 62 | label); 63 | g_message ("Just added a test sidebar"); 64 | } 65 | 66 | static void 67 | impl_deactivate (PeasActivatable *plugin) 68 | { 69 | XplayerObject *xplayer; 70 | 71 | xplayer = g_object_get_data (G_OBJECT (plugin), "object"); 72 | xplayer_remove_sidebar_page (xplayer, "sidebar-test"); 73 | g_message ("Just removed a test sidebar"); 74 | } 75 | 76 | -------------------------------------------------------------------------------- /src/plugins/skipto/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/skipto 4 | plugin_LTLIBRARIES = libskipto.la 5 | 6 | plugin_in_files = skipto.plugin.in 7 | 8 | uidir = $(plugindir) 9 | ui_DATA = skipto.ui 10 | EXTRA_DIST += $(ui_DATA) 11 | 12 | libskipto_la_SOURCES = \ 13 | xplayer-skipto-plugin.c \ 14 | xplayer-time-entry.c \ 15 | xplayer-time-entry.h \ 16 | xplayer-skipto.c \ 17 | xplayer-skipto.h 18 | libskipto_la_LDFLAGS = $(plugin_ldflags) 19 | libskipto_la_CFLAGS = $(plugin_cflags) 20 | libskipto_la_LIBADD = $(plugin_libadd) 21 | 22 | -include $(top_srcdir)/git.mk 23 | -------------------------------------------------------------------------------- /src/plugins/skipto/skipto.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=skipto 3 | IAge=1 4 | Builtin=true 5 | _Name=Skip To 6 | _Description=Provides the "Skip to" dialog 7 | Authors=Philip Withnall, Bastien Nocera 8 | Copyright=Copyright © 2007 Philip Withnall 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/skipto/xplayer-skipto.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2007 Bastien Nocera 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add excemption clause. 25 | * See license_change file for details. 26 | * 27 | * Author: Bastien Nocera , Philip Withnall 28 | */ 29 | 30 | #ifndef XPLAYER_SKIPTO_H 31 | #define XPLAYER_SKIPTO_H 32 | 33 | #include 34 | 35 | #include "xplayer.h" 36 | 37 | G_BEGIN_DECLS 38 | 39 | #define XPLAYER_TYPE_SKIPTO (xplayer_skipto_get_type ()) 40 | #define XPLAYER_SKIPTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XPLAYER_TYPE_SKIPTO, XplayerSkipto)) 41 | #define XPLAYER_SKIPTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XPLAYER_TYPE_SKIPTO, XplayerSkiptoClass)) 42 | #define XPLAYER_IS_SKIPTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XPLAYER_TYPE_SKIPTO)) 43 | #define XPLAYER_IS_SKIPTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XPLAYER_TYPE_SKIPTO)) 44 | 45 | GType xplayer_skipto_register_type (GTypeModule *module); 46 | 47 | typedef struct XplayerSkipto XplayerSkipto; 48 | typedef struct XplayerSkiptoClass XplayerSkiptoClass; 49 | typedef struct XplayerSkiptoPrivate XplayerSkiptoPrivate; 50 | 51 | struct XplayerSkipto { 52 | GtkDialog parent; 53 | XplayerSkiptoPrivate *priv; 54 | }; 55 | 56 | struct XplayerSkiptoClass { 57 | GtkDialogClass parent_class; 58 | }; 59 | 60 | GType xplayer_skipto_get_type (void); 61 | GtkWidget *xplayer_skipto_new (XplayerObject *xplayer); 62 | gint64 xplayer_skipto_get_range (XplayerSkipto *skipto); 63 | void xplayer_skipto_update_range (XplayerSkipto *skipto, gint64 _time); 64 | void xplayer_skipto_set_seekable (XplayerSkipto *skipto, gboolean seekable); 65 | void xplayer_skipto_set_current (XplayerSkipto *skipto, gint64 _time); 66 | 67 | G_END_DECLS 68 | 69 | #endif /* XPLAYER_SKIPTO_H */ 70 | -------------------------------------------------------------------------------- /src/plugins/skipto/xplayer-time-entry.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2008 Philip Withnall 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add excemption clause. 25 | * See license_change file for details. 26 | * 27 | * Author: Philip Withnall 28 | */ 29 | 30 | #ifndef XPLAYER_TIME_ENTRY_H 31 | #define XPLAYER_TIME_ENTRY_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | G_BEGIN_DECLS 38 | 39 | #define XPLAYER_TYPE_TIME_ENTRY (xplayer_time_entry_get_type ()) 40 | #define XPLAYER_TIME_ENTRY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XPLAYER_TYPE_TIME_ENTRY, XplayerTimeEntry)) 41 | #define XPLAYER_TIME_ENTRY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), XPLAYER_TYPE_TIME_ENTRY, XplayerTimeEntryClass)) 42 | #define XPLAYER_IS_TIME_ENTRY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XPLAYER_TYPE_TIME_ENTRY)) 43 | #define XPLAYER_IS_TIME_ENTRY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), XPLAYER_TYPE_TIME_ENTRY)) 44 | #define XPLAYER_TIME_ENTRY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XPLAYER_TYPE_TIME_ENTRY, XplayerTimeEntryClass)) 45 | 46 | typedef struct XplayerTimeEntryPrivate XplayerTimeEntryPrivate; 47 | 48 | typedef struct { 49 | GtkSpinButton parent; 50 | XplayerTimeEntryPrivate *priv; 51 | } XplayerTimeEntry; 52 | 53 | typedef struct { 54 | GtkSpinButtonClass parent; 55 | } XplayerTimeEntryClass; 56 | 57 | GType xplayer_time_entry_get_type (void); 58 | GtkWidget *xplayer_time_entry_new (GtkAdjustment *adjustment, gdouble climb_rate); 59 | 60 | G_END_DECLS 61 | 62 | #endif /* !XPLAYER_TIME_ENTRY_H */ 63 | -------------------------------------------------------------------------------- /src/plugins/vimeo/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/vimeo 4 | plugin_LTLIBRARIES = libvimeo.la 5 | 6 | plugin_in_files = vimeo.plugin.in 7 | 8 | libvimeo_la_SOURCES = xplayer-vimeo.c 9 | libvimeo_la_LDFLAGS = $(plugin_ldflags) 10 | libvimeo_la_LIBADD = $(plugin_libadd) 11 | libvimeo_la_CFLAGS = $(plugin_cflags) 12 | 13 | -include $(top_srcdir)/git.mk 14 | -------------------------------------------------------------------------------- /src/plugins/vimeo/vimeo.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=vimeo 3 | IAge=1 4 | Builtin=true 5 | _Name=Vimeo 6 | _Description=Sets the user agent for the Vimeo site 7 | Authors=Bastien Nocera 8 | Copyright=Copyright © 2013 Bastien Nocera 9 | Website=https://github.com/linuxmint/xplayer/ 10 | -------------------------------------------------------------------------------- /src/plugins/vimeo/xplayer-vimeo.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 25 | * See license_change file for details. 26 | * 27 | */ 28 | 29 | 30 | #include "config.h" 31 | 32 | #include 33 | 34 | #include "xplayer-plugin.h" 35 | #include "xplayer.h" 36 | 37 | #define XPLAYER_TYPE_VIMEO_PLUGIN (xplayer_vimeo_plugin_get_type ()) 38 | #define XPLAYER_VIMEO_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XPLAYER_TYPE_VIMEO_PLUGIN, XplayerVimeoPlugin)) 39 | 40 | typedef struct { 41 | guint signal_id; 42 | XplayerObject *xplayer; 43 | } XplayerVimeoPluginPrivate; 44 | 45 | XPLAYER_PLUGIN_REGISTER(XPLAYER_TYPE_VIMEO_PLUGIN, XplayerVimeoPlugin, xplayer_vimeo_plugin) 46 | 47 | static char * 48 | get_user_agent_cb (XplayerObject *xplayer, 49 | const char *mrl) 50 | { 51 | if (g_str_has_prefix (mrl, "http://vimeo.com") || 52 | g_str_has_prefix (mrl, "http://player.vimeo.com")) 53 | return g_strdup ("Mozilla/5.0"); 54 | return NULL; 55 | } 56 | 57 | static void 58 | impl_activate (PeasActivatable *plugin) 59 | { 60 | XplayerVimeoPlugin *pi = XPLAYER_VIMEO_PLUGIN (plugin); 61 | 62 | pi->priv->xplayer = g_object_ref (g_object_get_data (G_OBJECT (plugin), "object")); 63 | pi->priv->signal_id = g_signal_connect (G_OBJECT (pi->priv->xplayer), "get-user-agent", 64 | G_CALLBACK (get_user_agent_cb), NULL); 65 | } 66 | 67 | static void 68 | impl_deactivate (PeasActivatable *plugin) 69 | { 70 | XplayerVimeoPlugin *pi = XPLAYER_VIMEO_PLUGIN (plugin); 71 | 72 | if (pi->priv->signal_id) { 73 | g_signal_handler_disconnect (pi->priv->xplayer, pi->priv->signal_id); 74 | pi->priv->signal_id = 0; 75 | } 76 | 77 | if (pi->priv->xplayer) { 78 | g_object_unref (pi->priv->xplayer); 79 | pi->priv->xplayer = NULL; 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/plugins/xplayer-dirs.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- 2 | * 3 | * heavily based on code from Rhythmbox and Gedit 4 | * 5 | * Copyright (C) 2002-2005 Paolo Maggi 6 | * Copyright (C) 2007 Bastien Nocera 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin St, Fifth Floor, 21 | * Boston, MA 02110-1301 USA. 22 | * 23 | * Sunday 13th May 2007: Bastien Nocera: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #include 29 | #include 30 | 31 | char ** xplayer_get_plugin_paths (void); 32 | char * xplayer_plugin_find_file (const char *plugin_name, 33 | const char *file); 34 | GtkBuilder * xplayer_plugin_load_interface (const char *plugin_name, 35 | const char *name, 36 | gboolean fatal, 37 | GtkWindow *parent, 38 | gpointer user_data); 39 | 40 | -------------------------------------------------------------------------------- /src/plugins/xplayer-plugins-engine.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- 2 | * 3 | * Plugin engine for Xplayer, heavily based on the code from Rhythmbox, 4 | * which is based heavily on the code from xplayer. 5 | * 6 | * Copyright (C) 2002-2005 Paolo Maggi 7 | * 2006 James Livingston 8 | * 2007 Bastien Nocera 9 | * 10 | * This program is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with this program; if not, write to the Free Software 22 | * Foundation, Inc., 51 Franklin St, Fifth Floor, 23 | * Boston, MA 02110-1301 USA. 24 | * 25 | * Sunday 13th May 2007: Bastien Nocera: Add exception clause. 26 | * See license_change file for details. 27 | * 28 | */ 29 | 30 | #ifndef __XPLAYER_PLUGINS_ENGINE_H__ 31 | #define __XPLAYER_PLUGINS_ENGINE_H__ 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | G_BEGIN_DECLS 38 | 39 | #define XPLAYER_TYPE_PLUGINS_ENGINE (xplayer_plugins_engine_get_type ()) 40 | #define XPLAYER_PLUGINS_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), XPLAYER_TYPE_PLUGINS_ENGINE, XplayerPluginsEngine)) 41 | #define XPLAYER_PLUGINS_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), XPLAYER_TYPE_PLUGINS_ENGINE, XplayerPluginsEngineClass)) 42 | #define XPLAYER_IS_PLUGINS_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), XPLAYER_TYPE_PLUGINS_ENGINE)) 43 | #define XPLAYER_IS_PLUGINS_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XPLAYER_TYPE_PLUGINS_ENGINE)) 44 | #define XPLAYER_PLUGINS_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), XPLAYER_TYPE_PLUGINS_ENGINE, XplayerPluginsEngineClass)) 45 | 46 | typedef struct _XplayerPluginsEngine XplayerPluginsEngine; 47 | typedef struct _XplayerPluginsEnginePrivate XplayerPluginsEnginePrivate; 48 | typedef struct _XplayerPluginsEngineClass XplayerPluginsEngineClass; 49 | 50 | struct _XplayerPluginsEngine 51 | { 52 | PeasEngine parent; 53 | XplayerPluginsEnginePrivate *priv; 54 | }; 55 | 56 | struct _XplayerPluginsEngineClass 57 | { 58 | PeasEngineClass parent_class; 59 | }; 60 | 61 | GType xplayer_plugins_engine_get_type (void) G_GNUC_CONST; 62 | XplayerPluginsEngine *xplayer_plugins_engine_get_default (XplayerObject *xplayer); 63 | void xplayer_plugins_engine_shut_down (XplayerPluginsEngine *self); 64 | 65 | G_END_DECLS 66 | 67 | #endif /* __XPLAYER_PLUGINS_ENGINE_H__ */ 68 | 69 | -------------------------------------------------------------------------------- /src/plugins/zeitgeist-dp/Makefile.am: -------------------------------------------------------------------------------- 1 | include $(top_srcdir)/src/plugins/Makefile.plugins 2 | 3 | plugindir = $(PLUGINDIR)/zeitgeist-dp 4 | plugin_LTLIBRARIES = libxplayer-zeitgeist-dp-plugin.la 5 | 6 | plugin_in_files = zeitgeist-dp.plugin.in 7 | 8 | # here we are explicitly specifying gtk+-3.0 to use the vapi because vala still 9 | # cannot parse the gir 10 | AM_VALAFLAGS = \ 11 | --girdir=$(top_builddir)/src \ 12 | --pkg Xplayer-1.0 --pkg Peas-1.0 --pkg gtk+-3.0 \ 13 | --pkg zeitgeist-2.0 \ 14 | bacon-video.vapi 15 | 16 | libxplayer_zeitgeist_dp_plugin_la_SOURCES = xplayer-zeitgeist-dp-plugin.vala 17 | libxplayer_zeitgeist_dp_plugin_la_LDFLAGS = $(plugin_ldflags) 18 | libxplayer_zeitgeist_dp_plugin_la_LIBADD = \ 19 | $(plugin_libadd) \ 20 | $(LIBZEITGEIST_LIBS) 21 | libxplayer_zeitgeist_dp_plugin_la_CFLAGS = \ 22 | $(plugin_cflags) \ 23 | $(LIBZEITGEIST_CFLAGS) \ 24 | -I $(top_srcdir)/src/backend 25 | 26 | GITIGNOREFILES = \ 27 | $(libxplayer_zeitgeist_dp_plugin_la_SOURCES:.vala=.c) \ 28 | libxplayer_zeitgeist_dp_plugin_la_vala.stamp \ 29 | $(NULL) 30 | 31 | -include $(top_srcdir)/git.mk 32 | -------------------------------------------------------------------------------- /src/plugins/zeitgeist-dp/bacon-video.vapi: -------------------------------------------------------------------------------- 1 | [CCode (cprefix = "Bacon", lower_case_cprefix = "bacon_")] 2 | 3 | namespace Bacon { 4 | [CCode (cheader_filename = "bacon-video-widget.h")] 5 | public class VideoWidget : Gtk.Widget { 6 | [CCode (has_construct_function = false)] 7 | public VideoWidget () throws GLib.Error; 8 | 9 | public void get_metadata (MetadataType type, out GLib.Value val); 10 | } 11 | [CCode (cprefix = "BVW_INFO_", cheader_filename = "bacon-video-widget.h")] 12 | public enum MetadataType { 13 | TITLE, 14 | ARTIST, 15 | YEAR, 16 | COMMENT, 17 | ALBUM, 18 | DURATION, 19 | TRACK_NUMBER, 20 | COVER, 21 | HAS_VIDEO, 22 | DIMENSION_X, 23 | DIMENSION_Y, 24 | VIDEO_BITRATE, 25 | VIDEO_CODEC, 26 | FPS, 27 | HAS_AUDIO, 28 | AUDIO_BITRATE, 29 | AUDIO_CODEC, 30 | AUDIO_SAMPLE_RATE, 31 | AUDIO_CHANNELS 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/plugins/zeitgeist-dp/libxplayer_zeitgeist_dp_plugin_la_vala.stamp: -------------------------------------------------------------------------------- 1 | stamp 2 | -------------------------------------------------------------------------------- /src/plugins/zeitgeist-dp/zeitgeist-dp.plugin.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Module=xplayer-zeitgeist-dp-plugin 3 | IAge=1 4 | _Name=Zeitgeist Plugin 5 | _Description=A plugin sending events to Zeitgeist 6 | Authors=Michal Hruby 7 | Copyright=Copyright © 2010 Michal Hruby 8 | Website=https://github.com/linuxmint/xplayer/ 9 | -------------------------------------------------------------------------------- /src/properties/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libbaconvideowidgetproperties.la 2 | 3 | libbaconvideowidgetproperties_la_SOURCES = \ 4 | bacon-video-widget-properties.c \ 5 | bacon-video-widget-properties.h \ 6 | $(NULL) 7 | 8 | libbaconvideowidgetproperties_la_CPPFLAGS = \ 9 | -I$(top_srcdir)/src/ \ 10 | -DDATADIR=\""$(datadir)/xplayer/"\" \ 11 | $(AM_CPPFLAGS) 12 | 13 | libbaconvideowidgetproperties_la_CFLAGS = \ 14 | $(PROPERTIES_CFLAGS) \ 15 | $(WARN_CFLAGS) \ 16 | $(AM_CFLAGS) 17 | 18 | -include $(top_srcdir)/git.mk 19 | -------------------------------------------------------------------------------- /src/xplayer-dnd-menu.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This program is free software; you can redistribute it and/or modify 3 | * it under the terms of the GNU General Public License as published by 4 | * the Free Software Foundation; either version 2 of the License, or 5 | * (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, 8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | * GNU General Public License for more details. 11 | * 12 | * You should have received a copy of the GNU General Public License 13 | * along with this program; if not, write to the Free Software 14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 15 | * 16 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 17 | * plugins to be used and distributed together with GStreamer and Xplayer. This 18 | * permission are above and beyond the permissions granted by the GPL license 19 | * Xplayer is covered by. 20 | */ 21 | 22 | #ifndef __XPLAYER_DND_MENU_H__ 23 | #define __XPLAYER_DND_MENU_H__ 24 | 25 | #include 26 | 27 | GdkDragAction xplayer_drag_ask (gboolean show_add_to); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/xplayer-interface.h: -------------------------------------------------------------------------------- 1 | /* xplayer-interface.h 2 | 3 | Copyright (C) 2005,2007 Bastien Nocera 4 | 5 | The Gnome Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The Gnome Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the Gnome Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | Boston, MA 02110-1301 USA. 19 | 20 | Author: Bastien Nocera 21 | */ 22 | 23 | #ifndef XPLAYER_INTERFACE_H 24 | #define XPLAYER_INTERFACE_H 25 | 26 | #include 27 | #include "xplayer.h" 28 | 29 | G_BEGIN_DECLS 30 | 31 | GdkPixbuf *xplayer_interface_load_pixbuf (const char *name); 32 | char *xplayer_interface_get_full_path (const char *name); 33 | GtkBuilder *xplayer_interface_load (const char *name, 34 | gboolean fatal, 35 | GtkWindow *parent, 36 | gpointer user_data); 37 | GtkBuilder *xplayer_interface_load_with_full_path (const char *filename, 38 | gboolean fatal, 39 | GtkWindow *parent, 40 | gpointer user_data); 41 | void xplayer_interface_error (const char *title, 42 | const char *reason, 43 | GtkWindow *parent); 44 | void xplayer_interface_error_blocking (const char *title, 45 | const char *reason, 46 | GtkWindow *parent); 47 | void xplayer_interface_error_with_link (const char *title, 48 | const char *reason, 49 | const char *uri, 50 | const char *label, 51 | GtkWindow *parent); 52 | void xplayer_interface_set_transient_for (GtkWindow *window, 53 | GtkWindow *parent); 54 | char * xplayer_interface_get_license (void); 55 | 56 | G_END_DECLS 57 | 58 | #endif /* XPLAYER_INTERFACE_H */ 59 | -------------------------------------------------------------------------------- /src/xplayer-menu.h: -------------------------------------------------------------------------------- 1 | /* xplayer-menu.h 2 | 3 | Copyright (C) 2004-2005 Bastien Nocera 4 | 5 | The Gnome Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The Gnome Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the Gnome Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | Boston, MA 02110-1301 USA. 19 | 20 | Author: Bastien Nocera 21 | */ 22 | 23 | #ifndef XPLAYER_MENU_H 24 | #define XPLAYER_MENU_H 25 | 26 | #include "xplayer.h" 27 | 28 | G_BEGIN_DECLS 29 | 30 | void xplayer_ui_manager_setup (Xplayer *xplayer); 31 | 32 | void xplayer_sublang_update (Xplayer *xplayer); 33 | void xplayer_sublang_exit (Xplayer *xplayer); 34 | 35 | void xplayer_setup_recent (Xplayer *xplayer); 36 | 37 | void xplayer_languages_update (Xplayer *xplayer, GList *list); 38 | void xplayer_subtitles_update (Xplayer *xplayer, GList *list); 39 | 40 | G_END_DECLS 41 | 42 | #endif /* XPLAYER_MENU_H */ 43 | -------------------------------------------------------------------------------- /src/xplayer-open-location.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2007 Philip Withnall 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add excemption clause. 25 | * See license_change file for details. 26 | * 27 | * Author: Bastien Nocera , Philip Withnall 28 | */ 29 | 30 | #ifndef XPLAYER_OPEN_LOCATION_H 31 | #define XPLAYER_OPEN_LOCATION_H 32 | 33 | #include 34 | 35 | G_BEGIN_DECLS 36 | 37 | #define XPLAYER_TYPE_OPEN_LOCATION (xplayer_open_location_get_type ()) 38 | #define XPLAYER_OPEN_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XPLAYER_TYPE_OPEN_LOCATION, XplayerOpenLocation)) 39 | #define XPLAYER_OPEN_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XPLAYER_TYPE_OPEN_LOCATION, XplayerOpenLocationClass)) 40 | #define XPLAYER_IS_OPEN_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XPLAYER_TYPE_OPEN_LOCATION)) 41 | #define XPLAYER_IS_OPEN_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XPLAYER_TYPE_OPEN_LOCATION)) 42 | 43 | typedef struct XplayerOpenLocation XplayerOpenLocation; 44 | typedef struct XplayerOpenLocationClass XplayerOpenLocationClass; 45 | typedef struct XplayerOpenLocationPrivate XplayerOpenLocationPrivate; 46 | 47 | struct XplayerOpenLocation { 48 | GtkDialog parent; 49 | XplayerOpenLocationPrivate *priv; 50 | }; 51 | 52 | struct XplayerOpenLocationClass { 53 | GtkDialogClass parent_class; 54 | }; 55 | 56 | GType xplayer_open_location_get_type (void); 57 | GtkWidget *xplayer_open_location_new (void); 58 | char *xplayer_open_location_get_uri (XplayerOpenLocation *open_location); 59 | 60 | G_END_DECLS 61 | 62 | #endif /* XPLAYER_OPEN_LOCATION_H */ 63 | -------------------------------------------------------------------------------- /src/xplayer-options.h: -------------------------------------------------------------------------------- 1 | /* xplayer-options.h 2 | 3 | Copyright (C) 2004,2007 Bastien Nocera 4 | 5 | The Gnome Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The Gnome Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the Gnome Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | Boston, MA 02110-1301 USA. 19 | 20 | Author: Bastien Nocera 21 | */ 22 | 23 | #ifndef XPLAYER_OPTIONS_H 24 | #define XPLAYER_OPTIONS_H 25 | 26 | #include 27 | 28 | #include "xplayer.h" 29 | 30 | G_BEGIN_DECLS 31 | 32 | /* Stores the state of the command line options */ 33 | typedef struct { 34 | gboolean debug; 35 | gboolean playpause; 36 | gboolean play; 37 | gboolean pause; 38 | gboolean next; 39 | gboolean previous; 40 | gboolean seekfwd; 41 | gboolean seekbwd; 42 | gboolean volumeup; 43 | gboolean volumedown; 44 | gboolean mute; 45 | gboolean fullscreen; 46 | gboolean togglecontrols; 47 | gboolean quit; 48 | gboolean enqueue; 49 | gboolean replace; 50 | gdouble playlistidx; 51 | gint64 seek; 52 | gchar **filenames; 53 | } XplayerCmdLineOptions; 54 | 55 | extern const GOptionEntry all_options[]; 56 | extern XplayerCmdLineOptions optionstate; 57 | 58 | void xplayer_options_register_remote_commands (Xplayer *xplayer); 59 | GOptionContext *xplayer_options_get_context (void); 60 | void xplayer_options_process_early (Xplayer *xplayer, 61 | const XplayerCmdLineOptions* options); 62 | void xplayer_options_process_late (Xplayer *xplayer, 63 | const XplayerCmdLineOptions* options); 64 | void xplayer_options_process_for_server (Xplayer *xplayer, 65 | const XplayerCmdLineOptions* options); 66 | 67 | G_END_DECLS 68 | 69 | #endif /* XPLAYER_OPTIONS_H */ 70 | -------------------------------------------------------------------------------- /src/xplayer-preferences.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2001,2002,2003 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * 19 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and Xplayer. This 21 | * permission are above and beyond the permissions granted by the GPL license 22 | * Xplayer is covered by. 23 | * 24 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 25 | * See license_change file for details. 26 | * 27 | */ 28 | 29 | #ifndef XPLAYER_PREFERENCES_H 30 | #define XPLAYER_PREFERENCES_H 31 | 32 | G_BEGIN_DECLS 33 | 34 | void xplayer_setup_preferences (Xplayer *xplayer); 35 | 36 | G_END_DECLS 37 | 38 | #endif /* XPLAYER_PREFERENCES_H */ 39 | -------------------------------------------------------------------------------- /src/xplayer-profile.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2001,2002,2003 Bastien Nocera 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * 20 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 21 | * plugins to be used and distributed together with GStreamer and Xplayer. This 22 | * permission are above and beyond the permissions granted by the GPL license 23 | * Xplayer is covered by. 24 | * 25 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 26 | * See license_change file for details. 27 | * 28 | */ 29 | 30 | #ifndef __XPLAYER_PROFILE_H__ 31 | #define __XPLAYER_PROFILE_H__ 1 32 | 33 | #ifdef GNOME_ENABLE_DEBUG 34 | 35 | #include 36 | #include 37 | 38 | #define XPLAYER_PROFILE(function) \ 39 | do{ \ 40 | struct timeval current_time; \ 41 | double dtime; \ 42 | gettimeofday(¤t_time, NULL); \ 43 | dtime = -(current_time.tv_sec + (current_time.tv_usec / 1000000.0)); \ 44 | function; \ 45 | gettimeofday(¤t_time, NULL); \ 46 | dtime += current_time.tv_sec + (current_time.tv_usec / 1000000.0); \ 47 | printf("(%s:%d) took %lf seconds\n", \ 48 | G_STRFUNC, __LINE__, dtime ); \ 49 | }while(0) 50 | 51 | #else /* GNOME_ENABLE_DEBUG */ 52 | 53 | #define XPLAYER_PROFILE(function) function 54 | 55 | #endif /* GNOME_ENABLE_DEBUG */ 56 | 57 | #endif /* __XPLAYER_PROFILE_H__ */ 58 | -------------------------------------------------------------------------------- /src/xplayer-resources.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 Bastien Nocera 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | * The Xplayer project hereby grant permission for non-gpl compatible GStreamer 19 | * plugins to be used and distributed together with GStreamer and Xplayer. This 20 | * permission are above and beyond the permissions granted by the GPL license 21 | * Xplayer is covered by. 22 | * 23 | * Monday 7th February 2005: Christian Schaller: Add exception clause. 24 | * See license_change file for details. 25 | * 26 | */ 27 | 28 | #include 29 | 30 | void xplayer_resources_monitor_start (const char *input, 31 | gint wall_clock_time); 32 | void xplayer_resources_monitor_stop (void); 33 | 34 | -------------------------------------------------------------------------------- /src/xplayer-session.h: -------------------------------------------------------------------------------- 1 | /* xplayer-session.h 2 | 3 | Copyright (C) 2004 Bastien Nocera 4 | 5 | The Gnome Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The Gnome Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the Gnome Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | Boston, MA 02110-1301 USA. 19 | 20 | Author: Bastien Nocera 21 | */ 22 | 23 | #ifndef XPLAYER_SESSION_H 24 | #define XPLAYER_SESSION_H 25 | 26 | #include "xplayer.h" 27 | 28 | G_BEGIN_DECLS 29 | 30 | void xplayer_session_add_options (GOptionContext *context); 31 | void xplayer_session_setup (Xplayer *xplayer, char **argv); 32 | void xplayer_session_restore (Xplayer *xplayer, char **filenames); 33 | 34 | G_END_DECLS 35 | 36 | #endif /* XPLAYER_SESSION_H */ 37 | -------------------------------------------------------------------------------- /src/xplayer-sidebar.h: -------------------------------------------------------------------------------- 1 | /* xplayer-sidebar.h 2 | 3 | Copyright (C) 2004-2005 Bastien Nocera 4 | 5 | The Gnome Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The Gnome Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the Gnome Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | Boston, MA 02110-1301 USA. 19 | 20 | Author: Bastien Nocera 21 | */ 22 | 23 | #ifndef XPLAYER_SIDEBAR_H 24 | #define XPLAYER_SIDEBAR_H 25 | 26 | G_BEGIN_DECLS 27 | 28 | void xplayer_sidebar_setup (Xplayer *xplayer, 29 | gboolean visible); 30 | 31 | void xplayer_sidebar_toggle (Xplayer *xplayer, gboolean state); 32 | void xplayer_sidebar_set_visibility (Xplayer *xplayer, gboolean visible); 33 | gboolean xplayer_sidebar_is_visible (Xplayer *xplayer); 34 | 35 | gboolean xplayer_sidebar_is_focused (Xplayer *xplayer, gboolean *handles_kbd); 36 | 37 | char *xplayer_sidebar_get_current_page (Xplayer *xplayer); 38 | void xplayer_sidebar_set_current_page (Xplayer *xplayer, 39 | const char *page_id, 40 | gboolean force_visible); 41 | 42 | void xplayer_sidebar_add_page (Xplayer *xplayer, 43 | const char *page_id, 44 | const char *label, 45 | const char *accelerator, 46 | GtkWidget *main_widget); 47 | void xplayer_sidebar_remove_page (Xplayer *xplayer, 48 | const char *page_id); 49 | 50 | G_END_DECLS 51 | 52 | #endif /* XPLAYER_SIDEBAR_H */ 53 | -------------------------------------------------------------------------------- /src/xplayer-subtitle-encoding.h: -------------------------------------------------------------------------------- 1 | /* Encoding stuff */ 2 | 3 | #ifndef XPLAYER_SUBTITLE_ENCODING_H 4 | #define XPLAYER_SUBTITLE_ENCODING_H 5 | 6 | #include 7 | 8 | void xplayer_subtitle_encoding_init (GtkComboBox *combo); 9 | void xplayer_subtitle_encoding_set (GtkComboBox *combo, const char *encoding); 10 | const char * xplayer_subtitle_encoding_get_selected (GtkComboBox *combo); 11 | 12 | #endif /* SUBTITLE_ENCODING_H */ 13 | -------------------------------------------------------------------------------- /src/xplayer-time-label.c: -------------------------------------------------------------------------------- 1 | 2 | #include "config.h" 3 | 4 | #include "xplayer-time-label.h" 5 | #include 6 | #include "xplayer-time-helpers.h" 7 | 8 | struct _XplayerTimeLabelPrivate { 9 | gint64 time; 10 | gint64 length; 11 | gboolean seeking; 12 | }; 13 | 14 | G_DEFINE_TYPE (XplayerTimeLabel, xplayer_time_label, GTK_TYPE_LABEL) 15 | #define XPLAYER_TIME_LABEL_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XPLAYER_TYPE_TIME_LABEL, XplayerTimeLabelPrivate)) 16 | 17 | static void 18 | xplayer_time_label_init (XplayerTimeLabel *label) 19 | { 20 | char *time_string; 21 | char *length_string; 22 | char *label_string; 23 | label->priv = G_TYPE_INSTANCE_GET_PRIVATE (label, XPLAYER_TYPE_TIME_LABEL, XplayerTimeLabelPrivate); 24 | 25 | time_string = xplayer_time_to_string (0); 26 | length_string = xplayer_time_to_string (0); 27 | label_string = g_strdup_printf (_("%s / %s"), time_string, length_string); 28 | 29 | gtk_label_set_text (GTK_LABEL (label), label_string); 30 | 31 | g_free (time_string); 32 | g_free (length_string); 33 | g_free (label_string); 34 | 35 | label->priv->time = 0; 36 | label->priv->length = -1; 37 | label->priv->seeking = FALSE; 38 | } 39 | 40 | GtkWidget* 41 | xplayer_time_label_new (void) 42 | { 43 | return GTK_WIDGET (g_object_new (XPLAYER_TYPE_TIME_LABEL, NULL)); 44 | } 45 | 46 | static void 47 | xplayer_time_label_class_init (XplayerTimeLabelClass *klass) 48 | { 49 | g_type_class_add_private (klass, sizeof (XplayerTimeLabelPrivate)); 50 | } 51 | 52 | void 53 | xplayer_time_label_set_time (XplayerTimeLabel *label, gint64 _time, gint64 length) 54 | { 55 | g_return_if_fail (XPLAYER_IS_TIME_LABEL (label)); 56 | 57 | if ((_time / 1000 == label->priv->time / 1000) && (length / 1000 == label->priv->length / 1000)) 58 | { 59 | return; 60 | } 61 | else 62 | { 63 | char *label_str; 64 | char *time_str; 65 | char *length_str; 66 | 67 | time_str = xplayer_time_to_string (_time); 68 | length_str = xplayer_time_to_string (length); 69 | if (label->priv->seeking == FALSE) 70 | { 71 | /* Elapsed / Total Length */ 72 | label_str = g_strdup_printf (_("%s / %s"), time_str, length_str); 73 | } 74 | else 75 | { 76 | /* Seeking to Time / Total Length */ 77 | label_str = g_strdup_printf (_("Seek to %s / %s"), time_str, length_str); 78 | } 79 | 80 | gtk_label_set_text (GTK_LABEL (label), label_str); 81 | 82 | g_free (label_str); 83 | g_free (time_str); 84 | g_free (length_str); 85 | 86 | label->priv->time = _time; 87 | label->priv->length = length; 88 | } 89 | } 90 | 91 | void 92 | xplayer_time_label_set_seeking (XplayerTimeLabel *label, gboolean seeking) 93 | { 94 | g_return_if_fail (XPLAYER_IS_TIME_LABEL (label)); 95 | 96 | label->priv->seeking = seeking; 97 | } 98 | -------------------------------------------------------------------------------- /src/xplayer-time-label.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef XPLAYER_TIME_LABEL_H 3 | #define XPLAYER_TIME_LABEL_H 4 | 5 | #include 6 | 7 | #define XPLAYER_TYPE_TIME_LABEL (xplayer_time_label_get_type ()) 8 | #define XPLAYER_TIME_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XPLAYER_TYPE_TIME_LABEL, XplayerTimeLabel)) 9 | #define XPLAYER_TIME_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XPLAYER_TYPE_TIME_LABEL, XplayerTimeLabelClass)) 10 | #define XPLAYER_IS_TIME_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XPLAYER_TYPE_TIME_LABEL)) 11 | #define XPLAYER_IS_TIME_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XPLAYER_TYPE_TIME_LABEL)) 12 | 13 | typedef struct XplayerTimeLabel XplayerTimeLabel; 14 | typedef struct XplayerTimeLabelClass XplayerTimeLabelClass; 15 | typedef struct _XplayerTimeLabelPrivate XplayerTimeLabelPrivate; 16 | 17 | struct XplayerTimeLabel { 18 | GtkLabel parent; 19 | XplayerTimeLabelPrivate *priv; 20 | }; 21 | 22 | struct XplayerTimeLabelClass { 23 | GtkLabelClass parent_class; 24 | }; 25 | 26 | G_MODULE_EXPORT GType xplayer_time_label_get_type (void); 27 | GtkWidget *xplayer_time_label_new (void); 28 | void xplayer_time_label_set_time (XplayerTimeLabel *label, 29 | gint64 time, gint64 length); 30 | void xplayer_time_label_set_seeking (XplayerTimeLabel *label, 31 | gboolean seeking); 32 | 33 | #endif /* XPLAYER_TIME_LABEL_H */ 34 | -------------------------------------------------------------------------------- /src/xplayer-uri.h: -------------------------------------------------------------------------------- 1 | /* xplayer-uri.h 2 | 3 | Copyright (C) 2004 Bastien Nocera 4 | 5 | The Gnome Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The Gnome Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the Gnome Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | Boston, MA 02110-1301 USA. 19 | 20 | Author: Bastien Nocera 21 | */ 22 | 23 | #ifndef XPLAYER_URI_H 24 | #define XPLAYER_URI_H 25 | 26 | #include "xplayer.h" 27 | #include 28 | #include 29 | 30 | G_BEGIN_DECLS 31 | 32 | const char * xplayer_dot_dir (void); 33 | const char * xplayer_data_dot_dir (void); 34 | char * xplayer_pictures_dir (void); 35 | char * xplayer_create_full_path (const char *path); 36 | GMount * xplayer_get_mount_for_media (const char *uri); 37 | gboolean xplayer_playing_dvd (const char *uri); 38 | gboolean xplayer_uri_is_subtitle (const char *uri); 39 | gboolean xplayer_is_special_mrl (const char *uri); 40 | gboolean xplayer_is_block_device (const char *uri); 41 | void xplayer_setup_file_monitoring (Xplayer *xplayer); 42 | void xplayer_setup_file_filters (void); 43 | void xplayer_destroy_file_filters (void); 44 | char * xplayer_uri_escape_for_display (const char *uri); 45 | GSList * xplayer_add_files (GtkWindow *parent, 46 | const char *path); 47 | char * xplayer_add_subtitle (GtkWindow *parent, 48 | const char *uri); 49 | 50 | void xplayer_save_position (Xplayer *xplayer); 51 | void xplayer_try_restore_position (Xplayer *xplayer, const char *mrl); 52 | 53 | G_END_DECLS 54 | 55 | #endif /* XPLAYER_URI_H */ 56 | -------------------------------------------------------------------------------- /xplayer.doap: -------------------------------------------------------------------------------- 1 | 6 | xplayer 7 | Movie player for the GNOME desktop based on GStreamer 8 | 9 | 10 | 11 | 12 | Bastien Nocera 13 | 14 | hadess 15 | 16 | 17 | 18 | 19 | Tim-Philipp Müller 20 | 21 | tpm 22 | 23 | 24 | 25 | --------------------------------------------------------------------------------