Merge lp:~loneowais/ubuntu/precise/rhythmbox/remember-the-rhythm into lp:ubuntu/precise/rhythmbox
- Precise (12.04)
- remember-the-rhythm
- Merge into precise
Status: | Work in progress |
---|---|
Proposed branch: | lp:~loneowais/ubuntu/precise/rhythmbox/remember-the-rhythm |
Merge into: | lp:ubuntu/precise/rhythmbox |
Diff against target: |
700 lines (+671/-0) 5 files modified
data/org.gnome.rhythmbox.gschema.xml (+23/-0) plugins/remember-the-rhythm/Makefile.am (+13/-0) plugins/remember-the-rhythm/Makefile.in (+503/-0) plugins/remember-the-rhythm/remember-the-rhythm.plugin.in (+9/-0) plugins/remember-the-rhythm/remember-the-rhythm.py (+123/-0) |
To merge this branch: | bzr merge lp:~loneowais/ubuntu/precise/rhythmbox/remember-the-rhythm |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sebastien Bacher | Needs Information | ||
Ubuntu branches | Pending | ||
Review via email: mp+82801@code.launchpad.net |
Commit message
Description of the change
Added Remember-the-rhythm plugin.
I'm upstream for this
Upstream link: https:/
Sebastien Bacher (seb128) wrote : | # |
Thanks Owais for your work, that seems a nice addition to rhythmbox. Did you consider trying to get it added to the rhythmbox upstream source? If not, why? Do you think it should be added to the rhythmbox package in Ubuntu or as a new source if it doesn't get added to the rhythmbox upstream source?
Owais Lone (loneowais) wrote : | # |
Hi Sebastien,
I tried with a merge request on lp:rhythmbox but it was rejected with the reason that I should use upstream bugzilla. To be honest, I was too lazy to familiarize myself with upstream workflow and I don't really care if this lands in other distros or not. In Ubuntu, I would like it to ship with the rhythmbox or rhythmbox-plugins package.
If it can make life easier for Ubuntu maintainers, I can try to get it merged upstream. Let me know.
Thanks!
Sebastien Bacher (seb128) wrote : | # |
Right, upstream doesn't use launchpad, the right way would be to open a bug: https:/
Basically explaining what your code is doing with a pointer to your git
You can also try to connect to irc.gnome.org #rhythmbox and ask there if you do IRC
It would make sense to me to try to get that upstream since it would make easier to have it maintained and in sync with rhythmbox updates this way. That seems something we are interested in getting in Ubuntu in any case so keep the good work there!
Owais Lone (loneowais) wrote : | # |
Thanks,
I've filed a report https:/
Sebastien Bacher (seb128) wrote : | # |
Thanks, I will let upstream the time to comment and look again at your work next week
Martin Pitt (pitti) wrote : | # |
This is now (and should) being handled in the upstream bug, so I set this as "work in progress" for now as we don't (currently) want to upload this directly to Ubuntu. If upstream rejects it, please change back to "Needs Review" so that we can re-consider how to package this. Thanks!
- 195. By Owais Lone
-
Merge in latest changes and updated remember-the-rhythm
Unmerged revisions
- 195. By Owais Lone
-
Merge in latest changes and updated remember-the-rhythm
- 194. By Owais Lone
-
Added remember-the-rhythm plugin
Preview Diff
1 | === modified file 'data/org.gnome.rhythmbox.gschema.xml' | |||
2 | --- data/org.gnome.rhythmbox.gschema.xml 2012-01-10 17:05:11 +0000 | |||
3 | +++ data/org.gnome.rhythmbox.gschema.xml 2012-01-15 09:54:25 +0000 | |||
4 | @@ -419,4 +419,27 @@ | |||
5 | 419 | <schema id="org.gnome.rhythmbox.plugins.grilo" path="/org/gnome/rhythmbox/plugins/grilo/"> | 419 | <schema id="org.gnome.rhythmbox.plugins.grilo" path="/org/gnome/rhythmbox/plugins/grilo/"> |
6 | 420 | <child name="source" schema="org.gnome.rhythmbox.source"/> | 420 | <child name="source" schema="org.gnome.rhythmbox.source"/> |
7 | 421 | </schema> | 421 | </schema> |
8 | 422 | |||
9 | 423 | <schema id="org.gnome.rhythmbox.plugins.remember-the-rhythm" path="/org/gnome/rhythmbox/plugins/remember-the-rhythm/"> | ||
10 | 424 | <key type="s" name="last-entry-location"> | ||
11 | 425 | <default>''</default> | ||
12 | 426 | <summary>Location of the last playing entry</summary> | ||
13 | 427 | <description>This entry will be automatically played by rhythmbox upon startup.</description> | ||
14 | 428 | </key> | ||
15 | 429 | <key type="u" name="playback-time"> | ||
16 | 430 | <default>0</default> | ||
17 | 431 | <summary>Playback time of the last playing entry</summary> | ||
18 | 432 | <description>Rhythmbox will resume playback from this second.</description> | ||
19 | 433 | </key> | ||
20 | 434 | <key type="aas" name="browser-values"> | ||
21 | 435 | <default>[]</default> | ||
22 | 436 | <summary>Genre/Artist/Album</summary> | ||
23 | 437 | <description>Remembers the filters in RBLibraryBrowser and sets on start up.</description> | ||
24 | 438 | </key> | ||
25 | 439 | <key type="s" name="playlist"> | ||
26 | 440 | <default>''</default> | ||
27 | 441 | <summary>Last playlist</summary> | ||
28 | 442 | <description>Name of the last playing playlist if any.</description> | ||
29 | 443 | </key> | ||
30 | 444 | </schema> | ||
31 | 422 | </schemalist> | 445 | </schemalist> |
32 | 423 | 446 | ||
33 | === added directory 'plugins/remember-the-rhythm' | |||
34 | === added file 'plugins/remember-the-rhythm/Makefile.am' | |||
35 | --- plugins/remember-the-rhythm/Makefile.am 1970-01-01 00:00:00 +0000 | |||
36 | +++ plugins/remember-the-rhythm/Makefile.am 2012-01-15 09:54:25 +0000 | |||
37 | @@ -0,0 +1,13 @@ | |||
38 | 1 | # sample python plugin | ||
39 | 2 | plugindir = $(PLUGINDIR)/remember-the-rhythm | ||
40 | 3 | #plugin_PYTHON = remember-the-rhythm.py | ||
41 | 4 | |||
42 | 5 | plugin_in_files = remember-the-rhythm.plugin.in | ||
43 | 6 | %.plugin: %.plugin.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache | ||
44 | 7 | |||
45 | 8 | #plugin_DATA = $(plugin_in_files:.plugin.in=.plugin) | ||
46 | 9 | |||
47 | 10 | EXTRA_DIST = $(plugin_in_files) remember-the-rhythm.py | ||
48 | 11 | |||
49 | 12 | CLEANFILES = $(plugin_DATA) | ||
50 | 13 | DISTCLEANFILES = $(plugin_DATA) | ||
51 | 0 | 14 | ||
52 | === added file 'plugins/remember-the-rhythm/Makefile.in' | |||
53 | --- plugins/remember-the-rhythm/Makefile.in 1970-01-01 00:00:00 +0000 | |||
54 | +++ plugins/remember-the-rhythm/Makefile.in 2012-01-15 09:54:25 +0000 | |||
55 | @@ -0,0 +1,503 @@ | |||
56 | 1 | # Makefile.in generated by automake 1.11.1 from Makefile.am. | ||
57 | 2 | # @configure_input@ | ||
58 | 3 | |||
59 | 4 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | ||
60 | 5 | # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, | ||
61 | 6 | # Inc. | ||
62 | 7 | # This Makefile.in is free software; the Free Software Foundation | ||
63 | 8 | # gives unlimited permission to copy and/or distribute it, | ||
64 | 9 | # with or without modifications, as long as this notice is preserved. | ||
65 | 10 | |||
66 | 11 | # This program is distributed in the hope that it will be useful, | ||
67 | 12 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||
68 | 13 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
69 | 14 | # PARTICULAR PURPOSE. | ||
70 | 15 | |||
71 | 16 | @SET_MAKE@ | ||
72 | 17 | VPATH = @srcdir@ | ||
73 | 18 | pkgdatadir = $(datadir)/@PACKAGE@ | ||
74 | 19 | pkgincludedir = $(includedir)/@PACKAGE@ | ||
75 | 20 | pkglibdir = $(libdir)/@PACKAGE@ | ||
76 | 21 | pkglibexecdir = $(libexecdir)/@PACKAGE@ | ||
77 | 22 | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||
78 | 23 | install_sh_DATA = $(install_sh) -c -m 644 | ||
79 | 24 | install_sh_PROGRAM = $(install_sh) -c | ||
80 | 25 | install_sh_SCRIPT = $(install_sh) -c | ||
81 | 26 | INSTALL_HEADER = $(INSTALL_DATA) | ||
82 | 27 | transform = $(program_transform_name) | ||
83 | 28 | NORMAL_INSTALL = : | ||
84 | 29 | PRE_INSTALL = : | ||
85 | 30 | POST_INSTALL = : | ||
86 | 31 | NORMAL_UNINSTALL = : | ||
87 | 32 | PRE_UNINSTALL = : | ||
88 | 33 | POST_UNINSTALL = : | ||
89 | 34 | build_triplet = @build@ | ||
90 | 35 | host_triplet = @host@ | ||
91 | 36 | subdir = plugins/remember-the-rhythm | ||
92 | 37 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | ||
93 | 38 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
94 | 39 | am__aclocal_m4_deps = $(top_srcdir)/macros/gnome-doc-utils.m4 \ | ||
95 | 40 | $(top_srcdir)/macros/gsettings.m4 \ | ||
96 | 41 | $(top_srcdir)/macros/gtk-doc.m4 \ | ||
97 | 42 | $(top_srcdir)/macros/intltool.m4 \ | ||
98 | 43 | $(top_srcdir)/macros/libtool.m4 \ | ||
99 | 44 | $(top_srcdir)/macros/ltoptions.m4 \ | ||
100 | 45 | $(top_srcdir)/macros/ltsugar.m4 \ | ||
101 | 46 | $(top_srcdir)/macros/ltversion.m4 \ | ||
102 | 47 | $(top_srcdir)/macros/lt~obsolete.m4 $(top_srcdir)/configure.ac | ||
103 | 48 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||
104 | 49 | $(ACLOCAL_M4) | ||
105 | 50 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | ||
106 | 51 | CONFIG_HEADER = $(top_builddir)/config.h | ||
107 | 52 | CONFIG_CLEAN_FILES = | ||
108 | 53 | CONFIG_CLEAN_VPATH_FILES = | ||
109 | 54 | AM_V_GEN = $(am__v_GEN_$(V)) | ||
110 | 55 | am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) | ||
111 | 56 | am__v_GEN_0 = @echo " GEN " $@; | ||
112 | 57 | AM_V_at = $(am__v_at_$(V)) | ||
113 | 58 | am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) | ||
114 | 59 | am__v_at_0 = @ | ||
115 | 60 | SOURCES = | ||
116 | 61 | DIST_SOURCES = | ||
117 | 62 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||
118 | 63 | ACLOCAL = @ACLOCAL@ | ||
119 | 64 | ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ | ||
120 | 65 | ALL_LINGUAS = @ALL_LINGUAS@ | ||
121 | 66 | AMTAR = @AMTAR@ | ||
122 | 67 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | ||
123 | 68 | AR = @AR@ | ||
124 | 69 | AUTOCONF = @AUTOCONF@ | ||
125 | 70 | AUTOHEADER = @AUTOHEADER@ | ||
126 | 71 | AUTOMAKE = @AUTOMAKE@ | ||
127 | 72 | AVAHI_CFLAGS = @AVAHI_CFLAGS@ | ||
128 | 73 | AVAHI_LIBS = @AVAHI_LIBS@ | ||
129 | 74 | AWK = @AWK@ | ||
130 | 75 | CATALOGS = @CATALOGS@ | ||
131 | 76 | CATOBJEXT = @CATOBJEXT@ | ||
132 | 77 | CC = @CC@ | ||
133 | 78 | CCDEPMODE = @CCDEPMODE@ | ||
134 | 79 | CFLAGS = @CFLAGS@ | ||
135 | 80 | CHECK_CFLAGS = @CHECK_CFLAGS@ | ||
136 | 81 | CHECK_LIBS = @CHECK_LIBS@ | ||
137 | 82 | CPP = @CPP@ | ||
138 | 83 | CPPFLAGS = @CPPFLAGS@ | ||
139 | 84 | CYGPATH_W = @CYGPATH_W@ | ||
140 | 85 | DATADIRNAME = @DATADIRNAME@ | ||
141 | 86 | DBUS_CFLAGS = @DBUS_CFLAGS@ | ||
142 | 87 | DBUS_GLIB_BIN = @DBUS_GLIB_BIN@ | ||
143 | 88 | DBUS_LIBS = @DBUS_LIBS@ | ||
144 | 89 | DEFS = @DEFS@ | ||
145 | 90 | DEPDIR = @DEPDIR@ | ||
146 | 91 | DISABLE_DEPRECATED = @DISABLE_DEPRECATED@ | ||
147 | 92 | DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ | ||
148 | 93 | DLLTOOL = @DLLTOOL@ | ||
149 | 94 | DMAPSHARING_CFLAGS = @DMAPSHARING_CFLAGS@ | ||
150 | 95 | DMAPSHARING_LIBS = @DMAPSHARING_LIBS@ | ||
151 | 96 | DOC_USER_FORMATS = @DOC_USER_FORMATS@ | ||
152 | 97 | DSYMUTIL = @DSYMUTIL@ | ||
153 | 98 | DUMPBIN = @DUMPBIN@ | ||
154 | 99 | ECHO_C = @ECHO_C@ | ||
155 | 100 | ECHO_N = @ECHO_N@ | ||
156 | 101 | ECHO_T = @ECHO_T@ | ||
157 | 102 | EGREP = @EGREP@ | ||
158 | 103 | EXEEXT = @EXEEXT@ | ||
159 | 104 | FGREP = @FGREP@ | ||
160 | 105 | GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ | ||
161 | 106 | GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ | ||
162 | 107 | GDK_PIXBUF_CSOURCE = @GDK_PIXBUF_CSOURCE@ | ||
163 | 108 | GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ | ||
164 | 109 | GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ | ||
165 | 110 | GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ | ||
166 | 111 | GMOFILES = @GMOFILES@ | ||
167 | 112 | GMSGFMT = @GMSGFMT@ | ||
168 | 113 | GNOME_KEYRING_CFLAGS = @GNOME_KEYRING_CFLAGS@ | ||
169 | 114 | GNOME_KEYRING_LIBS = @GNOME_KEYRING_LIBS@ | ||
170 | 115 | GREP = @GREP@ | ||
171 | 116 | GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ | ||
172 | 117 | GSTCDDA_CFLAGS = @GSTCDDA_CFLAGS@ | ||
173 | 118 | GSTCDDA_LIBS = @GSTCDDA_LIBS@ | ||
174 | 119 | GSTREAMER_0_10_CFLAGS = @GSTREAMER_0_10_CFLAGS@ | ||
175 | 120 | GSTREAMER_0_10_LIBS = @GSTREAMER_0_10_LIBS@ | ||
176 | 121 | GTKDOC_CHECK = @GTKDOC_CHECK@ | ||
177 | 122 | GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ | ||
178 | 123 | GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ | ||
179 | 124 | GTKDOC_MKPDF = @GTKDOC_MKPDF@ | ||
180 | 125 | GTKDOC_REBASE = @GTKDOC_REBASE@ | ||
181 | 126 | GUDEV_CFLAGS = @GUDEV_CFLAGS@ | ||
182 | 127 | GUDEV_LIBS = @GUDEV_LIBS@ | ||
183 | 128 | HAL_CFLAGS = @HAL_CFLAGS@ | ||
184 | 129 | HAL_LIBS = @HAL_LIBS@ | ||
185 | 130 | HAVE_LIBBRASERO_MEDIA = @HAVE_LIBBRASERO_MEDIA@ | ||
186 | 131 | HELP_DIR = @HELP_DIR@ | ||
187 | 132 | HTML_DIR = @HTML_DIR@ | ||
188 | 133 | INSTALL = @INSTALL@ | ||
189 | 134 | INSTALL_DATA = @INSTALL_DATA@ | ||
190 | 135 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
191 | 136 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
192 | 137 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
193 | 138 | INSTOBJEXT = @INSTOBJEXT@ | ||
194 | 139 | INTLLIBS = @INTLLIBS@ | ||
195 | 140 | INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ | ||
196 | 141 | INTLTOOL_MERGE = @INTLTOOL_MERGE@ | ||
197 | 142 | INTLTOOL_PERL = @INTLTOOL_PERL@ | ||
198 | 143 | INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ | ||
199 | 144 | INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ | ||
200 | 145 | INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ | ||
201 | 146 | INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ | ||
202 | 147 | INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ | ||
203 | 148 | INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ | ||
204 | 149 | INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ | ||
205 | 150 | INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ | ||
206 | 151 | INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ | ||
207 | 152 | IPOD_CFLAGS = @IPOD_CFLAGS@ | ||
208 | 153 | IPOD_LIBS = @IPOD_LIBS@ | ||
209 | 154 | JSON_GLIB_CFLAGS = @JSON_GLIB_CFLAGS@ | ||
210 | 155 | JSON_GLIB_LIBS = @JSON_GLIB_LIBS@ | ||
211 | 156 | LD = @LD@ | ||
212 | 157 | LDFLAGS = @LDFLAGS@ | ||
213 | 158 | LIBBRASERO_MEDIA_CFLAGS = @LIBBRASERO_MEDIA_CFLAGS@ | ||
214 | 159 | LIBBRASERO_MEDIA_LIBS = @LIBBRASERO_MEDIA_LIBS@ | ||
215 | 160 | LIBOBJS = @LIBOBJS@ | ||
216 | 161 | LIBS = @LIBS@ | ||
217 | 162 | LIBTOOL = @LIBTOOL@ | ||
218 | 163 | LIPO = @LIPO@ | ||
219 | 164 | LN_S = @LN_S@ | ||
220 | 165 | LTLIBOBJS = @LTLIBOBJS@ | ||
221 | 166 | MAINT = @MAINT@ | ||
222 | 167 | MAKEINFO = @MAKEINFO@ | ||
223 | 168 | MANIFEST_TOOL = @MANIFEST_TOOL@ | ||
224 | 169 | MKDIR_P = @MKDIR_P@ | ||
225 | 170 | MKINSTALLDIRS = @MKINSTALLDIRS@ | ||
226 | 171 | MOZILLA_PLUGINDIR = @MOZILLA_PLUGINDIR@ | ||
227 | 172 | MSGFMT = @MSGFMT@ | ||
228 | 173 | MSGFMT_OPTS = @MSGFMT_OPTS@ | ||
229 | 174 | MSGMERGE = @MSGMERGE@ | ||
230 | 175 | MTP_CFLAGS = @MTP_CFLAGS@ | ||
231 | 176 | MTP_LIBS = @MTP_LIBS@ | ||
232 | 177 | MUSICBRAINZ3_CFLAGS = @MUSICBRAINZ3_CFLAGS@ | ||
233 | 178 | MUSICBRAINZ3_LIBS = @MUSICBRAINZ3_LIBS@ | ||
234 | 179 | NM = @NM@ | ||
235 | 180 | NMEDIT = @NMEDIT@ | ||
236 | 181 | NOTIFY_CFLAGS = @NOTIFY_CFLAGS@ | ||
237 | 182 | NOTIFY_LIBS = @NOTIFY_LIBS@ | ||
238 | 183 | NO_STRICT_ALIASING_CFLAGS = @NO_STRICT_ALIASING_CFLAGS@ | ||
239 | 184 | OBJDUMP = @OBJDUMP@ | ||
240 | 185 | OBJEXT = @OBJEXT@ | ||
241 | 186 | OMF_DIR = @OMF_DIR@ | ||
242 | 187 | OTOOL = @OTOOL@ | ||
243 | 188 | OTOOL64 = @OTOOL64@ | ||
244 | 189 | PACKAGE = @PACKAGE@ | ||
245 | 190 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | ||
246 | 191 | PACKAGE_NAME = @PACKAGE_NAME@ | ||
247 | 192 | PACKAGE_STRING = @PACKAGE_STRING@ | ||
248 | 193 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||
249 | 194 | PACKAGE_URL = @PACKAGE_URL@ | ||
250 | 195 | PACKAGE_VERSION = @PACKAGE_VERSION@ | ||
251 | 196 | PATH_SEPARATOR = @PATH_SEPARATOR@ | ||
252 | 197 | PKG_CONFIG = @PKG_CONFIG@ | ||
253 | 198 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
254 | 199 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
255 | 200 | PLUGINDATADIR = @PLUGINDATADIR@ | ||
256 | 201 | PLUGINDIR = @PLUGINDIR@ | ||
257 | 202 | PLUGIN_LIBTOOL_FLAGS = @PLUGIN_LIBTOOL_FLAGS@ | ||
258 | 203 | POFILES = @POFILES@ | ||
259 | 204 | POSUB = @POSUB@ | ||
260 | 205 | PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ | ||
261 | 206 | PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ | ||
262 | 207 | PYTHON = @PYTHON@ | ||
263 | 208 | PYTHON_CFLAGS = @PYTHON_CFLAGS@ | ||
264 | 209 | PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ | ||
265 | 210 | PYTHON_LIBS = @PYTHON_LIBS@ | ||
266 | 211 | PYTHON_PLATFORM = @PYTHON_PLATFORM@ | ||
267 | 212 | PYTHON_PREFIX = @PYTHON_PREFIX@ | ||
268 | 213 | PYTHON_VERSION = @PYTHON_VERSION@ | ||
269 | 214 | RANLIB = @RANLIB@ | ||
270 | 215 | RB_CLIENT_CFLAGS = @RB_CLIENT_CFLAGS@ | ||
271 | 216 | RB_CLIENT_LIBS = @RB_CLIENT_LIBS@ | ||
272 | 217 | RHYTHMBOX_CFLAGS = @RHYTHMBOX_CFLAGS@ | ||
273 | 218 | RHYTHMBOX_CFLAGS_NOWARN = @RHYTHMBOX_CFLAGS_NOWARN@ | ||
274 | 219 | RHYTHMBOX_CORE_AGE = @RHYTHMBOX_CORE_AGE@ | ||
275 | 220 | RHYTHMBOX_CORE_CURRENT = @RHYTHMBOX_CORE_CURRENT@ | ||
276 | 221 | RHYTHMBOX_CORE_REVISION = @RHYTHMBOX_CORE_REVISION@ | ||
277 | 222 | RHYTHMBOX_LIBS = @RHYTHMBOX_LIBS@ | ||
278 | 223 | ROOT_UNINSTALLED_DIR = @ROOT_UNINSTALLED_DIR@ | ||
279 | 224 | SED = @SED@ | ||
280 | 225 | SET_MAKE = @SET_MAKE@ | ||
281 | 226 | SHELL = @SHELL@ | ||
282 | 227 | STRIP = @STRIP@ | ||
283 | 228 | TOTEM_PLPARSER_CFLAGS = @TOTEM_PLPARSER_CFLAGS@ | ||
284 | 229 | TOTEM_PLPARSER_LIBS = @TOTEM_PLPARSER_LIBS@ | ||
285 | 230 | USE_NLS = @USE_NLS@ | ||
286 | 231 | VALAC = @VALAC@ | ||
287 | 232 | VAPIDIR = @VAPIDIR@ | ||
288 | 233 | VAPIGEN = @VAPIGEN@ | ||
289 | 234 | VERSION = @VERSION@ | ||
290 | 235 | WARN_CFLAGS = @WARN_CFLAGS@ | ||
291 | 236 | WEBKIT_CFLAGS = @WEBKIT_CFLAGS@ | ||
292 | 237 | WEBKIT_LIBS = @WEBKIT_LIBS@ | ||
293 | 238 | WNOERROR_CFLAGS = @WNOERROR_CFLAGS@ | ||
294 | 239 | XGETTEXT = @XGETTEXT@ | ||
295 | 240 | XMKMF = @XMKMF@ | ||
296 | 241 | X_CFLAGS = @X_CFLAGS@ | ||
297 | 242 | X_EXTRA_LIBS = @X_EXTRA_LIBS@ | ||
298 | 243 | X_LIBS = @X_LIBS@ | ||
299 | 244 | X_PRE_LIBS = @X_PRE_LIBS@ | ||
300 | 245 | abs_builddir = @abs_builddir@ | ||
301 | 246 | abs_srcdir = @abs_srcdir@ | ||
302 | 247 | abs_top_builddir = @abs_top_builddir@ | ||
303 | 248 | abs_top_srcdir = @abs_top_srcdir@ | ||
304 | 249 | ac_ct_AR = @ac_ct_AR@ | ||
305 | 250 | ac_ct_CC = @ac_ct_CC@ | ||
306 | 251 | ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ | ||
307 | 252 | am__include = @am__include@ | ||
308 | 253 | am__leading_dot = @am__leading_dot@ | ||
309 | 254 | am__quote = @am__quote@ | ||
310 | 255 | am__tar = @am__tar@ | ||
311 | 256 | am__untar = @am__untar@ | ||
312 | 257 | bindir = @bindir@ | ||
313 | 258 | build = @build@ | ||
314 | 259 | build_alias = @build_alias@ | ||
315 | 260 | build_cpu = @build_cpu@ | ||
316 | 261 | build_os = @build_os@ | ||
317 | 262 | build_vendor = @build_vendor@ | ||
318 | 263 | builddir = @builddir@ | ||
319 | 264 | datadir = @datadir@ | ||
320 | 265 | datarootdir = @datarootdir@ | ||
321 | 266 | docdir = @docdir@ | ||
322 | 267 | dvidir = @dvidir@ | ||
323 | 268 | exec_prefix = @exec_prefix@ | ||
324 | 269 | gsettingsschemadir = @gsettingsschemadir@ | ||
325 | 270 | host = @host@ | ||
326 | 271 | host_alias = @host_alias@ | ||
327 | 272 | host_cpu = @host_cpu@ | ||
328 | 273 | host_os = @host_os@ | ||
329 | 274 | host_vendor = @host_vendor@ | ||
330 | 275 | htmldir = @htmldir@ | ||
331 | 276 | includedir = @includedir@ | ||
332 | 277 | infodir = @infodir@ | ||
333 | 278 | install_sh = @install_sh@ | ||
334 | 279 | libdir = @libdir@ | ||
335 | 280 | libexecdir = @libexecdir@ | ||
336 | 281 | localedir = @localedir@ | ||
337 | 282 | localstatedir = @localstatedir@ | ||
338 | 283 | mandir = @mandir@ | ||
339 | 284 | mkdir_p = @mkdir_p@ | ||
340 | 285 | oldincludedir = @oldincludedir@ | ||
341 | 286 | pdfdir = @pdfdir@ | ||
342 | 287 | pkgpyexecdir = @pkgpyexecdir@ | ||
343 | 288 | pkgpythondir = @pkgpythondir@ | ||
344 | 289 | prefix = @prefix@ | ||
345 | 290 | program_transform_name = @program_transform_name@ | ||
346 | 291 | psdir = @psdir@ | ||
347 | 292 | pyexecdir = @pyexecdir@ | ||
348 | 293 | pyoverridesdir = @pyoverridesdir@ | ||
349 | 294 | pythondir = @pythondir@ | ||
350 | 295 | sbindir = @sbindir@ | ||
351 | 296 | sharedstatedir = @sharedstatedir@ | ||
352 | 297 | srcdir = @srcdir@ | ||
353 | 298 | sysconfdir = @sysconfdir@ | ||
354 | 299 | target_alias = @target_alias@ | ||
355 | 300 | top_build_prefix = @top_build_prefix@ | ||
356 | 301 | top_builddir = @top_builddir@ | ||
357 | 302 | top_srcdir = @top_srcdir@ | ||
358 | 303 | |||
359 | 304 | # Remember The Rhythm plugin | ||
360 | 305 | plugindir = $(PLUGINDIR)/remember-the-rhythm | ||
361 | 306 | #plugin_PYTHON = remember-the-rhythm.py | ||
362 | 307 | plugin_in_files = remember-the-rhythm.plugin.in | ||
363 | 308 | |||
364 | 309 | #plugin_DATA = $(plugin_in_files:.plugin.in=.plugin) | ||
365 | 310 | EXTRA_DIST = $(plugin_in_files) remember-the-rhythm.py | ||
366 | 311 | CLEANFILES = $(plugin_DATA) | ||
367 | 312 | DISTCLEANFILES = $(plugin_DATA) | ||
368 | 313 | all: all-am | ||
369 | 314 | |||
370 | 315 | .SUFFIXES: | ||
371 | 316 | $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) | ||
372 | 317 | @for dep in $?; do \ | ||
373 | 318 | case '$(am__configure_deps)' in \ | ||
374 | 319 | *$$dep*) \ | ||
375 | 320 | ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ | ||
376 | 321 | && { if test -f $@; then exit 0; else break; fi; }; \ | ||
377 | 322 | exit 1;; \ | ||
378 | 323 | esac; \ | ||
379 | 324 | done; \ | ||
380 | 325 | echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu plugins/remember-the-rhythm/Makefile'; \ | ||
381 | 326 | $(am__cd) $(top_srcdir) && \ | ||
382 | 327 | $(AUTOMAKE) --gnu plugins/remember-the-rhythm/Makefile | ||
383 | 328 | .PRECIOUS: Makefile | ||
384 | 329 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||
385 | 330 | @case '$?' in \ | ||
386 | 331 | *config.status*) \ | ||
387 | 332 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ | ||
388 | 333 | *) \ | ||
389 | 334 | echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ | ||
390 | 335 | cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ | ||
391 | 336 | esac; | ||
392 | 337 | |||
393 | 338 | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||
394 | 339 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||
395 | 340 | |||
396 | 341 | $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) | ||
397 | 342 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||
398 | 343 | $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) | ||
399 | 344 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||
400 | 345 | $(am__aclocal_m4_deps): | ||
401 | 346 | |||
402 | 347 | mostlyclean-libtool: | ||
403 | 348 | -rm -f *.lo | ||
404 | 349 | |||
405 | 350 | clean-libtool: | ||
406 | 351 | -rm -rf .libs _libs | ||
407 | 352 | tags: TAGS | ||
408 | 353 | TAGS: | ||
409 | 354 | |||
410 | 355 | ctags: CTAGS | ||
411 | 356 | CTAGS: | ||
412 | 357 | |||
413 | 358 | |||
414 | 359 | distdir: $(DISTFILES) | ||
415 | 360 | @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||
416 | 361 | topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||
417 | 362 | list='$(DISTFILES)'; \ | ||
418 | 363 | dist_files=`for file in $$list; do echo $$file; done | \ | ||
419 | 364 | sed -e "s|^$$srcdirstrip/||;t" \ | ||
420 | 365 | -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||
421 | 366 | case $$dist_files in \ | ||
422 | 367 | */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||
423 | 368 | sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||
424 | 369 | sort -u` ;; \ | ||
425 | 370 | esac; \ | ||
426 | 371 | for file in $$dist_files; do \ | ||
427 | 372 | if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||
428 | 373 | if test -d $$d/$$file; then \ | ||
429 | 374 | dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||
430 | 375 | if test -d "$(distdir)/$$file"; then \ | ||
431 | 376 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||
432 | 377 | fi; \ | ||
433 | 378 | if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||
434 | 379 | cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||
435 | 380 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||
436 | 381 | fi; \ | ||
437 | 382 | cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||
438 | 383 | else \ | ||
439 | 384 | test -f "$(distdir)/$$file" \ | ||
440 | 385 | || cp -p $$d/$$file "$(distdir)/$$file" \ | ||
441 | 386 | || exit 1; \ | ||
442 | 387 | fi; \ | ||
443 | 388 | done | ||
444 | 389 | check-am: all-am | ||
445 | 390 | check: check-am | ||
446 | 391 | all-am: Makefile | ||
447 | 392 | installdirs: | ||
448 | 393 | install: install-am | ||
449 | 394 | install-exec: install-exec-am | ||
450 | 395 | install-data: install-data-am | ||
451 | 396 | uninstall: uninstall-am | ||
452 | 397 | |||
453 | 398 | install-am: all-am | ||
454 | 399 | @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||
455 | 400 | |||
456 | 401 | installcheck: installcheck-am | ||
457 | 402 | install-strip: | ||
458 | 403 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||
459 | 404 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||
460 | 405 | `test -z '$(STRIP)' || \ | ||
461 | 406 | echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install | ||
462 | 407 | mostlyclean-generic: | ||
463 | 408 | |||
464 | 409 | clean-generic: | ||
465 | 410 | -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | ||
466 | 411 | |||
467 | 412 | distclean-generic: | ||
468 | 413 | -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||
469 | 414 | -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||
470 | 415 | -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) | ||
471 | 416 | |||
472 | 417 | maintainer-clean-generic: | ||
473 | 418 | @echo "This command is intended for maintainers to use" | ||
474 | 419 | @echo "it deletes files that may require special tools to rebuild." | ||
475 | 420 | clean: clean-am | ||
476 | 421 | |||
477 | 422 | clean-am: clean-generic clean-libtool mostlyclean-am | ||
478 | 423 | |||
479 | 424 | distclean: distclean-am | ||
480 | 425 | -rm -f Makefile | ||
481 | 426 | distclean-am: clean-am distclean-generic | ||
482 | 427 | |||
483 | 428 | dvi: dvi-am | ||
484 | 429 | |||
485 | 430 | dvi-am: | ||
486 | 431 | |||
487 | 432 | html: html-am | ||
488 | 433 | |||
489 | 434 | html-am: | ||
490 | 435 | |||
491 | 436 | info: info-am | ||
492 | 437 | |||
493 | 438 | info-am: | ||
494 | 439 | |||
495 | 440 | install-data-am: | ||
496 | 441 | |||
497 | 442 | install-dvi: install-dvi-am | ||
498 | 443 | |||
499 | 444 | install-dvi-am: | ||
500 | 445 | |||
501 | 446 | install-exec-am: | ||
502 | 447 | |||
503 | 448 | install-html: install-html-am | ||
504 | 449 | |||
505 | 450 | install-html-am: | ||
506 | 451 | |||
507 | 452 | install-info: install-info-am | ||
508 | 453 | |||
509 | 454 | install-info-am: | ||
510 | 455 | |||
511 | 456 | install-man: | ||
512 | 457 | |||
513 | 458 | install-pdf: install-pdf-am | ||
514 | 459 | |||
515 | 460 | install-pdf-am: | ||
516 | 461 | |||
517 | 462 | install-ps: install-ps-am | ||
518 | 463 | |||
519 | 464 | install-ps-am: | ||
520 | 465 | |||
521 | 466 | installcheck-am: | ||
522 | 467 | |||
523 | 468 | maintainer-clean: maintainer-clean-am | ||
524 | 469 | -rm -f Makefile | ||
525 | 470 | maintainer-clean-am: distclean-am maintainer-clean-generic | ||
526 | 471 | |||
527 | 472 | mostlyclean: mostlyclean-am | ||
528 | 473 | |||
529 | 474 | mostlyclean-am: mostlyclean-generic mostlyclean-libtool | ||
530 | 475 | |||
531 | 476 | pdf: pdf-am | ||
532 | 477 | |||
533 | 478 | pdf-am: | ||
534 | 479 | |||
535 | 480 | ps: ps-am | ||
536 | 481 | |||
537 | 482 | ps-am: | ||
538 | 483 | |||
539 | 484 | uninstall-am: | ||
540 | 485 | |||
541 | 486 | .MAKE: install-am install-strip | ||
542 | 487 | |||
543 | 488 | .PHONY: all all-am check check-am clean clean-generic clean-libtool \ | ||
544 | 489 | distclean distclean-generic distclean-libtool distdir dvi \ | ||
545 | 490 | dvi-am html html-am info info-am install install-am \ | ||
546 | 491 | install-data install-data-am install-dvi install-dvi-am \ | ||
547 | 492 | install-exec install-exec-am install-html install-html-am \ | ||
548 | 493 | install-info install-info-am install-man install-pdf \ | ||
549 | 494 | install-pdf-am install-ps install-ps-am install-strip \ | ||
550 | 495 | installcheck installcheck-am installdirs maintainer-clean \ | ||
551 | 496 | maintainer-clean-generic mostlyclean mostlyclean-generic \ | ||
552 | 497 | mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am | ||
553 | 498 | |||
554 | 499 | %.plugin: %.plugin.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache | ||
555 | 500 | |||
556 | 501 | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||
557 | 502 | # Otherwise a system limit (for SysV at least) may be exceeded. | ||
558 | 503 | .NOEXPORT: | ||
559 | 0 | 504 | ||
560 | === added file 'plugins/remember-the-rhythm/remember-the-rhythm.plugin.in' | |||
561 | --- plugins/remember-the-rhythm/remember-the-rhythm.plugin.in 1970-01-01 00:00:00 +0000 | |||
562 | +++ plugins/remember-the-rhythm/remember-the-rhythm.plugin.in 2012-01-15 09:54:25 +0000 | |||
563 | @@ -0,0 +1,9 @@ | |||
564 | 1 | [Plugin] | ||
565 | 2 | Loader=python | ||
566 | 3 | Module=remember-the-rhythm | ||
567 | 4 | IAge=1 | ||
568 | 5 | Name=Remember the Rhythm | ||
569 | 6 | Description=Remembers last playing song + playback time and resumes on next start | ||
570 | 7 | Authors=Owais Lone <hello@owaislone.org> | ||
571 | 8 | Copyright=Copyright © 2011 Owais Lone | ||
572 | 9 | Website=https://github.com/owais/remember-the-rhythm | ||
573 | 0 | 10 | ||
574 | === added file 'plugins/remember-the-rhythm/remember-the-rhythm.py' | |||
575 | --- plugins/remember-the-rhythm/remember-the-rhythm.py 1970-01-01 00:00:00 +0000 | |||
576 | +++ plugins/remember-the-rhythm/remember-the-rhythm.py 2012-01-15 09:54:25 +0000 | |||
577 | @@ -0,0 +1,123 @@ | |||
578 | 1 | #!/usr/bin/env python | ||
579 | 2 | # -*- coding: utf-8 -*- | ||
580 | 3 | |||
581 | 4 | from gi.repository import GObject | ||
582 | 5 | from gi.repository import Peas | ||
583 | 6 | from gi.repository import RB | ||
584 | 7 | from gi.repository import Gio | ||
585 | 8 | from gi.repository.GLib import Variant | ||
586 | 9 | |||
587 | 10 | |||
588 | 11 | GSETTINGS_KEY = "org.gnome.rhythmbox.plugins.remember-the-rhythm" | ||
589 | 12 | KEY_PLAYBACK_TIME = 'playback-time' | ||
590 | 13 | KEY_LOCATION = 'last-entry-location' | ||
591 | 14 | KEY_PLAYLIST = 'playlist' | ||
592 | 15 | KEY_BROWSER_VALUES = 'browser-values' | ||
593 | 16 | |||
594 | 17 | |||
595 | 18 | class RememberTheRhythm(GObject.Object, Peas.Activatable): | ||
596 | 19 | |||
597 | 20 | __gtype_name = 'RememberTheRhythm' | ||
598 | 21 | object = GObject.property(type=GObject.Object) | ||
599 | 22 | |||
600 | 23 | first_run = False | ||
601 | 24 | |||
602 | 25 | def __init__(self): | ||
603 | 26 | GObject.Object.__init__(self) | ||
604 | 27 | self.settings = Gio.Settings.new(GSETTINGS_KEY) | ||
605 | 28 | self.location = self.settings.get_string(KEY_LOCATION) | ||
606 | 29 | self.playlist = self.settings.get_string(KEY_PLAYLIST) | ||
607 | 30 | self.playback_time = self.settings.get_uint(KEY_PLAYBACK_TIME) | ||
608 | 31 | self.browser_values_list = self.settings.get_value(KEY_BROWSER_VALUES) | ||
609 | 32 | self.source = None | ||
610 | 33 | |||
611 | 34 | def do_activate(self): | ||
612 | 35 | self.shell = self.object | ||
613 | 36 | self.library = self.shell.props.library_source | ||
614 | 37 | self.shell_player = self.shell.props.shell_player | ||
615 | 38 | self.playlist_manager = self.shell.props.playlist_manager | ||
616 | 39 | self.db = self.shell.props.db | ||
617 | 40 | self.backend_player = self.shell_player.props.player | ||
618 | 41 | self.shell_player.connect('playing-changed', self.playing_changed) | ||
619 | 42 | self.shell_player.connect('playing-source-changed', self.playing_source_changed) | ||
620 | 43 | self.shell.props.db.connect('load-complete', self.load_complete) | ||
621 | 44 | self.shell_player.connect('elapsed-changed', self.elapsed_changed) | ||
622 | 45 | |||
623 | 46 | def do_deactivate(self): | ||
624 | 47 | self.save_rhythm() | ||
625 | 48 | |||
626 | 49 | def load_complete(self, *args, **kwargs): | ||
627 | 50 | if self.location: | ||
628 | 51 | entry = self.db.entry_lookup_by_location(self.location) | ||
629 | 52 | if self.playlist: | ||
630 | 53 | playlists = self.playlist_manager.get_playlists() | ||
631 | 54 | for playlist in playlists: | ||
632 | 55 | if playlist.props.name == self.playlist: | ||
633 | 56 | self.source = playlist | ||
634 | 57 | break | ||
635 | 58 | if not self.source: | ||
636 | 59 | self.source = self.shell.guess_source_for_uri(self.location) | ||
637 | 60 | self.shell_player.set_playing_source(self.source) | ||
638 | 61 | self.shell_player.set_selected_source(self.source) | ||
639 | 62 | self.shell_player.play_entry(entry, self.source) | ||
640 | 63 | self.first_run = True | ||
641 | 64 | |||
642 | 65 | def playing_source_changed(self, player, source, data=None): | ||
643 | 66 | if source: | ||
644 | 67 | self.source = source | ||
645 | 68 | if self.source in self.playlist_manager.get_playlists(): | ||
646 | 69 | self.settings.set_string('playlist', self.source.props.name) | ||
647 | 70 | else: | ||
648 | 71 | self.settings.set_string('playlist', '') | ||
649 | 72 | |||
650 | 73 | def playing_changed(self, player, playing, data=None): | ||
651 | 74 | if self.first_run: | ||
652 | 75 | self.first_run = False | ||
653 | 76 | try: | ||
654 | 77 | self.shell_player.set_playing_time(self.playback_time) | ||
655 | 78 | except: | ||
656 | 79 | pass | ||
657 | 80 | GObject.idle_add(self.init_source) | ||
658 | 81 | return | ||
659 | 82 | |||
660 | 83 | try: | ||
661 | 84 | entry = self.shell_player.get_playing_entry() | ||
662 | 85 | self.location = entry.get_string(RB.RhythmDBPropType.LOCATION) | ||
663 | 86 | GObject.idle_add(self.save_rhythm, 0) | ||
664 | 87 | except: | ||
665 | 88 | return | ||
666 | 89 | |||
667 | 90 | |||
668 | 91 | def elapsed_changed(self, player, entry, data=None): | ||
669 | 92 | try: | ||
670 | 93 | self.playback_time = self.shell_player.get_playing_time()[1] | ||
671 | 94 | except: | ||
672 | 95 | pass | ||
673 | 96 | |||
674 | 97 | def get_source_data(self): | ||
675 | 98 | if self.source: | ||
676 | 99 | views = self.source.get_property_views() | ||
677 | 100 | browser_values_list = [] | ||
678 | 101 | for view in views: | ||
679 | 102 | browser_values_list.append(view.get_selection()) | ||
680 | 103 | self.browser_values_list = Variant('aas', browser_values_list) | ||
681 | 104 | self.settings.set_value(KEY_BROWSER_VALUES, self.browser_values_list) | ||
682 | 105 | |||
683 | 106 | def init_source(self): | ||
684 | 107 | if self.source: | ||
685 | 108 | views = self.source.get_property_views() | ||
686 | 109 | for i, view in enumerate(views): | ||
687 | 110 | value = self.browser_values_list[i] | ||
688 | 111 | if value: | ||
689 | 112 | view.set_selection(value) | ||
690 | 113 | self.shell.props.display_page_tree.select(self.source) | ||
691 | 114 | self.shell_player.jump_to_current() | ||
692 | 115 | |||
693 | 116 | def save_rhythm(self, pb_time=None): | ||
694 | 117 | if self.location: | ||
695 | 118 | pb_time = pb_time == None and self.playback_time or pb_time | ||
696 | 119 | self.settings.set_uint(KEY_PLAYBACK_TIME, pb_time) | ||
697 | 120 | self.settings.set_string(KEY_LOCATION, self.location) | ||
698 | 121 | GObject.idle_add(self.get_source_data) | ||
699 | 122 | |||
700 | 123 |
LP Project: https:/ /launchpad. net/remember- the-rhythm