Cog - A Free and Open Source Audio Player for macOS 10.13+
  • C 57.7%
  • C++ 34.2%
  • Objective-C 3.6%
  • Shell 1.5%
  • Makefile 1%
  • Other 1.9%
Find a file
Christopher Snowhill 056b5e7b7c
Some checks failed
Check if Cog buildable / Build Universal Cog.app (push) Has been cancelled
Highly Complete: Clean up warnings and error check
More error checking, and better initialization, as well as significantly
reducing stack usage during the player initialization.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2026-06-10 19:13:45 -07:00
.githooks [Git Hooks] Fix hook to ignore submodule projects 2022-06-09 18:55:21 -07:00
.github chore: Update checkout and upload-artifact actions 2026-03-23 04:26:30 -07:00
.vscode Introduce Mini Player Plus window with controls 2026-04-21 00:30:20 -07:00
Application Style: @(NO)/@(YES) -> @NO/@YES 2026-06-10 17:29:41 -07:00
Audio Style: alloc/init -> new 2026-06-10 17:29:36 -07:00
Base.lproj Reimplement file tree as a native NSSplitViewController sidebar 2026-06-10 17:29:33 -07:00
ci_scripts [CI Scripts] Update to use command -v 2022-07-06 14:44:36 -07:00
Cog.xcodeproj Reimplement file tree as a native NSSplitViewController sidebar 2026-06-10 17:29:33 -07:00
CogAssets.xcassets About Dialog: Changed layout to account for new logo 2025-09-22 18:12:28 -03:00
DataModel.xcdatamodeld/DataModel.xcdatamodel Remove broken Trash function 2026-05-05 02:16:45 -07:00
DiskImage Removed get-dsstore.sh, its no longer used. 2007-02-25 22:23:27 +00:00
Equalizer Equalizer: Rewrite Graphic Equalizer processor 2026-03-28 20:35:11 -07:00
es.lproj MIDI: We now bundle GeneralUser GS for default use 2026-04-15 21:03:26 -07:00
Feedback Crash Feedback: Remove unnecessary class attribute 2025-06-24 00:39:59 -07:00
FileTree Style: @(NO)/@(YES) -> @NO/@YES 2026-06-10 17:29:41 -07:00
Formatters Feature: Add fractional track length tooltips 2025-02-27 00:59:06 -08:00
Frameworks Highly Complete: Clean up warnings and error check 2026-06-10 19:13:45 -07:00
Icons Icon: Replace icon with a newly rendered design 2022-05-02 14:35:09 -07:00
InfoInspector Refactor all transformers into Swift 2026-03-23 13:01:49 -07:00
LyricsWindow Lyrics: Implement Lyrics window display and hotkey 2023-02-23 17:47:27 -08:00
mul.lproj Reimplement file tree as a native NSSplitViewController sidebar 2026-06-10 17:29:33 -07:00
Play.icon Liquid Glass: New icon style 2025-09-12 16:06:47 -07:00
Playlist Style: @(NO)/@(YES) -> @NO/@YES 2026-06-10 17:29:41 -07:00
Plugins Highly Complete: Clean up warnings and error check 2026-06-10 19:13:45 -07:00
Preferences Style: @(NO)/@(YES) -> @NO/@YES 2026-06-10 17:29:41 -07:00
Scenes.scnassets [Visualization]: Add Spectrum window 2022-05-22 17:24:35 -07:00
Scripts FFmpeg: Updated FFmpeg to version 8.1.1 2026-05-06 02:56:11 -07:00
Scrobbler lastfm: Update to production Keychain service name 2026-04-02 19:31:23 -07:00
Spotlight Style: @(NO)/@(YES) -> @NO/@YES 2026-06-10 17:29:41 -07:00
TagEditor Reformat my own source code with clang-format 2022-02-06 21:49:27 -08:00
ThirdParty FFmpeg: Updated FFmpeg to version 8.1.1 2026-05-06 02:56:11 -07:00
Transformers Refactor all transformers into Swift 2026-03-23 13:01:49 -07:00
Utils Reimplement file tree as a native NSSplitViewController sidebar 2026-06-10 17:29:33 -07:00
Visualization Style: @(NO)/@(YES) -> @NO/@YES 2026-06-10 17:29:41 -07:00
Window Style: @(NO)/@(YES) -> @NO/@YES 2026-06-10 17:29:41 -07:00
Xcode-config Remove LASTFM_SESSION from build config 2026-04-02 19:31:23 -07:00
.clang-format Reformat my own source code with clang-format 2022-02-06 21:49:27 -08:00
.gitignore Dependencies: Clean sweep 2026-04-15 23:07:43 -07:00
.gitmodules MIDI: Remove TinySoundFont submodule 2026-05-17 23:26:21 -07:00
.hgignore Added missing files and updated .hgignore file 2013-10-04 10:54:40 -07:00
.hgtags Added tag k54 for changeset ddfc3989351f 2013-10-10 17:38:05 -07:00
Changelog Updated COMPILE, README, Changelog, and version number. 2007-07-11 01:59:03 +00:00
CODE_OF_CONDUCT.md Update Code of Conduct, remove placeholder 2022-01-30 14:38:49 -08:00
Cog-Bridging-Header.h Initial work on Last.FM scrobbler 2026-04-02 19:31:23 -07:00
Cog.entitlements Apply recommended settings 2025-09-10 01:27:51 -07:00
Cog.q1.json Equalizer: Implemented new presets contributed by Oleg-Chashko 2022-01-24 20:01:22 -08:00
Cog.sdef Scripting Integration: Add full date property 2026-03-26 23:32:55 -07:00
Cog_Prefix.pch Initial revision 2005-06-02 18:16:43 +00:00
COMPILE Changed contact address in compiling guide 2013-10-11 06:17:29 -07:00
COPYING Initial revision 2005-06-02 18:16:43 +00:00
GeneralUserGS-Drums.sf3 MIDI: Added GM2 detection and GM/GS drums override 2026-05-13 17:58:45 -07:00
GeneralUserGS.sf3 MIDI: We now bundle GeneralUser GS for default use 2026-04-15 21:03:26 -07:00
GeneralUserXG-SFeTest.sf3 MIDI: Tweak the default bank somewhat 2026-04-27 21:04:11 -07:00
GoogleService-Info.plist [Crash Reporting] Replace Bugsnag with Crashlytics 2022-06-17 00:11:48 -07:00
Info.plist.template MIDI: Updated SpessaSynth with major changes 2026-04-24 23:27:12 -07:00
InfoPlist.xcstrings MIDI: Removed BASSMIDI and updated SpessaSynth 2026-04-15 21:03:22 -07:00
KnownIssues Completely redesigned all menus, fixed crashers due to new PlaylistEntry structure, validated menu items, added menu entry for fading, synthesized playbackStatus, updated KnownIssues 2008-02-23 22:20:14 +00:00
Localizable.xcstrings Mini Player Plus: Translate strings 2026-04-21 01:20:19 -07:00
main.m Reformat my own source code with clang-format 2022-02-06 21:49:27 -08:00
patrons.h Updated credits file and Patron list 2025-02-01 15:08:50 -08:00
README.md Readme: Remove Lokalise notice 2026-03-18 02:20:38 -07:00
SADIE_D02-96000.mhr Implemented all new HRTF filter 2022-07-09 16:16:55 -07:00
sf.play.pdf - Big Sur phase two 2020-11-22 18:16:34 -08:00
Shortcuts.h Rewrite the entire Settings dialog into SwiftUI 2026-03-19 14:50:00 -07:00
tg300b.sflist.json MIDI: Added GM2 detection and GM/GS drums override 2026-05-13 17:58:45 -07:00
TODO Version bump. 2008-06-12 22:41:26 +00:00

