CogCog
Acknowledgements

Built on other people's work.

Cog and XPCog play as much as they do because of the decoders, emulators, libraries and data below, and the people who wrote them. Each entry names its licence as the source trees state it — where they state one — and which of the two players uses it.

Decoders

Decoders and formats

  • AdPlugCogXPCogLGPL-2.1-or-later
    Plays AdLib and OPL2 music
  • blip_bufCogXPCogLGPL-2.1-or-later
    Band-limited synthesis for the Hively replayer and melonDS
  • bzip2XPCogbzip2-1.0.6
    Decompresses bzip2 archives for libarchive
  • C68KCogGPL-2.0-or-later
    Emulates the 68000 for HighlyTheoretical
  • CELT 0.6.1 and 0.11.0CogBSD-3-Clause
    Decodes FSB CELT for vgmstream
  • Chocolate Doom OPL musicCogXPCogGPL-2.0-or-later
    Drives the OPL3 for MIDI playback
  • CVbriHeaderCog
    Reads VBRI headers in MP3 files
  • DolphinCogXPCogGPL-2.0-or-later
    Provides JIT helpers inside melonDS
  • emu2413CogMIT
    Emulates the YM2413 for Game Music Emu
  • FatFsCogXPCogFatFs licence (BSD-style)
    Provides a FAT file system inside melonDS
  • FFmpegCogXPCogLGPL-2.1-or-later
    Decodes AAC, ALAC, WMA, AC-3, DTS and most container formats
  • File_ExtractorCogLGPL-2.1-or-later
    Plays music straight out of archives
  • Fraunhofer FDK AACCogFDK AAC licence
    Decodes AAC for FFmpeg and vgmstream
  • G.719 reference codeCog
    Decodes G.719 for vgmstream
  • Game Music EmuCogXPCogLGPL-2.1-or-later
    Plays console chiptunes (NSF, SPC, GBS, VGM and more)
  • HighlyExperimentalCogXPCog
    Emulates the PlayStation for PSF and PSF2
  • HighlyQuixoticCogXPCog
    Emulates Capcom QSound for QSF
  • HighlyTheoreticalCogXPCogGPL-3.0
    Emulates the Sega Saturn and Dreamcast for SSF and DSF
  • Hively replayerCogXPCog
    Plays AHX and HivelyTracker modules
  • inihCogBSD-3-Clause
    Parses INI files inside mGBA
  • lazyusf2CogXPCogGPL-2.0-or-later
    Emulates the Nintendo 64 for USF
  • libarchiveXPCogBSD-2-Clause
    Plays music straight out of archives
  • LibAtrac9CogMIT
    Decodes ATRAC9 for vgmstream
  • libbinioCogXPCogLGPL-2.1-or-later
    Reads files for AdPlug
  • libFLACCogXPCogBSD-3-Clause
    Decodes FLAC
  • libid3tagCogGPL-2.0-or-later
    Reads ID3 tags for the MP3 decoder
  • liboggCogXPCogBSD-3-Clause
    Reads the Ogg container
  • libopenmptCogXPCogBSD-3-Clause
    Plays tracker modules (MOD, S3M, XM, IT and more)
  • libsidplayfpCogXPCogGPL-2.0-or-later
    Plays Commodore 64 SID tunes
  • libvgmCogXPCog
    Plays VGM, S98, DRO and GYM chip logs
  • libvorbisCogXPCogBSD-3-Clause
    Decodes Ogg Vorbis
  • LZ4XPCogBSD-2-Clause
    Decompresses LZ4 archives for libarchive
  • LZMA SDK (7z_C)CogPublic domain
    Extracts 7-Zip archives
  • melonDSCogXPCogGPL-3.0-or-later
    Emulates the Nintendo DS for 2SF
  • mGBACogXPCogMPL-2.0
    Plays GSF (Game Boy Advance) rips
  • minimp3CogXPCogCC0-1.0
    Decodes MP3
  • mpg123CogXPCogLGPL-2.1-only
    Decodes MP3 samples inside tracker modules and game streams
  • MusashiCogXPCogMusashi licence (free for non-commercial use)
    Emulates the 68000 for HighlyTheoretical
  • Musepack decoder (libmpcdec)CogXPCogBSD-3-Clause
    Decodes Musepack
  • Nuked OPL3CogXPCogGPL-2.0-or-later
    Emulates the OPL3 for MIDI playback
  • Nuked SC-55CogXPCogMAME licence (non-commercial)
    Emulates the Roland SC-55
  • OpusCogXPCogBSD-3-Clause
    Decodes Opus
  • opusfileCogXPCogBSD-3-Clause
    Reads Opus files
  • Plays Cave Story's Organya music
  • psflibCogXPCog
    Reads the PSF container
  • Decodes through Core Audio
  • SHA-1 (Steve Reid)XPCogPublic domain
    Provides SHA-1 inside melonDS
  • ShortenCogGPL-2.0 plus the Shorten licence (not to be sold without SoftSound's permission)
    Decodes Shorten (.shn)
  • Snes9xCogXPCogSnes9x licence (non-commercial)
    Emulates the Super Nintendo for SNSF
  • Snes9x APUCogXPCogLGPL-2.1
    Emulates the SNES sound processor
  • SpeexCogBSD-3-Clause
    Decodes Speex for vgmstream
  • SpessaSynth CoreCogXPCogApache-2.0
    Synthesises MIDI with SoundFonts
  • SSEQPlayerCogXPCog
    Plays NCSF (Nintendo DS SSEQ)
  • stb_vorbisCogMIT OR Unlicense
    Decodes Ogg-compressed SoundFont samples
  • Syntrax (libjaytrax)CogXPCogGPL-3.0-only
    Plays Syntrax modules
  • TagLibCogXPCogLGPL-2.1-only OR MPL-1.1
    Reads tags
  • TeakraCogMIT
    Emulates the DSi DSP inside melonDS
  • tiny-AES-cCogXPCogUnlicense
    Provides AES inside melonDS
  • UnRARCogUnRAR licence (freeware; may not be used to re-create RAR compression)
    Extracts RAR archives
  • UTF8-CPPXPCogBSL-1.0
    Converts text for TagLib
  • VBA-MCogGPL-2.0-or-later
    Emulates the Game Boy Advance for HighlyComplete
  • vgmstreamCogXPCogISC
    Plays several hundred game audio stream formats
  • vorbis-tools picture codeCogGPL-2.0-or-later
    Reads Vorbis cover art
  • WavPackCogXPCogBSD-3-Clause
    Decodes WavPack
  • xxHashXPCogBSD-2-Clause
    Provides hashing inside melonDS
  • Decompresses XZ and LZMA archives for libarchive
  • ZstandardXPCogBSD-3-Clause
    Decompresses Zstandard archives for libarchive
Processing

Audio processing

  • Provides the spectrum analyser's FFT
  • dsd2pcmXPCogBSD
    Converts DSD to PCM
  • FreeSurroundCogXPCogGPL-2.0-or-later
    Upmixes stereo to surround
  • HDCD decoder (hdcd_decode2)CogXPCogBSD-3-Clause
    Decodes HDCD
  • HRTF (MinPHR) loaderCog
    Loads HRTF data for headphone virtualisation
  • libsamplerateXPCogBSD-2-Clause
    Resamples for Rubber Band
  • LPC extrapolation (lvqcl)CogXPCogISC
    Extrapolates gapless edges
  • miniaudioXPCogUnlicense OR MIT-0
    Plays audio to the output device
  • Rubber Band LibraryCogXPCogGPL-2.0-or-later
    Changes pitch and tempo independently
  • Helpers for Core Audio
  • Provides the FFT under Signalsmith Stretch
  • Changes pitch and tempo independently
  • SLEEFXPCogBSL-1.0
    Vector maths for Rubber Band
  • SoX Resampler (libsoxr)CogXPCogLGPL-2.1-or-later
    Converts sample rates
Interface

Interface

  • Decodes AVIF cover art
  • BrotliXPCogMIT
    Compresses the remote control's HTTP responses
  • C++/WinRTXPCogMIT
    Calls the Windows Runtime from C++
  • cpp-httplibXPCogMIT
    Serves XPCog's remote control
  • CrashpadXPCogApache-2.0
    Catches crashes for sentry-native
  • Decodes AV1 for libavif
  • The spectrum analyser
  • Lists folders for the PSF cores on Windows
  • GLibXPCogLGPL-2.1-or-later
    D-Bus, media keys and notifications on Linux
  • GTKXPCogLGPL-2.1-or-later
    Draws XPCog's interface on Linux
  • ImageTextCellCog
    Table cells with an icon
  • Reads and writes JSON
  • libadwaitaXPCogLGPL-2.1-or-later
    Draws XPCog's interface on Linux
  • libavifCogBSD-2-Clause
    Decodes AVIF cover art
  • libcurlXPCogcurl
    Fetches HTTP and internet radio
  • libsecretXPCogLGPL-2.1-or-later
    Keeps passwords in the system keyring on Linux
  • libunwindXPCogMIT
    Stack traces in crash reports on Linux
  • Converts colours for libavif
  • Logging.hCog
    Debug logging macros
  • MASShortcutCogBSD-2-Clause
    Global keyboard shortcuts
  • MCP Swift SDKCogApache-2.0 AND MIT
    The CogMCP server
  • Reads web services' replies
  • OpenSSLXPCogApache-2.0
    Secures HTTPS for libcurl
  • OpenURLPanelCogApple sample code licence
    The Open URL dialog
  • RetroArch Metal shadersCogGPL-3.0-or-later
    Visualisation shaders
  • Crash reporting
  • Opt-in crash reporting
  • Formats times
  • SQLiteXPCogPublic domain
    Stores the music library
  • Swagger UIXPCogApache-2.0
    Shows the remote control's API documentation
  • swift-logCogApache-2.0
    Logging
  • SwiftNIOCogApache-2.0
    Networking for CogMCP
  • SwiftUI introspection
  • Win2DXPCogMIT
    Draws the spectrum, the oscilloscope and the waveform on Windows
  • Windowing, startup and single instance on Windows
  • WinUI 3XPCogMIT
    Draws XPCog's interface on Windows
  • zlibXPCogZlib
    Decompression throughout
Data

Data

  • AdPlug databaseCogXPCogPublic domain
    Per-song playback fixes for AdPlug
  • Commodore 64 ROMsCogXPCog
    KERNAL, BASIC and character ROMs for SID playback
  • GeneralUser GSCogXPCogGeneralUser GS License v2.0
    The bundled General MIDI SoundFont
  • GeneralUser XG (SFe test)CogXPCogGeneralUser GS License v2.0
    The bundled XG SoundFont
  • Organya wavetable and PixTone soundsCogXPCog
    Instruments and drums for Organya music
  • PlayStation 2 BIOS sound modulesCogXPCog
    Runs PSF and PSF2 rips under HighlyExperimental
  • Headphone impulse responses for HRTF
  • Maps TG300B patches to XG for the SFe bank
  • YRW801 sample ROMXPCog
    The OPL4 wavetable, under libvgm