~ubuntu-branches/ubuntu/jaunty/gnome-do-plugins/jaunty-proposed

« back to all changes in this revision

Viewing changes to Rhythmbox/src/PlayItemAction.cs

  • Committer: Bazaar Package Importer
  • Author(s): Iain Lane, Daniel T Chen, Iain Lane
  • Date: 2009-03-18 00:40:51 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20090318004051-ujn1ja3kiu3ky7ru
Tags: 0.8.1.3+dfsg-0ubuntu1
[ Daniel T Chen ]
* New upstream release (LP: #344578)
  + Banshee plugin goes crazy if banshee isn't loaded first
    (LP: #289802)
  + gnome-do gCalculate plugin fails to display "times" symbol
    (LP: #274252)
  + Banshee-1 fails to build in Mono 2.0 (LP: #309188)
  + Pidgin 2.5.4 has incompatible dbus interface. s/uint/int/
    (LP: #314927)
  + Pidgin plugin hangs opening a chat if pidgin is unresponsive
    (LP: #315565)
  + twitter plugin still reports friend updates even when
    deactivated (LP: #317674)
  + Misspelling in microblogging plugin confirmation message
    (LP: #319433)
  + make install uses mdtool, but configure doesn't check for it
    (LP: #322951)
  + Virtualbox Icon in 2.10 are broken because of a new
    specification (LP: #323902)
  + Google Maps Plugin shouldn't always use route (LP: #324271)
  + Fix for Google Maps when using newlines and other special
    characters (LP: #324667)
  + VirtualBox failed to load icon (LP: #325712)
  + 'Read Man Pages' plugin makes Gnome-Do unresponsive
    (LP: #325935)
  + Search returns broken URLs (LP: #327855)
  + Default action for SSH hosts is "open" (LP: #328236)
  + Files and Folders Configuration doesn't use standard buttons
    (LP: #328236)
  + Window manager maximize action should focus if window is not
    currently focused (LP: #258893)
  + Locate plugin has no error message (LP: #262360)
  + Wishlist: Let user specify files and folders to ignore
    (LP: #263177)
  + ts-client plugin doesn't index subdirectories (LP: #322352)
  + Max 3000 items in Files and Folders plugin (LP: #324105)
  + putty cannot find host when running from gnome do
    (LP: #324282)
  + locate plugin with globbing (LP: #334798)
  + Twitter plugin encountered an error in UpdateFriends
    (LP: #317575)
  + gnome-terminal profiles no longer work (LP: #321977)
  + Creating a task using Remember the Milk plugin can fail if
    no task list is specified (LP: #324066)
  + bundled libraries makefile needs destdir (LP: #324704)
  + Typographical error in del.icio.us plugin (LP: #330525)
  + ImageShack fails to upload (LP: #337324)
* debian/copyright
  + Refresh for new upstream version; new plugins added.
* debian/patches/00_dfsg_autofoo.dpatch
  + Update for new upstream version
  + Don't build the YouTube plugin due to removal of shipped
    exes and dlls causing FTBFS
* debian/patches/02_ssh_respect_exec_arg.dpatch
  debian/patches/03_buildsystem_respect_mcs.dpatch
  debian/patches/04_fix_pidgin_dbus_ints.dpatch
  + Drop; fixed upstream

[ Iain Lane ]
* debian/rules: Update repackaging to not delete *.dll; upstream now ships
  source copies of google-gdata meaning we can now enable the Google and
  Youtube plugins.
* debian/patches/00_dfsg_autofoo: Drop, fixed by including and building
  these libs now. 
* debian/copyright: Update with information for google-gdata. 
* debian/patches/04_fix_pidgin_dbus_ints.dpatch: Add left out piece of patch
* debian/control: Bump gnome-do build-dep to require current version. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//  RhythmboxPlayItemAction.cs
 
2
//
 
3
//  GNOME Do is the legal property of its developers, whose names are too numerous
 
4
//  to list here.  Please refer to the COPYRIGHT file distributed with this
 
5
//  source distribution.
 
6
//
 
7
//  This program is free software: you can redistribute it and/or modify
 
8
//  it under the terms of the GNU General Public License as published by
 
9
//  the Free Software Foundation, either version 3 of the License, or
 
10
//  (at your option) any later version.
 
11
//
 
12
//  This program is distributed in the hope that it will be useful,
 
13
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
//  GNU General Public License for more details.
 
16
//
 
17
//  You should have received a copy of the GNU General Public License
 
18
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
19
 
 
20
using System;
 
21
using System.Linq;
 
22
using System.Threading;
 
23
using System.Diagnostics;
 
24
using System.Collections.Generic;
 
25
 
 
26
using Mono.Unix;
 
27
 
 
28
using Do.Universe;
 
29
 
 
30
namespace Do.Rhythmbox
 
31
{
 
32
 
 
33
        public class PlayItemAction : Act
 
34
        {
 
35
 
 
36
                public PlayItemAction ()
 
37
                {
 
38
                }
 
39
 
 
40
                public override string Name {
 
41
                        get { return Catalog.GetString ("Play"); }
 
42
                }
 
43
 
 
44
                public override string Description {
 
45
                        get { return Catalog.GetString ("Play an item in Rhythmbox."); }
 
46
                }
 
47
 
 
48
                public override string Icon {
 
49
                        get { return "rhythmbox"; }
 
50
                }
 
51
 
 
52
                public override IEnumerable<Type> SupportedItemTypes {
 
53
                        get { 
 
54
                                yield return typeof (MusicItem);
 
55
                        }
 
56
                }
 
57
 
 
58
                public override IEnumerable<Item> Perform (IEnumerable<Item> items, IEnumerable<Item> modifierItems)
 
59
                {
 
60
                        new Thread ((ThreadStart) delegate {
 
61
                                Rhythmbox.StartIfNeccessary ();
 
62
 
 
63
                                Rhythmbox.Client ("--pause --no-present");
 
64
                                Rhythmbox.Client ("--clear-queue --no-present", true);
 
65
                                foreach (Item item in items) {
 
66
                                        if (item is MusicItem) {
 
67
                                                string enqueue = "--no-present ";
 
68
                                                foreach (SongMusicItem song in Rhythmbox.LoadSongsFor (item as MusicItem))
 
69
                                                        enqueue = string.Format ("{0} --enqueue \"{1}\" ", enqueue, song.File);
 
70
                                                Rhythmbox.Client (enqueue, true);
 
71
                                        }
 
72
                                }
 
73
                                Rhythmbox.Client ("--next --no-present");
 
74
                                Rhythmbox.Client ("--play --no-present");
 
75
                        }).Start ();
 
76
                        return null;
 
77
                }
 
78
        }
 
79
}