Cog buildable Join the chat at https://gitter.im/losnoco/cog

Cog is authored by Vincent Spader. It is released under the GPL. See COPYING for details.

The libraries folder contains various decoding and tagging libraries, which i have created Xcode projects for, and possibly modified to make compile on OS X. The various libraries are under each of their own licenses/copyrights.

All Cog code is copyrighted by me, and is licensed under the GPL. Cog contains bits of other code from third parties that are under their own licenses/copyright.

If you would like the photoshop sources for the various icons and graphics, please send me an email, and I will be happy to get them to you.

Share and enjoy. --Vincent Spader (vspader@users.sf.net)

ADDENDUM - 2022-06-21

Cog now uses App Sandbox. This requires permission paths to be granted in the settings, under the General tab. Right clicking the listing allows one to manipulate the list, including suggesting additions based on the current playlist. The suggestion dialog will pop up every path and permutation that isn't covered by an existing valid sandbox token. It is suggested to check only the paths that are most appropriate to cover most files you will ever play with Cog. It is not necessary to add either your default Music folder, your default Downloads folder, or your default Movies folder.

ADDENDUM - 2022-06-22

This branch is the App Store version. The only real difference between it and the sparkle branch is that two commits which removed the Sparkle framework were reverted in that branch. This branch contains an update to the README and an extra empty commmit so that the version numbers sync up between the two.

The App Store page for Cog is here, when it finally goes live.

ADDENDUM - 2013-09-30

I have forked this player to continue maintaining it for others to use, as its original author appears to have left it by the wayside. I will try to continue updating as I find more things that need fixing, or if I find new features to add which seem like they would be useful to me or others.

Up to date binaries will be available at the following link:

https://cog.losno.co/

--Christopher Snowhill (chris@kode54.net)

ADDENDUM - 2018-06-21

You will need to run the following to retrieve all the source code:

git submodule update --init --recursive

Setup your DEVELOPMENT_TEAM like described in Xcode-config/Shared.xcconfig to build the project.

(Add 2022-05-22) Also, be sure to configure the hooks path, so you won't accidentally commit your team ID to a project file:

git config core.hooksPath .githooks

(Add 2022-06-24) Also, you need to unpack the static and dynamic library dependencies, and update them any time the library path changes:

cd ThirdParty
tar xvf libraries.tar.xz

Screenshots

Main window and Info Inspector

Main window

Mini window

Mini window