Lofi Focus
pendingby Jatin Shihora
Focus better with lofi vibes and Pomodoro sessions. Stream radio or play your music library, all within your vault.
Lofi Focus
Play lofi music and stay focused with an integrated Pomodoro timer, all within Obsidian.
Features
🎵 Audio Playback
- Online Streams: Choose from pre-configured lofi radio stations
- Local MP3 Files: Play your own music collection from any vault folder
- Full Playback Controls: Play, pause, next, previous tracks
- Volume Control: Adjust volume to your preference
- Status Bar Integration: See what's playing at a glance
⏱️ Focus Timer (Pomodoro)
- Customizable Work Sessions: Set your ideal work duration (default: 25 minutes)
- Break Reminders: Automated rest periods (default: 5 minutes)
- Auto-Transitions: Seamlessly switches between work and rest sessions
- Visual Timer: Always visible in the status bar
- Full Controls: Start, pause, and reset from the status bar
✨ Ambient Animations
- Optional Visual Effects: Subtle falling particle animations
- Toggle On/Off: Enable in settings if you enjoy the ambiance
- Performance-Friendly: Lightweight canvas-based rendering
Quick Start
First Time Setup
- Install the plugin from Obsidian's Community Plugins
- Enable it in Settings → Community Plugins
- The plugin starts with Lofi Hip Hop Radio by default - it works immediately!
Using Audio
Option 1: Online Streams (Default)
- Pre-configured streams work out of the box
- Switch between streams in Settings:
- Lofi Hip Hop Radio
- Chill Mornings
- Jazzy Afternoons
- Anime & Japanese Music
Option 2: Local MP3 Files
- Go to Settings → Lofi Focus
- Select "Local Folder" from Audio Source dropdown
- Browse to a folder containing MP3 files
- Click "Select This Folder"
- Your tracks appear - click any track to play
Using the Focus Timer
- Start: Click the ▶ button next to the timer in the status bar
- Pause: Click the ⏸ button during a session
- Reset: Click the 🔄 button to start over
- Customize durations in Settings → Focus Timer Settings
Status Bar Controls
You'll see these controls at the bottom of Obsidian:
Audio Controls:
[Audio Status]- Shows current track/stream[⏮]- Previous track (local files only)[▶/⏸]- Play/Pause audio[⏭]- Next track (local files only)
Timer Controls:
[Timer: 00:00]- Shows remaining time[▶/⏸]- Start/Pause timer[🔄]- Reset timer
Commands
Access these from the Command Palette (Ctrl/Cmd + P):
Toggle Lofi Playback- Play/pause musicPlay Next Lofi Track- Skip to next trackPlay Previous Lofi Track- Go to previous trackStart Focus Timer- Begin work sessionPause Focus Timer- Pause timerReset Focus Timer- Reset to zero
Settings
Audio Settings
- Audio Source: Choose between online streams or local folder
- Volume: Adjust playback volume (0-100%)
- Local Audio Folder: Browse and select folder with MP3 files
Focus Timer Settings
- Work Duration: Length of focus sessions (default: 25 minutes)
- Rest Duration: Length of break periods (default: 5 minutes)
Animation Settings
- Enable Background Animation: Toggle ambient falling particles
Tips
- Stream vs Local: Streams work instantly but require internet. Local files work offline and use your own music collection.
- Pomodoro Technique: The default 25:5 ratio is scientifically proven to maintain focus while preventing burnout.
- Volume: Start at 30% and adjust to your preference - especially important with headphones!
- Animation: Try it out! Some users find it calming, others prefer it off for less distraction.
Troubleshooting
No audio playing?
- Check if an audio source is selected in settings
- For streams: Verify internet connection
- For local files: Ensure folder contains MP3 files
Can't see playback controls?
- Playback controls appear in the status bar (bottom of Obsidian)
- For streams: Only play/pause button shows (no prev/next)
- For local files: All controls show (prev/play/next)
Timer not starting?
- Click the play button (▶) next to the timer display
- Check timer durations are set to positive numbers in settings
Contributing
Interested in contributing to this project? Check out our Contributing Guide to learn how to set up your development environment and submit changes.
Support
Found a bug or have a feature request?
- Open an issue on GitHub
License
MIT License - See LICENSE file for details
Credits
Created by Jatin Shihora
Enjoy your focused work sessions! 🎵⏱️
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.