Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ bin/
obj/
publish/
*.csproj.user
.vs/*
packages/*
20 changes: 13 additions & 7 deletions Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using System.ServiceModel;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;

namespace Spoti15
{
Expand Down Expand Up @@ -74,14 +75,18 @@ public static void LoadFonts()
if (resKey == null || !resKey.StartsWith("font_"))
continue;

var path = Path.Combine(Application.StartupPath, string.Format("lcdfonts\\{0}.ttf", resKey.Substring(5)));
pFonts.AddFontFile(path);
/*
byte[] resVal = (byte[])entry.Value;

IntPtr data = Marshal.AllocCoTaskMem(resVal.Length);
Marshal.Copy(resVal, 0, data, resVal.Length);

pFonts.AddMemoryFont(data, resVal.Length);

Marshal.FreeCoTaskMem(data);
unsafe
{
fixed(byte * pFontData = resVal)
{
pFonts.AddMemoryFont((System.IntPtr)pFontData, resVal.Length);
}
}
*/
}
}

Expand All @@ -91,6 +96,7 @@ public static void LoadFonts()

static void Main(string[] args)
{
Application.SetCompatibleTextRenderingDefault(false);
using (ChannelFactory<ISpoti15WCF> spotFactory = new ChannelFactory<ISpoti15WCF>(new NetNamedPipeBinding(), new EndpointAddress("net.pipe://localhost/Spoti15WCF")))
{
try
Expand Down
2 changes: 1 addition & 1 deletion Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Properties/Settings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

80 changes: 56 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,77 @@
### A Spotify Applet for the Logitech G15/G510S

---
![example gif](https://thumbs.gfycat.com/HalfSpanishDutchshepherddog-size_restricted.gif)
---
The original developer has abandoned the project so I've kept this applet updated to work with the latest version of [SpotifyAPI-NET](https://github.com/JohnnyCrazy/SpotifyAPI-NET).
The original developer has abandoned the project so I've kept this applet updated to work with the latest version of [SpotifyAPI-NET](https://github.com/JohnnyCrazy/SpotifyAPI-NET) and updated it with new features.

### Features
1. Displays: Artist | Track Title | Album Title | Elapsed Time | Total Time | Play/Pause Status
1. Text scrolling
2. Sleek 11px Native font
3. Support for the latest version Spotify
## Features
1. Three display modes
2. Seeking and playback control (Spotify Premium members only)
3. Follow/Unfollow buttons
4. Text scrolling
5. Sleek display
6. Support for the latest version Spotify

## Installation
1\. Download the Latest release of Spoti15 from [Here.](https://github.com/eezstreet/Spoti15/releases)

2\. Create a new applet in the Spotify Developer Dashboard. Save the Client ID and Secret ID.

3\. In the Applet page of the Spotify Developer Dashboard, under 'Edit Settings' enter the following URI to the 'Redirect URIs' whitelist: `http://localhost:4002`. Then click 'Add' and finally 'Save'.

4\. Run Spoti15. Use the Client ID and Secret ID in the web browser window that pops up.

5\. (OPTIONAL): Save the Client ID and Secret ID to environment variables (SPOTIFY_CLIENT_ID and SPOTIFY_SECRET_ID) to save them across sessions.

6\. Ensure that the application is selected in your Logitech Gaming Software

7\. Ensure that Spotify is Running in the background.

8\. Done!

### Installation
1\. Download the Latest release of Spoti15 from [Here.](https://github.com/haidarn2/Spoti15/releases)
## Main Display
![Main display](https://i.imgur.com/359JN6p.png)

2\. Ensure that Spotify is Running in the background.

3\. Run Spoti15.exe!
### Controls

![Running spoti15](http://i.imgur.com/hbvBbMS.png)
Pressing the left button (button 0) at any time will either LIKE or UNLIKE the currently playing song.

4\. Done!
![Liked display](https://i.imgur.com/DfqLbRy.png)

Pressing and holding the left-middle button (button 1) while in the main display will show information about the currently playing playlist, album, or artist.

![example gif](http://gifimgs.com/res/1016/57f883e446259953890092.gif)
![Playlist Information](https://i.imgur.com/7r2hntK.png)

### Customization
Currently, two things can be toggled within Spoti15; album name display, and animated lines.
![Artist Information](https://i.imgur.com/8p9AgLf.png)

![controls](http://i.imgur.com/0euaQrH.png)
![Album Information](https://i.imgur.com/lmsVIOx.png)

### Toggling Album Name ON/OFF
![album on](http://i.imgur.com/b187cNt.png)
![album off](http://i.imgur.com/s2nsfy4.png)
## Seek Display
![Seek display](https://i.imgur.com/oBVqnxA.png)

Pressing and holding the right-middle button (button 2) while in the main display will bring up the Seek Display.

### Controls
Note that the Seek Display will only function if you have a Spotify Premium membership.

Pressing the left-middle button (button 1) will seek left, and pressing the right button (button 3) will seek right. Press the left button (button 0) to go to that section of the song.

## Up Next Display
![Up Next Display](https://i.imgur.com/QIOX18F.png)

Pressing and holding the right button (button 3) while in the main display will bring up the Up Next Display.

### Controls
Note that the Up Next Display will only function if you have a Spotify Premium membership.

Pressing the left button (button 0) will go to the previous song. Pressing the left-middle button will go to the next song. Pressing the right-middle button will pause/play the current track.

### Toggling Animated Lines ON/OFF
![lines on](http://i.imgur.com/RcnTdDe.png)
![lines off](http://i.imgur.com/eElJoBx.png)

### *Changelog:*
```
v2.0.0 [April 12 2020]
+ Updated SpotifyAPI-NET, total rewrite of the software

v1.0.0.16 [April 28 2018]
+ Updated SpotifyAPI-NET to 2.18.1
+ Support for 1.0.77.338.g758ebd78
Expand Down
Loading