Skip to content

Commit 987d317

Browse files
committed
Initial commit
0 parents  commit 987d317

File tree

17 files changed

+1494
-0
lines changed

17 files changed

+1494
-0
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Controlify
2+
3+
An app that bridges the gap between you and easy Spotify playback control.
4+
5+
## Installation
6+
7+
To use this app, you need to have [Spicetify](https://spicetify.app/) and [controlify-plugin](https://https://github.com/prochy-exe/controlify-plugin) installed.
8+
9+
As for controlify itself, just download the zip file, extract it to any directory of your choosing and just run either the tray app or the cli app. You can also run the tray app with the --cli tag, that will run the app in the background with no tray icon and notifications.
10+
11+
# Features
12+
- The entirety of toggle-able buttons in Spotify is mapped, to set these shortcuts just modify the config.json
13+
- Deej support, so you can directly change the volume of Spotify without affecting other audio sessions (that means you can control the volume of any Spotify Connect device!!!)
14+
15+
## Usage
16+
17+
I personally use this app in conjunction with deej. But the possibilities are endless, really, you can make an Arduino to simulate function keys or plug in a keypad or whatever you want really. Most of the keyboard is mappable (function keys up to 20, and keypad numbers are mapped too).
18+
19+
## Contributing
20+
21+
Pull requests are always welcome, so if you have any feature suggestions or fixes please feel free to submit them!
22+
23+
## Credits
24+
25+
- Icon was created from icons available at [Google Fonts](https://fonts.google.com/icons)
26+
- External Go libraries used:
27+
- [systray used on Windows](https://github.com/getlantern/systray)
28+
- [systray used on Linux](https://github.com/fyne-io/systray)
29+
- [Beeep](https://github.com/gen2brain/beeep)
30+
- [Hotkey](https://pkg.go.dev/golang.design/x/hotkey)
31+
- [Websocket](https://github.com/gorilla/websocket)

assets/assets.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package assets

assets/icon.ico

8.63 KB
Binary file not shown.

assets/icon.png

11.9 KB
Loading

assets/rsrc_windows_386.syso

8.9 KB
Binary file not shown.

assets/rsrc_windows_arm.syso

8.9 KB
Binary file not shown.

build.bat

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
@echo off
2+
3+
if exist "build" (
4+
rmdir /S /Q "build"
5+
)
6+
7+
call :build_for_platform windows 386
8+
call :build_for_platform windows arm
9+
10+
exit /b
11+
12+
:build_for_platform
13+
setlocal
14+
set GOOS=%1
15+
set GOARCH=%2
16+
17+
if "%GOARCH%"=="arm" (
18+
set HUMANARCH=arm
19+
) else if "%GOARCH%"=="386" (
20+
set HUMANARCH=x86
21+
) else (
22+
set HUMANARCH=%GOARCH%
23+
)
24+
25+
echo Building for %GOOS% %HUMANARCH%...
26+
go build -ldflags="-s -w -X main.isCLI=true" -o build\%GOOS%-%HUMANARCH%\controlify_cli.exe controlify.go
27+
go build -ldflags="-s -w -H=windowsgui" -o build\%GOOS%-%HUMANARCH%\controlify_tray.exe controlify.go
28+
copy config.json build\%GOOS%-%HUMANARCH%\config.json > nul 2>&1
29+
endlocal

0 commit comments

Comments
 (0)