Mirror of my macOS audio player, Cog.
 
 
 
 
 
 
Go to file
Christopher Snowhill 8d10aa7e80 [Audio Output] Fix serious memory leakage
For one thing, the example code I followed was Swift and handled auto
releasing handles in the background, while Objective-C requires manual
handle reference management.

For two, there was no autoreleasepool around the block handling the
input audio chunks, which need to be released as they are pulled out and
disposed of. This also contributed to memory leakage.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-25 06:00:34 -07:00
.githooks [Git Hooks] Fix hook to ignore submodule projects 2022-06-09 18:55:21 -07:00
.github Move static and dynamic libaries to archive 2022-06-24 17:09:29 -07:00
.vscode Add clang-format style for VSCode. 2021-02-26 23:01:25 +03:00
Application [Path Suggester] Automatically pop where required 2022-06-24 00:52:03 -07:00
Audio [Audio Output] Fix serious memory leakage 2022-06-25 06:00:34 -07:00
Base.lproj [Path Suggester] Automatically pop where required 2022-06-24 00:52:03 -07:00
Cog.help/Contents [Localizations] Remove or rename obsolete files 2022-06-19 00:03:09 -07:00
Cog.xcodeproj [OpenMPT / vgmstream] Made libraries pre-built 2022-06-24 17:09:02 -07:00
CogAssets.xcassets Icon: Replace icon with a newly rendered design 2022-05-02 14:35:09 -07:00
DataModel.xcdatamodeld/DataModel.xcdatamodel [Play Count] Remember added count across sessions 2022-06-20 19:13:33 -07:00
DiskImage Removed get-dsstore.sh, its no longer used. 2007-02-25 22:23:27 +00:00
Equalizer Cog now requires macOS 10.13 as a minimum version 2022-06-23 23:23:07 -07:00
Feedback Reformat my own source code with clang-format 2022-02-06 21:49:27 -08:00
FileTree [Path Suggester] Automatically pop where required 2022-06-24 00:52:03 -07:00
Formatters Use NSNumber Literals as much as possible 2022-06-17 06:39:02 -07:00
Frameworks [mpg123] Fix include paths 2022-06-24 17:09:15 -07:00
Icons Icon: Replace icon with a newly rendered design 2022-05-02 14:35:09 -07:00
Images Icon: Replace icon with a newly rendered design 2022-05-02 14:35:09 -07:00
InfoInspector [Event Handling] Add context to all observers 2022-06-15 16:47:43 -07:00
Playlist [Play Count Info] Tabulate first seen info later 2022-06-25 02:40:49 -07:00
Plugins [Cuesheet] Greatly improve loading performance 2022-06-25 02:40:43 -07:00
Preferences [Sandbox] Change preference dialog descriptions 2022-06-24 17:09:25 -07:00
Scenes.scnassets [Visualization]: Add Spectrum window 2022-05-22 17:24:35 -07:00
Scripts [FFmpeg] Update minimum platform for x86_64 2022-06-25 00:07:04 -07:00
Spotlight Cog now requires macOS 10.13 as a minimum version 2022-06-23 23:23:07 -07:00
TagEditor Reformat my own source code with clang-format 2022-02-06 21:49:27 -08:00
ThirdParty [fdkaac] Update libfdk-aac to 2.0.2 with patches 2022-06-25 05:14:09 -07:00
Transformers Use NSNumber Literals as much as possible 2022-06-17 06:39:02 -07:00
Utils [Sandbox Broker] Fix deadlock and crash 2022-06-24 17:09:11 -07:00
Visualization Replace Core Audio output with Core Media runtime 2022-06-23 23:23:13 -07:00
Window Cog now requires macOS 10.13 as a minimum version 2022-06-23 23:23:07 -07:00
Xcode-config Improve Shared.xcconfig. 2021-01-05 17:25:12 +01:00
en.lproj Comply with App Store policies 2022-06-22 16:27:51 -07:00
es.lproj Comply with App Store policies 2022-06-22 16:27:51 -07:00
.clang-format Reformat my own source code with clang-format 2022-02-06 21:49:27 -08:00
.gitignore [FFmpeg] Update FFmpeg library and decoder plugin 2022-06-25 00:07:41 -07:00
.gitmodules [Audio Output] Resample unsupported sample rates 2022-06-24 03:47:19 -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
AboutCog.jp2 [About Dialog] Implemented new About dialog 2022-06-20 21:58:22 -04:00
CODE_OF_CONDUCT.md Update Code of Conduct, remove placeholder 2022-01-30 14:38:49 -08: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
Changelog Updated COMPILE, README, Changelog, and version number. 2007-07-11 01:59:03 +00:00
Cog-Bridging-Header.h - Big Sur phase two 2020-11-22 18:16:34 -08:00
Cog.entitlements Remove stray entitlement from Sparkle 2022-06-21 07:24:23 -07:00
Cog.q1.json Equalizer: Implemented new presets contributed by Oleg-Chashko 2022-01-24 20:01:22 -08:00
Cog.sdef [AppleScript Automation] Rename Playlist member 2022-06-18 23:00:49 -07:00
Cog_Prefix.pch Initial revision 2005-06-02 18:16:43 +00:00
GoogleService-Info.plist [Crash Reporting] Replace Bugsnag with Crashlytics 2022-06-17 00:11:48 -07:00
Info.plist [Crashlytics] Require asking user consent 2022-06-21 19:03:37 -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
README.md Move static and dynamic libaries to archive 2022-06-24 17:09:29 -07:00
SpectrumViewCG.h [Spectrum Visualizer] Add crash check for SceneKit 2022-06-17 22:15:14 -07:00
SpectrumViewCG.m [Spectrum Visualizer] Add crash check for SceneKit 2022-06-17 22:15:14 -07:00
SpectrumWindow.xib [Visualization]: Add Spectrum window 2022-05-22 17:24:35 -07:00
SpectrumWindowController.h [Visualization] Tear down window vis when not open 2022-05-22 18:39:32 -07:00
SpectrumWindowController.m [Spectrum Visualizer] Add crash check for SceneKit 2022-06-17 22:15:14 -07:00
TODO Version bump. 2008-06-12 22:41:26 +00:00
main.m Reformat my own source code with clang-format 2022-02-06 21:49:27 -08:00
patrons.h Update Patreon credits 2022-06-21 09:26:25 -07:00
sf.play.pdf - Big Sur phase two 2020-11-22 18:16:34 -08:00

README.md

Cog buildable

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