Skip to content
This repository has been archived by the owner on Oct 27, 2021. It is now read-only.

Commit

Permalink
### No Changes
Browse files Browse the repository at this point in the history
* No improvements, just trying to trouble shoot the playlist upload issue.
  • Loading branch information
jamesbrindle committed May 9, 2021
1 parent 2043498 commit f892497
Show file tree
Hide file tree
Showing 7 changed files with 140 additions and 184 deletions.
6 changes: 3 additions & 3 deletions Installer-x64/Installer-x64.vdproj
Original file line number Diff line number Diff line change
Expand Up @@ -7921,15 +7921,15 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:YT Music Uploader"
"ProductCode" = "8:{C8936624-2CB9-4293-9158-836C0B580465}"
"PackageCode" = "8:{51917E0C-BA3C-4DDC-ABCC-6730B38C1D88}"
"ProductCode" = "8:{15210B4C-3A20-4745-ABC1-54272B2571EA}"
"PackageCode" = "8:{65AFA1C6-CD2B-4BAB-90DB-71469DA87DCC}"
"UpgradeCode" = "8:{AB84D0C0-CDF7-4BDF-90B0-C4808DB11DAB}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.7.6"
"ProductVersion" = "8:1.7.7"
"Manufacturer" = "8:JB-Net Software Solutions"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:https://github.com/jamesbrindle/YTMusicUploader/issues"
Expand Down
6 changes: 3 additions & 3 deletions Installer-x86/Installer.vdproj
Original file line number Diff line number Diff line change
Expand Up @@ -7921,15 +7921,15 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:YT Music Uploader"
"ProductCode" = "8:{371194FD-F572-4C8A-8DCF-F4D3854BAC0E}"
"PackageCode" = "8:{4F39C7CF-9A3F-4080-A6FD-C0DCF8890968}"
"ProductCode" = "8:{75A37B83-B15D-4071-B61F-1A156668FB2B}"
"PackageCode" = "8:{B9EB0741-AFFA-424D-A610-5B496FF01C82}"
"UpgradeCode" = "8:{1E18ED3F-C210-4589-BEB4-58E2680D3C71}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.7.6"
"ProductVersion" = "8:1.7.7"
"Manufacturer" = "8:JB-Net Software Solutions"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:https://github.com/jamesbrindle/YTMusicUploader/issues"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Automatically upload your local personal music library to YouTube Music and bulk
 
 

