1
0

Compare commits

...

6 Commits

Author SHA1 Message Date
0e2fa5f81a Add Timeleft in track 2024-02-22 08:33:46 +01:00
7478741ba2 nullReference 2024-02-22 05:54:41 +01:00
b1a3d2685c simple interpolation 2024-02-22 05:52:55 +01:00
5601f76124 Better playbackstate 2024-02-22 05:51:14 +01:00
364c1e9ee5 Update Readme 2024-02-22 04:00:31 +01:00
1b6d562ee8 wrong index... 2024-02-22 03:57:19 +01:00
3 changed files with 33 additions and 4 deletions

View File

@ -138,9 +138,29 @@ public class DisMediaRP : IDisposable
if (timelineProperties.LastUpdatedTime < DateTimeOffset.UnixEpoch)
return;
GlobalSystemMediaTransportControlsSessionPlaybackInfo playbackInfo =
mediaSession.ControlSession.GetPlaybackInfo();
this._currentStatus.Timestamps = new Timestamps(DateTime.Now.Subtract(timelineProperties.Position),
DateTime.Now.Add(timelineProperties.EndTime - timelineProperties.Position));
string? repeatMode = playbackInfo.AutoRepeatMode switch
{
MediaPlaybackAutoRepeatMode.Track => "\ud83d\udd02",
MediaPlaybackAutoRepeatMode.List => "\ud83d\udd01",
_ => null
};
string? shuffle = (playbackInfo.IsShuffleActive ?? false) ? "\ud83d\udd00" : null;
this._currentStatus.State = string.Join(' ', repeatMode, shuffle, $"{timelineProperties.Position:hh\\:mm\\:ss}/{timelineProperties.EndTime:hh\\:mm\\:ss}");
if (mediaSession.ControlSession.GetPlaybackInfo().PlaybackStatus is
GlobalSystemMediaTransportControlsSessionPlaybackStatus.Playing)
this._currentStatus.Timestamps = new Timestamps()
{
End = DateTime.UtcNow.Add(timelineProperties.EndTime - timelineProperties.Position)
};
else
this._currentStatus.Timestamps = new Timestamps();
this._discordRpcClient.SetPresence(this._currentStatus);
}

View File

@ -13,7 +13,7 @@ if(loglevelIndex > -1)
int discordKeyIndex = Array.IndexOf(args, "-d");
string discordKey;
if (loglevelIndex > -1)
if (discordKeyIndex > -1)
if(discordKeyIndex + 1 < args.Length)
discordKey = args[discordKeyIndex + 1];
else
@ -22,7 +22,7 @@ else
throw new ArgumentNullException(nameof(discordKey));
int imageKeyIndex = Array.IndexOf(args, "-i");
string? imageKey = null;
string imageKey = "cat";
if(imageKeyIndex > -1)
if (imageKeyIndex + 1 < args.Length)
imageKey = args[imageKeyIndex + 1];

View File

@ -1,2 +1,11 @@
# DiscordMediaRichPresence
## Usage
`DiscordMediaRP.exe -d <Your AppliocationKey> [-l Debug]`
Your Application should have 5 Assets:
- cat
- play
- pause
- stop
- music