Refactor: Separate classes for each item type.
[profile/ivi/rygel.git] / ChangeLog
1 2008-11-11  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
2
3         * src/media-providers/tracker/Makefile.am:
4         * src/media-providers/tracker/rygel-tracker-container.vala:
5         * src/media-providers/tracker/rygel-tracker-image-item.vala:
6         * src/media-providers/tracker/rygel-tracker-music-item.vala:
7         * src/media-providers/tracker/rygel-tracker-video-item.vala:
8
9         Refactor: Separate classes for each item type. These tracker-specific
10         item classes are responsible for fetching their metadata and serializing
11         it.
12
13 2008-11-11  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
14
15         * src/media-providers/tracker/rygel-tracker-container.vala:
16
17         Declare private fields as private.
18
19 2008-11-11  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
20
21         * src/media-providers/tracker/rygel-media-tracker.vala:
22         * src/media-providers/tracker/rygel-tracker-container.vala:
23
24         Refactor: Add TrackerContainer.get_file_category(). Now MediaTracker
25         doesn't talk to tracker directly.
26
27 2008-11-11  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
28
29         * data/xml/ConnectionManager.xml:
30         * data/xml/ContentDirectory.xml:
31         * data/xml/X_MS_MediaReceiverRegistrar1.xml:
32
33         More standard-compliant SCPDs. Based on a patch by Ross Burton
34         <ross@opennedhand.com>
35
36 2008-11-11  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
37
38         * src/media-providers/tracker/rygel-media-tracker.vala:
39
40         Create root container after it's children. This is to pass the correct
41         number of children to the constructor of the root container.
42
43 2008-11-10  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
44
45         * src/media-providers/tracker/rygel-media-tracker.vala:
46         * src/media-providers/tracker/rygel-tracker-container.vala:
47
48         Refactor: A more intelligent TrackerContainer. As a result, MediaTracker
49         class is now very slim.
50
51 2008-11-10  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
52
53         * AUTHORS:
54         * src/media-server/cstuff.c:
55         * src/media-server/cstuff.h:
56
57         Replace my non-working "@gstreamer.net" email with "@gnome.org" one.
58
59 2008-10-29  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
60
61         * src/media-server/rygel-media-manager.vala:
62         * src/media-server/rygel-metadata-extractor.vala:
63
64         File.query_info () doesn't return a weak anymore.
65
66 2008-10-26  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
67
68         * MAINTAINERS:
69
70         Add MAINTAINERS file.
71
72 2008-10-26  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
73
74         * README:
75         * configure.ac:
76         * data/xml/Makefile.am:
77         * data/xml/description-xbox360.xml:
78         * data/xml/description.xml:
79         * doc/design.txt:
80         * src/media-providers/tracker/Makefile.am:
81         * src/media-providers/tracker/gupnp-media-tracker.vala:
82         * src/media-providers/tracker/gupnp-tracker-container.vala:
83         * src/media-providers/tracker/gupnp-tracker-plugin.vala:
84         * src/media-providers/tracker/rygel-media-tracker.vala:
85         * src/media-providers/tracker/rygel-tracker-container.vala:
86         * src/media-providers/tracker/rygel-tracker-plugin.vala:
87         * src/media-server/Makefile.am:
88         * src/media-server/gupnp-connection-manager.vala:
89         * src/media-server/gupnp-content-directory.vala:
90         * src/media-server/gupnp-media-container.vala:
91         * src/media-server/gupnp-media-item.vala:
92         * src/media-server/gupnp-media-manager.vala:
93         * src/media-server/gupnp-media-object.vala:
94         * src/media-server/gupnp-media-provider.vala:
95         * src/media-server/gupnp-media-receiver-registrar.vala:
96         * src/media-server/gupnp-media-server.vala:
97         * src/media-server/gupnp-metadata-extractor.vala:
98         * src/media-server/rygel-connection-manager.vala:
99         * src/media-server/rygel-content-directory.vala:
100         * src/media-server/rygel-media-container.vala:
101         * src/media-server/rygel-media-item.vala:
102         * src/media-server/rygel-media-manager.vala:
103         * src/media-server/rygel-media-object.vala:
104         * src/media-server/rygel-media-provider.vala:
105         * src/media-server/rygel-media-receiver-registrar.vala:
106         * src/media-server/rygel-media-server.vala:
107         * src/media-server/rygel-metadata-extractor.vala:
108
109         Project renamed to "Rygel" to be moved to GNOME SVN.
110
111 2008-09-08  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
112
113         * src/media-providers/tracker/Makefile.am:
114         * src/media-providers/tracker/gupnp-media-tracker.vala:
115         * src/media-providers/tracker/gupnp-tracker-plugin.vala:
116
117         Refactor: Put plugin stuff into a separate module.
118
119 2008-09-08  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
120
121         * src/media-providers/tracker/Makefile.am:
122         * src/media-providers/tracker/gupnp-media-tracker.vala:
123         * src/media-providers/tracker/gupnp-tracker-container.vala:
124
125         Refactor: Put TrackerContainer class into a separate module.
126
127 2008-09-08  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>
128
129         * src/media-providers/tracker/gupnp-media-tracker.vala:
130
131         Rename Tracker.Container to GUPnP.TrackerContainer.
132
133 2008-08-31  Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
134
135         * src/media-providers/tracker/gupnp-media-tracker.vala:
136         * src/media-server/gupnp-media-manager.vala:
137
138         Create the root container in the contructor of the media providers.
139
140 2008-08-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
141
142         * src/media-providers/tracker/gupnp-media-tracker.vala:
143
144         Remove the redundant 'title' field from the Tracker.Container class.
145
146 2008-08-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
147
148         * src/media-server/gupnp-media-item.vala:
149
150         Introduce a class for media items.
151
152         * src/media-server/Makefile.am:
153
154         Add MediaItem to vapi file and build.
155
156         * src/media-providers/tracker/gupnp-media-tracker.vala:
157
158         Start utilizing the MediaContainer class in MediaTracker.
159
160 2008-08-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
161
162         * src/media-server/gupnp-media-object.vala:
163
164         Introduce a new abstract class for media objects. It will be the
165         responsibility of derived classes to implement serializing to
166         DIDLLiteWriter.
167
168         * src/media-server/gupnp-media-container.vala:
169
170         Introduce a class for media containers.
171
172         * src/media-server/Makefile.am:
173
174         Add MediaObject and MediaContainer to vapi file and build.
175
176         * src/media-providers/tracker/gupnp-media-tracker.vala:
177         * src/media-server/gupnp-media-manager.vala:
178
179         Start utilizing the MediaContainer class in media providers.
180
181 2008-08-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
182
183         * src/media-providers/tracker/gupnp-media-tracker.vala:
184
185         - Keep the parent_id of the container in the Tracker.Container class.
186         - Add the root_id prefix to container's id at object creation time.
187
188 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
189
190         * src/media-providers/tracker/gupnp-media-tracker.vala:
191         * src/media-server/gupnp-media-manager.vala:
192         * src/media-server/gupnp-media-provider.vala:
193
194         Remove MediaProvider.get_root_children_count() and allow each provider
195         to add metadata of it's root container to DIDL instead.
196
197 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
198
199         * src/media-server/gupnp-media-manager.vala:
200
201         Rename MediaManger's get_root_container_metadata() to
202         add_root_container_metadata().
203
204 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
205
206         * src/media-server/gupnp-content-directory.vala:
207
208         Put the code and message from exception caught on the action error.
209
210 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
211
212         * src/media-server/gupnp-media-provider.vala:
213
214         Assign a specific code (701) to "No such object" error.
215
216 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
217
218         * src/media-server/gupnp-media-manager.vala:
219
220         Rename MediaManager's browse_root_container() to add_root_children().
221
222 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
223
224         * src/media-providers/tracker/gupnp-media-tracker.vala:
225         * src/media-server/gupnp-content-directory.vala:
226         * src/media-server/gupnp-media-manager.vala:
227         * src/media-server/gupnp-media-provider.vala:
228
229         - Rename MediaProvider's get_metadata() to add_metadata().
230         - Rename MediaProvider's browse() to add_children_metadata().
231
232 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
233
234         * src/media-providers/tracker/gupnp-media-tracker.vala:
235         * src/media-server/gupnp-content-directory.vala:
236         * src/media-server/gupnp-media-manager.vala:
237         * src/media-server/gupnp-media-provider.vala:
238
239         MediaProviders now get a DIDLiteWriter to add metadata to and no longer
240         return didl strings.
241
242 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
243
244         * src/media-server/gupnp-media-manager.vala:
245
246         Remove an unneeded try&catch block.
247
248 2008-08-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
249
250         * src/media-server/Makefile.am:
251
252         MediaProvider class now requires gupnp-av package.
253
254 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
255
256         * src/media-providers/tracker/gupnp-media-tracker.vala:
257         * src/media-server/gupnp-content-directory.vala:
258         * src/media-server/gupnp-media-manager.vala:
259         * src/media-server/gupnp-media-provider.vala:
260
261         Use Exceptions rather than returning null.
262
263 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
264
265         * src/media-server/gupnp-media-server.vala:
266
267         Use real name of the user rather than username in FriendlyName.
268
269 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
270
271         * src/media-providers/tracker/gupnp-media-tracker.vala:
272         * src/media-server/gupnp-media-manager.vala:
273         * src/media-server/gupnp-media-provider.vala:
274
275         Make MediaProvider an abstract class rather than interface. We will have
276         to do this at some point anyway to put common functionality into this
277         module but the real reason to do this right now is that support for
278         constuct-only props in interfaces was recenlty dropped in Vala (for good
279         reasons).
280
281 2008-08-17  Zeeshan Ali Khattak  <zeenix@gmail.com>
282
283         * src/media-server/gupnp-media-provider.vala:
284
285         Put MediaProvider in GUPnP namespace.
286
287 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
288
289         * configure.ac:
290         * src/Makefile.am:
291         * src/cstuff.c:
292         * src/cstuff.h:
293         * src/cstuff.vapi:
294         * src/gupnp-connection-manager.vala:
295         * src/gupnp-content-directory.vala:
296         * src/gupnp-media-manager.vala:
297         * src/gupnp-media-provider.vala:
298         * src/gupnp-media-receiver-registrar.vala:
299         * src/gupnp-media-server.vala:
300         * src/gupnp-metadata-extractor.vala:
301         * src/media-providers/tracker/Makefile.am:
302         * src/media-server/Makefile.am:
303         * src/media-server/cstuff.c:
304         * src/media-server/cstuff.h:
305         * src/media-server/cstuff.vapi:
306         * src/media-server/gupnp-connection-manager.vala:
307         * src/media-server/gupnp-content-directory.vala:
308         * src/media-server/gupnp-media-manager.vala:
309         * src/media-server/gupnp-media-provider.vala:
310         * src/media-server/gupnp-media-receiver-registrar.vala:
311         * src/media-server/gupnp-media-server.vala:
312         * src/media-server/gupnp-metadata-extractor.vala:
313
314         Move the core Media Server code into a separate subdirectory.
315
316 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
317
318         * src/media-providers/Makefile.am:
319
320         Remove Makefile.in on 'make maintainer-clean'.
321
322 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
323
324         * src/gupnp-media-manager.vala:
325
326         - Better/recursive GIO-based plugin loading.
327         - Replace random ID generation function by a GQuark-based (persistant)
328           one.
329
330 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
331
332         * configure.ac:
333
334         Disable generation of static libraries.
335
336 2008-08-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
337
338         * configure.ac:
339         * src/Makefile.am:
340         * src/media-providers/Makefile.am:
341         * src/media-providers/tracker/Makefile.am:
342         * src/media-providers/tracker/gupnp-media-tracker.vala:
343
344         Re-introduce MediaTracker as a plugin.
345
346 2008-08-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
347
348         * src/Makefile.am:
349         * src/cstuff.vapi:
350         * src/gupnp-media-manager.vala:
351         * src/gupnp-media-tracker.vala:
352
353         - Introduce a plugins system. Ross should be happy now. :)
354         - Remove MediaTracker module.
355
356 2008-08-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
357
358         * src/gupnp-media-manager.vala:
359         * src/gupnp-media-provider.vala:
360         * src/gupnp-media-tracker.vala:
361
362         - Add "title" prop to MediaProvider interface.
363         - Add get_root_children_count() to MediaProvider interface.
364
365 2008-08-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
366
367         * src/gupnp-media-tracker.vala:
368
369         - Correct a typo. Now we export the ID of the container in the format we
370           need to export it in.
371         - No need for MediaManager to prefix IDs with root_id.
372         - Pass ID as is to browse() and get_metadata() of media providers.
373         - Get the root ID prefix from IDs rather than removing it.
374         - Don't add root ID prefix to root parent ID.
375
376 2008-08-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
377
378         * src/gupnp-content-directory.vala:
379         * src/gupnp-media-manager.vala:
380         * src/gupnp-media-provider.vala:
381         * src/gupnp-media-tracker.vala:
382
383         - MediaProviders now get the "root_parent_id" though a prop.
384         - MediaManager now decides the IDs to use on it's own.
385
386 2008-08-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
387
388         * src/gupnp-content-directory.vala:
389
390         Use MediaManager rather than MediaTracker. This also means that
391         system_update_id doesn't need to be handled by ContentDirectory
392         anymore.
393
394 2008-08-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
395
396         * src/Makefile.am:
397         * src/gupnp-media-manager.vala:
398
399         Introduce MediaManager. It implements MediaProvider interface and will
400         be responsible to manage all MediaProviders. Currently it uses
401         MediaTracker directly since it currently doesn't have a plugin system.
402
403 2008-07-31  Zeeshan Ali Khattak  <zeenix@gmail.com>
404
405         * src/gupnp-media-tracker.vala:
406
407         Each MediaProvider prefixes each objectid with "root-id:". This will
408         allow the ContentDirectory to redirect the Browse requests to the
409         appropriate MediaProvider in a simple/efficient way.
410
411 2008-07-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
412
413         * src/Makefile.am:
414         * src/gupnp-media-provider.vala:
415         * src/gupnp-media-tracker.vala:
416
417         Introduce MediaProvider interface that MediaTracker
418         implements.
419
420 2008-07-18  Zeeshan Ali Khattak  <zeenix@gmail.com>
421
422         * src/gupnp-connection-manager.vala:
423
424         No need to list all supported mimetypes in SourceProtocolInfo.
425
426 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
427
428         * src/Makefile.am:
429
430         - Fix a typo.
431         - Declared all built sources in BUILT_SOURCES.
432
433 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
434
435         * NEWS:
436
437         Prepare NEWS file for initial (0.1) release.
438
439 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
440
441         * TODO:
442         * doc/design.txt:
443
444         Update design doc and TODO files.
445
446 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
447
448         * src/gupnp-connection-manager.vala:
449
450         - Swap the sink and source ProtocolInfo.
451         - Use Vala's syntax for connecting signals with details.
452         - Remove the unused commented-out code.
453         - Initialize the variables in the constructor.
454         - Put my name/copyright in the header.
455
456 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
457
458         * data/xml/Makefile.am:
459         * data/xml/description.xml:
460         * src/gupnp-media-server.vala:
461
462         Enable the ConnectionManager service.
463
464 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
465
466         * src/Makefile.am:
467         * src/gupnp-connection-manager.vala:
468
469         Copy the ConnectionManager code from gupnp-media-renderer.
470
471 2008-07-04  Zeeshan Ali Khattak  <zeenix@gmail.com>
472
473         * README:
474
475         Put some description in README file.
476
477 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
478
479         * src/gupnp-content-directory.vala:
480
481         Return an error on getting invalid arguments for 'Browse'.
482
483 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
484
485         * src/gupnp-content-directory.vala:
486
487         Argument 'value' of query_variable signal should now be declared 'ref'.
488
489 2008-07-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
490
491         * src/gupnp-media-tracker.vala:
492
493         Provide the 'creator' tag in DIDL xml for all items. The same value is
494         provided in 'author' and 'artist' tags for music and video items
495         respectively.
496
497 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
498
499         * data/xml/ContentDirectory.xml:
500
501         Hide the optional "GetSortExtensionCapabilities" action as well.
502
503 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
504
505         * src/gupnp-content-directory.vala:
506
507         - Initialize "SystemUpdateID" variable and implement related query and
508           action.
509         - Implement "SearchCapabilities" and "SortCapabilities" related
510           queries and actions.
511         - Implement "FeatureList" related queries and actions.
512
513 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
514
515         * data/xml/ContentDirectory.xml:
516
517         - List the required actions/variable before the optional.
518         - Comment out the optional actions and variables.
519
520 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
521
522         * data/xml/Makefile.am:
523         * data/xml/description-xbox360.xml:
524         * data/xml/description.xml:
525
526         Disable the distribution and advertisement of the yet unimplemented
527         ConnectionManager service.
528
529 2008-07-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
530
531         * src/gupnp-media-tracker.vala:
532
533         A temporary hack to make Vala compiler free string in structs. We need
534         this untill GB#526552 is fixed.
535
536 2008-07-01  Zeeshan Ali Khattak  <zeenix@gmail.com>
537
538         * src/gupnp-media-tracker.vala:
539
540         - Refactor: separate functions for adding music, image and video items
541           to DIDL.
542         - Put the actual "album" in the DIDL when available.
543         - Put "dc:date" in the DIDL when available.
544         - No need to check for null on values returned from tracker.
545
546 2008-07-01  Zeeshan Ali Khattak  <zeenix@gmail.com>
547
548         * src/gupnp-media-tracker.vala:
549
550         - Include the author, creator or artist in the DIDL when available.
551         - Include "originalTrackNumber" in the DIDL for Music track objects.
552         - Indentation fix.
553
554 2008-06-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
555
556         * configure.ac:
557
558         Export the "abs_top_builddir" explicitly. Some installations need it.
559
560 2008-06-30  Zeeshan Ali Khattak  <zeenix@gmail.com>
561
562         * src/gupnp-media-tracker.vala:
563
564         - Include the title instead of filename in the DIDL when it's available.
565         - tracker gives us empty string rather than null for each unavailable
566           metadata.
567
568 2008-06-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
569
570         * src/gupnp-metadata-extractor.vala:
571
572         Put some more more comments and Refactor.
573
574 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
575
576         * src/gupnp-metadata-extractor.vala:
577
578         Extract the mime-type using GIO.
579
580 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
581
582         * configure.ac:
583         * src/Makefile.am:
584
585         Require gio-2.0 (>= 2.16) and include it in the build.
586
587 2008-06-27  Zeeshan Ali Khattak  <zeenix@gmail.com>
588
589         * src/gupnp-metadata-extractor.vala:
590
591         Implement extraction of audio and video specific metadata.
592
593 2008-06-26  Zeeshan Ali Khattak  <zeenix@gmail.com>
594
595         * src/gupnp-media-server.vala:
596
597         Correct the logic in MediaServer.set_friendly_name_and_udn (). The
598         values for UDN and FriendlyName were not set in the description doc if
599         not already present in the corresponding gconf keys.
600
601 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
602
603         * configure.ac:
604
605         Reduce the gstreamer dependency to 0.10.18.
606
607 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
608
609         * src/gupnp-metadata-extractor.vala:
610
611         - Use 'this' keyword wherever possible. This makes code much more
612           cleaner.
613         - Only react to PAUSED state-change if the previous state was READY.
614         - Refactor: A separate function for extraction of 'duration'.
615         - Gst.TagList.copy_value.value is 'out' rather than 'ref'.
616
617 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
618
619         * src/Makefile.am:
620         * src/gupnp-metadata-extractor.vala:
621
622         Add a gstreamer-based metadata extractor.
623
624 2008-06-25  Zeeshan Ali Khattak  <zeenix@gmail.com>
625
626         * configure.ac:
627         * src/Makefile.am:
628
629         Add dependency to gstreamer >= 0.10.19.
630
631 2008-06-24  Zeeshan Ali Khattak  <zeenix@gmail.com>
632
633         * src/gupnp-content-directory.vala:
634         * src/gupnp-media-receiver-registrar.vala:
635         * src/gupnp-media-server.vala:
636         * src/gupnp-media-tracker.vala:
637
638         Remove the now redundant 'using GLib' from all sources.
639
640 2008-06-24  Zeeshan Ali Khattak  <zeenix@gmail.com>
641
642         * src/gupnp-content-directory.vala:
643         * src/gupnp-media-receiver-registrar.vala:
644
645         Start using the new Vala syntax for connecting signals with details.
646
647 2008-06-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
648
649         * src/gupnp-media-tracker.vala:
650
651         A small fix to setisfy the latest Vala compiler.
652
653 2008-06-16  Zeeshan Ali Khattak  <zeenix@gmail.com>
654
655         * src/gupnp-media-tracker.vala:
656
657         Make all constants all CAPS.
658
659 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
660
661         * configure.ac:
662
663         Check for gupnp-media-server.vala file rather than now removed main.c
664         file.
665
666 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
667
668         * src/Makefile.am:
669
670         Add the vala stamp file to CLEANFILES.
671
672 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
673
674         * src/Makefile.am:
675         * src/gupnp-media-server.vala:
676         * src/main.c:
677
678         Re-write the main module in Vala. The main module's code now resides
679         in MediaServer class as static methods. This marks the completion of
680         re-write of code in Vala. Yay!
681
682 2008-06-15  Zeeshan Ali Khattak  <zeenix@gmail.com>
683
684         * src/Makefile.am:
685         * src/cstuff.c:
686         * src/cstuff.h:
687         * src/cstuff.vapi:
688
689         Put all low-level stuff into a separate module. This module will be
690         the only one kept in C and all the code that currently can't be
691         written (easily) in Vala, will go there.
692
693 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
694
695         * configure.ac:
696         * src/Makefile.am:
697
698         Check for gconf-2.0 Vala bindings and add it to the Vala compiler
699         flags.
700
701 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
702
703         * configure.ac:
704
705         Introduce a separate configure option for a strict C compiler.
706
707 2008-06-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
708
709         * src/Makefile.am:
710         * src/gupnp-media-server.c:
711         * src/gupnp-media-server.h:
712         * src/gupnp-media-server.vala:
713
714         Re-write the MediaServer class in Vala.
715
716 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
717
718         * src/gupnp-media-receiver-registrar.vala:
719
720         Add the copyright header.
721
722 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
723
724         * src/gupnp-media-tracker.vala:
725
726         - Use the nice and clean DBus API that Vala provides us.
727         - Enable the commented out code of get_container_children_count() now
728           that it's working against the latest Vala (svn trunk). MediaTracker
729           is fully functional again, yay!
730         - Correct a warning message (copy&paste mistake).
731
732 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
733
734         * src/gupnp-media-tracker.vala:
735
736         Correct the types of two parameters of MediaTracker.browse().
737
738 2008-06-12  Zeeshan Ali Khattak  <zeenix@gmail.com>
739
740         * src/Makefile.am:
741         * src/gupnp-content-directory.c:
742         * src/gupnp-content-directory.h:
743         * src/gupnp-content-directory.vala:
744
745         Re-write ContentDirectory implementation in Vala.
746
747 2008-06-11  Zeeshan Ali Khattak  <zeenix@gmail.com>
748
749         * configure.ac:
750
751         Require Vala >= 0.3.4.
752
753 2008-06-11  Zeeshan Ali Khattak  <zeenix@gmail.com>
754
755         * configure.ac:
756         * src/Makefile.am:
757         * src/gupnp-content-directory.c:
758         * src/gupnp-media-tracker.c:
759         * src/gupnp-media-tracker.h:
760         * src/gupnp-media-tracker.vala:
761
762         Re-write MediaTracker in Vala. Doesn't really work. Thanks to
763         dbus-glib bindings for Vala and tracker API.
764
765 2008-06-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
766
767         * src/Makefile.am:
768         * src/gupnp-media-receiver-registrar.c:
769         * src/gupnp-media-receiver-registrar.h:
770         * src/gupnp-media-receiver-registrar.vala:
771
772         Re-write X_MS_MediaReceiverRegistrar implementation in Vala.
773
774 2008-06-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
775
776         * configure.ac:
777
778         Check for Vala and GUPnP bindings.
779
780 2008-05-14  Zeeshan Ali Khattak  <zeenix@gmail.com>
781
782         * src/Makefile.am:
783         * src/gupnp-content-directory.c:
784         * src/gupnp-content-directory.h:
785         * src/gupnp-media-receiver-registrar.c:
786         * src/gupnp-media-receiver-registrar.h:
787         * src/gupnp-media-server.c:
788
789         Put the services implementations into separate objects.
790
791 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
792
793         * src/gupnp-media-tracker.c:
794
795         - Report the correct UPnP class of the items.
796         - Xbox wants Images container to have ID of '16'.
797         - Provide 'res@resultion' in DIDL XML for audio and video items.
798
799 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
800
801         * src/gupnp-media-tracker.c:
802
803         Quick security fix: only host the user's home dir. This should be OK
804         with most tracker setups since by default tracker only indexes user's
805         home dir.
806
807 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
808
809         * src/gupnp-media-tracker.c:
810
811         - Introduce a structure to hold container info: ID, title and
812           associated tracker category.
813         - Don't escape '/' in the path before putting it in HTTP URI.
814
815 2008-05-08  Zeeshan Ali Khattak  <zeenix@gmail.com>
816
817         * src/gupnp-media-server.c:
818
819         Xbox 360 uses 'ContainerID' instead of 'ObjectID' for cotainers.
820
821 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
822
823         * data/xml/Makefile.am:
824
825         Add the newly added xbox 360 specific xml files to build.
826
827 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
828
829         * data/xml/description-xbox360.xml:
830         * src/main.c:
831
832         Use a separate description document for Xbox 360 to keep the code
833         simple.
834
835 2008-05-07  Zeeshan Ali Khattak  <zeenix@gmail.com>
836
837         * src/gupnp-media-server.c:
838
839         Retrieve the services in version agnostic way.
840
841 2008-05-06  Zeeshan Ali Khattak  <zeenix@gmail.com>
842
843         * data/xml/X_MS_MediaReceiverRegistrar1.xml:
844         * data/xml/description.xml:
845         * src/gupnp-media-server.c:
846         * src/main.c:
847
848         Add basic support for Xbox.
849
850 2008-05-05  Zeeshan Ali Khattak  <zeenix@gmail.com>
851
852         * data/xml/description.xml:
853
854         Steal some more DLNA bits from rhythmbox GUPnP plugin.
855
856 2008-05-03  Zeeshan Ali Khattak  <zeenix@gmail.com>
857
858         * src/gupnp-media-tracker.c:
859
860         Adapt to latest didl writer API. We put a fake 'MP3' for all items in
861         the DLNA's PN field for each item. This should fix the playback of mp3
862         contents on DLNA-compliant MRs and CPs without breaking the playback of
863         non-mp3 contents on non-DLNA compliant MRs/CPs.
864
865 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
866
867         * src/gupnp-media-tracker.c:
868
869         In Browse() implementation,
870         - respect 'StartingIndex' and 'RequestedCount' params.
871         - Never return more than 128 items in a single reply.
872
873 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
874
875         * src/gupnp-media-tracker.c:
876
877         - Use tracker to get the number of items in a category.
878         - offset param to Files.GetByServiceType method is zero-based.
879
880 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
881
882         * src/gupnp-media-tracker.c:
883
884         - Host the root directory rather than user's home directory since the
885           tracker URI's are absolute file paths and it could be tracking other
886           directories as well.
887         - Escape the path before making a URI from it.
888         - Remove an unneeded param from a function.
889
890 2008-05-02  Zeeshan Ali Khattak  <zeenix@gmail.com>
891
892         * src/gupnp-media-tracker.c:
893
894         Start using tracker for fetching the list of media files.
895
896 2008-04-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
897
898         * src/gupnp-media-tracker.c:
899
900         Fix a small typo.
901
902 2008-04-29  Zeeshan Ali Khattak  <zeenix@gmail.com>
903
904         * configure.ac:
905         * src/Makefile.am:
906         * src/gupnp-media-tracker.c:
907
908         Start using tracker for fetching the metadata.
909
910 2008-04-28  Zeeshan Ali Khattak  <zeenix@gmail.com>
911
912         * src/Makefile.am:
913         * src/gupnp-media-server.c:
914         * src/gupnp-media-tracker.c:
915         * src/gupnp-media-tracker.h:
916
917         Add skeleton for tracker-based media provider.
918
919 2008-04-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
920
921         * TODO:
922         * doc/design.txt:
923
924         Remove first goal from TODO and update the design/plan.
925
926 2008-04-23  Zeeshan Ali Khattak  <zeenix@gmail.com>
927
928         * src/main.c:
929
930         - Fetch the UDN and friendlyname from gconf and set them to default
931           values if gconf keys aren't already set.
932         - No need to load the modified description document anymore.
933
934 2008-04-22  Zeeshan Ali Khattak  <zeenix@gmail.com>
935
936         * src/main.c:
937
938         Let the context choose the hostname/IP and port for us if not
939         specified in gconf.
940
941 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
942
943         * src/gupnp-media-server.c:
944
945         - Implement 'BrowseMetadata'.
946         - Mime-type of mp3 files should be 'audio/mpeg' rather than
947         'audio/mp3'.
948         - Host user's home directory as '/media' and update paths accordingly.
949
950 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
951
952         * configure.ac:
953         * data/Makefile.am:
954         * data/xml/Makefile.am:
955         * src/Makefile.am:
956
957         Update/fix the build system for our dummy MS.
958
959 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
960
961         * src/gupnp-media-server.c:
962         * src/gupnp-media-server.h:
963         * src/main.c:
964
965         Implement a dummy MS.
966
967 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
968
969         * src/gupnp-media-server.c:
970         * src/gupnp-media-server.h:
971
972         Update the copyright/licence header.
973
974 2008-04-21  Zeeshan Ali Khattak  <zeenix@gmail.com>
975
976         * data/xml/ConnectionManager.xml:
977         * data/xml/ContentDirectory.xml:
978         * data/xml/description.xml:
979
980         - Advertise version 2 of MS and AV services.
981         - Some minor updates.
982
983 2008-04-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
984
985         * doc/design.txt:
986
987         Simpler design:
988         - Rename MediaDb to MediaProvider.
989         - Replace MediaDbGroup and MediaDbPlugin by a single MediaDb.
990
991         * TODO:
992
993         Add TODO file and put the general plan in there.
994
995 2008-04-13  Zeeshan Ali Khattak  <zeenix@gmail.com>
996
997         * doc/design.txt:
998
999         Add some more objects and description to design doc.
1000