**[Download Version 1.7.6 Installer](https://github.com/jamesbrindle/YTMusicUploader/releases/tag/v1.7.6)**
**[Download Version 1.7.7 Installer](https://github.com/jamesbrindle/YTMusicUploader/releases/tag/v1.7.7)**
 
 

Expand Down
178 changes: 97 additions & 81 deletions YTMusicUploader/Business/MusicDataFetcher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -196,32 +196,36 @@ public TrackAndReleaseMbId GetTrackAndReleaseMbId(string path, bool tryWithMusic
/// <returns>MusicBrainz Recording object</returns>
public Recording GetRecordingFromMusicBrainzWithAlbumNameVariation(string artist, string album, string track)
{
if (!string.IsNullOrEmpty(artist) && !string.IsNullOrEmpty(track))
try
{
if (!string.IsNullOrEmpty(album))
if (!string.IsNullOrEmpty(artist) && !string.IsNullOrEmpty(track))
{
try
if (!string.IsNullOrEmpty(album))
{
album = album.Substring(album.IndexOf("-") + 1, album.Length - 1 - album.IndexOf("-")).Trim();
album = Regex.Replace(album, @"(?<=\[)(.*?)(?=\])", "").Replace("[]", "").Replace(" ", " ").Trim();
try
{
album = album.Substring(album.IndexOf("-") + 1, album.Length - 1 - album.IndexOf("-")).Trim();
album = Regex.Replace(album, @"(?<=\[)(.*?)(?=\])", "").Replace("[]", "").Replace(" ", " ").Trim();
}
catch { }
}
catch { }
}

if (track.Length > 2 && track.Substring(0, 2).IsNumeric())
{
try
if (track.Length > 2 && track.Substring(0, 2).IsNumeric())
{
track = track.Substring(2).Trim();
if (track.StartsWith("_") || track.StartsWith("-") || track.StartsWith("."))
track = track.Substring(1).Trim();
try
{
track = track.Substring(2).Trim();
if (track.StartsWith("_") || track.StartsWith("-") || track.StartsWith("."))
track = track.Substring(1).Trim();
}
catch { }
}
catch { }
}

track = Regex.Replace(track, @"(\d)+-(\d)+", "").Trim();
return GetRecordingFromMusicBrainz(artist, album, track);
track = Regex.Replace(track, @"(\d)+-(\d)+", "").Trim();
return GetRecordingFromMusicBrainz(artist, album, track);
}
}
catch { }

return null;
}
Expand All @@ -233,40 +237,44 @@ public Recording GetRecordingFromMusicBrainzWithAlbumNameVariation(string artist
/// <returns>MusicBrainz Recording object</returns>
public Recording GetRecordingFromMusicBrainzWithAlbumNameVariation(string path)
{
var data = GetMusicFileMetaData(path, out string _);
if (data != null)
try
{
string artist = data.Artist;
string album = data.Album;
string track = data.Track;

if (!string.IsNullOrEmpty(artist) && !string.IsNullOrEmpty(track))
var data = GetMusicFileMetaData(path, out string _);
if (data != null)
{
if (!string.IsNullOrEmpty(album))
string artist = data.Artist;
string album = data.Album;
string track = data.Track;

if (!string.IsNullOrEmpty(artist) && !string.IsNullOrEmpty(track))
{
try
if (!string.IsNullOrEmpty(album))
{
album = album.Substring(album.IndexOf("-") + 1, album.Length - 1 - album.IndexOf("-")).Trim();
album = Regex.Replace(album, @"(?<=\[)(.*?)(?=\])", "").Replace("[]", "").Replace(" ", " ").Trim();
try
{
album = album.Substring(album.IndexOf("-") + 1, album.Length - 1 - album.IndexOf("-")).Trim();
album = Regex.Replace(album, @"(?<=\[)(.*?)(?=\])", "").Replace("[]", "").Replace(" ", " ").Trim();
}
catch { }
}
catch { }
}

if (track.Length > 2 && track.Substring(0, 2).IsNumeric())
{
try
if (track.Length > 2 && track.Substring(0, 2).IsNumeric())
{
track = track.Substring(2).Trim();
if (track.StartsWith("_") || track.StartsWith("-") || track.StartsWith("."))
track = track.Substring(1).Trim();
try
{
track = track.Substring(2).Trim();
if (track.StartsWith("_") || track.StartsWith("-") || track.StartsWith("."))
track = track.Substring(1).Trim();
}
catch { }
}
catch { }
}

track = Regex.Replace(track, @"(\d)+-(\d)+", "").Trim();
return GetRecordingFromMusicBrainz(artist, album, track);
track = Regex.Replace(track, @"(\d)+-(\d)+", "").Trim();
return GetRecordingFromMusicBrainz(artist, album, track);
}
}
}
catch { }

return null;
}
Expand All @@ -277,56 +285,60 @@ public Recording GetRecordingFromMusicBrainzWithAlbumNameVariation(string path)
/// <returns>MusicBrainz Recording object</returns>
public Recording GetRecordingFromMusicBrainz(string artist, string album, string track)
{
while (IsLastRequestTooSoon())
ThreadHelper.SafeSleep(1100);

QueryParameters<Recording> query = null;
if (!string.IsNullOrEmpty(album))
try
{
query = new QueryParameters<Recording>()
while (IsLastRequestTooSoon())
ThreadHelper.SafeSleep(1100);

QueryParameters<Recording> query = null;
if (!string.IsNullOrEmpty(album))
{
query = new QueryParameters<Recording>()
{
{ "artist", artist },
{ "release", album },
{ "recording", track }
};
}
else
{
query = new QueryParameters<Recording>()
}
else
{
query = new QueryParameters<Recording>()
{
{ "artist", artist },
{ "recording", track }
};
}
}

RecordingList recordings = null;
try
{
MusicBrainzLastRequest = DateTime.Now;
recordings = MusicBrainzClient.Recordings.SearchAsync(query).GetAwaiter().GetResult();
}
catch
{
ThreadHelper.SafeSleep(1100); // MusicBrains throttle handler
RecordingList recordings = null;
try
{
MusicBrainzLastRequest = DateTime.Now;
recordings = MusicBrainzClient.Recordings.SearchAsync(query).GetAwaiter().GetResult();
}
catch { }
}
catch
{
ThreadHelper.SafeSleep(1100); // MusicBrains throttle handler
try
{
MusicBrainzLastRequest = DateTime.Now;
recordings = MusicBrainzClient.Recordings.SearchAsync(query).GetAwaiter().GetResult();
}
catch { }
}

if (recordings != null && recordings.Count > 0)
{
IEnumerable<Recording> matches = null;
if (!string.IsNullOrEmpty(album))
matches = recordings.Items.Where(r => r.Title == track && r.Releases.Any(s => s.Title == album));
else
matches = recordings.Items.Where(r => r.Title == track);
if (recordings != null && recordings.Count > 0)
{
IEnumerable<Recording> matches = null;
if (!string.IsNullOrEmpty(album))
matches = recordings.Items.Where(r => r.Title == track && r.Releases.Any(s => s.Title == album));
else
matches = recordings.Items.Where(r => r.Title == track);

if (matches != null && matches.Count() > 0)
return matches.OrderByDescending(r => r.Releases.Count).FirstOrDefault();
if (matches != null && matches.Count() > 0)
return matches.OrderByDescending(r => r.Releases.Count).FirstOrDefault();
}
}
catch { }

return null;
}
Expand All @@ -337,24 +349,28 @@ public Recording GetRecordingFromMusicBrainz(string artist, string album, string
/// <returns>MusicBrainz Recording object</returns>
public Recording GetRecordingFromMusicBrainz(string mbId)
{
while (IsLastRequestTooSoon())
ThreadHelper.SafeSleep(1100); // MusicBrains throttle handler

try
{
MusicBrainzLastRequest = DateTime.Now;
return MusicBrainzClient.Recordings.GetAsync(mbId).GetAwaiter().GetResult();
}
catch
{
ThreadHelper.SafeSleep(1100); // MusicBrains throttle handler
while (IsLastRequestTooSoon())
ThreadHelper.SafeSleep(1100); // MusicBrains throttle handler

try
{
MusicBrainzLastRequest = DateTime.Now;
return MusicBrainzClient.Recordings.GetAsync(mbId).GetAwaiter().GetResult();
}
catch { }
catch
{
ThreadHelper.SafeSleep(1100); // MusicBrains throttle handler
try
{
MusicBrainzLastRequest = DateTime.Now;
return MusicBrainzClient.Recordings.GetAsync(mbId).GetAwaiter().GetResult();
}
catch { }
}
}
catch { }

return null;
}
Expand Down
Loading

0 comments on commit f892497

Please sign in to comment.