[banshee/amazon] Amazon pane tweaks
- From: Gabriel Burt <gburt src gnome org>
- To: svn-commits-list gnome org
- Subject: [banshee/amazon] Amazon pane tweaks
- Date: Fri, 8 May 2009 19:40:05 -0400 (EDT)
commit 485593bc7511f59d1380c2822fa0c6de42477025
Author: Gabriel Burt <gabriel burt gmail com>
Date: Fri May 8 18:15:16 2009 -0500
Amazon pane tweaks
---
.../Banshee.Amazon/Banshee.Amazon.csproj | 8 ++++----
.../Banshee.Amazon/Banshee.Amazon/AmazonPane.cs | 4 ++--
.../Banshee.Amazon/AmazonPreviewTrackInfo.cs | 2 +-
.../Banshee.Amazon/Banshee.Amazon/AmazonUtils.cs | 14 ++++++++++----
4 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/src/Extensions/Banshee.Amazon/Banshee.Amazon.csproj b/src/Extensions/Banshee.Amazon/Banshee.Amazon.csproj
index a2ecf49..90a6c7e 100644
--- a/src/Extensions/Banshee.Amazon/Banshee.Amazon.csproj
+++ b/src/Extensions/Banshee.Amazon/Banshee.Amazon.csproj
@@ -28,6 +28,9 @@
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<EmbeddedResource Include="Banshee.Amazon.addin.xml" />
+ <EmbeddedResource Include="Resources\GlobalUI.xml">
+ <LogicalName>GlobalUI.xml</LogicalName>
+ </EmbeddedResource>
</ItemGroup>
<ProjectExtensions>
<MonoDevelop>
@@ -83,7 +86,4 @@
<Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<Reference Include="System.Core" />
</ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\GlobalUI.xml" />
- </ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPane.cs b/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPane.cs
index c811633..a9a5a63 100644
--- a/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPane.cs
+++ b/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPane.cs
@@ -35,7 +35,7 @@ namespace Banshee.Amazon
private void OnPlayerEvent (object args)
{
TrackInfo track = ServiceManager.PlayerEngine.CurrentTrack;
- if (track != null) {
+ if (track != null && !(track is AmazonPreviewTrackInfo)) {
Banshee.Base.ThreadAssist.SpawnFromMain (delegate {
widget.UpdateForTrack (track);
});
@@ -161,7 +161,7 @@ namespace Banshee.Amazon
var play = new Button (new Image (Banshee.Gui.IconThemeUtils.LoadIcon ("media-playback-start", (int)IconSize.Button))) { Relief = ReliefStyle.None };
play.TooltipText = Catalog.GetString ("Play Preview");
play.Clicked += (o, a) => {
- new AmazonPreviewTrackInfo (item).Play ();
+ Banshee.Streaming.RadioTrackInfo.OpenPlay (new AmazonPreviewTrackInfo (item));
};
var go = new Button (new Image (Stock.JumpTo, IconSize.Button)) { Relief = ReliefStyle.None };
diff --git a/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPreviewTrackInfo.cs b/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPreviewTrackInfo.cs
index 13c2358..8344131 100644
--- a/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPreviewTrackInfo.cs
+++ b/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonPreviewTrackInfo.cs
@@ -11,7 +11,7 @@ namespace Banshee.Amazon
{
public AMZN.Item Item { get; private set; }
- public AmazonPreviewTrackInfo (AMZN.Item item) : base (new Banshee.Base.SafeUri (AmazonUtils.PreviewPlaylistUrl (item.ASIN)))
+ public AmazonPreviewTrackInfo (AMZN.Item item) : base (new Banshee.Base.SafeUri (AmazonUtils.PreviewPlaylistUrl (item)))
{
Item = item;
}
diff --git a/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonUtils.cs b/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonUtils.cs
index 883931c..7b1eef4 100644
--- a/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonUtils.cs
+++ b/src/Extensions/Banshee.Amazon/Banshee.Amazon/AmazonUtils.cs
@@ -13,7 +13,7 @@ namespace Banshee.Amazon
{
private const string ACCESS_KEY = "1WX2TV6EWH519QW2V482";
private const string AFFILIATE_TAG = "banshee";
- private const string PREVIEW_URL_FMT = "http://www.amazon.com/gp/dmusic/media/sample.m3u/ref=dm_sp_smpl?ie=UTF8&catalogItemType=track&ASIN={0}";;
+ private const string PREVIEW_URL_FMT = "http://www.amazon.com/gp/dmusic/media/sample.m3u/ref=dm_sp_smpl?ie=UTF8&catalogItemType={1}&ASIN={0}";;
private const string MP3_ALBUMS_NODE = "324381011";
private const string MP3_SONGS_NODE = "324382011";
@@ -23,9 +23,14 @@ namespace Banshee.Amazon
private static AmazonECSQuery service = new AmazonECSQuery (ACCESS_KEY, AFFILIATE_TAG);
- public static string PreviewPlaylistUrl (string asin)
+ public static string PreviewPlaylistUrl (Item item)
{
- return String.Format (PREVIEW_URL_FMT, asin);
+ return String.Format (PREVIEW_URL_FMT, item.ASIN, IsAlbum (item) ? "album" : "track");
+ }
+
+ public static bool IsAlbum (Item item)
+ {
+ return item.ItemAttributes.ProductTypeName == "DOWNLOADABLE_MUSIC_ALBUM";
}
public static IEnumerable<Item> FindItems (string artist, bool mp3, bool returnTracks)
@@ -43,10 +48,11 @@ namespace Banshee.Amazon
// TODO the API now supports RelationshipType = Tracks, RelatedItems response group
// but the C# API is out of date.
+ request.WithRelationshipType ("Tracks");
request.WithSort ("salesrank");
//request.WithSort ("relevancerank");
- request.WithResponseGroup ("Large", "VariationOffers", "Offers", "ItemAttributes", "Tags", "Images", "Reviews", "AlternateVersions", "Tracks", "Variations", "Similarities");
+ request.WithResponseGroup ("Large", "RelatedItems", "PromotionSummary", "VariationOffers", "Offers", "ItemAttributes", "Tags", "Images", "Reviews", "AlternateVersions", "Tracks", "Variations", "Similarities");
//request.WithResponseGroup ("Offers", "ItemAttributes", "Images", "Reviews", "Tracks", "Variations", "Similarities");
//request.WithResponseGroup ("Offers", "ItemAttributes", "Images", "Reviews", "Tracks", "Variations");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]