Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

BurntToasters/Dacx

Repository files navigation

Dacx: Cross-Platform Music and Video Player

Fast, lightweight, open source media player for Windows, macOS, and Linux.

Built with Flutter + media_kit (libmpv).

Latest Release Downloads Tests License: GPLv3

Dacx is a desktop music and video player focused on speed and low overhead, with modern playback controls, media session integration, and broad format support.

⬇️ Download Dacx

Windows MacOS Linux
MSI: x64 DMG: Universal DEB: x64
ZIP: Universal RPM: x64
TAR.GZ: x64

Platforms

  • Windows
  • macOS
  • Linux

Features

  • Audio + video playback for MP3, FLAC, WAV, OGG, AAC, Opus, MP4, MKV, AVI, WebM, and more (anything libmpv handles).
  • 10-band equalizer with presets.
  • Multi-audio-track mixing via lavfi-complex (experimental and currently unstable).
  • Resume playback from where you left off.
  • Compact mode and always-on-top window.
  • System media-session integration: lock-screen / Now Playing / SMTC controls, artwork, and scrubbing.
  • File associations + custom document icon on Windows and Linux.
  • Built-in update checker against GitHub releases.
  • Notarized & Signed DMG and ZIP for macOS; signed installers via GPG for Windows and Linux.

Development

Note

This project uses Flutter/Dart but also NodeJS. Its a little bit messy and not the best of practices I know, im just the most familiar and confident with js scripting and node so thats how the project is controlled. Sorry :P

# Install Node.js dependencies (build scripts)
npm install
# Install Flutter dependencies
flutter pub get
# Run in development mode
npm run dev
# Run tests
npm run test:all
# Build for current platform
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # Linux

Signing model

Only the macOS build is code-signed end-to-end (Apple Developer ID + notarization). Windows MSIs and Linux DEB/RPM/TAR.GZ artifacts are signed with a GPG detached signature (the project's release key) — there is no Authenticode certificate for Windows.

This means:

  • scripts/flutter-build-macos.js requires APPLE_TEAM_ID in .env. Self-update pins against the team id. Set DACX_BUILD_DEV_NO_TEAM_ID=1 to skip for local dev:
    DACX_BUILD_DEV_NO_TEAM_ID=1 npm run build:mac
  • scripts/flutter-build-windows.js accepts WINDOWS_SIGNING_CERT_THUMBPRINT (or DACX_WINDOWS_SIGNER_THUMBPRINT) optionally for local dev. If unset, the MSI is unsigned at the OS level and self-update relies on the Ed25519-signed update manifest. On release VMs, set the thumbprint in .env and add DACX_REQUIRE_WINDOWS_SIGNER=1 so npm run build:win fails when the thumbprint is missing (see SECURITY.md).
  • scripts/flutter-build-linux is not affected by either.

macOS support

The macOS build targets macOS 15 (Sequoia) or newer. Older macOS versions are not supported.

License

GPLv3

Sponsor this project

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /