A free and open-source audio player for macOS and iOS
See the codeCog is a free, open-source audio player for Mac, iPhone and iPad. It plays a very wide range of formats, from everyday lossy and lossless audio to tracker modules, video game music and MIDI, and it takes care over how they sound.
Every platform is built from this one repository and shares the same audio engine and format plugins. The Mac and iOS apps are released separately.
Cog runs on macOS 12 or later, and on iOS and iPadOS 18 or later.
Each format is handled by a plugin under Plugins/:
Sound
Listening
On the Mac
cog-mcp tool, MCP
clients such as AI assistants can control playback and the playlistOn iPhone and iPad
Cog runs in the App Sandbox, so it can only open folders you have granted it. Grant them in Settings → General. Right-clicking the list there lets you edit it, and can suggest additions based on the current playlist. The suggestions cover every path not already granted, so pick only the few folders that hold most of your music. Your Music, Downloads and Movies folders are granted already.
Clone the repository and its submodules:
git submodule update --init --recursive
Create Xcode-config/DEVELOPMENT_TEAM.xcconfig with your team ID. That
file is gitignored. Because the group.org.cogx.cog App Group belongs to
the upstream team, also turn off provisioning profiles:
DEVELOPMENT_TEAM = YOURTEAMID
PROVISIONING_PROFILE_SUPPORTED = NO
Xcode-config/Shared.xcconfig explains
both settings and how to find your team ID.
Install the hooks, so a team ID never ends up committed in a project file:
git config core.hooksPath .githooks
Optionally, turn on Last.fm scrobbling by copying
Xcode-config/Secrets.template.xcconfig to Xcode-config/Secrets.xcconfig
and adding your API key.
Unpack the prebuilt static and dynamic libraries. Repeat this whenever
ThirdParty/libraries.tar.xz changes:
cd ThirdParty
tar xvf libraries.tar.xz
Open Cog.xcodeproj and build one of the two schemes:
| Scheme | Builds |
|---|---|
Cog | The App Store edition |
Cog Direct | The direct edition (Release-Direct): adds Sparkle and the donation menu |
Run iOS/prepare.sh. It applies the patches the iOS build needs to some
submodules, and builds the third-party libraries for iOS, which takes a
few minutes and needs brew install cmake ninja. The "Check if Cog builds
for iOS" workflow also publishes them as its ios-libraries artifact.
Open iOS/MobileCog.xcodeproj and build the Cog scheme.
The iOS project is generated, so don't change it in Xcode.
iOS/README.md explains how it is laid out and how to
regenerate it.
Vincent Spader wrote Cog and released it under the GPL. When its development stopped, Christopher Snowhill forked it in 2013 and has maintained it since.
Cog is licensed under the GNU General Public License. See COPYING.
The libraries under ThirdParty/, Frameworks/ and Plugins/ remain under
their own licenses and copyrights. Some have been modified to build in Cog.
Christopher Snowhill, chris@kode54.net
Share and enjoy.
561 followers · starred Dec 2024
580 followers · starred Aug 2026
33 followers · starred Jan 2022
615 followers · starred Sep 2023
A free and open-source audio player for macOS and iOS
See the codeCog is a free, open-source audio player for Mac, iPhone and iPad. It plays a very wide range of formats, from everyday lossy and lossless audio to tracker modules, video game music and MIDI, and it takes care over how they sound.
Every platform is built from this one repository and shares the same audio engine and format plugins. The Mac and iOS apps are released separately.
Cog runs on macOS 12 or later, and on iOS and iPadOS 18 or later.
Each format is handled by a plugin under Plugins/:
Sound
Listening
On the Mac
cog-mcp tool, MCP
clients such as AI assistants can control playback and the playlistOn iPhone and iPad
Cog runs in the App Sandbox, so it can only open folders you have granted it. Grant them in Settings → General. Right-clicking the list there lets you edit it, and can suggest additions based on the current playlist. The suggestions cover every path not already granted, so pick only the few folders that hold most of your music. Your Music, Downloads and Movies folders are granted already.
Clone the repository and its submodules:
git submodule update --init --recursive
Create Xcode-config/DEVELOPMENT_TEAM.xcconfig with your team ID. That
file is gitignored. Because the group.org.cogx.cog App Group belongs to
the upstream team, also turn off provisioning profiles:
DEVELOPMENT_TEAM = YOURTEAMID
PROVISIONING_PROFILE_SUPPORTED = NO
Xcode-config/Shared.xcconfig explains
both settings and how to find your team ID.
Install the hooks, so a team ID never ends up committed in a project file:
git config core.hooksPath .githooks
Optionally, turn on Last.fm scrobbling by copying
Xcode-config/Secrets.template.xcconfig to Xcode-config/Secrets.xcconfig
and adding your API key.
Unpack the prebuilt static and dynamic libraries. Repeat this whenever
ThirdParty/libraries.tar.xz changes:
cd ThirdParty
tar xvf libraries.tar.xz
Open Cog.xcodeproj and build one of the two schemes:
| Scheme | Builds |
|---|---|
Cog | The App Store edition |
Cog Direct | The direct edition (Release-Direct): adds Sparkle and the donation menu |
Run iOS/prepare.sh. It applies the patches the iOS build needs to some
submodules, and builds the third-party libraries for iOS, which takes a
few minutes and needs brew install cmake ninja. The "Check if Cog builds
for iOS" workflow also publishes them as its ios-libraries artifact.
Open iOS/MobileCog.xcodeproj and build the Cog scheme.
The iOS project is generated, so don't change it in Xcode.
iOS/README.md explains how it is laid out and how to
regenerate it.
Vincent Spader wrote Cog and released it under the GPL. When its development stopped, Christopher Snowhill forked it in 2013 and has maintained it since.
Cog is licensed under the GNU General Public License. See COPYING.
The libraries under ThirdParty/, Frameworks/ and Plugins/ remain under
their own licenses and copyrights. Some have been modified to build in Cog.
Christopher Snowhill, chris@kode54.net
Share and enjoy.
561 followers · starred Dec 2024
580 followers · starred Aug 2026
33 followers · starred Jan 2022
615 followers · starred Sep 2023