banshee r3479 - in trunk/banshee: . build src/Clients/Nereid/Nereid src/Core/Banshee.Services src/Core/Banshee.Services/Banshee.Library src/Core/Banshee.Services/Banshee.ServiceStack src/Extensions src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio src/Extensions/Banshee.NowPlaying src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue src/Extensions/Banshee.PlayQueue/Resources src/Libraries/Hyena.Gui
- From: abock svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3479 - in trunk/banshee: . build src/Clients/Nereid/Nereid src/Core/Banshee.Services src/Core/Banshee.Services/Banshee.Library src/Core/Banshee.Services/Banshee.ServiceStack src/Extensions src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio src/Extensions/Banshee.NowPlaying src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue src/Extensions/Banshee.PlayQueue/Resources src/Libraries/Hyena.Gui
- Date: Tue, 18 Mar 2008 21:52:08 +0000 (GMT)
Author: abock
Date: Tue Mar 18 21:52:07 2008
New Revision: 3479
URL: http://svn.gnome.org/viewvc/banshee?rev=3479&view=rev
Log:
2008-03-18 Aaron Bockover <abock gnome org>
* src/Clients/Nereid/Nereid/PlayerInterface.cs: Hide the view container
when the source doesn't support custom contents or has a track model
* src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs:
* src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs:
* src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
Fix up the source ordering to allow for some play
* src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
Changed the argument to have MA spew its guts to --debug-addins
* src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
Changed to reflect the Nereid source contents properties and hide the
source contents header since it's pointless for Last.fm
* src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
* src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
Stubbed out the basics for the new 'Now Playing' source that will be used
to display video, visualizations, and other data related to the currently
playing track
* src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
Basic placeholder GdkWindow to be used to render video
Added:
trunk/banshee/src/Extensions/Banshee.NowPlaying/ (props changed)
trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/
trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml
trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.mdp
trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs
trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs
trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs
trunk/banshee/src/Extensions/Banshee.NowPlaying/Makefile.am
Modified:
trunk/banshee/ChangeLog
trunk/banshee/build/build.environment.mk
trunk/banshee/configure.ac
trunk/banshee/src/Clients/Nereid/Nereid/PlayerInterface.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
trunk/banshee/src/Core/Banshee.Services/Makefile.am
trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs
trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml
trunk/banshee/src/Extensions/Extensions.mds
trunk/banshee/src/Extensions/Makefile.am
trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp
Modified: trunk/banshee/build/build.environment.mk
==============================================================================
--- trunk/banshee/build/build.environment.mk (original)
+++ trunk/banshee/build/build.environment.mk Tue Mar 18 21:52:07 2008
@@ -123,7 +123,7 @@
REF_EXTENSION_NOTIFICATIONAREA = $(LINK_BANSHEE_THICKCLIENT_DEPS)
REF_EXTENSION_PLAYQUEUE = $(LINK_BANSHEE_THICKCLIENT_DEPS)
REF_EXTENSION_LASTFM = $(LINK_BANSHEE_THICKCLIENT_DEPS) $(LINK_MONO_MEDIA) $(LINK_LASTFM) $(LINK_LASTFM_GUI)
-REF_EXTENSION_SKINS = $(LINK_BANSHEE_THICKCLIENT_DEPS)
+REF_EXTENSION_NOWPLAYING = $(LINK_BANSHEE_THICKCLIENT_DEPS)
# Build rules
# Ignoring 0278 due to a bug in gmcs:
Modified: trunk/banshee/configure.ac
==============================================================================
--- trunk/banshee/configure.ac (original)
+++ trunk/banshee/configure.ac Tue Mar 18 21:52:07 2008
@@ -153,6 +153,7 @@
src/Extensions/Banshee.Lastfm/Makefile
src/Extensions/Banshee.MultimediaKeys/Makefile
src/Extensions/Banshee.NotificationArea/Makefile
+src/Extensions/Banshee.NowPlaying/Makefile
src/Extensions/Banshee.PlayQueue/Makefile
])
Modified: trunk/banshee/src/Clients/Nereid/Nereid/PlayerInterface.cs
==============================================================================
--- trunk/banshee/src/Clients/Nereid/Nereid/PlayerInterface.cs (original)
+++ trunk/banshee/src/Clients/Nereid/Nereid/PlayerInterface.cs Tue Mar 18 21:52:07 2008
@@ -297,9 +297,10 @@
}
// Connect the source models to the views if possible
- if (source.Properties.Contains ("NereidSourceContents")) {
- view_container.Content = source.Properties.Get<ISourceContents> ("NereidSourceContents");
+ if (source.Properties.Contains ("Nereid.SourceContents")) {
+ view_container.Content = source.Properties.Get<ISourceContents> ("Nereid.SourceContents");
view_container.Content.SetSource (source);
+ view_container.Show ();
} else if (source is ITrackModelSource) {
if (composite_view.TrackModel != null) {
composite_view.TrackModel.Reloaded -= HandleTrackModelReloaded;
@@ -307,6 +308,7 @@
composite_view.SetSource (source);
composite_view.TrackModel.Reloaded += HandleTrackModelReloaded;
view_container.Content = composite_view;
+ view_container.Show ();
} else if (source is Hyena.Data.IObjectListModel) {
if (object_view == null) {
object_view = new ObjectListSourceContents ();
@@ -314,8 +316,14 @@
view_container.Content = object_view;
view_container.Content.SetSource (source);
+ view_container.Show ();
+ } else {
+ view_container.Hide ();
}
+ view_container.Header.Visible = source.Properties.Contains ("Nereid.SourceContents.HeaderVisible") ?
+ source.Properties.Get<bool> ("Nereid.SourceContents.HeaderVisible") : true;
+
UpdateStatusBar ();
view_container.SearchEntry.Ready = true;
}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs Tue Mar 18 21:52:07 2008
@@ -34,7 +34,7 @@
{
public class MusicLibrarySource : LibrarySource
{
- public MusicLibrarySource () : base (Catalog.GetString ("Music Library"), "Library", 1)
+ public MusicLibrarySource () : base (Catalog.GetString ("Music Library"), "Library", 20)
{
Properties.SetStringList ("Icon.Name", "audio-x-generic", "source-library");
}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs Tue Mar 18 21:52:07 2008
@@ -34,7 +34,7 @@
{
public class VideoLibrarySource : LibrarySource
{
- public VideoLibrarySource () : base (Catalog.GetString ("Video Library"), "VideoLibrary", 2)
+ public VideoLibrarySource () : base (Catalog.GetString ("Video Library"), "VideoLibrary", 30)
{
Properties.SetStringList ("Icon.Name", "video-x-generic", "video", "source-library");
}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs Tue Mar 18 21:52:07 2008
@@ -74,7 +74,7 @@
AddinManager.Initialize (ApplicationContext.CommandLine.Contains ("uninstalled")
? "." : Paths.ApplicationData);
- IProgressStatus monitor = ApplicationContext.CommandLine.Contains ("mono-addins-progress")
+ IProgressStatus monitor = ApplicationContext.CommandLine.Contains ("debug-addins")
? new ConsoleProgressStatus (true)
: null;
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp Tue Mar 18 21:52:07 2008
@@ -129,6 +129,8 @@
<File name="Banshee.Collection.Database/DatabaseAlbumInfo.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Sources/SourceMessage.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Sources/MessageAction.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Library/MusicLibrarySource.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Library/VideoLibrarySource.cs" subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Modified: trunk/banshee/src/Core/Banshee.Services/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Makefile.am (original)
+++ trunk/banshee/src/Core/Banshee.Services/Makefile.am Tue Mar 18 21:52:07 2008
@@ -41,8 +41,8 @@
Banshee.Library/LibraryImportManager.cs \
Banshee.Library/LibrarySource.cs \
Banshee.Library/MusicLibrarySource.cs \
- Banshee.Library/VideoLibrarySource.cs \
Banshee.Library/ThreadPoolImportSource.cs \
+ Banshee.Library/VideoLibrarySource.cs \
Banshee.MediaEngine/IEqualizer.cs \
Banshee.MediaEngine/IPlayerEngineService.cs \
Banshee.MediaEngine/NullPlayerEngine.cs \
Modified: trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs (original)
+++ trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs Tue Mar 18 21:52:07 2008
@@ -100,7 +100,8 @@
Properties.SetString ("SourcePropertiesActionLabel", Catalog.GetString ("Edit Last.fm Settings"));
// FIXME this is temporary until we split the GUI part from the non-GUI part
- Properties.Set<ISourceContents> ("NereidSourceContents", new LastfmSourceContents ());
+ Properties.Set<ISourceContents> ("Nereid.SourceContents", new LastfmSourceContents ());
+ Properties.Set<bool> ("Nereid.SourceContents.HeaderVisible", false);
actions = new LastfmActions (this);
Added: trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml Tue Mar 18 21:52:07 2008
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Addin
+ id="Banshee.NowPlaying"
+ version="1.0"
+ compatVersion="1.0"
+ copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+ name="Now Playing"
+ category="Sources"
+ description="Adds a source that displays video and visualizations, along with other aggregated data about the currently playing track."
+ author="Aaron Bockover"
+ url="http://banshee-project.org/"
+ defaultEnabled="true">
+
+ <Dependencies>
+ <Addin id="Banshee.Services" version="1.0"/>
+ <Addin id="Banshee.ThickClient" version="1.0"/>
+ </Dependencies>
+
+ <Extension path="/Banshee/SourceManager/Source">
+ <Source class="Banshee.NowPlaying.NowPlayingSource"/>
+ </Extension>
+
+</Addin>
Added: trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.mdp
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.mdp Tue Mar 18 21:52:07 2008
@@ -0,0 +1,38 @@
+<Project name="Banshee.NowPlaying" fileversion="2.0" language="C#" clr-version="Net_2_0" ctype="DotNetProject">
+ <Configurations active="Debug">
+ <Configuration name="Debug" ctype="DotNetProjectConfiguration">
+ <Output directory="../../../bin" assemblyKeyFile="." assembly="Banshee.NowPlaying" />
+ <Build debugmode="True" target="Library" />
+ <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
+ <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
+ </Configuration>
+ </Configurations>
+ <Contents>
+ <File name="Banshee.NowPlaying.addin.xml" subtype="Code" buildaction="EmbedAsResource" />
+ <File name="Banshee.NowPlaying" subtype="Directory" buildaction="Compile" />
+ <File name="Banshee.NowPlaying/NowPlayingSource.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.NowPlaying/NowPlayingInterface.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.NowPlaying/VideoDisplay.cs" subtype="Code" buildaction="Compile" />
+ </Contents>
+ <References>
+ <ProjectReference type="Project" localcopy="True" refto="Banshee.Core" />
+ <ProjectReference type="Project" localcopy="True" refto="Banshee.Services" />
+ <ProjectReference type="Project" localcopy="True" refto="Hyena" />
+ <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <ProjectReference type="Project" localcopy="True" refto="Hyena.Gui" />
+ <ProjectReference type="Project" localcopy="True" refto="Banshee.Widgets" />
+ <ProjectReference type="Project" localcopy="True" refto="Banshee.ThickClient" />
+ <ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+ <ProjectReference type="Gac" localcopy="True" refto="gdk-sharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ </References>
+ <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="./Makefile.am">
+ <BuildFilesVar Sync="True" Name="SOURCES" />
+ <DeployFilesVar />
+ <ResourcesVar Sync="True" Name="RESOURCES" />
+ <OthersVar />
+ <GacRefVar />
+ <AsmRefVar />
+ <ProjectRefVar />
+ </MonoDevelop.Autotools.MakefileInfo>
+</Project>
\ No newline at end of file
Added: trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs Tue Mar 18 21:52:07 2008
@@ -0,0 +1,77 @@
+//
+// NowPlayingInterface.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Mono.Unix;
+using Gtk;
+
+using Banshee.Sources;
+using Banshee.Gui;
+using Banshee.Sources.Gui;
+
+namespace Banshee.NowPlaying
+{
+ public class NowPlayingInterface : VBox, ISourceContents
+ {
+ private NowPlayingSource source;
+ private VideoDisplay video_display;
+
+ public NowPlayingInterface ()
+ {
+ video_display = new VideoDisplay ();
+ video_display.Show ();
+
+ PackStart (video_display, true, true, 0);
+ }
+
+#region ISourceContents
+
+ public bool SetSource (ISource src)
+ {
+ this.source = source as NowPlayingSource;
+ return this.source != null;
+ }
+
+ public ISource Source {
+ get { return source; }
+ }
+
+ public void ResetSource ()
+ {
+ source = null;
+ }
+
+ public Widget Widget {
+ get { return this; }
+ }
+
+#endregion
+
+ }
+}
Added: trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs Tue Mar 18 21:52:07 2008
@@ -0,0 +1,63 @@
+//
+// NowPlayingSource.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Mono.Unix;
+using Gtk;
+
+using Banshee.Sources;
+using Banshee.Sources.Gui;
+using Banshee.ServiceStack;
+
+namespace Banshee.NowPlaying
+{
+ public class NowPlayingSource : Source, IDisposable
+ {
+ public NowPlayingSource () : base ("now-playing", Catalog.GetString ("Now Playing"), 0)
+ {
+ Properties.SetString ("Icon.Name", "media-playback-start");
+ Properties.Set<ISourceContents> ("Nereid.SourceContents", new NowPlayingInterface ());
+ Properties.Set<bool> ("Nereid.SourceContents.HeaderVisible", false);
+
+ ServiceManager.SourceManager.AddSource (this);
+ }
+
+ public void Dispose ()
+ {
+ }
+
+#region Source Overrides
+
+ public override int Count {
+ get { return 0; }
+ }
+
+#endregion
+
+ }
+}
Added: trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs Tue Mar 18 21:52:07 2008
@@ -0,0 +1,129 @@
+//
+// VideoDisplay.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Gtk;
+
+using Banshee.Gui;
+
+namespace Banshee.NowPlaying
+{
+ public class VideoDisplay : Gtk.Widget
+ {
+ private Gdk.Pixbuf idle_pixbuf;
+
+ public VideoDisplay ()
+ {
+ }
+
+ protected override void OnRealized ()
+ {
+ WidgetFlags |= WidgetFlags.Realized;
+
+ Gdk.WindowAttr attributes = new Gdk.WindowAttr ();
+ attributes.WindowType = Gdk.WindowType.Child;
+ attributes.X = Allocation.X;
+ attributes.Y = Allocation.Y;
+ attributes.Width = Allocation.Width;
+ attributes.Height = Allocation.Height;
+ attributes.Visual = Visual;
+ attributes.Wclass = Gdk.WindowClass.InputOutput;
+ attributes.Colormap = Colormap;
+ attributes.EventMask = (int)(
+ Gdk.EventMask.VisibilityNotifyMask |
+ Gdk.EventMask.ExposureMask |
+ Gdk.EventMask.PointerMotionMask |
+ Gdk.EventMask.EnterNotifyMask |
+ Gdk.EventMask.LeaveNotifyMask |
+ Events);
+
+ Gdk.WindowAttributesType attributes_mask =
+ Gdk.WindowAttributesType.X |
+ Gdk.WindowAttributesType.Y |
+ Gdk.WindowAttributesType.Visual |
+ Gdk.WindowAttributesType.Colormap;
+
+ GdkWindow = new Gdk.Window (Parent.GdkWindow, attributes, attributes_mask);
+ GdkWindow.UserData = Handle;
+
+ GdkWindow.SetBackPixmap (null, false);
+ Style = Style.Attach (GdkWindow);
+ }
+
+ protected override void OnUnrealized ()
+ {
+ WidgetFlags ^= WidgetFlags.Realized;
+ GdkWindow.UserData = IntPtr.Zero;
+ GdkWindow.Destroy ();
+ }
+
+ protected override void OnMapped ()
+ {
+ WidgetFlags |= WidgetFlags.Mapped;
+ GdkWindow.Show ();
+ }
+
+ protected override void OnUnmapped ()
+ {
+ WidgetFlags ^= WidgetFlags.Mapped;
+ GdkWindow.Hide ();
+ }
+
+ protected override void OnSizeAllocated (Gdk.Rectangle allocation)
+ {
+ base.OnSizeAllocated (allocation);
+
+ if (IsRealized) {
+ GdkWindow.MoveResize (allocation);
+ }
+
+ QueueDraw ();
+ }
+
+ protected override bool OnExposeEvent (Gdk.EventExpose evnt)
+ {
+ if (!Visible || !IsMapped || GdkWindow == null) {
+ return true;
+ }
+
+ if (idle_pixbuf == null) {
+ idle_pixbuf = IconThemeUtils.LoadIcon (128, "media-player-banshee");
+ }
+
+ if (idle_pixbuf == null) {
+ return true;
+ }
+
+ GdkWindow.DrawPixbuf (Style.BackgroundGC (StateType.Normal), idle_pixbuf, 0, 0,
+ (Allocation.Width - idle_pixbuf.Width) / 2, (Allocation.Height - idle_pixbuf.Height) / 2,
+ idle_pixbuf.Width, idle_pixbuf.Height, Gdk.RgbDither.Normal, 0, 0);
+
+ return true;
+ }
+ }
+}
Added: trunk/banshee/src/Extensions/Banshee.NowPlaying/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Extensions/Banshee.NowPlaying/Makefile.am Tue Mar 18 21:52:07 2008
@@ -0,0 +1,14 @@
+ASSEMBLY = Banshee.NowPlaying
+TARGET = library
+LINK = $(REF_EXTENSION_NOWPLAYING)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES = \
+ Banshee.NowPlaying/NowPlayingInterface.cs \
+ Banshee.NowPlaying/NowPlayingSource.cs \
+ Banshee.NowPlaying/VideoDisplay.cs
+
+RESOURCES = Banshee.NowPlaying.addin.xml
+
+include $(top_srcdir)/build/build.mk
+
Modified: trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs (original)
+++ trunk/banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs Tue Mar 18 21:52:07 2008
@@ -58,7 +58,7 @@
{
BindToDatabase ();
- Order = 0;
+ Order = 10;
Properties.SetString ("Icon.Name", "source-playlist");
Properties.SetString ("RemoveTracksActionLabel", Catalog.GetString ("Remove From Play Queue"));
Modified: trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml (original)
+++ trunk/banshee/src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml Tue Mar 18 21:52:07 2008
@@ -1,4 +1,15 @@
-<Addin id="Banshee.PlayQueue">
+<?xml version="1.0" encoding="utf-8"?>
+<Addin
+ id="Banshee.PlayQueue"
+ version="1.0"
+ compatVersion="1.0"
+ copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
+ name="Play Queue"
+ category="Sources"
+ description="Adds a source that acts as a queue of playing tracks. When the queue is populated, all playback happens from the queue in a forced order."
+ author="Aaron Bockover"
+ url="http://banshee-project.org/"
+ defaultEnabled="true">
<Dependencies>
<Addin id="Banshee.Services" version="1.0"/>
Modified: trunk/banshee/src/Extensions/Extensions.mds
==============================================================================
--- trunk/banshee/src/Extensions/Extensions.mds (original)
+++ trunk/banshee/src/Extensions/Extensions.mds Tue Mar 18 21:52:07 2008
@@ -5,17 +5,20 @@
<Entry build="True" name="Banshee.MultimediaKeys" configuration="Debug" />
<Entry build="True" name="Banshee.PlayQueue" configuration="Debug" />
<Entry build="False" name="Banshee.Lastfm" configuration="Debug" />
+ <Entry build="True" name="Banshee.NowPlaying" configuration="Debug" />
</Configuration>
</Configurations>
<StartMode startupentry="Banshee.NotificationArea" single="True">
<Execute type="None" entry="Banshee.NotificationArea" />
<Execute type="None" entry="Banshee.DapCore" />
<Execute type="None" entry="Banshee.Dap.MassStorage" />
+ <Execute type="None" entry="Banshee.NowPlaying" />
</StartMode>
<Entries>
<Entry filename="Banshee.NotificationArea/Banshee.NotificationArea.mdp" />
<Entry filename="Banshee.MultimediaKeys/Banshee.MultimediaKeys.mdp" />
<Entry filename="Banshee.PlayQueue/Banshee.PlayQueue.mdp" />
<Entry filename="Banshee.Lastfm/Banshee.Lastfm.mdp" />
+ <Entry filename="Banshee.NowPlaying/Banshee.NowPlaying.mdp" />
</Entries>
</Combine>
\ No newline at end of file
Modified: trunk/banshee/src/Extensions/Makefile.am
==============================================================================
--- trunk/banshee/src/Extensions/Makefile.am (original)
+++ trunk/banshee/src/Extensions/Makefile.am Tue Mar 18 21:52:07 2008
@@ -2,6 +2,7 @@
Banshee.Lastfm \
Banshee.MultimediaKeys \
Banshee.NotificationArea \
+ Banshee.NowPlaying \
Banshee.PlayQueue
MAINTAINERCLEANFILES = Makefile.in
Modified: trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp
==============================================================================
--- trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp (original)
+++ trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Gui.mdp Tue Mar 18 21:52:07 2008
@@ -58,7 +58,7 @@
<File name="Hyena.Widgets/AnimatedHBox.cs" subtype="Code" buildaction="Compile" />
<File name="Hyena.Widgets/AnimatedVBox.cs" subtype="Code" buildaction="Compile" />
<File name="Hyena.Widgets/AnimatedWidget.cs" subtype="Code" buildaction="Compile" />
- <File name="Hyena.Gui.Theatrics/AnimationHelper.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena.Gui.Theatrics/Choreographer.cs" subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]