|
1 | 1 | # VLC Discord Rich Presence |
2 | 2 |
|
3 | | -<div align="center"> |
4 | | - <img src="resources/icon.png" alt="VLC Discord RP Logo" width="200" height="200" style="border-radius: 10px;" /> |
5 | | - <br><br> |
6 | | - <img src="https://img.shields.io/badge/Windows-0078d4?style=for-the-badge&logo=windows&logoColor=white" alt="Windows"> |
7 | | - <img src="https://img.shields.io/github/v/release/valentin-marquez/vlc-rpc?style=for-the-badge" alt="Release"> |
8 | | - <img src="https://img.shields.io/github/downloads/valentin-marquez/vlc-rpc/total?style=for-the-badge" alt="Downloads"> |
9 | | -</div> |
10 | | - |
11 | | -> _"Because your friends totally need to know you're watching Shrek for the 17th time."_ |
12 | | -
|
13 | | -## What's New in Version 4.0.0 |
14 | | - |
15 | | -🎉 **Major Update Alert!** 🎉 |
16 | | - |
17 | | -**Important Notice**: Starting with version 4.0.0, VLC Discord RP focuses exclusively on **Windows support** to ensure the highest quality experience and faster development cycles. |
| 3 | +[](https://github.com/valentin-marquez/vlc-rpc/releases) |
| 4 | +[](https://github.com/valentin-marquez/vlc-rpc/releases) |
| 5 | +[](https://github.com/valentin-marquez/vlc-rpc/releases) |
| 6 | +[](LICENSE) |
18 | 7 |
|
19 | | -- **Windows-Optimized**: Built specifically for Windows with enhanced performance and stability |
20 | | -- **Automatic Updates**: Never miss a new feature with our built-in update system |
21 | | -- **Smart Content Detection**: Better identification of TV shows, movies, and anime |
22 | | -- **Activity Type Precision**: Shows "Listening to" for music and "Watching" for videos |
23 | | -- **Improved Reconnection Logic**: Automatically reconnects to Discord if connection drops |
24 | | -- **Enhanced Error Handling**: More robust operation with better recovery from failures |
25 | | -- **Modern UI**: Sleek, responsive interface with light/dark theme support |
26 | | -- **Tray Integration**: Keep the app running in the background for seamless tracking |
| 8 | +> Show your friends what you're watching or listening to in VLC directly on Discord. |
27 | 9 |
|
28 | | -### System Requirements |
29 | | - |
30 | | -- **Operating System**: Windows 10/11 (64-bit) |
31 | | -- **VLC Media Player**: Version 3.0 or higher |
32 | | -- **Discord**: Desktop application required |
33 | | - |
34 | | -### See It In Action |
35 | | - |
36 | | -<div align="center"> |
37 | | - <img src="docs/music detection.png" alt="Music Detection" width="300" /> |
38 | | - <img src="docs/anime detection.png" alt="Anime Detection" width="300" /> |
39 | | - <img src="docs/general media.png" alt="General Media" width="300" /> |
40 | | - <img src="docs/paused detection.png" alt="Paused Detection" width="300" /> |
41 | | -</div> |
| 10 | +## How It Works |
42 | 11 |
|
43 | | -## What Is This Thing? |
| 12 | +```mermaid |
| 13 | +graph LR |
| 14 | + A[VLC Media Player] -->|HTTP API| B[VLC Discord RP] |
| 15 | + B -->|Rich Presence API| C[Discord] |
| 16 | + B -->|Metadata Analysis| D[Media Detection] |
| 17 | + D -->|TV Shows, Movies, Anime<br/>Music Videos, Audio| B |
| 18 | +``` |
44 | 19 |
|
45 | | -VLC Discord Rich Presence is a magical little bridge between your VLC Media Player and Discord, letting your friends see what media you're currently enjoying (or enduring). It shows: |
| 20 | +1. **VLC Integration**: Connects to VLC's HTTP interface (automatically enabled) |
| 21 | +2. **Media Analysis**: Extracts metadata and analyzes filenames to detect content type |
| 22 | +3. **Smart Detection**: Identifies TV shows, movies, anime, music videos, documentaries, and general audio/video |
| 23 | +4. **Discord Integration**: Updates your Discord status with rich media information and artwork |
46 | 24 |
|
47 | | -- What you're watching/listening to |
48 | | -- Artist and album info (for music) |
49 | | -- Play/pause status |
50 | | -- Album/media artwork |
51 | | -- Fancy icons and progress bars |
| 25 | +## Features |
52 | 26 |
|
53 | | -Built initially during a questionable 10-hour coding marathon and now significantly improved with proper architecture and Windows-optimized performance! |
| 27 | +- **Smart Detection**: Automatically detects TV shows, movies, anime, music videos, documentaries, and general audio/video content |
| 28 | +- **Rich Presence**: Shows detailed media information with artwork and metadata |
| 29 | +- **Filename Analysis**: Advanced parsing of media filenames for accurate content identification |
| 30 | +- **Tray Controls**: Enable/disable from system tray with temporary disable options |
| 31 | +- **Auto-Updates**: Built-in update system for the latest features |
| 32 | +- **Windows Optimized**: Fast and lightweight, designed specifically for Windows |
54 | 33 |
|
55 | 34 | ## Installation |
56 | 35 |
|
57 | | -### Windows Installation |
58 | | - |
59 | | -1. Download the latest installer from the [releases page](https://github.com/valentin-marquez/vlc-discord-rp/releases) |
60 | | - |
61 | | - - **Installer**: `vlc-rpc-4.0.0-setup.exe` (Recommended) |
62 | | - - **Portable**: `vlc-rpc-4.0.0-portable.exe` (No installation required) |
63 | | - |
64 | | -2. Run the installer as Administrator (for best compatibility) |
65 | | -3. Follow the on-screen setup wizard |
66 | | -4. Launch VLC Discord RP from the Start Menu or Desktop shortcut |
67 | | -5. Enjoy your new Discord flex powers! |
68 | | - |
69 | | -### Development Setup (Windows) |
70 | | - |
71 | | -1. Clone this repository |
72 | | -2. Install dependencies: `npm install` |
73 | | -3. Start development server: `npm run dev` |
74 | | -4. Build for production: `npm run build:win` |
75 | | - |
76 | | -### Legacy Platform Support |
77 | | - |
78 | | -**macOS and Linux**: Version 3.x.x was the last release supporting these platforms. See our [Platform Migration Guide](docs/PLATFORM_MIGRATION.md) for alternatives and community solutions. |
79 | | - |
80 | | -## How It Works |
| 36 | +### Option 1: Setup Installer (Recommended) |
81 | 37 |
|
82 | | -1. The application connects to VLC's Web Interface (automatically enabled if needed) |
83 | | -2. Media information is retrieved via HTTP requests to `http://localhost:{port}/requests/status.json` |
84 | | -3. Advanced content detection identifies what you're watching |
85 | | -4. Album artwork and media metadata are extracted and formatted |
86 | | -5. This information is relayed to Discord's Rich Presence API |
87 | | -6. Social validation achieved! 🎉 |
| 38 | +1. Download `vlc-rpc-x.x.x-setup.exe` from [Releases](https://github.com/valentin-marquez/vlc-rpc/releases) |
| 39 | +2. Run the installer |
| 40 | +3. Launch VLC Discord RP |
| 41 | +4. The app will configure VLC automatically |
88 | 42 |
|
89 | | -## FAQ |
| 43 | +### Option 2: Portable Version |
90 | 44 |
|
91 | | -### Q: Why isn't anything showing up in Discord? |
| 45 | +1. Download `vlc-rpc-x.x.x-portable.exe` from [Releases](https://github.com/valentin-marquez/vlc-rpc/releases) |
| 46 | +2. Run the executable (no installation required) |
| 47 | +3. Configure VLC when prompted |
92 | 48 |
|
93 | | -**A:** Make sure: |
| 49 | +## Quick Start |
94 | 50 |
|
95 | | -1. Both VLC and Discord are running |
96 | | -2. VLC's Web Interface is enabled (the app should enable this automatically) |
97 | | -3. You're playing a media file |
98 | | -4. Check the app for status information |
99 | | -5. If issues persist, try the reconnect button in settings |
| 51 | +1. **Install & Launch**: Run VLC Discord RP |
| 52 | +2. **Auto-Setup**: The app will configure VLC's HTTP interface automatically |
| 53 | +3. **Play Media**: Start playing something in VLC |
| 54 | +4. **Check Discord**: Your status should appear within seconds |
100 | 55 |
|
101 | | -### Q: How do I close/exit the app? |
| 56 | +## Requirements |
102 | 57 |
|
103 | | -**A:** Right-click the app icon in your system tray (Windows/Linux) or menu bar (macOS) and select "Exit". Or use the close button in the main window. |
| 58 | +- **Windows 10/11** (64-bit) |
| 59 | +- **VLC Media Player** (any recent version) |
| 60 | +- **Discord** desktop app |
104 | 61 |
|
105 | | -### Q: Where is it installed? |
| 62 | +## Screenshots |
106 | 63 |
|
107 | | -**A:** Default installation locations: |
| 64 | +| Music Detection | Video Detection | Paused State | |
| 65 | +| ------------------------------------ | ------------------------------------ | -------------------------------------- | |
| 66 | +|  |  |  | |
108 | 67 |
|
109 | | -- Windows: `%LOCALAPPDATA%\VLC Discord RP` |
110 | | -- macOS: `/Applications/VLC Discord RP.app` |
111 | | -- Linux: `/opt/vlc-discord-rp` or `/usr/bin/vlc-discord-rp` |
| 68 | +## Configuration |
112 | 69 |
|
113 | | -### Q: Does it work on Mac/Linux? |
| 70 | +The app runs in your system tray. Right-click the tray icon to: |
114 | 71 |
|
115 | | -**A:** Yes! Version 3.0 fully supports Windows, macOS, and Linux with native installers for each platform. |
| 72 | +- Enable/disable Discord Rich Presence |
| 73 | +- Temporarily disable for 15 minutes, 1 hour, or 2 hours |
| 74 | +- Access settings and configuration |
116 | 75 |
|
117 | | -### Q: How much of my privacy am I giving up? |
| 76 | +## Troubleshooting |
118 | 77 |
|
119 | | -**A:** Only the title, artist, album info, and cover art from your media files are shared - and only with your Discord friends. We don't collect any data. Also, you can pause the sharing via the tray/menu bar icon. |
| 78 | +**Discord not showing status?** |
120 | 79 |
|
121 | | -### Q: I found a bug! |
| 80 | +- Make sure Discord desktop app is running |
| 81 | +- Check that "Display current activity as a status message" is enabled in Discord Settings > Activity Privacy |
122 | 82 |
|
123 | | -**A:** That's not a question, but I respect your enthusiasm. Please open an issue on GitHub with details about what went wrong. |
| 83 | +**VLC not detected?** |
124 | 84 |
|
125 | | -### Q: Will this get me banned from Discord? |
| 85 | +- The app will prompt you to configure VLC if needed |
| 86 | +- Ensure VLC's HTTP interface is enabled (the app handles this automatically) |
126 | 87 |
|
127 | | -**A:** No! This app uses Discord's official Rich Presence API which is designed exactly for this purpose. |
| 88 | +## License |
128 | 89 |
|
129 | | -### Q: Why did you make this? |
| 90 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
130 | 91 |
|
131 | | -**A:** The voices told me to. Also, it seemed like a fun project. |
| 92 | +## Support |
132 | 93 |
|
133 | | -## Support The Project |
| 94 | +Found a bug or have a feature request? [Open an issue](https://github.com/valentin-marquez/vlc-rpc/issues) on GitHub. |
134 | 95 |
|
135 | | -If you enjoy this app and want to support its development, consider buying me a coffee: |
| 96 | +If you enjoy this project and want to support its development: |
136 | 97 |
|
137 | 98 | [](https://ko-fi.com/nozzdev) |
138 | 99 |
|
139 | | -## Development Notes |
140 | | - |
141 | | -This project has evolved from a sleepless-night hack to a robust application with: |
142 | | - |
143 | | -- Cross-platform compatibility |
144 | | -- Proper error handling |
145 | | -- System tray/menu bar integration |
146 | | -- Web interface utilization |
147 | | -- Cover art extraction and display |
148 | | -- Automatic updates |
149 | | - |
150 | | -### Contributing |
151 | | - |
152 | | -We use [Changesets](https://github.com/changesets/changesets) for version management and changelog generation. Here's how to contribute: |
153 | | - |
154 | | -1. **Fork and clone** the repository |
155 | | -2. **Create a feature branch**: `git checkout -b feature/amazing-feature` |
156 | | -3. **Make your changes** and commit them |
157 | | -4. **Create a changeset**: `bun run changeset` |
158 | | - - Choose the appropriate version bump (patch/minor/major) |
159 | | - - Write a clear description of your changes |
160 | | -5. **Commit the changeset**: `git add .changeset/ && git commit -m "docs: add changeset"` |
161 | | -6. **Push and create a PR** |
162 | | - |
163 | | -For detailed information about our changeset workflow, see [docs/CHANGESETS.md](docs/CHANGESETS.md). |
164 | | - |
165 | | -#### Development Scripts |
166 | | - |
167 | | -```bash |
168 | | -# Development |
169 | | -bun run dev # Start development server |
170 | | -bun run build # Build for production |
171 | | - |
172 | | -# Code Quality |
173 | | -bun run lint # Run linter |
174 | | -bun run format # Format code |
175 | | -bun run typecheck # Type checking |
176 | | - |
177 | | -# Changesets |
178 | | -bun run changeset # Create a changeset |
179 | | -bun run changeset:status # Check changeset status |
180 | | - |
181 | | -# Platform Builds |
182 | | -bun run build:win # Build for Windows |
183 | | -bun run build:mac # Build for macOS |
184 | | -bun run build:linux # Build for Linux |
185 | | -``` |
186 | | - |
187 | | -Pull requests are welcome if you want to help improve things further! |
188 | | - |
189 | | -## License |
190 | | - |
191 | | -MIT License - Feel free to use, modify, and distribute as you see fit. |
192 | | - |
193 | 100 | --- |
194 | 101 |
|
195 | | -_Made with ❤️ and significantly less sleep deprivation this time_ |
| 102 | +<div align="center"> |
| 103 | +<sub>Made with ❤️ for the VLC and Discord communities</sub> |
| 104 | +</div> |
0 commit comments