-
Notifications
You must be signed in to change notification settings - Fork 1
Installation Guide
Complete installation instructions for foo_mac_scrobble, including system requirements, installation methods, and post-installation setup.
- macOS 12.0 (Monterey) or later
- Architecture: Universal Binary (Intel x86_64 + Apple Silicon arm64)
- foobar2000 for macOS v2.0 or later
- Download from: https://www.foobar2000.org/mac
- Free Last.fm account: https://www.last.fm/join
- Last.fm API credentials (free): https://www.last.fm/api/account/create
- Component: ~500 KB
- Configuration files: ~10 KB
- Queue (varies): Up to several MB for large offline queues
- Internet connection required for scrobbling
- Offline queueing available when disconnected
Before installing, ensure you have:
- macOS 12+ installed
- foobar2000 for macOS installed and working
- Last.fm account created
- Last.fm API credentials obtained
This is the easiest and safest method.
- Visit the Releases page
- Download the latest release ZIP file:
foo_mac_scrobble-v0.x.x.zip - The file will typically download to
~/Downloads/
- Double-click the ZIP file in Finder
- Or use Terminal:
cd ~/Downloads unzip foo_mac_scrobble-v0.x.x.zip
- You should now have:
foo_mac_scrobble.component/
- Open foobar2000
- Go to Preferences (⌘,) or foobar2000 → Preferences
- Navigate to Components in the left sidebar
- Click the "+" button in the top-right corner
- Browse to the extracted
foo_mac_scrobble.componentfolder - Select the folder and click Open
- The app will ask you to restart to complete the installation
- You should see the component added to the list
- Go to Preferences → Components
- Look for
foo_mac_scrobblein the list - Check that Status shows as "Loaded" or similar
- Go to Preferences → Tools
- Verify "Last.fm Scrobbler" appears in the menu
✅ Installation complete! Proceed to Configuration.
For advanced users who prefer manual file management.
Follow Steps 1-2 from Method 1 above.
- Open Finder
- Press ⌘⇧G (Go to Folder)
- Enter:
~/Library/foobar2000-v2/user-components/ - Create a new folder:
foo_mac_scrobble - Copy the extracted
foo_mac_scrobble.componentfolder into it
Result: The component should be at:
~/Library/foobar2000-v2/user-components/foo_mac_scrobble/foo_mac_scrobble.component/
# Extract the archive
cd ~/Downloads
unzip foo_mac_scrobble-v1.x.x.zip
# Create directory
mkdir -p ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/
# Copy component
cp -r foo_mac_scrobble.component ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/
# Verify
ls -la ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/- Quit foobar2000 completely (⌘Q)
- Wait 5 seconds
- Reopen foobar2000
Follow Step 5 from Method 1.
For developers or users who want to compile the component themselves.
See the complete Building from Source guide.
Quick version:
# Clone repository
git clone https://github.com/avelytchko/foo_mac_scrobble.git
cd foo_mac_scrobble
# Build with Xcode
cd foobar2000/foo_mac_scrobble
xcodebuild -project foo_mac_scrobble.xcodeproj \
-scheme foo_mac_scrobble \
-configuration Release \
-derivedDataPath build
# Install
cp -r build/Build/Products/Release/foo_mac_scrobble.component \
~/Library/foobar2000-v2/user-components/foo_mac_scrobble/After installation, you need to configure the component.
- Open foobar2000
- Go to Preferences (⌘,)
- Navigate to Tools → Last.fm Scrobbler
You should see the preferences panel with fields for:
- API Key
- API Secret
- Authentication button
- Scrobble threshold slider
- Debug logging checkbox
- Visit https://www.last.fm/api/account/create
- Fill out the form:
- Application name: (e.g., "My foobar2000 Scrobbler")
- Application description: (e.g., "Personal Last.fm scrobbler for foobar2000")
- Application homepage: (can leave blank or use GitHub repo)
- Callback URL: (can leave blank)
- Accept the Terms of Service
- Click Submit
- You'll receive:
- API Key (32 character hex string)
- API Secret (32 character hex string)
Save these credentials — you'll need them.
- In the Last.fm Scrobbler preferences:
- Paste your API Key into the first field
- Paste your API Secret into the second field
- Do NOT click Authenticate yet
- Click the Authenticate button
- Your default browser will open to Last.fm
- Log in to Last.fm if not already logged in
- You'll see a permission request:
- "Grant access to your application?"
- Shows your API Key
- Click Yes, allow access
- The browser will redirect to a URL that shows:
This is expected! Don't worry.
Invalid API key - You must be granted a valid key by last.fm
-
Copy the entire URL from your browser's address bar
- It should look like:
https://www.last.fm/api/auth?token=abc123def456...
- It should look like:
- Return to foobar2000
- A dialog should appear asking for the URL
- Paste the full URL into the dialog
- Click OK
- Wait a few seconds
You should see a message in the preferences:
✅ Authenticated as: your_lastfm_username
If you see this, authentication successful!
-
Scrobble threshold: Adjust the slider (default: 50%)
- This is the percentage of a track you need to listen to before it's scrobbled
- Last.fm recommends 50%
-
Debug logging: Enable if you want to see detailed console output
- Useful for troubleshooting
- View logs in View → Console
- Play a track in foobar2000
- Let it play past 50% (or your configured threshold)
- Wait 30-60 seconds
- Check your Last.fm profile: https://www.last.fm/user/your_username
- The track should appear in your recent tracks
🎉 Setup complete! You're now scrobbling.
Possible causes:
- Component not installed in correct location
- foobar2000 not restarted
- Incompatible macOS version
Solutions:
-
Verify installation path:
ls -la ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/Should show
foo_mac_scrobble.component/ -
Check macOS version:
sw_vers
Should show macOS 12.0 or later
-
Completely restart foobar2000:
killall foobar2000 open /Applications/foobar2000.app
-
Check Console for errors:
- Open Console.app (macOS built-in)
- Filter for "foobar2000"
- Look for component loading errors
Cause: Damaged or incomplete download
Solution:
- Delete the downloaded ZIP and component folder
- Re-download from Releases
- Verify the download completed successfully
- Extract and reinstall
Possible causes:
- Missing dependencies
- Architecture mismatch
- Corrupted files
Solutions:
-
Verify you have a complete bundle:
ls -la ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/foo_mac_scrobble.component/Contents/Should show
MacOS/andInfo.plist -
Check binary architecture:
file ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/foo_mac_scrobble.component/Contents/MacOS/foo_mac_scrobbleShould show both
x86_64andarm64 -
Remove and reinstall:
- Remove via Preferences → Components
- Delete the component folder
- Reinstall fresh copy
Rare, but possible solutions:
-
Report the issue:
- Open a GitHub Issue
- Include crash logs from Console.app or Terminal.app
Cause: Incorrect file permissions
Solution:
# Fix permissions
chmod -R u+rwX ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/
# Verify
ls -la ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/- Preferences → Components
- Find
foo_mac_scrobblein the list - Note the version number
- Download the latest release
-
Remove old version:
- Preferences → Components
- Select
foo_mac_scrobble - Click "Remove" or "-" button
- Restart foobar2000
- Install new version using Method 1 or 2
- Restart foobar2000
Note: Your session and queue files are preserved during updates.
Currently, the component doesn't check for updates automatically.
To stay informed:
- ⭐ Star the repository on GitHub
- 👀 Watch for new releases
- 📢 Enable notifications for releases
- Preferences → Components
- Select
foo_mac_scrobble - Click "Remove" or "-" button
- Restart foobar2000
# Remove component
rm -rf ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/
# Remove configuration files (optional)
rm ~/Library/foobar2000-v2/lastfm_session.json
rm ~/Library/foobar2000-v2/lastfm_scrobble_queue.json
# Restart foobar2000
killall foobar2000
open /Applications/foobar2000.appNote: This also removes your authentication and queued scrobbles.
To remove all traces:
# Remove component
rm -rf ~/Library/foobar2000-v2/user-components/foo_mac_scrobble/
# Remove data files
rm ~/Library/foobar2000-v2/lastfm_session.json
rm ~/Library/foobar2000-v2/lastfm_scrobble_queue.json
# Preferences are stored in foobar2000's configuration database
# They'll be ignored if component is not loadedYou can install the component on multiple Macs with the same Last.fm account.
Each Mac needs:
- Separate API credentials (or share the same ones)
- Separate authentication (each Mac gets its own session key)
To set up:
- Install component on Mac #1 and authenticate
- Install component on Mac #2 and authenticate
- Both will scrobble to the same Last.fm profile
Note: If you scrobble the same track on both Macs simultaneously, it may create duplicates on Last.fm.
If you want the same settings across Macs, you can sync the preferences:
Not recommended for session/queue files (can cause conflicts), but you can sync:
- API Key and Secret (via preferences)
- Scrobble threshold setting
- Debug logging preference
After installation, verify everything is working:
- Component appears in Preferences → Components
- "Last.fm Scrobbler" appears in Preferences → Tools
- API credentials are entered
- Authentication shows "Authenticated as: username"
- Playing a track past 50% adds it to the queue
- Debug logging shows console messages (if enabled)
- Track appears on Last.fm within 1-2 minutes
- Offline queue file is created:
~/Library/foobar2000-v2/lastfm_scrobble_queue.json
- Troubleshooting Guide — Solving common problems
- FAQ — Frequently asked questions
- How It Works — Understanding the component
If you encounter issues during installation:
- Check the Troubleshooting Guide
- Review the FAQ
- Open an issue on GitHub