Skip to content

Commit

Permalink
dos2unix
Browse files Browse the repository at this point in the history
  • Loading branch information
Cynosphere committed Aug 3, 2022
1 parent 4bfd451 commit 4764e03
Show file tree
Hide file tree
Showing 8 changed files with 272 additions and 272 deletions.
2 changes: 1 addition & 1 deletion DiscordInterface.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
Expand Down
2 changes: 1 addition & 1 deletion LastFM_API.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
Expand Down
2 changes: 1 addition & 1 deletion MusicBeeInterface.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Runtime.InteropServices;

namespace MusicBeePlugin
Expand Down
6 changes: 3 additions & 3 deletions app.config
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
266 changes: 133 additions & 133 deletions mb_DiscordRichPresence.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Collections.Generic;
Expand All @@ -11,23 +11,23 @@
using System.Runtime.Serialization;
using System.IO;

using EpikLastFMApi;

using EpikLastFMApi;

namespace MusicBeePlugin
{
public class CurrentSongInfo
{
public string Artist { get; set; }
public string Track { get; set; }
public string Album { get; set; }
public bool Playing { get; set; }
public int Index { get; set; }
public int TotalTracks { get; set; }
public string ImageUrl { get; set; }
public string YearStr { get; set; }
public class CurrentSongInfo
{
public string Artist { get; set; }
public string Track { get; set; }
public string Album { get; set; }
public bool Playing { get; set; }
public int Index { get; set; }
public int TotalTracks { get; set; }
public string ImageUrl { get; set; }
public string YearStr { get; set; }
}
public partial class Plugin
{
{
private MusicBeeApiInterface mbApiInterface;
private PluginInfo about = new PluginInfo();
private DiscordRpc.RichPresence presence = new DiscordRpc.RichPresence();
Expand Down Expand Up @@ -60,8 +60,8 @@ public PluginInfo Initialise(IntPtr apiInterfacePtr)
about.ReceiveNotifications = (ReceiveNotificationFlags.PlayerEvents | ReceiveNotificationFlags.TagEvents);
about.ConfigurationPanelHeight = 48; // height in pixels that musicbee should reserve in a panel for config settings. When set, a handle to an empty panel will be passed to the Configure function

InitialiseDiscord();

InitialiseDiscord();

return about;
}

Expand All @@ -82,102 +82,102 @@ private void HandleDisconnectedCallback(int errorCode, string message) { }

private async Task FetchArt(string track, string artist, string albumArtist, string album)
{
string key = $"{albumArtist}_{album}";

if (!albumArtCache.ContainsKey(key))
{
string mainArtist = albumArtist.Split(new [] { ", ", "; " }, StringSplitOptions.None)[0];

string url = await FmApi.AlbumGetInfo(AlbumGetInfo_FindAlbumImg, album, mainArtist);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumGetInfo(AlbumGetInfo_FindAlbumImg, album, albumArtist);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumGetInfo(AlbumGetInfo_FindAlbumImg, album, artist, track);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumSearch(AlbumSearch_FindAlbumImg, album, mainArtist);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumSearch(AlbumSearch_FindAlbumImg, album);

if (string.IsNullOrEmpty(url))
albumArtCache.Add(key, "unknown");
else
albumArtCache.Add(key, url);
}
}

private string AlbumSearch_FindAlbumImg(JObject Json, string ArtistRequest, string AlbumRequest)
{
Dictionary<string, string> ImageList = new Dictionary<string, string>();

dynamic DJson = Json;

JArray Albums = DJson.results.albummatches.album;

foreach (dynamic Album in Albums)
{
string Artist = Album.artist;
bool ArtistUnknown = string.IsNullOrWhiteSpace(ArtistRequest) | string.IsNullOrWhiteSpace(Artist);
bool IsVarious = (ArtistRequest.ToLower() == "va" | ArtistRequest.ToLower() == "various artists");

if (Artist.ToLower() == ArtistRequest.ToLower() | ArtistUnknown | IsVarious)
{
string name = Album.name;
JArray Images = Album.image;

bool FoundAlbum = (name == AlbumRequest | name.ToLower() == AlbumRequest.ToLower() | name.ToLower().Replace(" ", "") == AlbumRequest.ToLower().Replace(" ", ""));
bool FoundArtist = (Artist.ToLower() == ArtistRequest.ToLower());

if (FoundAlbum | FoundArtist | (IsVarious & FoundAlbum))
{
foreach (dynamic Image in Images)
{
string url = Image["#text"];
string size = Image["size"];
if (!string.IsNullOrEmpty(url) & !string.IsNullOrEmpty(size))
ImageList.Add(size, url);
}
if (ImageList.Count > 0)
break;
}
}
}

if (ImageList.Count == 0)
return "";

return ImageList.ContainsKey(imageSize) ? ImageList[imageSize] : ImageList.Values.Last();
}

private string AlbumGetInfo_FindAlbumImg(JObject Json)
{
Dictionary<string, string> ImageList = new Dictionary<string, string>();

dynamic DJson = Json;

JArray Images = DJson.album.image;

foreach (dynamic Image in Images)
{
string url = Image["#text"];
string size = Image["size"];
if (!string.IsNullOrEmpty(url) & !string.IsNullOrEmpty(size))
ImageList.Add(size, url);
}

if (ImageList.Count == 0)
return "";

return ImageList.ContainsKey(imageSize) ? ImageList[imageSize] : ImageList.Values.Last();
string key = $"{albumArtist}_{album}";

if (!albumArtCache.ContainsKey(key))
{
string mainArtist = albumArtist.Split(new [] { ", ", "; " }, StringSplitOptions.None)[0];

string url = await FmApi.AlbumGetInfo(AlbumGetInfo_FindAlbumImg, album, mainArtist);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumGetInfo(AlbumGetInfo_FindAlbumImg, album, albumArtist);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumGetInfo(AlbumGetInfo_FindAlbumImg, album, artist, track);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumSearch(AlbumSearch_FindAlbumImg, album, mainArtist);

if (string.IsNullOrEmpty(url))
url = await FmApi.AlbumSearch(AlbumSearch_FindAlbumImg, album);

if (string.IsNullOrEmpty(url))
albumArtCache.Add(key, "unknown");
else
albumArtCache.Add(key, url);
}
}

private string AlbumSearch_FindAlbumImg(JObject Json, string ArtistRequest, string AlbumRequest)
{
Dictionary<string, string> ImageList = new Dictionary<string, string>();

dynamic DJson = Json;

JArray Albums = DJson.results.albummatches.album;

foreach (dynamic Album in Albums)
{
string Artist = Album.artist;
bool ArtistUnknown = string.IsNullOrWhiteSpace(ArtistRequest) | string.IsNullOrWhiteSpace(Artist);
bool IsVarious = (ArtistRequest.ToLower() == "va" | ArtistRequest.ToLower() == "various artists");

if (Artist.ToLower() == ArtistRequest.ToLower() | ArtistUnknown | IsVarious)
{
string name = Album.name;
JArray Images = Album.image;

bool FoundAlbum = (name == AlbumRequest | name.ToLower() == AlbumRequest.ToLower() | name.ToLower().Replace(" ", "") == AlbumRequest.ToLower().Replace(" ", ""));
bool FoundArtist = (Artist.ToLower() == ArtistRequest.ToLower());

if (FoundAlbum | FoundArtist | (IsVarious & FoundAlbum))
{
foreach (dynamic Image in Images)
{
string url = Image["#text"];
string size = Image["size"];
if (!string.IsNullOrEmpty(url) & !string.IsNullOrEmpty(size))
ImageList.Add(size, url);
}
if (ImageList.Count > 0)
break;
}
}
}

if (ImageList.Count == 0)
return "";

return ImageList.ContainsKey(imageSize) ? ImageList[imageSize] : ImageList.Values.Last();
}

private string AlbumGetInfo_FindAlbumImg(JObject Json)
{
Dictionary<string, string> ImageList = new Dictionary<string, string>();

dynamic DJson = Json;

JArray Images = DJson.album.image;

foreach (dynamic Image in Images)
{
string url = Image["#text"];
string size = Image["size"];
if (!string.IsNullOrEmpty(url) & !string.IsNullOrEmpty(size))
ImageList.Add(size, url);
}

if (ImageList.Count == 0)
return "";

return ImageList.ContainsKey(imageSize) ? ImageList[imageSize] : ImageList.Values.Last();
}

private void UpdatePresence(CurrentSongInfo SongInfo)
{
presence.largeImageKey = "albumart";

presence.largeImageKey = "albumart";

string yearStr = SongInfo.YearStr;
string album = SongInfo.Album;
string imageUrl = SongInfo.ImageUrl;
Expand All @@ -190,14 +190,14 @@ private void UpdatePresence(CurrentSongInfo SongInfo)
string year = null;

if (yearStr.Length > 0 && config.showYear)
{
DateTime result;

if (DateTime.TryParse(yearStr, out result))
year = result.Year.ToString();
else
if (yearStr.Length == 4)
if (DateTime.TryParseExact(yearStr, "yyyy", null, System.Globalization.DateTimeStyles.None, out result))
{
DateTime result;

if (DateTime.TryParse(yearStr, out result))
year = result.Year.ToString();
else
if (yearStr.Length == 4)
if (DateTime.TryParseExact(yearStr, "yyyy", null, System.Globalization.DateTimeStyles.None, out result))
year = result.Year.ToString();
}

Expand Down Expand Up @@ -299,7 +299,7 @@ private void ShowYearValueChanged(object sender, EventArgs args) {
newConfig.showYear = (sender as CheckBox).Checked;
}

private void CustomArtworkUrlValueChanged(object sender, EventArgs args)
private void CustomArtworkUrlValueChanged(object sender, EventArgs args)
{
newConfig.customArtworkUrl = (sender as TextBox).Text;
}
Expand Down Expand Up @@ -392,25 +392,25 @@ public void ReceiveNotification(string sourceFileUrl, NotificationType type)
try
{
string imageUrl = "";
if (config.customArtworkUrl != "")
imageUrl = config.customArtworkUrl + "?" + (long)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
else
{
await FetchArt(trackTitle, originalArtist, albumArtist, album);

if (config.customArtworkUrl != "")
imageUrl = config.customArtworkUrl + "?" + (long)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
else
{
await FetchArt(trackTitle, originalArtist, albumArtist, album);

imageUrl = albumArtCache[$"{albumArtist}_{album}"];
}

UpdatePresence(new CurrentSongInfo
{
Artist = artist,
Track = trackTitle,
Album = album,
Playing = isPlaying,
Index = index + 1,
TotalTracks = tracks.Length,
ImageUrl = imageUrl,
YearStr = year
UpdatePresence(new CurrentSongInfo
{
Artist = artist,
Track = trackTitle,
Album = album,
Playing = isPlaying,
Index = index + 1,
TotalTracks = tracks.Length,
ImageUrl = imageUrl,
YearStr = year
});
}
catch (Exception err)
Expand Down
Loading

0 comments on commit 4764e03

Please sign in to comment.