-
Notifications
You must be signed in to change notification settings - Fork 0
Compilation
Foo Scrobbler can be built either from Xcode or from the command line with xcodebuild.
- Python 3 installed and available as
/usr/bin/python3. - The foobar2000 SDK static libraries built and copied into
lib/. - Your own Last.fm API key and shared secret exported in your shell environment before building.
Create your own Last.fm API account from the official Last.fm API page:
https://www.last.fm/api/account/create
Then export the values in your shell:
export LASTFM_API_KEY="your_api_key_here"
export LASTFM_API_SECRET="your_shared_secret_here"For persistent local use, add those exports to your shell profile, for example ~/.zprofile or ~/.zshrc.
Take care not to leak your Last.fm API key or shared secret accidentally on the internet, for example in public commits, logs, screenshots, or copied shell output.
Before building Foo Scrobbler, manually build the foobar2000 SDK static libraries and copy the resulting .a files into lib/. To do so, open the related project files in Xcode and preferably build them as universal libraries.
The main project expects these files:
lib/libfoobar2000_SDK.a
lib/libfoobar2000_SDK_helpers.a
lib/libfoobar2000_component_client.a
lib/libshared.a
lib/libpfc-Mac.a
- Open
src/foo_scrobbler_mac.xcodeprojin Xcode. - Build the project.
Xcode runs the project build script, which generates the local Last.fm API header from LASTFM_API_KEY and LASTFM_API_SECRET.
From the repository root, run:
xcodebuild \
-project src/foo_scrobbler_mac.xcodeproj \
-scheme foo_scrobbler_mac \
-configuration Release \
-derivedDataPath build/foo_scrobbler_mac_build_universal \
ARCHS="arm64 x86_64" \
ONLY_ACTIVE_ARCH=NO \
buildThis builds a Release universal macOS binary for both Apple Silicon and Intel.
Foo Scrobbler for Mac (foo_scrobbler_mac)
Native Last.fm scrobbler for foobar2000 on macOS
- Source: https://github.com/zfoxer/foo_scrobbler_mac
- License: MIT License
- Documentation maintained by the project author
- © 2025-2026 by Konstantinos Kyriakopoulos